No description
- TypeScript 63.8%
- Vue 32.6%
- CSS 2%
- PLpgSQL 1.1%
- JavaScript 0.3%
- Other 0.2%
- add tests/helpers/fake-supabase.ts: a configurable query-builder double that records every query and resolves each table through a handler - migrate the seven hand-rolled fakes to the shared helper, keeping their assertions on updates/deletes/created - add tsconfig.tests.json and run it in pnpm run typecheck so tests are checked again (app + server + tests) - fix the test type errors it surfaced (Theme annotation, typed fetch mock) |
||
|---|---|---|
| .forgejo | ||
| .githooks | ||
| app | ||
| docs | ||
| i18n/locales | ||
| public | ||
| scripts | ||
| server | ||
| shared | ||
| supabase/migrations | ||
| tests | ||
| types | ||
| .dockerignore | ||
| .gitignore | ||
| AGENTS.md | ||
| CONTEXT.md | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| fedify.d.ts | ||
| nuxt.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.tests.json | ||
| vitest.config.ts | ||
letr.es is a nice and easy blogging platform. Write in Markdown with a clean WYSIWYG editor, publish to your own corner of the web — letr.es/{handle}. No ads, no trackers, no algorithms.
Your content is yours. Built and hosted in the European Union.
Why letr.es?
- A genuinely nice editor — a TipTap-based WYSIWYG that outputs Markdown. Code blocks, tables, links, images, all inline, distraction-free.
- Your blog, your space — every Author gets
letr.es/{handle}. No feed algorithms, no recommendations pushing other people's content. - Private by default — no analytics, no tracking, no third-party scripts. The only cookies are for authentication and preferences.
- Open web by default — RSS and a newsletter on every plan, cross-posting to Bluesky.
- EU-hosted — your data stays under European law (GDPR), on EU infrastructure.
- Indie-run — built and operated by one person. No VC pressure, no enshittification pipeline.
Features
- WYSIWYG Markdown editor with syntax highlighting and autosave
- Public blogs at
{username}.letr.es, with Topics and search - Custom slugs, drafts, and pending edits for published Posts
- About page with Markdown support
- RSS feed and newsletter per Author
- Image uploads inside the editor
- Post export (Markdown, ePub) and full-blog export (Markdown ZIP)
- Import Posts from other platforms (Markdown, WordPress, Medium, Bear)
- Dark mode, Spanish and English
Pricing
| Plan | Price | Posts | Features |
|---|---|---|---|
| Free | €0 | 10 | Editor, blog page, Topics, search, RSS, newsletter |
| Pro | €4/mo or €36/yr | Unlimited | + Custom blog name, custom domain (coming soon) |
No ads, no tracking, no data selling. Ever.
Built with
Try it
letr.es — sign in with your email, start writing in seconds.
Repository
This is the full source code of the platform. It's public for transparency, not (yet) for self-hosting. Contributions and feedback are welcome.
License: MIT