Finding the right tool to write blog
I always want to learn new things and expand my horizons, I try to read as much as I can and always bookmark the interesting pages on internet, but usually they just get ignore afterward, because there are just too much interesting stuff and end up with massive bookmark that never get look at again.
To help me learn new things and retain the knowledge, I’ll need to
- Each week focus on a main topic - e.g learn as much about one Algorithm in one week, then next week focus develop micro service app.
- Write a blog post about the main topic learn during that week.
Making a focus every week will help me have a goal, this is important, because I’ll have something to focus on rather than try to know everything. Writing will help me retain the thing learn in long term memory.
Browser’s bookmarks feature can be used to mark down the things I want to learn and the browser will sync it over different devices I used.
For writing my objective is to find a simple platform without maintaince.
Choices
After a lengthly research, I’ve narrow down my choice to the following:
-
Wordpress - Popular, most people use it and tons features, but require server setup, maintaince and endless security updates etc.
-
Ghost - A very nice platform which offer free service or you can host it yourself. Very beautiful and easy to use.
-
Medium - It’s a Web service and looks amazing.
-
Jekyll - It just a static page generator.
Jekyll
As a person like to spend time in the terminals, I chose Jekyll, because its very easy to maintain and doesn’t have millions other buttons/features that distract you. It let me focus on the writing which is the most important thing (sometimes its useful to have other features, but the content is king, less is more ;-).
This is my work flow:
- Start an editor (vim)
- Write
- Git push
- Job done!
Its so much easier to just write things down using whatever editor you want, the git will help you with revision controll which is very useful and give you a history of how your blog posts evolve. Jekyll is pretty simple to install
The above will generate a folder called my-blog, the folders are pretty much self explainatry, the Jekyll doc have more information about what each folder mean, these are most import thing for me
Posts
I put all my posts into the _posts folder.
You can use .html file extension which means you can embed html, javascript and CSS into your post, this is very handy for writing post try to demonstrate something and make it more interactive.
See the time above, its javascript updating it and colour is set by css on the page(yay css3 blink!).
Pages
Putting an file in the blog folder’s top level will make it a page, like the About page.
Drafts
_drafts is like _posts, but its for the stuff you don’t want to post yet.
Config
_config.yml this is the config for Jekyll, its save you from typing the options when using jekyll command.
Now run jekyll build it will just output the build to desitination, there are many options, see the doc for more info.
Summary
So far I’m very please with Jekyll.
I’m still learning it, but there are a lots things you can do with Jekyll, in the core Jekyll just a static site generator. The powerful Liquid template engine is very handy if you want more customisation and “dynamic” posts.