The floating Markdown notepad for Mac. An open source alternative to Raycast Notes.
See the code
The floating Markdown notepad for Mac.
An open source alternative to Raycast Notes.
Press ⌥N in any app to write, and again to put it away. Notes are plain Markdown files in a folder you choose, so any other editor can open them too.
Download for macOS · Installation
** appear around the caret only.[[wiki links]] with completion, callouts, footnotes, images and highlighted code blocks..md file. A save rewrites only the lines you edited and leaves the rest of the file unchanged.
Download Markraft.dmg from the latest release, open it, and drag Markraft to Applications. Markraft is signed and notarized, and updates itself through Sparkle. It needs macOS 13 or later.
Markraft runs from the menu bar and has no Dock icon.
| Shortcut | Action |
|---|---|
| ⌥N | Show or hide the window |
| Esc | Hide the window (:q in vim mode) |
| ⌘N | New note |
| ⌘P | Find a note |
| ⌘K | All actions |
| ⌘O | Open a Markdown file |
| ⌘, | Settings |
| / | Insert a heading, list, table, code block and more |
| [[ | Link to another note |
Turn on Vim mode in Settings → Editor. The editor starts in Normal mode and shows the current mode.
h j k l, w b e, 0 ^ $, gg G. j and k move by visual row in wrapped lines.d, c and y with a motion or doubled (dd, cc, yy), D, C, x, p, P, u and Ctrl+R. Counts work, as in 3j or 2d3w.i, a, I, A, o, O. Everything typed in one Insert session is undone in one step.iw aw, i" a" (and ', `), i( a( (or b), i[ a[, i{ a{ (or B), i< a<, ip ap, after an operator or in Visual mode.dd and yy take a whole block, so a list item keeps its nesting when pasted and a code block is taken whole. In a table, a line is a table row.: opens the action list as a command line. :w saves, :q hides the window, :wq and :x save and hide, :qa quits Markraft, :wqa saves and quits, :e reloads the note from disk, :enew starts a new note, :ls lists notes, and :u and :red undo and redo. In Normal mode Esc does not hide the window; use :q./ opens find with a live preview. Return confirms and returns to the note; Escape restores the original position and query. n finds the next match from the cursor and N the previous one, wrapping at either end. Search matches visible text literally, ignoring case, and shares its query with ⌘F.Search counts, operator or Visual-mode search, ?, regular expressions, f and t, . repeat, registers and other : commands are not supported.
Notes are Markdown files in ~/Documents/Markraft by default. You can choose another folder, including one you already keep notes in, and open any other .md file on your Mac.
~/Library/Application Support/Markraft.Markraft has no account and sends no telemetry. It connects to the network only to check for updates and to load images that notes link to on the web; both can be turned off in Settings.
Logs and crash reports are written to ~/Library/Logs/Markraft and stay on your Mac. After a crash, Markraft mentions the report on its next launch. Report an Issue… in ⌘K opens a GitHub issue with your Mac and Markraft versions filled in; attach the report if there is one.
Bug reports and pull requests are welcome. For a change in behavior, please open an issue to discuss it first.
bash scripts/download-sparkle.sh # fetch the Sparkle framework into target/sparkle
cargo run -p markraft-app # run the app
cargo test --workspace # run the tests
cargo xtask bundle # build target/debug/bundle/osx/Markraft.app
The toolchain is pinned in rust-toolchain.toml. The workspace is split into markraft-core (document model and editing), markraft-commonmark (Markdown), markraft-gpui (the editor view), markraft-vim and markraft-app.
Markraft borrows ideas from apps we like:
[[wiki links]] and callouts.Built on GPUI, with comrak for parsing Markdown, syntect for highlighting code and Sparkle for updates.
195 commits
1 commits
Rust
99.5%
The floating Markdown notepad for Mac. An open source alternative to Raycast Notes.
See the code
The floating Markdown notepad for Mac.
An open source alternative to Raycast Notes.
Press ⌥N in any app to write, and again to put it away. Notes are plain Markdown files in a folder you choose, so any other editor can open them too.
Download for macOS · Installation
** appear around the caret only.[[wiki links]] with completion, callouts, footnotes, images and highlighted code blocks..md file. A save rewrites only the lines you edited and leaves the rest of the file unchanged.
Download Markraft.dmg from the latest release, open it, and drag Markraft to Applications. Markraft is signed and notarized, and updates itself through Sparkle. It needs macOS 13 or later.
Markraft runs from the menu bar and has no Dock icon.
| Shortcut | Action |
|---|---|
| ⌥N | Show or hide the window |
| Esc | Hide the window (:q in vim mode) |
| ⌘N | New note |
| ⌘P | Find a note |
| ⌘K | All actions |
| ⌘O | Open a Markdown file |
| ⌘, | Settings |
| / | Insert a heading, list, table, code block and more |
| [[ | Link to another note |
Turn on Vim mode in Settings → Editor. The editor starts in Normal mode and shows the current mode.
h j k l, w b e, 0 ^ $, gg G. j and k move by visual row in wrapped lines.d, c and y with a motion or doubled (dd, cc, yy), D, C, x, p, P, u and Ctrl+R. Counts work, as in 3j or 2d3w.i, a, I, A, o, O. Everything typed in one Insert session is undone in one step.iw aw, i" a" (and ', `), i( a( (or b), i[ a[, i{ a{ (or B), i< a<, ip ap, after an operator or in Visual mode.dd and yy take a whole block, so a list item keeps its nesting when pasted and a code block is taken whole. In a table, a line is a table row.: opens the action list as a command line. :w saves, :q hides the window, :wq and :x save and hide, :qa quits Markraft, :wqa saves and quits, :e reloads the note from disk, :enew starts a new note, :ls lists notes, and :u and :red undo and redo. In Normal mode Esc does not hide the window; use :q./ opens find with a live preview. Return confirms and returns to the note; Escape restores the original position and query. n finds the next match from the cursor and N the previous one, wrapping at either end. Search matches visible text literally, ignoring case, and shares its query with ⌘F.Search counts, operator or Visual-mode search, ?, regular expressions, f and t, . repeat, registers and other : commands are not supported.
Notes are Markdown files in ~/Documents/Markraft by default. You can choose another folder, including one you already keep notes in, and open any other .md file on your Mac.
~/Library/Application Support/Markraft.Markraft has no account and sends no telemetry. It connects to the network only to check for updates and to load images that notes link to on the web; both can be turned off in Settings.
Logs and crash reports are written to ~/Library/Logs/Markraft and stay on your Mac. After a crash, Markraft mentions the report on its next launch. Report an Issue… in ⌘K opens a GitHub issue with your Mac and Markraft versions filled in; attach the report if there is one.
Bug reports and pull requests are welcome. For a change in behavior, please open an issue to discuss it first.
bash scripts/download-sparkle.sh # fetch the Sparkle framework into target/sparkle
cargo run -p markraft-app # run the app
cargo test --workspace # run the tests
cargo xtask bundle # build target/debug/bundle/osx/Markraft.app
The toolchain is pinned in rust-toolchain.toml. The workspace is split into markraft-core (document model and editing), markraft-commonmark (Markdown), markraft-gpui (the editor view), markraft-vim and markraft-app.
Markraft borrows ideas from apps we like:
[[wiki links]] and callouts.Built on GPUI, with comrak for parsing Markdown, syntect for highlighting code and Sparkle for updates.
195 commits
1 commits
Rust
99.5%