Skip to content

caustria/easy-mark

Repository files navigation

Easy Mark

Easy Mark is a lightweight Tauri desktop workspace for browsing and editing Markdown, limited MDX, HTML, and text documents. The current implementation provides the rebranded application shell plus secure workspace and document command boundaries.

Easy Mark screenshot

Supported formats

  • Markdown: .md, .markdown
  • Limited/inert MDX: .mdx
  • HTML: .html, .htm
  • Plain text: .txt

EPUB and PDF are not supported.

Preview behavior

  • Markdown uses markdown-it with tables, task lists, strikethrough, autolinks, deterministic heading IDs, and common code-language highlighting.
  • MDX uses the Markdown fallback; JSX and components remain inert source.
  • Markdown output is sanitized and task checkboxes are read-only.
  • HTML is sanitized and rendered in a script-disabled sandboxed iframe with a restrictive CSP.
  • Relative assets load only through the registered workspace root; external and escaping resource paths are blocked.

Workspace changes are watched recursively and coalesced before updating the explorer, editor, preview, and outline.

Git comparisons

  • The Source Control panel supports local status, staging, commits, branches, and file comparisons through the installed Git executable.
  • Editor gutter markers compare the live buffer, including unsaved edits, with the file at HEAD.
  • Full diff editors support HEAD ↔ working buffer, HEAD ↔ index, and index ↔ working buffer in side-by-side or unified layouts.
  • Large line-diff calculations run in a Web Worker. Binary files and text files above the document-size limit are not loaded into diff editors.

Themes, commands, and search

  • The global theme follows the operating system by default and can be overridden with light or dark mode in Settings.
  • Settings also cover editor typography, tab size, wrapping, autosave, preview layout, explorer visibility rules, panel placement, workspace reopening, and experimental MDX.
  • Use Ctrl+Shift+P for the command palette, Ctrl+P for quick open, Ctrl+Shift+F for workspace search, and Ctrl+F for in-document find/replace. macOS uses Command instead of Control.
  • Workspace search runs in Rust with cancellation, paging, file-size/result budgets, ignored/heavy-directory filtering, and an opt-in all-text-files mode. It does not build an index during workspace open.

Development

Prerequisites: Node.js, npm, the stable Rust toolchain, and the Tauri 2 platform prerequisites.

npm install
npm run check
cargo test --manifest-path src-tauri/Cargo.toml
npm run tauri dev

Use npm run build for a static frontend build. See outline.md for the canonical implementation order and current status.

About

Markdown reader and editor with AI outlines in mind - with the help of Codex and Claude

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors