Tip: you can host apps like this for free on <a href="https://www.bitballoon.com" rel="nofollow">https://www.bitballoon.com</a> without the bandwidth limits you might run into on DropBox. It'll also minify your scripts and CSS and serve all assets with cache-friendly URLs from a CDN. So your app will most likely load faster.<p>[Disclaimer: I'm the founder of BitBalloon]
A different way of doing something similar, with no code at all:<p>Copy the following into your browser URL bar:
"data:text/html, <html contenteditable>"
(without quotation marks)
A couple of years ago I wrote something similar (runs offline):
<a href="http://web.student.tuwien.ac.at/~e0427417/outliner/outliner.html" rel="nofollow">http://web.student.tuwien.ac.at/~e0427417/outliner/outliner....</a>
<a href="https://bitbucket.org/panzi/outliner/" rel="nofollow">https://bitbucket.org/panzi/outliner/</a><p>It never worked with IE (I used addEventListener) and I think is buggy now even in Chrome/Firefox. But at one point it had D'n'D support (of lines within the outliner and dropping of files from your file system), common keyboard edit methods (Shift+Arrow keys to select things, Ctrl+X/C/V, Tab, Shift+Tab, etc.), and Undo/Redo.<p>From today's POV the code is a bit horrible. The Undo/Redo code should be written completely differently (so it can be serialized) and it all should be rewritten with jQuery or something like that (it's plain JavaScript).<p>About saving/downloading files generated in JavaScript I wrote something here (might not be up to date anymore; e.g. see the "update" at the very end):
<a href="http://hackworthy.blogspot.co.at/2012/05/savedownload-data-generated-in.html" rel="nofollow">http://hackworthy.blogspot.co.at/2012/05/savedownload-data-g...</a>
Last time I checked this pure JavaScript code could save on more browsers than FileSaver.js, but that was at least >1 year ago.
I am weirdly much more interested by the FileSaver.js and Blob.js (<a href="https://github.com/eligrey/FileSaver.js/" rel="nofollow">https://github.com/eligrey/FileSaver.js/</a> and <a href="https://github.com/eligrey/Blob.js" rel="nofollow">https://github.com/eligrey/Blob.js</a>) libraries than by the (small) app itself.<p>It does make the 'first webapp' very small, which is quite elegant.
Hey, I started something like this sometime back and never got around to actually making it work. Nice to look at this and get some tips. <a href="http://iklsr.github.io/jot.htm" rel="nofollow">http://iklsr.github.io/jot.htm</a>
You can probably add some localStorage support in your app, saving a list of all created notes and some basic edit functionality. Perhaps, you can add Gist support as well (just throwing ideas around).
I don't see the need to use a library. Just get the data in a data uri and use the download attribute in the a tag along with the file name. A lot easier and works in every modern browser.