Note editor & Markdown
Aligned with the in-app feature guide (featureGuide.js) and editor UI. Notes are stored in SQLite (Vault & data), not as loose Markdown files on disk.
Read and edit mode
Each note tab can toggle read mode vs edit mode.
- Edit — write Markdown in the editor.
- Read — rendered preview; this is where transclusion runs (see below).
Markdown affordances
| Syntax | Behaviour |
|---|---|
#tags | Tags with automatic indexing / autocomplete (via the tags pipeline). |
[[Note Title]] | Wiki-links with automatic backlink tracking; power the Graph. |
![[Note Title]] | Transclusion — embeds another note’s content in read mode only. Embeds are not tracked as wiki-links the same way as [[links]]. |
Ordinary Markdown (headings, lists, code blocks, tables, and so on) is rendered via the app’s Markdown pipeline (marked in the editor stack).
Save and indexing
- Save is explicit: Ctrl+S (⌘S on macOS). There is no silent “autosave every keystroke” story documented here — save when you want persistence and re-index.
- After save, Grimoire updates FTS and triggers per-note vector indexing for unlocked notes so Search and chat Use notes see the saved version.
- The editor may show Indexing… while embeddings finish on large notes.
Properties
Notes can carry structured properties used by Kanban and Database views:
- text, number, date, boolean (checkbox), select (dropdown)
See Views — Kanban and Database. Backend: commands/properties.rs.
Templates
Built-in templates (from the feature guide):
- Blank
- Meeting Notes
- Daily Journal
- Book Notes
plus user-created templates. Apply them from the note-creation flows the app exposes (TemplateModal.svelte).
Bookmarks
Bookmarks pin frequently accessed notes above the folder tree for quick access (stores/bookmarks.svelte.js).
Export
| Scope | Formats |
|---|---|
| Current note (editor or folder list) | Markdown, HTML, or PDF (via the print dialog) |
| Bulk | Settings → Data → export all notes as Markdown (skips locked notes) |
Improve and send selection to chat
- Improve — select text, use the Improve flow (popover asks for an instruction, e.g. “Make it more concise”). The model proposes changes; you review a diff and accept/reject hunks (
ImprovePopover.svelte,DiffView.svelte). This is a focused rewrite path, not free-form chat. - Send selection to chat — Ctrl+Shift+Enter (⌘⇧Enter on macOS) or right-click → Send to Chat dumps the selection into the assistant for a normal conversation (AI assistant).
See also
- Search
- Views & surfaces
- Getting started — first note walkthrough
- Keyboard shortcuts
- Privacy & security — locked notes