Documentation
Markdown
Notes are Markdown – edit and preview in the detail view, autosaves as you leave edit mode.
Notes render as Markdown in the detail view. ⌘ E switches between Edit and View; leaving edit mode saves automatically – there’s nothing separate to remember.
Supported syntax
- Headings, paragraphs, line breaks
- Bold, italic,
inline code,strikethrough - Fenced code blocks with a language label
- Lists: bulleted, numbered (the author’s start number and delimiter are
kept), and task lists (
- [ ]/- [x]) - Tables, with column alignment
- Links, autolinks (
<https://...>), and nested blockquotes - Images: see below
Rendering is Gisti’s own lightweight renderer, tuned for note-sized documents – fast to open, native look in both themes. The same renderer draws the tables in Formatted views, which is how a range copied from a spreadsheet is shown.
Code blocks
A fenced block gets syntax colors when its fence names a language:
```swift
func greet(_ name: String) -> String { "Hello, \(name)" }
```
Languages: JavaScript, TypeScript, Swift, Python, Go,
Rust, Ruby, C, C++, C#, Java, Kotlin, PHP,
bash, SQL, JSON, XML/HTML, YAML, TOML/INI,
Markdown, nginx and diff – with the usual aliases, so js, ts,
jsx, tsx, sh, shell, yml, rs, rb, kt, cs, c++ and golang
all work. Anything else renders in one color, which is exactly how every code
block looked before: no color is a small loss, colors from the wrong grammar
are a misleading one.
A block written without a language is left plain too, with one exception – if the block is a valid JSON or XML document, that is a fact rather than a guess, and it gets colored accordingly.
Point at a code block and a copy button appears in its top-right corner – the same one the chat puts beside a message, and a green checkmark for a moment after it fires. It hands over the code alone, without the fence or the language label; that is the one way it differs from selecting the block and pressing ⌘ C, which keeps the fence so the block pastes back as part of a document. It works the same in the chat, where most code blocks come from.
Colors follow the system theme, and copying is unaffected: ⌘ C over a rendered note still gives you Markdown source, fences and language label included.
Images
Drop an image into a note with plain Markdown syntax:


- Local files (a
file://URL or a bare path, as above) render immediately, scaled to fit the note width. - Remote images (
http/https) load asynchronously – a placeholder shows the alt text until the image arrives, then swaps in place. Downloads are capped in size and time, so a broken or huge URL can’t hang a note. Fetching one tells its host that the note was opened, which matters when the markdown isn’t yours – a clipped page, a model’s answer – somarkdown.loadRemoteImages: falseinadvanced.yamlturns the fetch off and leaves every remote image a placeholder. Local files and embeddeddata:images are unaffected either way. - There is no paste-to-embed or drag-and-drop button in the note editor – an image becomes part of a note by typing or pasting its Markdown syntax. (Contrast with Chat, where pasting an image attaches it directly, a different mechanism from Markdown images in note text.) Screenshots and copied images still get their own elements in the Stream either way.
Linking to other notes
Copy Link (⌘ L, from the Action Menu or an open
element) copies a gisti://open?id=... URL for that element. Paste it as a
plain URL, or wrap it in Markdown link syntax, and it becomes a working
cross-reference:
See [the deploy checklist](gisti://open?id=note_3F2E1...) from last week.
Clicking the link jumps straight to that note, clip, chat, or screenshot.
Gisti handles its own gisti:// scheme like any other link. There’s no
[[wiki-link]] autocomplete for this today; it’s a link you paste, like any
other URL. See URL scheme for everything else
gisti:// can do.
Editing
- ⌘ E: toggle edit / view for the text (autosaves on exit), ⇧ ⌘ E: edit the title.
- Esc leaves the editor (and saves).
- Checkboxes in task lists toggle by click in view mode – a note can be a living checklist.
- Pin (⌘ U) floats the note in a small always-on-top window – useful for a checklist you’re working through. Text clipboard items can be pinned too, not just notes. Details: Pinned windows.