Steeph's Web Site

Menu

Entries tagged 'cat:Editor'

On Notetaking; Minimalist Web Notepad (and an edit function for SBWG)

There are so many ways to take and organise notes… I stopped thinking about it. I stopped trying to organise the right kind of notes in the right place, right kind of software or in the right structure. Some things I write on a piece of paper, which may or may not lie around and in the way for weeks, or I put it in a file, or create a bookmark. Or a write it in a terminal so that I can grep it from the history later. Or I send myself an email. Yes, that's still something people do. I do it even though I know there are better ways to save and sync notes across devices. There are so many better ways that I can't decide on which I want to use. There are so cool, sweet and genius little (nd not so little) apps, CLI tools, TUIs and web UIs that people recommend. I don't want to spend years testing them so that I can decide which I want to use with which config. But there is one that I adopted qhickly and gladly. I guess I stumbled over it just at the right time or I wouldn't have installed it, and wouldn't still use it years later.

It's called Minimalist Web Notepad. I'm not sure if the linked Github is from the originl author. Feel free to check yourself. There are quite some forks. One reason for that may be that its name is very much a complete description of what it is, and the minimalism is enforced by the maintainer. If you want any feature on top of the core functionality, you have to add it yourself or look through the forks. Upon installation you choose or create a directory in which the notes are saved. Then you can pass a file path through the URL when you open the app, and it will display the contents of the file. If you edit anything in the notepad, it will be saved immedietly to the file (if JS is enabled). If the file didn't exist, it will be created. So, this notepad can be used as a simple addition to the practice of collecting a convoluted mess of text files that contain notes, which is perfect for me. There is no password protection (in the original version). But Apache can already do that.

And I found another use for minimalist-web-notepad. I started SBWG on the idea that more things should be files. The concept of everything being a file works great in Unix-like systems, which device drivers and kernel components that create those files as sensible interfaces to things. But I like the idea of things being files independently of sensibility and efficiency. Maybe that's why I like minimalist-web-notepad. There, notes are files, in SBWG, blog entries are files, in my etherpad-lite, pads are files. Wait a moment… if I use the entries directory of a SBWG web site as the notes directory of minimalist-web-notepad, I could edit blog entries in the web browser. And so I did that, and added a hook to the settings file of draft0 that includes a link to every entry that links to the notepad of that entry. For a while now there has been a hidden edit link in every draft0 entry that allows me to edit blog entries quickly without moving away from my principle of not adding any client-to-server interaction to SBWG.

See, that's why it's great to agree on formats (and standards in general). The author of this minimalist-web-notepad didn't know about SBWG, but just kept the tool simple and file-based, and thereby created a blog entry editor for SBWG web sites that fits perfectly, accidently.

Just in case anybody wants to add the same hook to their SBWG settings file, here it is:


# Add an edit link to every entry's title section (when the entry is displayed on its own page)
hook_entry_title_tags_after() {
  echo "edit" >> "${outfile}"
}

Replace https://edit.draft0.de with the URL to your minimalist-web-notepad (or other editor) installation. Make sure to protect it from anonymous access, unless you like surprises, I guess. If you want to hide the link, too, use CSS or change the link text to '.' or place it differently by using a different hook or be creative or use a browser extension instead of the hook.