The reason I start a blog is personal. I want to take notes and record something I did. I like to write in plain text, and building a personal website gives me the freedom to control all contents. GitHub Pages + Jekyll is my first choice, since I’m a fan of GitHub, and the service of GitHub Pages is free.
Choosing which Jekyll theme has bothered me for a while. Finally, I choose the default one: Minima. It’s very simple, tiny, and elegant. Although it is lack of some powerful features, I can implement them by myself.
The normal way to import a Jekyll theme is adding the below line into
However, this way is not convenient for customization. Yes, you can copy a template file into your repo and modify it, but what if this file in the original repo were updated? You have to copy it again and compare the difference carefully, and then merge them.
My method is forking the target theme (in my case, the Minima theme), then create a branch (in my case, named
alexddhuang). In this branch, I can do any customization I want to do. Then, I use the
jekyll-remote-theme plugin to import this branch:
plugins: - jekyll-remote-theme remote_theme: alexddhuang/minima@alexddhuang
Now, if the original repo of Minima updates, I can fetch all those changes and merge them into the
alexddhuang branch by using Git:
$ git checkout alexddhuang $ git merge master