9 ms·
Show HN: Notable – A Markdown-based note-taking app that doesn't suck
- djellis 8y agoVery impressive. I have very similar requirements in that, I want my personal notes stored in an accessible plain text format (such as markdown). These plain text files which are then able to be sync'd across machines. I ended up editing note files in a dropbox directory using sublime with the MarkdownEditing and FindInProject packages. This results in a very clean plain-text experience, which is high extensible.
- vmarsy 8y agoWow this is really cool! I've been looking at OneNote alternatives, specifically due to the lack of Linux client. I really love the searching capabilities in OneNote, I hope this one has similar stuff. If I were to switch to this, I would loose the Android app though, any thoughts/plans of how this could be used on Mobile? Could the same client be used to render files stored on a user drive (OneDrive, Google Drive, Dropbox) Usually apps are forbidden to use cloud drives to store their content, but in this case maybe it could since each file is actually plain user-generated `.md`/`.jpg`/... ? It seems all Typescript/React based, it could be doable to port it to a webview? if you're reading this, can you point to the code that handles reading/writing content from the filesystem?
- fabiospampinato 8y ago> I really love the searching capabilities in OneNote, I hope this one has similar stuff. I'm not familiar with the search capabilities of OneNote, right now there's only fuzzy search in Notable. It's pretty bear-bones actually, but some more advanced features could be implemented in the future. > any thoughts/plans of how this could be used on Mobile? I personally never write notes from my phone so that's not a priority for me, but maybe if the app gets popular enough I could port the app to mobile and/or make a webapp for it. I touch this point in the tutorial notes that get loaded into the app upon first instantiation so be sure to read that [1], basically you can put your notes in Dropbox and edit them with any text editor available. > It seems all Typescript/React based, it could be doable to port it to a webview? It's basically a website with access to the filesystem so it should be pretty doable. > if you're reading this, can you point to the code that handles reading/writing content from the filesystem? Sure, here [2] there are the functions that read all the notes and listen for changes on the filesystem (because you can also edit them with a third-party app), there are analogous functions for the attachments here [3]. Here [4] there's the function that writes updated notes to the filesystem. At the moment there isn't much abstraction storage-wise, but I guess adding support for a cloud storage that enables synchronization between all apps should be pretty doable. [1] https://github.com/fabiospampinato/notable/blob/master/resources/tutorial/notes/12%20-%20Mobile%20Editing.md https://github.com/fabiospampinato/notable/blob/master/resou... [2] https://github.com/fabiospampinato/notable/blob/master/src/renderer/containers/main/notes.ts/#L28-L139 https://github.com/fabiospampinato/notable/blob/master/src/r... [3] https://github.com/fabiospampinato/notable/blob/master/src/renderer/containers/main/attachments.ts/#L30-L102 https://github.com/fabiospampinato/notable/blob/master/src/r... [4] https://github.com/fabiospampinato/notable/blob/master/src/renderer/containers/main/note.ts/#L573-L606 https://github.com/fabiospampinato/notable/blob/master/src/r...
- vmarsy 8y agothanks!
- alexland 8y agoThis is great, I'm very tempted! When I was looking at note apps (and as I continue to re-evaluate my decision), the big win that keeps me on Standard Notes is the longevity and encryption, but the editor interface isn't anything special and sometimes I really miss OneNote/Evernote. Have you heard of Standard Notes, and would you ever consider making Notable support being a client for Standard Notes[1]? [1] https://docs.standardnotes.org/standard-file/client-development-guide https://docs.standardnotes.org/standard-file/client-developm...
- fabiospampinato 8y agoWhat do you mean by "longevity"? Notes in Notable are plain markdown files, that's about as portable and long-lasting as it gets. There's no encryption by default, but you could put your notes into an encrypted image, read more about this here [1] I had never heard of Standard Notes, fortunately now I can say I have my note-taking needs covered so I've no interested whatsoever of making Notable a front-end for a third-party service. Perhaps we could add support for importing notes from Standard Notes though, if somebody wants to work on that. [1] https://github.com/fabiospampinato/notable/blob/master/resources/tutorial/notes/15%20-%20Encrypted%20Notes.md https://github.com/fabiospampinato/notable/blob/master/resou...
- alexland 8y agoBy longevity I mean a hosted service with the intention of being around for a really long time. Of course plain text (and therefore Markdown) are the pinnacle but I'm very interested in supporting a service that aims to live for a hundred years, thus Standard Notes. I commented mainly because Notable as a front-end for Standard Notes seems like the perfect solution for me but I understand that this is already your perfect solution. I might have to try the integration myself. Thanks again for your awesome work!
- fabiospampinato 8y agoNo problem, thank you!
- Fudgel 8y agoThis looks cool. Just curious, how is the search performance when you have hundreds or even thousands of notes?
- fabiospampinato 8y agoSearch is debounced and feels pretty quick. With ~1500 notes the first filtering round can take about 15ms on my mid-2014 MBP, subsequent rounds can reach sub-millisecond speeds depending on how many notes are left from the previous rounds. Currently there's no real index, and a note's content isn't searched, just its title. I will probably add support for searching the content as well, but I think with fuzzy search too many notes will match. Anyway if you need something fancy you could also open your notes directory with your favorite editor and perform a regex-search there. No other GUI note-taking app that I've tried gives you this amount of freedom.
- zmil 8y agoI found myself Evernote refugee a couple of months ago and found Boostnote, which has done the job for me. Seems like the only difference between Notable and Boostnote is that Notable is a direct Evernote clone, specifically the tags feature. Any other reason to give this a shot over Boostnote?
- fabiospampinato 8y agoNotable is most definitely not an Evernote clone, which is what I'm coming from as well. I'm comparing Notable with Boostnote in the comparison table [1] in the readme, you might want to give that a look. IMHO Notable is better than Boostnote for the following main reasons: - It supports attachments, sooner or later you are going to need to add an image or pdf to a note. The only way of doing that with Boostnote is linking to the absolute-path of that file, which is not portable nor ergonomic. - Notes are stored as plain Markdown files, you can also edit them with your editor of choice. For instance I can use the fancy Markdown plugins I have in my editor easily. - Multi-note editing is fully supported, from starring/tagging multiple notes at once to performing a regex search & replace across your notes. Boostnote has very limited multi-editing capabilities, and while you could technically perform a search & replace with Boostnote's notes too they are stored in .cson, which complicates things. - Boostnote is too ugly for me. This may not matter for you but it matters for me. - Boostnote can't import Evernote's .enex files. Notable can and it preserves both tags and attachments. - Boostnote isn't keyboard friendly. I don't like the dual pane editor, but if I disable it there's no (documented?) shortcut for switching between editing and preview mode. [1] https://github.com/fabiospampinato/notable#comparison https://github.com/fabiospampinato/notable#comparison
- zmil 8y agoAhhhhh I didn't realize the table scrolled and thought it was directly comparing itself to Evernote, my mistake! The biggest 2 things you hit on is: 1) Boostnote is ugly. It's not stylish, but I do like how it's simple and direct. 2) Images. I forgot how painful adding an image was in Boostnote. You've convinced to at least try out Notable! I've been searching for an open source project to contribute to as well so this could very well be it. Thanks!
- theSealedTanker 8y agoI am using this now! Clean!
- fabiospampinato 8y agoAwesome! Just curious, what were you using before?
- theSealedTanker 8y agoTypora, then switched to writing in Sublime Text 3 with few extensions.
- cooljyo 8y agodoes it have iPhone support too
- fabiospampinato 8y agoUnfortunately there are no mobile apps for Notable, but you could put your notes into Dropbox and edit them using any of the already existing text editors.
- drannex 8y agoWhy couldn't you repackage this for diy "server" usage and ensure that it's mobile friendly? That would solve that problem.
- fabiospampinato 8y agoI could make a web-app out of it, but it's a non trivial change which I don't personally had the need for, so I haven't implemented it yet.
- lyonlim 8y agoLooks good. Have been using Typora. Any major differences other than supporting attachments?
- fabiospampinato 8y agoI wasn't a Typora user, but from what I can see after playing a bit with the macOS version a few major differences could be: - Notable has better notes organization thanks to indefinitely nestable tags. I think one organizes notes in Typora by organizing the directory structure? That's fine but limiting as one can't really put a note into 2 folders at the same time (maybe Typora supports symlinks though, I'm not sure). - Notable comes with multi-note editing, which is cool for tagging/pinning/starring multiple notes at once. - Typora is way more customizable. - Typora feels more native to me and starts up faster.
- mmckelvy 8y agoFunny, I was just looking for something like this. I specifically wanted a note taking app where I could use my text editor and all its power but see the notes rendered close to real time. Great timing! Will give it a look.
- fabiospampinato 8y agoThat's one of the things I was interested in as well. One just can't include all fancy plugins available in a real editor into a note taking app.
- someguydave 8y agoQuiver is a pretty awesome open format note-taking application with an iOS app (read-only): http://happenapps.com/ http://happenapps.com/
- fabiospampinato 8y agoI'm not so sure about the "open format" part. Quiver stores notes in .qvnote, which I wouldn't call open. They have "Quiver Notebooks", where in Notable notebooks are just special tags, which are stored as Markdown front matter. IMHO Quiver is somewhat weird, they have a concept of "cells", you write Markdown inside a "Markdown Cell", there also a "Text" cell, a "LaTeX" cell etc. IMHO this complicates things unnecessarily. If you only support Markdown you can get rid of the Text cell, the LaTeX cell is also weird, it would be much more portable to just define a LaTeX code block and then at render-time render that into the actual result. Once you get rid of this "cells" concept you can get rid of .qvnote too and just store notes in Markdown. Btw I'm comparing Notable against Quiver too in the comparison table [1]. [1] https://github.com/fabiospampinato/notable#comparison https://github.com/fabiospampinato/notable#comparison
- zimpenfish 8y ago> Quiver stores notes in .qvnote, which I wouldn't call open. From the Quiver site: > Quiver doesn’t lock you in. It stores data in a well-documented plain JSON format. Which is fairly open, I feel.
- fabiospampinato 8y agoFair enough. If it's documented I'd say it's open. But it's still an odd design choice IMHO.
- stephenr 8y agoDescribing an electron app as “doesn’t suck” is pretty rich on its own, but even more so when you consider that there are several existing native macOS Markdown editors.
- fabiospampinato 8y agoBeing native isn't everything. As I mention in the readme I couldn't find an app that ticked all the boxes I'm interested in, which are: 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). Being native just wasn't a priority for me, I can bear the start-up latency and the RAM usage as long as app is overall quick after that.
- stephenr 8y ago> the app isn't bloated > I can bear the start-up latency and the RAM usage as long as app is overall quick after that. Error. Does not compute.
- fabiospampinato 8y agoThere's the bloat of apps like Notion.so giving you a calendar and a kanban board, and there's the bloat of the apps that use 100mb of ram more than the optimal. I can bear the latter, not the former.
- buckysock 8y agoNotion was so bloated it barely worked on my iphone 6+. Insta-deleted.
- fabiospampinato 8y agoThey even added some kind of spreadsheets to Notion :S
- avinassh 8y agoWhat exactly is the attachments feature and how does it work? And how are these saved? Also, what do you mean by 'no WYSIWYG'? Since you render ir in Github Flavoured MD?
- fabiospampinato 8y ago> What exactly is the attachments feature and how does it work? And how are these saved? You select some files to add to your notes and they get copied to your data directory, a reference to them is also added to the note using Markdown front matter. > Also, what do you mean by 'no WYSIWYG'? Since you render ir in Github Flavoured MD? The rendered note is not the editor, the editor let's you actually edit the source. Most other apps instead combine the too and make no distinction between the source and the rendered result, at least as far as the user is concerned.
- avinassh 8y agoThat explains, thank you! I have installed and using it. I have a feature request: Dark Theme.
- fabiospampinato 8y agoYeah that's actually in my todo list [1]. If I can find a dark version of the CSS GitHub is using for Markdown files it should be easy to implement. [1] https://github.com/fabiospampinato/notable/blob/master/.todo#L16 https://github.com/fabiospampinato/notable/blob/master/.todo...
- boramalper 8y agoI used Typora < https://typora.io/ https://typora.io/ > this year for my lecture notes and Notable lacks two crucial features that the former has: 1) LaTeX math support (i.e. MathJax). Being able to write inline formulas and using `align`, `table` etc. is a must in certain fields. 2) Notes in custom directory. Currently it seems that all your notes will be stored in your data directory, whereas I'd like to save my notes (and its assets) in a different directory as well (for instance, because I keep all my lecture notes and courseworks in a git repo).
- fabiospampinato 8y ago> 1) LaTeX math support I'll probably add this with the next release, on the first release I focused on the features I'm personally interested in. > 2) Notes in custom directory That's actually supported, your notes can be stored anywhere, that's really the main feature of Notable, that it's just a pretty frontend for a directory containing your notes, the directory can be set arbitrarily and changed later on. Btw I'm versioning my Notable notes and attachments (which Typora doesn't support) via git too, the data directory is just a regular directory.
- avinassh 8y ago> Btw I'm versioning my Notable notes and attachments (which Typora doesn't support) via git too, the data directory is just a regular directory. that is interesting. How does it handle sync and merge between git repositories?
- fabiospampinato 8y agoThe synchronization is taken care of by Dropbox and I'm only making commits from my laptop so I'm not really merging from other repos. Putting a git repo inside Dropbox is discouraged though as conflicts may arise. You could also for instance publish your data directory to github, accept PRs and everything else, as soon as the files on disk change Notable detects the changes and updates itself. I'm not sure if that answers your question, let me know if it didn't.
- shscs911 8y agoMy only issue with Notable is the absence of an Android app and sync across devices. I'd love to use it as my daily driver, if not for these features. Really love your UI. I'm currently using Joplin <https://github.com/laurent22/joplin/> https://github.com/laurent22/joplin/>
- fabiospampinato 8y agoYou can kind of get both today if you put your data directory inside Dropbox and then edit your notes with any available text editor. It's definitely not the same thing though. Maybe I will make a mobile app for this in the future.
- writepub 8y agoWhy is "No WYSIWYG" your stated goal? Unless your target is an audience of developers, WYSIWYG is making Microsoft a cool $30B/year. Also, Typora - possibly the most popular markdown editor, is WYSIWYG. Shameless plug: Please try https://writepubapp.github.io/download/ https://writepubapp.github.io/download/ It is a WYSIWYG Markdown editor with built-in git, without having to learn either.
- fabiospampinato 8y agoMy target audience is myself, and I don't want a WYSIWYG editor. If I were to sell the app maybe I would have gone fore a WYSIWYG editor as well.
- Terretta 8y agowrite.pub not found?
- writepub 8y agoFor now, it is https://writepubapp.github.io https://writepubapp.github.io Will update the site, thanks
- caseyf7 8y agoVery excited about this. My Evernotes include many web clippings. How does Notable import those? Any chance you’ll add a web clipper?
- fabiospampinato 8y agoI'm not sure if they get imported properly, Notable uses enex-dump [1] under the hood for importing .enex files. If it recognizes web clippings as attachments it will import them, otherwise I guess it will ignore them. I had no web clipper in the notes I tested enex-dump with so I'm not sure about this. I personally have no use for a built-in web clipper, and with an OS-level shortcut I can take a screenshot of any portion of the screen, I'll probably add support for pasting images directly from the clipboard but that's about it probably. [1] https://github.com/fabiospampinato/enex-dump https://github.com/fabiospampinato/enex-dump
- caseyf7 8y agoPasting images from the clipboard would be a nice. Thanks!
- forlorn 8y agoI'd love to use this app for editing Hugo (or just any static html generator) content pages.
- kuhhk 8y agoThis looks really great — I’m going to try it over the weekend. Thanks for sharing
- fabiospampinato 8y agoAwesome! I'll be happy to hear your feedback on it :)
- advanced__pizza 8y agoLooks great. Nice work. I had similar checkboxes, and notion.so seemed to check most of them, and has been great.
- fabiospampinato 8y agoNotion is just under a different philosophy, it tried to provide all features imaginable and kind of locks you into their service. Notable on the other end is just a pretty front-end for your notes directory basically.
- tamlok 8y agoFor those not interested in electron, you can give VNote a try: https://tamlok.github.io/vnote https://tamlok.github.io/vnote
- krsdcbl 8y agoI kinda don't get why people end up building electron apps to, essentially, "act like it's native". The app looks absolutely awesome, but i would have loved to just see it run in the browser, I'm kinda reluctant to install yet another memory-hog for basic tasks.
- bgdam 8y agoOne important reason people choose to use Electron instead of opening the app in a Browser window, is that the browser blocks a lot of standard keyboard shortcuts. So for example, if you want to capture Ctrl+Tab and move to the next note, based on that, well, you can only do that in Electron. Another UX based reason, is that native menus offer a better UX than having to put buttons for each and every action inside the app. So apart from the usual arguments of cross platform, and we already have JS developers, there are other good reasons to go with Electron. Also, if you want to do something like display a decently advanced HTML view, WKWebkit might or might not cut it. And it get's updated only when the OS itself get's updated (atleast on older versions of OSX). So if that's the kind of thing you want your application to do, then you pretty much have no option other than Electron.
- legostormtroopr 8y ago> So for example, if you want to capture Ctrl+Tab So use a different key combo? There are plenty to choose from. I use cloud9 and it uses Crtl+[ and Crtl+] to cycle between tabs.
- anoncake 8y agoCtrl+Tab is the standard key combo for switching tabs. Not using it is like not using Alt+F4 to close the window.
- krsdcbl 8y agoTrue, these are a few really valid points I wasn't considering
- h1d 8y ago
- joeblau 8y agoVisually, this application looks really nice, but where it falls down for me is in it's integration with macOS. My current Markdown editors all have iCloud sync as well as mobile applications so I can edit documents on my phone or tablet natively. I'd rather have deep vertical integration vs cross platform desktop use in an app like this.
- fabiospampinato 8y agoUnfortunately I didn't have the time nor the need for making mobile apps for this, the situation may change in the future however.
- 11235813213455 8y agoMonaco editor might be better than CodeMirror
- alehander42 8y agocodemirror is pretty good
- mettamage 8y agoHow about a notetaking app that also handles stylus input? IMO any note-taking app that doesn't suck handles stylus input gracefully as I make many notes that aren't easily expressable via UTF-8 text. And I could figure out how to do a TIKZ-like style of drawing schema's but using stylus input is way faster.
- matwood 8y agoAgreed. I bounce back and forth between actual paper notes and typed notes because paper has advantages for me with actual note taking. I recently got an iPad Pro with the Apple Pencil and it's quite nice. So far I'm only using the Notes.app, and while it's not perfect it does some cool things. OCRing my handwriting and making it searchable is quite nice.
- fabiospampinato 8y agoUnfortunately I don't use a stylus so for the first release of the app I focused on things I'm personally interested in.
- oelmekki 8y agoHi Fabio, Congratulations on Notable, it's very slick, and exactly the kind of note taking app I was after. I'm mostly concerned about keeping my data offline these days, so Google Keep and Evernote were no fit for me. I take tons of notes every day, and ended up using the note app from Kontact (the PIM suite for KDE), mostly because I'm a heavy KDE user and it was properly integrated with Akonadi (KDE's PIM backend). But it is very raw, especially compared to Notable. Given Notable data is just plain text, it means I can get it indexed by Baloo (KDE's desktop search), so it's perfect for me. Thanks a lot :) And nevermind Electron haters, having an app in an AppImage, released on github, so that I can subscribe to release's RSS feed and just download/drop the update if I want to is furiously awesome. One suggestion : I would love, when I create a new note when having a Notebook selected, that this new note is automatically added with this tag (currently, manually importing data from Kontact is painfully long). Autocompletion of tags could do too.
- fabiospampinato 8y agoI'm glad you like it too :) > One suggestion : I would love, when I create a new note when having a Notebook selected, that this new note is automatically added with this tag (currently, manually importing data from Kontact is painfully long). Autocompletion of tags could do too. Definitely, tag autocompletion may be a bit tricky but putting the note in the current tag should be implemented quickly.
- tetek 8y agowent to GitHub, checked that it's js, closed the tab
- powerslacker 8y agoSame. The part of Markdown applications that sucks is that they use Electron. Markdown is supposed to be lightweight, free, and universal. If I wanted a heavy editor and file format I'd use Word or Google Docs.
- fourier_mode 8y agoLooks quite sleek. Nice job! Although I wouldn't move away from org-mode, I can easily see it using 2 years ago, when I thought markdown was great.
- dnlsrl 8y agoIt's not as advanced as other apps mentioned around here, but a Markdown editor I like is called Ghostwriter https://wereturtle.github.io/ghostwriter/ https://wereturtle.github.io/ghostwriter/
- avinassh 8y agolooks slick! Wish it provided Mac builds. I will try to build on my own and try this
- roryisok 8y agoI actually built something very similar as a UWP app but didn't get as far as you have with the feature set. The "no proprietary formats" thing is the most important to me. All files stored as markdown in a simple file structure makes so much sense. Any other app can read the data. In fact, because we both went that way our apps can now share a note database, minus the tagging stuff. Ill be downloading this to give it a spin.
- Mauricio_ 8y agoThis seems to be exactly what I was looking for a couple of months ago. I gave up when all the alternatives were either bad or too slow.
- rcarmo 8y agoIt’s very nice (and kudos for the good UI, I like the tagging) but I’m sticking to a native editor. My resolution for 2019 is to avoid as many Electron apps as possible.