The web page are generated with Jekyll. The web is therefore static html document.

Installing Jekyll

  • On Debian based distribution, install jekyll, rubygems-integration, ruby-bundler
  • Install the theme with the command: gem install "beautiful-jekyll-theme"
  • Other gems may be necessary: gem install jekyll -v 3.5.1"; gem install jekyll-feed

Fetching web source

Source web page are versioned with SVN, check it out with the command:

svn co

Building web site

bundle exec jekyll build

The generated web site is in the directory

Before building it is possible to test locally: bundle exec jekyll serve

Installing pages to server

rsync -avP --delete -e ssh _site/*

Alternative: using docker

Alternatively, you can use pre-built jekyll docker image to accomplish the above. In your host:

docker run -it --name jekyll -p 4003:4000 -v /home/ckhung/jekyll:/srv/jekyll jekyll/minimal bash
This creates a docker instance named "jekyll" and maps host's /home/ckhung/jekyll directory to guest's /srv/jekyll directory. You can give svn commands in your host and jekyll commands in your guest. For example, in the guest
jekyll serve
will start a web server, and you can preview the changes in the host by pointing the browser to http://localhost:4003 . The first time it takes a while to download the dependencies. After exiting the guest with d or exit, you can start and connect it again using
docker start -ai jekyll

File ownership may need to be fixed if you run docker as root.