After reading JoÃ£o Cerqueira's post on how he recommends Organizing your life using Github I thought, "yes, I'm not the only one to see the benefit of version control for content other than code.
My problem was that I've never been satisfied with the way I organised my notes. I have lists, book quotes, notes on code, and all the kinds of content which tools like evernote were build for.
The trouble with evernote is that I found it to be ugly! Reading my own content in that editor distracted me. Not to mention it's inability to handle code, and markdown.
In case you are wondering, I tried other solutions. On mac there's a beautiful editor called Ulyssesapp, it took me very far but it lacked the power of detailed organization. I also ran a local blog for a while but the more content I added the slower it all got.
Now I use gitlab's wiki pages. I'm sure it's just like github's wiki pages, I just use gitlab due to it's unlimited free private repositories.
The pages are basically markdown file, which when pushed to the remote repository, they are read as html.
Inspired by static website generators like jekyll, I created my own little generator with node. Above is a snippet of the homepage, the links to articles are all auto generated. In the terminal I type the following snippet
npm start -- "post title" tags1 tag2
and a markdown page is created in a folder with the name of the first tag. Also, a page is created for each tag (if it doesn't exist) and the a link to the new page is added.
I then run
npm run build
which takes all the pages and adds a reference link to the home page.
The end result is a blog/wikipedia-style private website which I can access from any computer.
The main benefits are:
- I write my content in my prefered editor. With few packages, sublime text it's truly sublime to write markdown content.
- Functionality grows with my own needs. I reacently added the ability to create sub-folders, or how I think of them as sub-blogs.
- Even online editing is pleasant. If I am away, and don't have the ability to clone the repo, the wikipages can be edited on the browser. It doesn't add much value but it's a bonus.
You can see my simply solution on github. I hesitate to share this as now looking at it, the code is a bit messy.
The commands are a bit different as the file names will be unique to you, but if you choose to play with it, read the
readme.md file, it's pretty easy. All you need is node installed on your machine.
Now that it's public, I'll refactor the whole thing at some point