Leaftext

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

PageWhat it covers
IntroductionWhat Leaftext is, the feature overview, and where to go for each task
InstallationStep-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
QuickstartThe smallest useful path through the app: open a file, read, jump, and reopen — with the core shortcuts
Get helpWhere to ask a question and read what other people already asked, what to say when you ask, and what the pages here already answer
PrivacyWhat 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'ArthurA 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 comparesLeaftext 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.

PageWhat it covers
RenderingThe 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
NavigationTabs, 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
LibraryThe 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
MinimapThe 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
SettingsEvery preference, its default, and the JSON files on disk that store them — including updates and paths
ThemesThe 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
EditingWriting 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 tablesRDB views over Markdown tables: cards, boards, sorting, filtering, relations, and optional descriptions
Your GroveThe 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 agentConnect an agent on your computer to the document open in Leaftext

Which page answers which question

QuestionPage
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

PageWhat it covers
GlossaryEvery 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.

FileRole
index.htmlleaftext.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.mjsHeadless 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.