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

Overview

Notable  

Notable

Download button


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.

Comparison

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.

Features

Markdown-based

Notes are written in GitHub Flavored Markdown, and you can also write KaTeX expressions, Mermaid diagrams and so much more, check out our full Markdown cheatsheet.

Notable also gives you a very powerful Markdown editor, it's the same one VS Code uses in fact, so features like multi-cursors, a minimap and best-in-class syntax highlighting are built-in.

Editor

No Vendor Lock-In

Notes and attachments are simply stored on your disk, this is extremely portable and powerful: you could edit your notes with your favorite editor, have them synchronized via Dropbox, run Git on them, run a regex-based search and replace on them etc.

Filesystem

Dark Theme

A dark theme is also available. In the future support for custom themes will be added as well.

If you'd like to change a color or hide a button you are also free to do that via the Devtools.

Dark Theme

Zen Mode

Zen mode provides a minimalistic editing and reading experience, hiding everything that's not necessary.

Notable is also keyboard friendly, has a quick open window, and we'll soon add a command palette too, so you won't have to click any buttons if you don't want to.

Zen Mode

Multi-Note Editor

A multi-note editor is available for quickly running an action, like favoriting, pinning, deleting, tagging etc., on multiple notes at once.

If you need to run a more complex action on your notes remember that they are just file stored on your disk so you can do whatever you want with them.

Multi-Note Editor

Split Editor

A split-editor is available for quickly checking out how your note will be rendered while you're editing it.

Split Editor

More Features

A lot more features are implemented, some of the most important ones are listed here.

Is a feature you care about currently missing? Make sure to browse the issue tracker and add your " 👍 " reaction to the issues you care most about, as we also use those reactions to prioritize issues.

Contributing

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

Useful Links

  • Chat: we have a public real-time chat, come join us there.
  • Cheatsheet: the online version of our built-in Markdown cheatsheet.
  • Customizations: collection of community-created customizations and tips.
  • Donations: you can financially support the project via this GitHub Sponsorship page.
  • Insiders: alpha/beta releases are published here.
  • Subreddit: we have a subreddit, where day-to-day discussion happens.
  • Tutorial: the online version of our built-in tutorial.
  • Twitter: we have a Twitter account, where tips and general updates are posted.
  • Website: our official website, this is probably the best link to send to friends and colleagues.
  • YouTube: we have a YouTube channel, where all videos are hosted.

License

Only older versions of the app are open-sourced, read more about this here.

