A privacy-first, open-source, local-only markdown editor built with Svelte 5.
Your notes never leave your device. No accounts. No tracking. No cloud.
Ctrl+P).# Clone the repository
git clone https://github.com/MasFana/sveltemark.git
cd sveltemark
# Install dependencies
pnpm install
# Start development server
pnpm dev
Open http://localhost:5173 in your browser.
# Build the application
pnpm build
# Preview the production build
pnpm preview
| Shortcut | Action |
|---|---|
Ctrl+B |
Bold text |
Ctrl+I |
Italic text |
| Ctrl+` | `Inline code` |
Ctrl+~ |
|
Ctrl+Shift+. |
Numbered list |
Ctrl+. |
Bullet list |
Ctrl+Q |
Block quote |
| Shortcut | Action |
|---|---|
Ctrl+H |
Show keyboard shortcuts panel |
Ctrl+F |
Find and replace |
Ctrl+P |
Print document |
Ctrl+S |
Save now |
Ctrl+/ |
Toggle comment |
Tab |
Indent line |
Shift+Tab |
Outdent line |
| Shortcut | Action |
|---|---|
Ctrl+0 |
Reset zoom |
F11 |
Enter fullscreen |
| Shortcut | Action |
|---|---|
Ctrl+A |
Select all |
Ctrl+D |
Select next occurrence |
Ctrl+Shift+L |
Select all occurrences |
fanadown/
āāā src/
ā āāā lib/
ā ā āāā components/
ā ā ā āāā Editor.svelte # CodeMirror editor component
ā ā ā āāā Preview.svelte # Markdown preview component
ā ā ā āāā Sidebar.svelte # File explorer sidebar
ā ā ā āāā FileTree.svelte # Recursive file tree
ā ā ā āāā Toolbar.svelte # Formatting toolbar
ā ā āāā appState.svelte.ts # Global reactive state
ā ā āāā db.ts # Dexie database operations
ā ā āāā markdown.ts # Markdown processing pipeline
ā ā āāā index.ts # Library exports
ā āāā service-worker.ts # PWA offline caching
ā āāā routes/
ā āāā +layout.svelte # App layout
ā āāā +page.svelte # Main page
āāā static/ # Static assets
āāā package.json
āāā svelte.config.js
āāā vite.config.ts
āāā tsconfig.json
SvelteMark uses IndexedDB via Dexie.js for local-first data storage. All your notes are stored in your browser and never leave your device.
id, name, parentId, isOpenid, folderId (nullable), title, content, createdAt, updatedAtNote:
folderIdcan benullfor root-level files (files not inside any folder).
You can export all your data as a JSON file for backup:
To restore:
SvelteMark works fully offline as a Progressive Web App (PWA).
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the MIT License - see the LICENSE file for details.
Made with Svelte 5 | Open Source | Privacy First