Leaftext documentation
Everything in
docs/— what each page covers, how the pages fit together, and how the folder becomes leaftext.com/docs.
Leaftext is a free desktop app for reading and writing your own documents. Open a local Markdown, HTML, XML, JSON, YAML, plain text (.txt), config (.ini), spreadsheet table (.csv, .tsv), source, email (.eml), Word, Excel, PowerPoint or OpenDocument (.docx, .docm, .xlsx, .xlsm, .pptx, .pptm, .odt, .ods, .odp), or EPUB book (.epub) file, get a clean rendered view, write straight into the page, and keep your place with tabs, history, a minimap, and a searchable library. Nothing leaves your device. These docs cover the whole app, from installing it to the startup-validated theme contract behind the scenes.
Map
flowchart LR
A[Introduction] --> B[Installation]
B --> C[Quickstart]
C --> D[Features]
C --> Z[Get help]
A --> Y[How it compares]
D --> E[Rendering]
D --> F[Navigation]
D --> G[Library]
D --> H[Minimap]
D --> I[Settings]
D --> J[Themes]
D --> K[Editing]
K --> Q[Relational tables]
Start here
| Page | What it covers |
|---|---|
| Introduction | What Leaftext is, the feature overview, and where to go for each task |
| Installation | Step-by-step installs for macOS (.dmg) and Windows (.exe), how to get past the first-launch block on a Mac, file associations, updates, and data paths |
| Quickstart | The smallest useful path through the app: open a file, read, jump, and reopen — with the core shortcuts |
| Get help | Where to ask a question and read what other people already asked, what to say when you ask, and what the pages here already answer |
| Privacy | What the app reads, where it keeps it and who it talks to, what Sign in with Google reaches, and how to take that access back |
| Le Morte d'Arthur | A whole book to open and read, Standard Ebooks' edition of Malory, with its glossary underlining the old words, the names and the places |
| How it compares | Leaftext beside Obsidian, Typora and Calibre, row by row with a source for each cell, how it works beside AI, and what is on the roadmap; every feature sits on one of the ten comparison chart pages it lists |
Features
How the app behaves, page by page. They are numbered in reading order, and each one ends with where to go next.
| Page | What it covers |
|---|---|
| Rendering | The full supported syntax with live examples: CommonMark, GFM, syntax highlighting, Mermaid, math, alerts, footnotes, emoji, Leaf buttons, local images, XML (any file, plus TEI documents), JSON/YAML, email (.eml), and file encodings |
| Navigation | Tabs, Back/Forward history, the toolbar, the outline, scroll anchors, live reload, recent files, the glossary sheet, link hints, the pager, and the single-window rule |
| Library | The left-side pane: vaults, the file tree and its breadcrumb, search, the filter syntax, the graph view, GitHub sync, file actions, live updates, and narrow-window layout |
| Minimap | The scaled real-text document clone in the side rail: how it renders, when it rebuilds, the code view's own rail, responsive widths, and why it is always present |
| Settings | Every preference, its default, and the JSON files on disk that store them — including updates and paths |
| Themes | The fifteen free families (Amaranth, Arabica, Bloodleaf, Camellia, Eucalyptus, Fern, Foxglove, Ginger, GitHub, Goldenrod, Halcyon, Ivy, Nightshade, Pippin, Sage) and the six earned in the Grove (Birch, Laurel, Lavender, Saffron, Sumac, Woad), light/dark/System/Daylight appearance, on-demand Google Fonts, diagram colors, and the semantic token contract. All twenty-one are drawn on one page at leaftext.com/gallery.html |
| Editing | Writing in the rendered page (blocks, the gutter, the format bar, the flowchart editor), the raw-source code view with typing help, and the explicit Save flow |
| Relational tables | RDB views over Markdown tables: cards, boards, sorting, filtering, relations, and optional descriptions |
| Your Grove | The reading record: the Grove pill at the library's foot, the thirteen Growth areas and seeds, where profile.json is kept, and the switch that turns it off |
| Your own AI agent | Connect an agent on your computer to the document open in Leaftext |
Which page answers which question
| Question | Page |
|---|---|
| Does it render this syntax? | Rendering |
Can it open my .xml / .json / .yaml / .eml? | Rendering |
| How do I keep several documents open? | Navigation → Tabs |
| What are the keyboard shortcuts? | Navigation → Shortcuts |
| How do I search my notes? | Library → Search |
| Can I filter by tag, field or date? | Library → Filtering |
| What is a vault, and do I need one? | Library → Vaults |
| How do I push my notes to GitHub? | Library → GitHub sync |
| How do I edit without leaving the page? | Editing → Inline editing |
| Why can't I click into this block? | Editing → Formats |
| How do I draw a flowchart? | Editing → The flowchart editor |
| How do I turn a Markdown table into cards or a board? | Relational tables |
| What is the Grove, and how do I turn it off? | Your Grove → Turn it off |
| Where are my settings stored? | Settings → Paths |
| How do updates work? | Settings → Updates |
| How do I change the look? | Themes → Choose |
| Where do I ask a question? | Get help |
| How does it compare with Obsidian? | How it compares |
| What do the themes actually look like? | leaftext.com/gallery.html — every theme, color, icon and control on one page |
Shared reference
| Page | What it covers |
|---|---|
| Glossary | Every word Leaftext uses for a part of itself, alphabetically — one entry per feature and subfeature |
The glossary is not an ordinary page: every term in it is matched automatically wherever it appears across these docs, and clicking one opens that entry in a bottom sheet over the page you are reading rather than navigating away. Linking one by hand works too — [minimap](GLOSSARY.md#minimap).
leaftext.com's pages link every glossary word to this same file, so this is the only copy and it stays here.
How this folder ships
These pages are plain Markdown, and leaftext.com reads them in the app itself: every address on the site is Leaftext's own page, with these files served where they sit and the library pane listing them.
| File | Role |
|---|---|
index.html | leaftext.com/docs — sends a link written for the old documentation reader, #/features/editing, on to the same page in the app. Its file list is written in when the site publishes |
render-docs-check.mjs | Headless smoke test — renders every .md file here through the app's own renderer and fails loudly on errors or empty output. It needs just build-web first, which is why it is not part of just verify |
Page order and file names
A leading number orders a file or folder in the library pane. An old link names a page with those numbers taken off — 01-features/07-editing.md was #/features/editing — and index.html finds the file that matches, so an old link still lands on a page that has been renumbered since.
Before shipping doc changes, run the check from the repo root:
just build-web
node docs/render-docs-check.mjs
Every page here is readable two ways: rendered on the website, or opened directly in Leaftext itself — the app these docs describe.