Skip to content

mattenarle10/markamd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

197 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

marka.md app icon

marka.md

a local markdown editor for the notes you share with ai.

site release downloads stars macos windows linux mit notarized

a cross-platform (macOS Β· Windows Β· Linux) markdown editor specialized for ai context management. live editor on the left (codemirror 6), rendered preview on the right (markdown-it + shiki + mermaid), and a context tray for staging multiple notes into one AI-ready bundle. minimal chrome, grouped themes (neutral + catppuccin + ai-inspired + crafted), orange octopus mascot. ~10 mb bundle, ~240 mb resident β€” lean for a tauri app.

built around one loop: collect notes β†’ write β†’ share with ai. nothing leaves your machine until you copy.

works with claude, chatgpt, gemini, your local agent β€” anywhere that reads plain markdown.

features

  • live preview β€” ~50 ms render, shiki code highlighting (36 langs, lazy-loaded), mermaid diagrams
  • csv preview β€” open .csv files as a capped, read-only table for quick data checks beside your notes
  • grouped themes β€” mono, mono dark, catppuccin family, crafted palettes, plus AI-inspired Claude / Codex / Gemini / Cursor themes Β· animated sections + hover-to-preview
  • reading mode β€” ⌘. distraction-free preview with iA-style typography
  • editor-only mode β€” βŒ˜β‡§. hide the preview when you want to focus on writing
  • vim mode β€” opt-in via theme menu Β· NORMAL/INSERT/VISUAL/REPLACE pill in the status bar
  • find β€” ⌘f works in BOTH editor (codemirror) and reading mode (text-node walker w/ live highlights)
  • command palette β€” ⌘k, fuzzy + grouped
  • ide-style sidebar β€” drag-to-move, right-click rename / new / delete, ⌘βŒ₯Z undo
  • session restore β€” last open file + folder come back on launch
  • save as β€” βŒ˜β‡§s opens save-as dialog (also auto-fallback for untitled buffers)
  • markdown extras β€” ==highlight== (mark), ~~strike~~, [ ] / [x] task lists with theme-aware checkboxes
  • share to ai β€” βŒ˜β‡§c copies clean markdown to clipboard
  • context tray β€” stage multiple sidebar files, see file/token counts, copy them as one prompt bundle
  • export to pdf β€” visible file-action button + ⌘p
  • external file watch β€” auto-reloads when the file changes outside the app Β· conflict toast on dirty buffer
  • cross-platform auto-update β€” minisign-signed releases on macOS / Windows / Linux
  • window transparency slider β€” continuous opacity, macOS vibrancy
  • platform-aware shortcuts β€” ⌘ on mac, Ctrl on Windows/Linux, surfaced correctly everywhere
  • no autosave β€” ⌘s commits. trust your fingers, not background daemons.

install

download the latest release β†’

macOS (notarized + auto-updating, universal arch coverage)

  • apple silicon (M1/M2/M3/M4): grab marka.md.dmg β†’ drag marka.md.app into /Applications β†’ open.
  • intel mac: grab marka.md_intel.dmg β†’ same install steps.

Windows (10+, x64)

grab marka.md_*-setup.exe β†’ run.

Windows SmartScreen may show "Windows protected your PC". Click More info β†’ Run anyway. marka.md is free + MIT β€” we don't sign Windows builds (paid certs aren't worth it for a free OSS project). Full source is right here if you'd rather build it yourself.

Linux (x86_64)

three flavors, pick what fits your distro:

  • AppImage (works anywhere): chmod +x marka.md_*.AppImage β†’ run. self-contained, no install step needed.
  • .deb (Debian / Ubuntu / Mint / Pop!_OS): sudo dpkg -i marka.md_*_amd64.deb
  • .rpm (Fedora / RHEL / Rocky / openSUSE): sudo dnf install marka.md-*.x86_64.rpm

no signing required on Linux β€” it's the freedom platform 🐧

from source

requires bun (or npm), rust toolchain. on macOS: xcode command line tools. on Windows: MSVC build tools (Visual Studio installer β†’ "Desktop development with C++"). on Linux: libwebkit2gtk-4.1-dev libsoup-3.0-dev + friends.

bun install
bun run tauri dev      # native window with hmr
bun run tauri build    # produces .dmg / .exe / .AppImage / .deb / .rpm under src-tauri/target/release/bundle/

keyboard

shortcuts shown with macOS modifiers below. on Windows / Linux, substitute ⌘ β†’ Ctrl, βŒ₯ β†’ Alt, ⇧ β†’ Shift.

