My Notes System (2018)

Notes are all over the place. I have stickies, physical notebooks, digital ones, markdown files, etc.

Over time one surely builds up his own system and eventuelly finds his own holy grail. I'm sure I'm not there yet, but I feel like my current setup is worth sharing so here goes.

Overall I wanted to be able to continuously use my note-files in the future independently from the system.

It should be readable in plaintext, as well as editable in a nice editor and be publishable on the internet as a static site (generated).

General

In case this site is changed in the future, this is what the result looks like:

image-20180929215810677

Server Stack

I'm using a Dedicated Server provided by Online.net for ~11$/month. It's a special offer via oneprovider.

The Operating System is Debian 9 and the used webserver is nginx. All files served are static html.

→ My nginx file:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name notes.r3w.io;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name notes.r3w.io;
    root /var/www/notes.r3w.io;
    index index.html index.htm;
    ssl on;
    ssl_certificate  /etc/letsencrypt/live/notes.r3w.io/cert.pem;
    ssl_certificate_key  /etc/letsencrypt/live/notes.r3w.io/privkey.pem;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    location / {
        try_files $uri $uri/ =404;
    }
}

Client Stack

I'm currently writing most of my stuff that you can see here in Typora, which is a really nice Markdown Editor. Before that I was using MacDown and before that I used Quiver and exported everything.

My main Operating System is macOS, but most of this works on Linux or Windows as well, which was an important aspect of the documentation/notes system.

All Files are Markdown, the site is generated with MkDocs, a static site generator. It's mainly used for software documentation and similar, but I'm happily using it right now for my personal notes.

Although, granted "notes" is a broad term. I'm a very technical writer and notes can be very different for each user. That's probably the reason why the documentation-similar system works well for me.

image-20180929220756520

→ My mkdocs file:

site_name: Notes
theme:
    name: readthedocs
    custom_dir: custom
extra_css: 
    - extra.css

→ My publish file:

mkdocs build \
&& rsync -aq --no-perms --omit-dir-times --delete site/ user@remote:/path/to/site/ \
&& echo 'Site Published' || echo 'Site Publish Failed'

Overall

The system currently in place is very minimal and portable. I like that a lot.

The Markdown files are very suitable for technical stuff, but are surely not fitting if you have a lot of sketches/random notes. I'd recommend a physical notebook for that.

Alternatives

I have used Quiver before, but it is not open enough for me to go further with it. (Not cross-platform. Format is Open, but not easily editable with other editors.)

I used Evernote a long time before, but since I want something selfhosted, that did not go well.

OneNote is also in the same section, which has a more 'freestyle' notetaking approach, but I prefer phyisical notebooks in that regard. If I have to draw on my mac it's either in Photoshop or OmniGraffle.

Another key aspect was the option to publish things. Markdown + MkDocs is therefore a nice option.

Worth mentioning in this context: Wikis (MediaWiki/DokuWiki) or Sphinx Docs (Using restructuredText)

The problem here is that the text format is not that easily readable in plaintext compared to markdown.

They are good options though and I can at least recommend them if you have the patience to set it up.