> The code makes use of localStorage() to save the raw text and the time and date of when the edit has been made.
Given that localStorage only has 5MiB available to it, you could try using the localForage library to have a localStorage-like API around IndexedDB, so that people can store even larger notes (you could even support storing pasted images as PNG blobs). Even better: is has automatic localForage fallback.
Alternatively, you might want to either compress the text with LZ-String before storing it[1]. (BTW, version 2.0 is currently in the works and much faster, especially if you use the "Unsafe" version[2])
Even so, I often store images within my online notes. Linking out to them is one option, but of course means that my notes would be dependent upon a third party host. Being able to paste image blobs into the document and store them with the text would be an advantage if I were to want to use this.
There is a very real problem with this extension that will upset people that use it. It’s using the window.localStorage object that will possibly be cleared out when the browser history gets erased. It asks for the storage permission in the manifest but does nothing with it. To the op, use chrome.localstorage() for any read and write operations(edit note that this is async)... that protects against clearing the history. If you plan on storing images you can just request the unlimitedStorage permission to get a full indexdb instance with the same simple api that is simple to use. (not sure if this perm is valid on chrome)
I didn't think about this! Thanks a lot for bringing this to my notice, I'll lookup a workaround and a safe transition to probably chrome.localStorage.
I just checked MDN, since I've had problems with html5rocks tutorials being outdated due to specs changing in the past (not related to localStorage though), but all pages I can find on it seem to overlook the whole quota aspect[0]. However, the Chrome dev page on the topic[1] mentions this:
> Unlimited storage is similar to persistent storage, but it is available only to Chrome apps and extensions (.crx files). The size of unlimited storage is limited only by the availability of space in the user's hard drive. You can ask for the unlimitedStorage permission in the manifest file for an app or extension. At installation, the user is informed of permissions required by the app or extension. By proceeding with the installation, the user implicitly grants permission for all pages whose URLs are listed in the manifest.json file.
This works great! I can combine it with Firefox' often-forgotten "Keyword" feature of bookmarks so that typing note in the URL bar automatically opens this. And to save a note I just press CTRL+S
Not open source though, as far as I can tell. Also, and I know this is stupid, but any website this fancy for a simple extension makes me a bit suspicious.
That’s fine to be skeptical but they are a design and consulting firm. Makes sense that they could bang something nice out and if it’s popular the link back will help their seo and perhaps directly get them business.
Serious question: does anyone regularly use a Markdown notes app/site/extension?
I've seen this kind of thing appear a few times a year and, while they are cool and I like Markdown, I find I stop using them rather quickly in favor of things like the macOS Notes app or Slack because of things like convenience, ease of sharing, better search, more ease of mind that my notes won't one day disappear because of a side effect of clearing history or because the developer didn't understand browser storage API quirks. For example, I used Dillinger.io until the interface was updated and my notes were gone. I seem to remember another one that interacted with gist.github.com until one day it didn't. Hurray.
I think a company around a Markdown based app or extension would be good because other solutions don't embrace Markdown, and the ones that do might be a flash in the pan.
I recently started taking notes in markdown. I previously had notes scattered across txt files, Word docs, ColorNote, and emails to myself.
I take journal-type notes about personal things, and I demand that I have them available conveniently decades from now. I strongly prefer a dark theme. I was going to jump ship entirely to OneNote, but I can't get a dark theme on Desktop and mobile.
Moving to markdown has tremendous benefits. You have proper separation of concerns- "how do I edit on X platform" vs "how do I store my notes".
For storage, I've considered a git repo, but I'm using Dropbox for now. It has 30 day history, so I can correct for any mistake I'd care about.
For editing, I pick an editor on my current platform. Atom on Desktop. IA writer on Android.
I don't currently have great search, but I think I can do that with Dropbox. I'm more concern about future-proofing and dark theme.
I use Quiver[0] ($10) to store and organize work and personal notes. Their "cells" of content can be written in plaintext, code, markdown, or LaTeX. You can organize with folders, tags, favorites, etc. The different viewing modes are perfectly flexible via toggle-able panes and a "presentation" mode.
The db is just a file you can choose to sync however you want. I use Resilio[1] to keep work/laptop/desktop machines in sync.
Personally, I use the Typora app for taking notes in markdown and sticking everything in a git repo. The main thing I'm missing is some kind of built-in git feature, would have been nice if it auto-committed for me instead of me having to do that manually.
So I'm planning on making my own desktop app that's Apple Notes, but in Markdown, and with some kind of git auto-commit feature. But the nice thing about Markdown + Git is that I'm not locked into using one app! If I ever want to try out another Markdown app in the future I can do so, if I want to make my own I can do so, if I later stop updating my app and need another one I can just switch.
Emacs people kinda figured this out a long time ago with Org-mode.
I use markdown in vim for absolutely all note taking and prose. But no, I don't use any of these little applets, browser or otherwise. I imagine lots of people do, though, if they don't have a text editor religion they subscribe to!
The most valuable thing hasn't been any individual feature (though those are nice since I can tailor them to me) but rather the fact that if I don't like the way it works, I can just pop the hood and change it myself.
For the similar reasons I don't really use markdown notes apps. Instead I write all important notes to Evernote despite it being rather heavy weight.
When I do use markdown note apps is if I want to quickly jot down an idea or what I just learned. Four months ago I shared this technique with HN [0].
If I were to adopt a markdown app to use regularly, an important factor would be that it is open source. The reason is that, like you, I'd be worried about losing data due to a developer be mistake. Granted, something like Evernote is not open source, but I'm less worried about losing data.
I started using onenote after realizing how bad storing my uni notes in text and word docs was.
I moved onto evernote for my work laptop and found it horrendous on windows - it wouldn't let me do something as simple as auto-capitalizing first words of the sentence. I'd run into issues quite often and googling it would amount to someone complaining about it on the forums a couple years back and nothing changing. After that I just moved back to onenote.
I use vim to write Markdown documents and task lists since two years or so.
For a while, I had some trouble with the tooling as most stuff is npm based and authors releasing on npm do not embrace system package managers (install locally vs. globally etc.). Recently, Okular (the KDE document viewer) got Markdown support, but I don't really like the default style and the font is the only thing you can change.
Nevertheless, yesterday I wrote a script and a css file to convert my Markdown files to PDF files from the command line easily (and with a style I like). The conversion to PDF is important for me as some of the humans around me do not seem to appreciate my markdown files ;-)
For synchronization across devices I use my Nextcloud.
I've been using BoostNote pretty regularly for about 6 months, and I like it fine, but I wish it weren't an Electron App. There's not really any sharing/collaborating as far as I know, and the note structuring/search leaves a little bit to be desired (compared to say, OneNote). The good news is that it's open-source!
And I think one of the reasons I like it is because it is simple..it also has decent support for embedded LaTex, and it handles code snippets well. It does the job well for what I use it for, which is normally lecture notes, TODO lists, and idea captures. I don't really use it for documentation or anything else more formal.
I try to minimize browser and extension use (I make my own "forks" and vet the code for every extension) so I take my notes using Emacs, placed in a sync folder.
Ease of sharing? I use text files (markdown) precisely because it is the most easily shared and portable format to store notes. As far as search, I have not seen anything come close to Emacs with its combination of regex grep, narrowing, and fuzzy FTS possibilities. Your whole org/markdown root folder can be a projectile project.
I agree with you, if you are taking notes for keeps, why use browser storage? Why not just save directly to a sync folder using your favorite editor?
I use the desktop apps Quiver and Highland 2 regularly, but both produce files that are just fancy wrappers around what's ultimately accessible file formats if the companies die (macOS package folders with .md or .json contents and image files alongside).
I guess I'm beholden to 'the man', but I just use google docs these days. I'm not really a fan of markdown. I'd rather write HTML than remember more syntax. Before Google Docs, I just used text files.
vim; I don't need a markdown editor, because markdown is (by design) readable as plain text. I tend to note things in markdown just because it's more readable than "plain" plain text.
This is really cool and I'll use it. My only negative comment is that white on black is really harsh on my eyes. It would be nice if the theme could be toned down a bit somehow.
To be fair, most terminals I've encountered aren't white on black, but more of a light grey on black. I believe that's what OP means by toning it down a bit. While I do prefer a higher contrast as you do, I agree with OP in that this is too high.
I just tried and appears to work OK (Firefox 61.0.1, macOS)... since it's unsigned I loaded it as a temporary add-on in about:debugging
plibither8, would you mind adding instructions to load this into Firefox in your README as well as Chrome? Also please upload to addons.mozilla.org as well as the Chrome Store.
Why would you use markdown to take notes? Markdown is designed to be displayed as rich-text (headings, lists, etc) after authoring. If you only ever view it in plaintext as an editor, what's the point?
Coming from someone that uses markdown for taking notes on a daily basis, I have spent so much time reading markdown in Vim that my mind now interprets the syntax semantically, besides many text editors provide syntax highlighting that provides contextual clues and hints.
The syntax is easy to type, it's not verbose, and it actually makes sense in plaintext. Then if I ever want to I have the option to open it in a full-fledged markdown viewer, and sometimes I even copy/paste sections into actual markdown-compatible apps.
It provides a standard method of plain text note organization. If I want to create a list or a subheading, I now do it the same way every time, so I'm internally consistent with all my notes.
In fact, for certain types of greyhairs like myself, it is extremely readable in source because it is based on the conventions people used in Internet forums that didn't support rick text.
BBS's, Newsgroups, all of the social "networks" adopted a core set of syntaxes that people still use today, such as _emphasis_.
The history behind that is interesting. We started with underlines to suggest emphasis because that was something you could do on a physical typewriter: Back up and add underscores to what you'd already typed.
When typesetting arrived, we switched to italic because it's way easier to read. But _emphasis_ stayed as a way to suggest _underline_, even if we prefer to render it as italics.
There are similar stories behind other formatting choices, like
> Some quoted text
It resembles a way that people typeset quotations, and people got very used to reading that in newsgroups and email editors before it became a thing to create rich email ransom notes in Word.
Nit: Markdown was designed to look good both when displayed as Rich Text, and when displayed as plain text.
The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.
I frequently take notes in markdown even though I rarely view it non-plaintext myself. But I use markdown because it's well-suited to conversion to other formats through pandoc, and I sometimes send notes to others (who don't like plaintext/markdown). It's particularly nice to convert to .doc, .docx, and .pdf (through LaTeX).
Perhaps this is a silly reason, but I use vim and I like my markdown syntax highlighting. I rather like reading my plaintext markdown + (default) syntax highlighting. I suppose it would be possible to write/use some txt syntax+highlighting (or some .note format, etc.), but I reinvent the wheel in enough other places to not want to do that here.
You should try Dropbox's Paper.
It is one of the most enjoyable writing experiences I have seen.
It's markdown compatible so you write in markdown and the text is automatically formatted while you type. It's really clever fix for the problem you are describing
Your presumption is that you only ever view them as plaintext. I author using plaintext, but one reason I use Markdown is that it is easy to make uniform looking notes. When I later view, especially longer ones, I do so rendered.
Even if you only did view them as plaintext, it sure is a handy format for a static blog generator in case you'd like to turn some of your notes into a blog post one day.
How am I supposed to read and edit my org mode notes from my Android device?
Yes, I do in fact use Orgzly. For a very specific subset of notes it's fine. But for a long bit of documentation, no good editor exists on anything but a desktop / laptop. That is, nobody's reimplemented enough of Emacs on Android yet.
Org mode files are text files so you can edit them with any editor. Place them in a sync folder and if your sync client is any good it should be able to edit.
"Long bit of documentation"? Isn't it the device that's not suited? I sure wouldn't want to do a lot of typing on a handheld device. Emacs shortcuts should be fun.
The point of that if The text is to be edited in a general purpose text editor, I would rather it be in Markdown. Org mode is pretty useless as a format outside emacs proper.
Actually, the Org format is supported by web sites like GitHub and GitLab, and there are several parsers in different languages. It's even supported by Pandoc, so you can convert to/from anything Pandoc supports.
In contrast to the actual Android apps that handle Markdown natively.
Don't get me wrong, I love org mode, but there is no real support on Android other that a damn-fine list-making app that uses a subset of org-mode format for its lists.
I have heard rumours that one can get Emacs up and running fairly well in Termux, but I haven't explored it personally yet. Orgzly is good enough for most of my Android Org needs.
I'm a big Moo.do[0] fan - I use it for notes, my todo list, and agenda, so at the moment I've got it set up as my new tab with some custom CSS to hide the stuff I don't need to see in that context.
This seems to distill the concept down very nicely - quicker to load and straight to the point. Sadly I'd miss the structure of Moo.do but I can definitely see a world in which I'd use it - nice work.
Dear HN - you might be interested in Write.Pub (http://write.pub) It has both a WYSIWYG and raw markown editing mode. The USP is built-in git - if you ever wanted to showcase the power of version control to a non-programmer, but didn't want to put them through a git bootcamp, this might be the right tool for a common use case - note taking and writing
It's not a replacement for a notes app. Instead, I'm using it to remind me where I left off on my work. It's helping me stay focused. Instead of seeing the distracting new tab screen, I see what I'm supposed to work on.
Similar enough that it's possible to run some Chrome extensions in Firefox.
I've been using Foxified [1] to do this for a while, and while it's not always perfect, it worth a try in most cases.
Thanks, I'll use this for entering my "three goals for the day" in the morning! (also, for those who missed it: The particle effects can be disabled in the settings.)
I have the following URL as the first bookmark on all browser bookmark bars:
data:text/html, <html contenteditable>
It isn't nearly as featureful as a full Markdown editor, and it won't save the contents of the tab to localstorage or anywhere else, but it is about as simple a solution as you can get.
Nice - but I wish it didn't take over the New Tab button since I use that for quick access; Since it's icon is in the status bar, why not just click on it to open a markdown tab?
*Edit: Yes, I know it's in the name of the extension :-) -- just wish I could change the default.
Think about "Why text files won for programming source code."
Rich formats like Smalltalk's images are vastly superior as long as you stay within the ecosystem. But plain text is "worse is better" at scale. You get more tools, more interoperability, more of everything.
Markdown is the plain text file winner for uncomplicated words. It's somewhat portable between a myriad of tools. When you drop into a "Better" tool like OneNote, you get all sorts of amazing wins... Provided you stay within the walled garden it provides.
Speaking as an author, I blog in markdown, I take notes in markdown, and I publish my books from markdown source for this very reason.
Heck, being able to put my books in GitHub and do pull requests is enough reason all by itself!
---
If you meant, "Why a tab instead of a separate app that works with Markdown," none of what I wrote above applies. I was speaking strictly to why Markdown instead of some proprietary-format notes app.
"Why a tab instead of a separate app that works with Markdown"
I'll bet the answer is similar: Everyone already has a browser open and quite a lot of notes are copy-n-pasted from other tabs. Availability, interoperability, etc.
It reminds me the times when we were happy to install all desktop extensions, tray tools and destroy the wallpaper with ms plus. Anything but doing something structured and useful (hey, we were kids back then!)
I like this. Could you guys add a mode that hides the right and bottom part and only shows the notes?
Also, popping up a Markdown cheatsheet via a shortcut would be dope for those who don't use the syntax often.
Look good. However, on mac I would really prefer using native apps for taking notes as they are fast and has a nice design like bear. Chrome can slow down easily and is unreliable at times.
It would have been nice to have the text automatically formatted while you type instead of having "edit mode" to switch between plain text and formatted md.
Open source license does not mean giving up intellectual property rights. You can only license the work if you own the rights to the work.
MIT License starts with copyright notice:
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated
documentation files (the "Software"), to deal ....
It's standard to use both “All rights reserved” along with explicit permissions to be explicit that all rights under copyright not explicitly granted are reserved. It is, in intent, a disclaimer of additional implied permissions, though IIRC the “All rights reserved” in practice has no legal effect.
MIT is how the work can be used by others. This is basically saying "hey, I claim all the intellectual property rights granted to me by law. However, if you use this software strictly under these terms (MIT), I will not consider it to be infringing upon my rights."
No, it's generally "Copyright <name>" to explain where the license is coming from, but a copyright license is the exact opposite of "all rights reserved".
Given that localStorage only has 5MiB available to it, you could try using the localForage library to have a localStorage-like API around IndexedDB, so that people can store even larger notes (you could even support storing pasted images as PNG blobs). Even better: is has automatic localForage fallback.
Alternatively, you might want to either compress the text with LZ-String before storing it[1]. (BTW, version 2.0 is currently in the works and much faster, especially if you use the "Unsafe" version[2])
[0] https://localforage.github.io/localForage/
[1] http://pieroxy.net/blog/pages/lz-string/index.html
[2] https://github.com/pieroxy/lz-string/pull/98#issuecomment-40...