Issues
  • Notable's Future

    Notable's Future

    The community's response to this project has been amazing, all supportive comments and suggestions have blown me away, I'd like to thank you all for this and write a few lines about what Notable's future could look like.

    I think the goal we should strive for is having the best possible note-taking experience, on any platform and any device, while still remaining true to the reasons why I wrote Notable in the first place, basically your notes will never be locked into a walled garden and the app is never going to become something I won't personally like and use.

    In order to achieve that we have to develop internationalized (#126) web app (#83), mobile apps (#23), have a rich plugin ecosystem (#128) and tackle all the issues and good feature suggestions you guys raised. As you can imagine all that requires considerable developer time.

    I already spent more than a month working on this full-time, and I obviously need to make a living too. The only way we can afford one or multiple people working full-time on this is if Notable becomes profitable, the alternative is simply greatly slowing down development.

    I'm going to explore what acceptable ways are out there to fund the development, perhaps I could develop some powerful business-oriented and task-oriented features and sell support to companies. I'd be glad to hear your thoughts and suggestions on this.

    Notable is here to stay.

    announcement 
    opened by fabiospampinato 57
  • Add attachments via copy/paste

    Add attachments via copy/paste

    It would be really helpful if pressing paste button when there is a image in the clipboard would:

    1. Automatically attach this image to the note
    2. Paste in Markdown text for displaying that attachment inline

    As extra bonus, same behavior could be added for drag-dropping images into editor.

    Basically, similar to how Github handles copy pasting images.

    enhancement 
    opened by matejdro 41
  • Update #2 - Relicensing and open-source

    Update #2 - Relicensing and open-source

    As stated previously I've committed to allocate a large portion of my time to improve Notable and trying to make it profitable.

    Obviously I can't spend 1 year or more of my time on this with the risk that somebody could just make a competing commercial product out of Notable's source, so there are a few updates I'd like to announce:

    • First of all I moved the repo under the "Notable" GitHub organization, this is where other Notable-related repos will be published (official plugins etc.) also. Thank you @akoenig for this! (He was the previous owner of the organization)

    • The code under the main repo (this one) has been relicensed under the AGPL license, it's a bit more restrictive than the previous MIT license, the tl;dr is that if you're modifying the app it's totally cool, but you must share the full code back under the same license.

    • Other Notable-related repositories will be licensed under the more permissive MIT license instead.

    • You'll be asked to accept a CLA (Contributor License Agreement) when submitting PRs, basically it's just some legalese stating that you own the code you're submitting and you're giving me the rights to use it, you can read (and accept) the full thing here. I'd ask the following previous contributors to accept it please: @tylerdiaz @umgupta @mnikn @mikaelmello @lianghongzhuo @sosukesuzuki @RomanKornev. Most of the contributions you guys submitted have been kind of rewritten already, but it'd be helpful if you still accepted the CLA.

    Right now Notable is 100% open-source, but going forward things will be developed this way:

    • Up until I'll be ready to make a PWA #83 out of Notable (subscription-based, but you won't be forced to use it) and add a plugin architecture #128 to it, development will continue in this repository, and all commits will be shared as usual, just under the AGPL license this time.

    • Once I'll be ready to develop those major features I won't probably share back the core code, but instead I'll split most of the current functionalities into open-source plugins. The server-side code won't be open-sourced. This repository will remain the main issue tracker.

    • Once the subscription-based service I plan to develop is up and running I'll consider open-sourcing the core application code too, but the server-side code and maybe some "premium" features will still remain closed-source.

    Hopefully this is good news for pretty much everybody, as this basically means I'm committed to make Notable great. This may disappoint those of you who would like everything to be open-sourced under a permissive license, but in order for me to allocate a large portion of my time on this I need to make it less risky, I hope you guys will understand.

    That's all for today, thanks for reading till the end!

    announcement 
    opened by fabiospampinato 38
  • Notes are irregularly corrupted when changing in edit mode

    Notes are irregularly corrupted when changing in edit mode

    • OS Version: Ubuntu 16.04
    • Notable Version: v1.4.0

    Current behavior

    When in edit mode, if your current note has an unsaved changed title (1), when you click on another note (2), it might overwrite Note 1 with the contents of Note 2.

    It happened yesterday and now today. After multiple tries I managed to reproduce by quickly adding a lot of text (pasting lorem ipsum multiple times) and clicking in the other note. It rarely happens though, making it very hard to reproduce.

    Expected behavior

    Not lose note's contents. I'm very sad to lose important work twice now.

    This has actually happened three times:

    1. Big essay with a project proposal, it got corrupted and untagged, I was able to recover it from Google Drive
    2. 2 hours worth of notes from an important class. At this time I thought it was a problem with syncing and bad connection, decided to only use local files
    3. ~1 hour worth of notes from another class.

    Unfortunately I'm going to have to halt my use of Notable because I'm afraid of losing even more work.

    bug 
    opened by mikaelmello 34
  • Triple-pasting from clipboard

    Triple-pasting from clipboard

    • OS Version: MacOS 10.14.4 (18E226)
    • Notable Version: 1.7.2

    Current behavior

    My clipboard has the string "test" stored. When I CMD+V or right click>paste, it inserts the string "testtesttest" in any document of notable.

    Expected behavior

    Inserting string "test"

    Notes

    It works fine in other applications (e.g. Firefox, Finder, ...). It does not matter if copied from within Notable or another application (text only). Sometimes restarting the app resolves the problem temporarily.

    bug help wanted 
    opened by thisfro 33
  • WikiLink syntax support

    WikiLink syntax support

    Would it be possible to add WikiLink support (i.e.[[Description|Link to Note]]) to Notable?
    Here's a great essay on why it's a great feature, would love it if you could add this: https://medium.com/@timkingwriter/welcome-to-the-note-taking-apocalypse-64a74481a5ab

    enhancement help wanted 
    opened by lukaskawerau 33
  • LaTeX support.

    LaTeX support.

    opened by chyyran 32
  • Too high CPU usage at idle.

    Too high CPU usage at idle.

    • macOS 10.14.6
    • 1.7.3

    Current behavior

    Notable Helper consumes too much CPU cycles and battery when it is in idle state. (8% ~ 10%)

    스크린샷 2019-09-25 오후 7 45 37

    Expected behavior

    Chrome uses under 1% CPU when it is at idle (single tab, google.com). Notable should be similar to this.

    스크린샷 2019-09-25 오후 7 49 05 bug 
    opened by Pusnow 26
  • New notes are duplicates of currently open note

    New notes are duplicates of currently open note

    • OS Version: Ubuntu 18.04
    • Notable Version: 1.3.0

    Current behavior

    Just open a note and click on the "add" button. I don't know when exactly this happens, but I've already restarted the app.

    Expected behavior

    A new note will be added, but the edit screen will still be the previous one. With this, the new "Untitled" file syncs with the currently open file and it will have its contents and name.

    bug 
    opened by YohananDiamond 25
  • renderer doesn't compile

    renderer doesn't compile

    This is a DUP of Issue #6 which is marked closed, but I have verified that it's still a problem. Any ideas?

    Mac OS X 10.14

    $ npm run svelto:dev
    
    > [email protected] svelto:dev /Users/dps/notable
    > svelto build --env development
    

    followed by

    $ npm run dev
    

    produces the error:

      ERROR in ./src/renderer/render.tsx
      Module not found: Error: Can't resolve '@static/css/notable.min.css' in '/Users/dps/notable/src/renderer'
       @ ./src/renderer/render.tsx 37:0-37
       @ ./src/renderer/index.ts
       @ multi (webpack)-dev-server/client?http://localhost:9080 (webpack)/hot/dev-server.js css-hot-loader/hotModuleReplacement ./src/renderer/index.ts
      
      ERROR in ./src/renderer/render.tsx
      Module not found: Error: Can't resolve '@static/javascript/notable.min.js' in '/Users/dps/notable/src/renderer'
       @ ./src/renderer/render.tsx 38:0-43
       @ ./src/renderer/index.ts
       @ multi (webpack)-dev-server/client?http://localhost:9080 (webpack)/hot/dev-server.js css-hot-loader/hotModuleReplacement ./src/renderer/index.ts
    
    bug 
    opened by dps 23
  • Is it possible to support image in relative path style

    Is it possible to support image in relative path style

    In Notable using images with the format [](@attachment/avatar.jpg) which causes the third MD editor such as Typora cannot recognize the image. Is it possible to support image in relative path style as [](../attachments/avatar.jpg)?

    bug 
    opened by xtuer 21
  • Retain any additional fields in YAML frontmatter

    Retain any additional fields in YAML frontmatter

    • OS Version: Ubuntu 20.04.4 LTS
    • Notable Version: Version 1.8.4-2 (snap)

    Current behavior

    • Create a note in Notable, then close Notable
    • Open the note file in another editor
    • Add another line to the YAML frontmatter, e.g. foo: bar, and save the file
    • Open the note in Notable again
    • Modify the note in Notable and save it
    • Open the note file in another editor

    Expected behavior

    Valid YAML is preserved.

    What happens instead

    Fields not used by Notable have been removed (foo: bar no longer appears).

    opened by lofidevops 1
  • Links are not opened in the default system browser

    Links are not opened in the default system browser

    • OS Version: Ubuntu 20.04.4 LTS
    • Notable Version: Version 1.8.4-2 (snap)

    Current behavior

    • Open a note
    • Switch to view mode
    • Click on a link

    Expected behavior

    • Link is opened in my default system browser

    What happens instead

    • Link is opened in Gnome Web (Epiphany)

    Notes

    • The same problem occurs when I pick "open in default app" from a note. The page is opened in Gnome Builder rather than my default markdown editor.
    • Other snap applications correctly open in the default system browser.
    • My default system browser is set in Settings / Default Applications and/or via xdg-settings set default-web-browser.
    opened by lofidevops 1
  • Error: callback can only be called for once at Object.module.<computed> [as getAllDisplays]

    Error: callback can only be called for once at Object.module. [as getAllDisplays]

    • OS Version: Apple M1 running macOS Monterey 12.3.1 (21E258)
    • Notable Version: Version 1.8.4

    Current behavior

    Having Main and External monitor side by side working and pressing in the notable dock icon causes:

    Uncaught Exception:
    Error: callback can only be called for once
    at Object.module.<computed> [as getAllDisplays] (electron/js2c/browser_init.js:6805:30)
    at ensureWindowVisibleOnSomeDisplay (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:111796)
    at validateState (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:112914)
    at e.exports (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:112956)
    at window_Window.make (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:320281)
    at window_Window.initWindow (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:308391)
    at window_Window.init (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:308260)
    at app_App.load (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:324168)
    at App.__ready (/Applications/Notable.app/Contents/Resources/app.asar/main/main.js:2:322439)
    at App.emit (events.js:208:15)
    

    Expected behavior

    App opens from dock.

    opened by fpopic 0
  • Table headings can be duplicated when printing

    Table headings can be duplicated when printing

    • OS Version: "Zorin OS 16.1"
    • Notable Version: 1.9.0-beta.7

    Current behaviour

    1. Create a note with a table heading that ends up on a page break
    2. Run run the export.pdf command to generate a PDF, or run note.print to print the note
    3. Open the PDF in an external viewer (#1419) or take a look at the printed pages :x: One of the table headings is duplicated across two pages

    Expected behaviour

    The table heading would only appear once, preferably on the second page so that the table isn't split.

    Attachments

    Example note

    # Printing tables
    
    | Table 1                         | Table 1                         |
    | ------------------------------- | ------------------------------- |
    | ![](https://picsum.photos/1000) | ![](https://picsum.photos/1000) |
    
    | Table 2                         | Table 2                         |
    | ------------------------------- | ------------------------------- |
    | ![](https://picsum.photos/1000) | ![](https://picsum.photos/1000) |
    
    | Table 3                         | Table 3                         |
    | ------------------------------- | ------------------------------- |
    | ![](https://picsum.photos/1000) | ![](https://picsum.photos/1000) |
    

    Screenshot

    A screenshot of a PDF reader showing an exported note that showcases the bug

    opened by MMK21Hub 0
  • Open in Default App doesnt work when notes are in a volume that reports all files are executable (google drive)

    Open in Default App doesnt work when notes are in a volume that reports all files are executable (google drive)

    • OS Version: darwin 12.3.1
    • Notable Version: v1.9.0-beta.9

    Current behavior

    When storing my notes in Google Drive using Google Drive File Stream, when i choose "open in default app", the file doesn't open.

    Expected behavior

    The markdown file should open in Typora (markdown editor i have set as my default markdown application) when I choose "open in default application". It worked in 1.8.

    Notes

    I looked at the underlying code by extracting the asar, and noticed that you're checking for an executable bit before opening the file, and refusing to open if it has executable access.

    /Volumes/GoogleDrive/My Drive/notable/notes
    » command ls -l
    [email protected] 1 emily.klassen  staff  18152 19 May 11:19 Standups.md
    

    In the google drive file stream volume, all of the files are marked with executable permissions, and chmod -x has no effect.

    opened by 10kc-emilyk 1
  • HTML & <markdown> nesting broken

    HTML & nesting broken

    • OS Version: Windows
    • Notable Version: 1.9.0-beta.9 (this has been going on since 1.8 at least)

    Current behavior

    Trying to embed HTML inside a markdown list (actually want <details>, but showing <div> here for simplicity):

    - <div>
    very nice
    </div>
    

    Output (cleaned):

    <ul>
      <li>
        <div></div>
      </li>
    </ul>
    <p>very nice</p
    

    Other things are also broken, such as a <markdown> tag inside a markdown table, like this:

    | heading                          |
    | -------------------------------- |
    | <markdown>| inner |
    | ------ |
    | inner |</markdown> |
    

    It seems like recursion on rendering of nested HTML and markdown is somehow broken.

    Expected behavior

    Expected output:

    <ul>
      <li>
        <div>
          <p>very nice</p>
        </div>
      </li>
    </ul>
    
    opened by bjornhauge 0
Releases(v1.8.4)
Owner
Notable
The Markdown-based note-taking app that doesn't suck.
Notable
Markdown - Markdown converter for golang

markdown ?? Talks ?? Join ?? Youtube ❤️ Sponsor Install via nami nami install ma

TxThinking 3 Jun 2, 2022
Mdfmt - A Markdown formatter that follow the CommonMark. Like gofmt, but for Markdown

Introduction A Markdown formatter that follow the CommonMark. Like gofmt, but fo

杨英明 13 Jun 6, 2022
Note - A text editor for the Linux Terminal! (Mainly compatible with Arch, because I made it on there)

Note - A text editor for the Linux Terminal! (Mainly compatible with Arch, because I made it on there)

Awesome Sauce 5 Mar 1, 2022
Markdown to Webpage app

mark2web Markdown to webpage link Usage $ mark2web test.md https://mark2web.test/aa32d8f230ef9d44c3a7acb55b572c8599502701 $ mark2web /tmp/session/test

Faithfulness Alamu 5 Apr 18, 2021
Stylesheet-based markdown rendering for your CLI apps 💇🏻‍♀️

Glamour Write handsome command-line tools with Glamour. glamour lets you render markdown documents & templates on ANSI compatible terminals. You can c

Charm 1.2k Jun 29, 2022
Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI.💅🏻

Glow Render markdown on the CLI, with pizzazz! What is it? Glow is a terminal based markdown reader designed from the ground up to bring out the beaut

Charm 9.5k Jun 30, 2022
Generate markdown formatted sprint updates based on the Jira tickets were involved in the given sprint.

Generate markdown formatted sprint updates based on the Jira tickets were involved in the given sprint.

Gábor Boros 2 Nov 15, 2021
Effortless customization for markdown-based SvelteKit blogs!

reece Effortless customization for markdown-based SvelteKit blogs! Installation Install using: One-Script Installation (Linux): curl -sfL https://gith

Aadhav Vignesh 0 Dec 11, 2021
A terminal based preview tool for markdown 🍪

Smooth Smooth is a terminal based preview tool for markdown. Features Turning: turn next/previous slide Scroll: scroll up/down slide Search: search wo

ketsu chin 3 May 22, 2022
A clean, Markdown-based publishing platform made for writers. Write together, and build a community.

WriteFreely is a clean, minimalist publishing platform made for writers. Start a blog, share knowledge within your organization, or build a community

WriteFreely 2.8k Jun 29, 2022
Blackfriday: a markdown processor for Go

Blackfriday Blackfriday is a Markdown processor implemented in Go. It is paranoid about its input (so you can safely feed it user-supplied data), it i

Russ Ross 5k Jun 29, 2022
⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules.

html-to-markdown Convert HTML into Markdown with Go. It is using an HTML Parser to avoid the use of regexp as much as possible. That should prevent so

Johannes Kaufmann 366 Jun 24, 2022
Produces a set of tags from given source. Source can be either an HTML page, Markdown document or a plain text. Supports English, Russian, Chinese, Hindi, Spanish, Arabic, Japanese, German, Hebrew, French and Korean languages.

Tagify Gets STDIN, file or HTTP address as an input and returns a list of most popular words ordered by popularity as an output. More info about what

ZoomIO 21 Jun 16, 2022
Upskirt markdown library bindings for Go

Goskirt Package goskirt provides Go-bindings for the excellent Sundown Markdown parser. (F/K/A Upskirt). To use goskirt, create a new Goskirt-value wi

Jukka-Pekka Kekkonen 31 Nov 12, 2021
A CLI markdown converter written in Go.

MDConv is a markdown converter written in Go. It is able to create PDF and HTML files from Markdown without using LaTeX. Instead MDConv u

null 39 May 3, 2022
A markdown renderer package for the terminal

go-term-markdown go-term-markdown is a go package implementing a Markdown renderer for the terminal. Note: Markdown being originally designed to rende

Michael Muré 241 Jun 5, 2022
A markdown parser written in Go. Easy to extend, standard(CommonMark) compliant, well structured.

goldmark A Markdown parser written in Go. Easy to extend, standards-compliant, well-structured. goldmark is compliant with CommonMark 0.29. Motivation

Yusuke Inuzuka 2.2k Jun 28, 2022
:triangular_ruler:gofmtmd formats go source code block in Markdown. detects fenced code & formats code using gofmt.

gofmtmd gofmtmd formats go source code block in Markdown. detects fenced code & formats code using gofmt. Installation $ go get github.com/po3rin/gofm

po3rin 90 Apr 3, 2022
Convert Microsoft Word Document to Markdown

docx2md Convert Microsoft Word Document to Markdown Usage $ docx2md NewDocument.docx Installation $ go get github.com/mattn/docx2md Supported Styles

mattn 545 Jun 21, 2022