License: MIT. See LICENSE.
Bilingual landing page (English / toki pona) for the Stoic Wisdom Series: classic Stoic texts reimagined in toki pona, with sitelen pona alongside Latin script.
Current catalog on the landing:
- Meditations of Marcus Aurelius — in Toki Pona (Kindle + paperback)
- The Toki Pona Reader’s Kit (free PDF)
This project is intentionally content-first:
- editorial layout
- strong typography
- simple structure
- easy reuse for future book-series landings
Texts live in JSON dictionaries; book links and images are kept in a single place.
This site uses sitelen-layer-plugin on the /tp route.
Available modes on /tp:
TP: Latin toki ponaSP: sitelen pona through a ligature font🙂: sitelen emoji
Behavior:
/enopens as the regular English version and only showsEN / TP./tpopens as Latin toki pona by default and showsEN / TP / SP / 🙂in the header.- The
EN / TPlocale switcher remains untransformed. - The sitelen emoji layer renders the existing toki pona copy as emoji.
- The sitelen pona layer renders real sitelen pona glyphs via a ligature-capable font.
The plugin does not translate English into toki pona. The TP copy is authored separately; the plugin only provides display layers for existing toki pona content.
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: CSS Modules
- i18n: Dictionary-based JSON (
/enand/tproutes) - Hosting: Vercel
src/
├── app/
│ └── [lang]/ # Localized routes (/en, /tp)
│ ├── page.tsx # Main landing
│ ├── legal/
│ └── privacy/
├── components/
│ ├── Hero.tsx # Book stack hero
│ ├── WhySection.tsx # Why-this-series section
│ ├── BookSection.tsx # Book blocks with CTAs
│ └── Footer.tsx
├── data/
│ └── books.ts # Book metadata & links
└── dictionaries/
├── en.json
└── tp.json
public/
└── assets/books/
├── marcus-meditations/
└── readers-kit/
All visible text lives in:
src/dictionaries/en.jsonsrc/dictionaries/tp.json
Book entries and outgoing links:
src/data/books.ts
Images:
public/assets/books/{book-id}/
npm install
npm run dev
npm run build© 2026 ABVX.xyz. All rights reserved.