key does
⌘K command palette
⌘O open a .md file
βŒ˜β‡§O open a folder of notes
⌘N new untitled buffer
⌘S save (manual β€” no autosave)
βŒ˜β‡§S save as (also auto-fallback for untitled buffers)
⌘B toggle sidebar
⌘. toggle reading mode (preview only)
βŒ˜β‡§. toggle editor-only mode (preview hidden)
⌘F find / replace in editor · or find in reading mode
⌘G find next match
⌘βŒ₯Z undo last sidebar file op (move / rename / new / delete)
βŒ˜β‡§C copy markdown to clipboard
command palette β†’ copy context bundle copy the staged context bundle
⌘P export to pdf (also visible in the top file-action row)
βŒƒβŒ˜F toggle fullscreen (macOS) Β· F11 on Windows/Linux
⌘/ help overlay
esc close any popup

stack

layer choice
shell tauri 2.11 (rust + webview), macOS universal (arm64 + x86_64) Β· Windows Β· Linux
frontend react 19 Β· vite 7 Β· typescript 5.9 Β· bun
editor codemirror 6 + @codemirror/lang-markdown + @codemirror/search Β· opt-in vim via @replit/codemirror-vim
markdown markdown-it + markdown-it-mark + markdown-it-task-lists + shiki (lazy themes + langs) + mermaid (lazy)
icons lucide-react
styling css variables, no framework

project structure

src/
β”œβ”€β”€ app.tsx              # shell β€” composes hooks + renders layout
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ primitives/      # button, icon, popover, kbd, shortcut, tooltip
β”‚   β”œβ”€β”€ chrome/          # title-bar, breadcrumb, status-bar, logo
β”‚   β”œβ”€β”€ editor/          # editor, preview, splitter, reading-find
β”‚   β”œβ”€β”€ files/           # sidebar, file-tree, folder-node, editable-row, sidebar-search, context-menu
β”‚   └── overlays/        # palette, help, about, welcome, drop, toast
β”œβ”€β”€ hooks/                # use-file-session, use-file-ops, use-update-flow, use-context-menu,
β”‚                        # use-overlays, use-notifications, use-shortcuts, use-file-watcher,
β”‚                        # use-sync-scroll, use-debounced, use-persisted-state
β”œβ”€β”€ lib/                  # markdown, theme, platform, files, commands, pdf-export, updater,
β”‚                        # window-drag, storage, bundle, demo
β”œβ”€β”€ styles/               # tokens, globals, per-domain css (chrome/, editor/, files/, overlays/, shared/)
└── assets/mascot/        # in-app sprites
src-tauri/                # rust shell, tauri config, capabilities
.github/workflows/        # release.yml (matrix build) + ci.yml + dependabot

every folder exports its public api via index.ts. path alias @/* resolves to src/*. state lives in cohesive custom hooks under src/hooks/; app.tsx is mostly composition + jsx.

roadmap

per-release detail lives on the changelog (auto-fresh from GitHub releases). high-level:

v1.5:

  • context tray β€” multi-file bundling, ⌘-click to stage, token estimates, copy as one prompt blob
  • what's new toast β€” first launch after update now points users straight to the changelog
  • pdf export polish β€” cleaner document margins, no browser-added date/time/path headers, and rendered mermaid diagrams
  • theme polish β€” mono / mono dark, animated grouped theme menu, and AI-inspired Claude / Codex / Gemini / Cursor palettes
  • file tabs + languages β€” open multiple notes, switch between them quickly, and use the app in more interface languages
  • code block wrapping β€” long rendered code lines wrap in preview and PDF export
  • macOS app naming + file handling β€” packaged builds use marka.md consistently and default-handler launches open the selected markdown file reliably

next:

  • native/silent PDF generation, so export does not depend on the browser print dialog
  • optional richer context bundle presets for agents with stricter prompt formats

contributions welcome β€” see feedback below to suggest priorities.

privacy

local-first. nothing ever leaves your machine. no telemetry, no analytics, no accounts, no cloud sync. your .md files stay on disk. clipboard transfers happen only when you press βŒ˜β‡§C β€” and then they're yours, going wherever you paste them.

see the full privacy notice for the website analytics caveat (vercel speed insights, cookieless).

feedback

ideas, bugs, or just want to say hi?

i read everything. PRs welcome.

support

marka.md is free + MIT, and intends to stay that way. if it saves you time wrangling AI context:

  • ⭐ star the repo β€” biggest single signal
  • πŸ—£οΈ tell another dev / share it

both appreciated, neither required. πŸ™

license

mit Β· matt enarle (@mattenarle10)

About

πŸ™ local markdown, live markdown editor + live preview built with tauri + react.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors