Build on Marknote.
Marknote is extended with data, not code: a theme is one JSON file, a plugin is a manifest and a sandboxed script, and both are reviewed in the open before they reach the marketplace. This page is the map. It is also what marknote.dev opens.
Guides
Make a theme
The whole format on one page: every colour key the app reads, the contrast bar each theme is held to, what the CSS sanitiser rejects, and how to submit.
Theme guideBuild a plugin
Palette commands and preview transforms in a sandbox that cannot reach the network or the disk. The manifest, the host API, and the review checklist.
Plugin guidePublic, anonymous, and stable. Nothing here needs an account.
Endpoints and hooks
| What | Where | Notes |
|---|---|---|
| Theme marketplace index | /themes/index.json | What the app's gallery fetches. Every entry carries the file's SHA-256, computed from the file the site serves, so it can never drift. |
| Install a theme from a link | marknote://install-theme?url=…&sha256=… | Only https URLs on marknote.md are accepted, the download is checked against the hash, validated, and the app asks before installing. Nothing from the link itself is trusted. |
| Open the app from a link | marknote://new, marknote://open, marknote://journal | New note, open a file, today's journal page. |
| Service status | /status.json | The status page as JSON: overall state, each service, response time and 24 h uptime. Probed every 30 seconds. |
| Theme lint | tools/ThemeLint | The same validator, sanitiser and contrast check the app runs, as a console tool. It's what the themes repo runs on every pull request. |
The organisation is wearemarknote. Submissions are pull requests; the tracker is public.
Repositories
themes
Marketplace themes. One folder per theme id, a pull-request template that is the review checklist, and a lint workflow.
Openplugins
Community plugins and the examples the guide walks through.
Openissues
Bugs and feature requests for the app. About → Report a bug pre-fills one with the version and OS.
OpenThe rules everything here follows
- Data, not code. A theme cannot run anything. A plugin runs only in a sandbox with no network and no disk. The app validates before it trusts.
- Nothing phones home. The marketplace index is fetched when you open the gallery, never at launch, and never with an identity.
- Free for everyone. Themes and plugins have no tier and no paywall. Reviewed in public, credited to their authors.
Questions that the guides don't answer: support@marknote.md.