Jekyll and Hrubyde
In this piece, I will discuss my experience building my first website with Jekyll. Jekyll is a static site generator written in Ruby. Before I start, here are all the sources that may be mentioned in this post…
Preface
The Start
Like most other web apps, the site is first built locally. The first step is to follow the Jekyll Docs to install a Ruby and Jekyll frame work. This website uses gem 'jekyll', '~> 4.2'
. A stable blog site is served out of the box using the theme minima, although one can also choose out of the hundreds of themes hosted in Github Pages.
The Build
I was inspired by Massively from @ajlkn. This was a static site template for web blogs. It had a mechanism that extracted excerpts from pages and displayed them in a gallery-view. I found a Jekyll integration for Massively from @andrewbanchich. It is implemented for bise.sh/journal. A lot of the site is built on top of the SCSS and JQuery skeleton from Andrew’s Jekyll ports too, although my additions may have rendered the code unrecognizable.
⚠️ I have since depriciated the code of Massively but you may see its design inspiration there.
bundle install
or bundle exec jekyll serve
has to be used when first starting with a Jekyll template to install the required RubyGems and plugins. I started customizing the templates and scripts and using Jekyll --serve
to host them on a local port. There were quite a few missing dependencies and gems (bundle add webrick
💢!!) from my attempts to merge different templates. Trying to optimize the end product for mobile browsers was also a chore. It didn’t help that this was my first experience with JS and Ruby.
Jekyll serves ‘post-files’ written in Markdown as Html. It uses the Liquid templating language in conjunction with RubyGems to achieve this.
Deployment
Jekyll sites can be hosted on Github pages. Once the files are added to a repository, Github’s built in Jekyll bundler builds the site into a server with the repo’s name. But its limited plugin, domain and SSL support steered me to CloudFlare Pages. The hosting process was still full of hiccups and Error 404’s, make no mistake about it.
But its working for now and I refuse to touch it.
The Future?
This tiny space in the internet has taken hundreds of hours(yes 100s) of my time. And I can see it taking hundreds more. I don’t plan for it to stop being a work-in-progress and the time spent coding, designing and writing in it has been and will be time well spent. unless I want a new font again . . .