Skip to content

Repository files navigation

Notes in Markdown

Desktop markdown note-taking app (Electron + React) with:

  • Filesystem-backed hierarchy at ~/.nim/notes
  • Folder tree + tabbed documents
  • Editable Rendered and Source modes
  • Toggleable autosave
  • Local conflict handling for external file edits
  • Soft delete to ~/.nim/.trash with restore

Screenshot

Markdown Note App

Requirements

  • Node.js 20+
  • npm 10+

Run

npm install
npm run dev

Build renderer

npm run build

Then start Electron (loads built renderer from dist/):

npm start

Storage layout

  • ~/.nim/notes/ markdown notes and folders
  • ~/.nim/.trash/ soft-deleted files/folders
  • ~/.nim/config.json app settings
  • ~/.nim/session.json open tabs/expanded folders

Tests

npm test

Run end-to-end smoke tests (boots Electron and validates core UI chrome):

npm run test:e2e

This command uses npx @playwright/test and does not require a permanent local Playwright dependency.

Run full test suite:

npm run test:all

Current coverage includes:

  • Unit tests for pathing, autosave, and markdown helpers
  • Integration tests for app bootstrap and note-open flow
  • E2E smoke test for Electron boot + visible shell

Packaging

npm run package:linux
npm run package:win
npm run package:mac

Artifacts are written to release/.

GitHub Actions

  • CI workflow: .github/workflows/ci.yml
    • runs unit/integration tests, production build, and Electron e2e smoke tests
  • Release workflow: .github/workflows/release.yml
    • triggers on v* tags
    • builds platform installers and publishes to GitHub Releases via electron-builder

Create a release by pushing a version tag, for example:

git tag v0.1.0
git push origin v0.1.0

About

Markdown Note App - easy copy/paste from chat bots into your note taking app!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages