This repository contains the Jekyll-powered GitHub Pages-hosted website, The Hornery, that is maintained by fusion809. The Hornery also has two subfolders powered by static site generators operating on other GitHub repositories of mine. They are:
- /hexo-site (source repository: fusion809/hexo-site), which is powered by Hexo
- /hubpress.io (source repository: fusion809/hubpress.io), which is powered by HubPress
This repo (fusion809/fusion809.github.io) can also be used for demonstration purposes on how to create a Jekyll site. When I started this site my knowledge of CSS (and SCSS), HTML, JS, YML data files and using Jekyll or any static site generator was minimal/non-existent, and it is still no better than minimal, so my ability to set up this site and maintain it with so little knowledge is a testament to how easy Jekyll makes website creation.
This website is predominantly on Linux-related topics and includes how-tos and comparisons of free and open-source software.
If you want to learn more about my FOSS contributions see the Projects page on The Hornery.
Running Jekyll Locally
A little how-to on how to run Jekyll on Linux and how to set up a GitHub Pages-hosted Jekyll site that was once housed in this README can be found in the The Hornery. As said in this post I personally use the Atom text editor to write most of The Hornery's posts, if you want to install Atom on Linux I recommend you see the
atom-installer GitHub repository of mine.
A natural question is why choose Jekyll, as opposed to static site generator X? The answer is multifold:
- Jekyll uses the Liquid templating engine, making it easier to write templates and split posts up into smaller markdown files. I have tried to split posts up into smaller markdown files with the Hexo static site generator, but the included post components were not rendered correctly (where "rendered correctly" refers to how they were when the post was not split up into these smaller component markdown files). Namely footnotes were left unrendered and host headings were not hyperlinked to their respective permalink. Liquid has better documentation than Hexo's EJS and Swig templating engines.
- Jekyll has superior community support, in my opinion, in terms of response times.
- Being written in Ruby, Jekyll sites have access to Ruby markdown renderers such as Kramdown and Redcarpet (although GitHub Pages has dropped support for this rendering engine, regrettably). They are a strength as they include several advanced, optional features such as in-text footnotes. Further details on this compare and contrast can be found in this StackOverflow question of mine. Hexo sites can be switched to the
markdown-itrenderer (as opposed to the default
markedrenderer) which does, optionally, support footnotes but it is not official supported by Hexo and can cause one some headaches down the track.
- Simplicity of deploying with GitHub Pages. Jekyll is specifically designed to be deployed on GitHub Pages, as Jekyll is an official GitHub project.