markiniser
v0.1.2
Published
Local-first markdown organizer for browsing, searching, and editing markdown files on localhost.
Downloads
14
Readme
Markiniser
Markiniser is a local-first markdown workspace for browsing, searching, editing, and previewing .md files on localhost. It runs entirely on your machine and only works against the root folders you configure.
Run it instantly:
npx markiniserInstall globally if you prefer:
npm install -g markiniser
markinisernpm package: https://www.npmjs.com/package/markiniser
GitHub Packages publish target for the repo sidebar:
npm run publish:githubThis publishes the scoped package @efficientgoose/markiniser to GitHub Packages so the repository's Packages section is populated, while npm continues to use the unscoped markiniser package.
What It Does
- Scans one or more local roots for markdown files
- Shows a file tree sidebar
- Opens files in a raw markdown editor with autosave
- Renders a live preview beside the editor
- Supports command-palette search with
Cmd/Ctrl+K - Lets you change the active root from inside the app
- Includes a built-in
welcome.mdsample file on first launch
Requirements
- Node.js 20+
- npm
Install
Fastest way to run it once published:
npx markiniserFor local development in this repo:
npm installConfigure Your Markdown Root
Markiniser looks for config in:
.markiniserrc.markiniserrc.jsonmarkiniser.config.js
The simplest option is .markiniserrc.json in the repo root:
{
"roots": ["/absolute/path/to/your/notes"],
"ignore": ["node_modules", ".git", "dist", "build", ".obsidian", ".trash", ".Trash"],
"port": 4000
}Notes:
rootsshould be absolute paths or~/...- only
.mdfiles inside configured roots are editable
If no config exists yet, Markiniser now creates one automatically at ~/.markiniserrc.json on first run:
- default root:
~/Desktop - fallback root if Desktop does not exist: the current directory
- default port:
4000
Build
Build everything once before running:
npm run buildRun
Recommended local command:
node bin/markiniser.jsPublished package command:
npx markiniserWhat happens:
- on first run, a default config is created automatically if needed
- the server starts on
127.0.0.1:4000by default - the browser opens automatically unless you pass
--no-open - if
packages/web/distexists, the app UI is served at/ - if the frontend is not built, Markiniser still serves the API
Useful flags:
node bin/markiniser.js --port 4001
node bin/markiniser.js --config /absolute/path/to/config.json
node bin/markiniser.js --no-openIf the browser does not open correctly, use:
http://127.0.0.1:4000/How To Use
On First Launch
- Markiniser opens the virtual sample file
welcome.md - use it to verify the editor, preview, and layout controls
Open Files
- click any markdown file in the sidebar
- or press
Cmd/Ctrl+Kto open the command palette and search
Edit Files
- edit directly in the raw markdown editor
- autosave runs for real disk-backed files
Cmd/Ctrl+Striggers an immediate save and shows a toast
Preview
- split view is available by default
- use the top-right pane buttons to switch between:
- editor only
- preview only
- split view
Rename Files
- click the filename in the top header
- edit the basename only
- press
Enterto rename the file on disk
Change Root Folder
- click the pencil beside
Filesin the sidebar - use
Browse folder - apply the new root
This updates the config file and rebuilds the tree.
Keyboard Shortcuts
Cmd/Ctrl+K: open command paletteCmd/Ctrl+S: save file immediatelyCmd/Ctrl+Shift+P: toggle preview panel
Development Checks
npm run test
npm run build
npm run typecheck