Skip to content

kvnzrch/markwork

Repository files navigation

Markwork

A zero-backend markdown editor and viewer. The document lives entirely in the URL — share a link, share the content. No database, no accounts, no server-side storage.

How it works

The markdown is LZ-compressed and stuffed into the URL fragment (#...). Because fragments never leave the browser, the content stays client-side. Opening a link decodes the fragment and renders it in view mode; without a fragment, the app boots in edit mode with a default README.

Features

  • Source editor with CodeMirror (markdown syntax highlighting, one-dark theme)
  • Rich editor with Tiptap
  • Split source + live preview
  • Sanitized HTML output via DOMPurify
  • Copy, download as .md, or copy a share link
  • Wide / narrow layout toggle, light / dark theme
  • Keyboard shortcuts:
    • Cmd/Ctrl + E — toggle view / edit
    • Cmd/Ctrl + S — copy share link
    • Cmd/Ctrl + Shift + C — copy markdown

Development

npm install
npm run dev      # vite dev server
npm run build    # type-check + production build
npm run preview  # serve the production build locally

Stack

React 19, TypeScript, Vite, Mantine, Tiptap, CodeMirror, marked, dompurify, lz-string.

License

MIT — see LICENSE.

About

Markdown editor, viewer and share

Topics

Resources

License

Stars

Watchers

Forks

Contributors