Skip to content

uptonking/src-notable-1.5.1

Repository files navigation

Notable (DOWNLOAD)

This repo is a fork of notable/notable.
It's annotated to learn the source code.

Notable

The markdown-based note-taking app that doesn't suck.

I couldn't find a note-taking app that ticked all the boxes I'm interested in: notes are written and rendered in GitHub-flavored Markdown, no WYSIWYG, no proprietary formats, I can run a search & replace across all notes, notes support attachments, the app isn't bloated, the app has a pretty interface, tags are indefinitely nestable and can import Evernote notes (because that's what I was using before).

So I built my own.

Features

/path/to/your/data_directory
├─┬ attachments
│ ├── foo.ext
│ ├── bar.ext
│ └── …
└─┬ notes
  ├── foo.md
  ├── bar.md
  └── …
  • No proprietary formats: Notable is just a pretty front-end for a folder structured as shown above. Notes are plain Markdown files, their metadata is stored as Markdown front matter. Attachments are also plain files, if you attach a picture.jpg to a note everything about it will be preserved, and it will remain accessible like any other file.

  • Proper editor: Notable doesn't use any WYSIWYG editor, you just write some Markdown and it gets rendered as GitHub-flavored Markdown. The built-in editor is Monaco Editor, the same one VS Code uses, this means you get things like multi-cursor by default. If you need more advanced editing features with a single shortcut you can open the current note in your default Markdown editor.

  • Indefinitely nestable tags: Pretty much all the other note-taking apps differentiate between notebooks, tags and templates. IMHO this unnecessarily complicates things. In Notable you can have root tags (foo), indefinitely nestable tags (foo/bar, foo/.../qux) and it still supports notebooks and templates, they are just special tags with a different icon (Notebooks/foo, Templates/foo/bar).

Upon first instantiation, some tutorial notes will be added to the app, check them out for more in-depth details about the app and how to use it. You can also find the raw version here.

Click to Enlarge

Part of this comparison is personal opinion: you may disagree on the UI front, things I consider bloat may be considered features by somebody else etc. but hopefully this comparison did a good job at illustrating the main differences.

Demo

Dark Theme

Dark Theme

Indefinitely Nestable Tags

Indefinitely Nestable Tags

Editor

Editor

Multi-Note Editor

Multi-Note Editor

Split-Editor + Zen Mode + Quick Open

Split-Editor + Zen Mode + Quick Open

Contributing

There are multiple ways to contribute to this project, read about them here.

Follow these steps in order to get Notable ready for development:

git clone https://github.com/notable/notable.git
cd notable
yarn clean
yarn install
yarn run svelto:dev
yarn run monaco
yarn run iconfont
yarn run tutorial
yarn run dev 
# Terminal 1
npm run svelto:dev:watch 
# Terminal 2

Related

  • enex-dump: Dump the content of Evernote's .enex files, preserving attachments, some metadata and optionally converting notes to Markdown.
  • Noty: Autosaving sticky note with support for multiple notes without needing multiple windows.
  • Markdown Todo: Manage todo lists inside markdown files with ease. Have the same todo-related shortcuts that Notable provides, but in Visual Studio Code.
  • Todo+: Manage todo lists with ease. Powerful, easy to use and customizable.

License

AGPLv3 © Fabio Spampinato

About

a fork of notable/notable

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published