styleName was kept on split, so Enter at the end of a heading left a paragraph carrying it: drawn like a heading, absent from the navigator's outline, exported as text:p. It is no longer kept there. setParagraphStyle also missed the name whenever it switched the node type — a following updateAttributes looks for the new type in the pre-chain state — so it now rides along with setNode. Levels 2–6 never reached that command at all: the digit class built from MAX_HEADING_LEVEL (10) read as [0-1], so Heading's own Mod-Alt-N took the key and set a level with no style; that keymap is dropped, running ahead of every plugin binding.
Powerful word processor — just one URL away.
Free · Open Source · Private by Design
EdenText is a web-based, powerful word processor for everything from quick notes to full-length books. No server, no account — processing runs locally and your documents never leave your computer. Just one URL away, or completely offline as a slim browser app — only ~1 MB1 .
Note
EdenText is young, in beta and actively developed — more features are on the way. It is tested — the full suite plus LibreOffice round-trip checks run on every commit — but expect occasional bugs, and keep backups of documents you care about.
Features
- Real page layout — A4/Letter pages, margins, headers & footers, footnotes, columns, page numbering, watermarks, ...
- Opens and saves
.odtand.docx, exports PDF; templates (.ott/.dotx) - Styles — paragraph, character and table styles with inheritance
- Tables with styles, sorting and spreadsheet-style formulas
- Everything a thesis needs — table of contents, captions, cross-references, citations & bibliography, alphabetical index, formulas (LaTeX)
- Review tools — track changes, comments, spell check (English & German), synonyms
- Private by design — your documents never leave your computer, all processing runs locally; works offline as an installable app
Development
npm install
npm run dev # dev server with hot-reload
npm test # test suite
npm run build # production build → dist/
Built with Svelte 5, TypeScript, Vite and TipTap 3 (ProseMirror).
Contributing
Contributions are welcome — see CONTRIBUTING.md. Merging requires a signed CLA, checked automatically on every pull request.
License
Copyright © 2026 Steffen Becker.
AGPL-3.0. A commercial license is available for use cases the AGPL does not fit. Bundled fonts and language data keep their own licenses — see THIRD-PARTY-NOTICES.md.
EdenText is an independent project, not affiliated with Microsoft or The
Document Foundation. .docx and .odt are supported for interoperability.
-
First load, compressed. Further fonts, spell-check dictionaries and the thesaurus load on demand; the complete offline install is ~25 MB. ↩︎