This page looks best with JavaScript enabled

Breaking the (Word) Press: Experimenting with Grav, Jekyll, Hugo, and Publii

 ·  ☕ 7 min read  ·  ✍️ Brian M. Watson

Introduction

So I’ve spent awhile away from this, and if you’ve been following my site (literally no one has been except me) then you have noticed a lot of random and rapid changes.

Largely this post will be about my switchover from WordPress to… anything else?

Partially this was caused by my hosting plan with Reclaim Hosting (aka best host ever). Reclaim came out of a project at University of Mary Washington (UMW) called a Domain of Ones Own (DOO).

Reclaim and DOO have been absolutely lovely and essential to me, especially as a student that was looking to lean a lot more about hosting and platforms and software–and it continues to be.

If you aren’t as familiar with the differences between something like Reclaim and something like Wordpress.com hosting, think of Wordpress as something like a e-reader or a Kindle: its meant to do one thing (and does it pretty well), but it is not really designed to be an internet browser, or to play games on–these things are more novelties than anything. A hosting ‘platform’ like Reclaim is much more versatile, like an Android phone, and you can easily install different apps on it via cPanel

cpanel
[screenshot of cpanel one click install. the image is a box on a background displaying various icons in a grid above their names. Clicking on any of these items and filling out some details automatically installs it.]

With one click I’ve hosted websites and wikis and other projects easily. For example, you can see a couple of the Omekas I host through reclaim with this right here.

Anyhow, as I am on a college student budget I have the cheapest Reclaim Hosting plan, which is $30. The biggest aspect of Wordpress that I disliked is how much space it took up. So much! So I started looking into alternatives.

Shopping Around

My ‘shopping’ list included

Site Requirements

  1. Something that used Markdown.
  2. Something that had a light footprint (this meant static HTML sites (see below)).
  3. Something that could use linked data.
  4. Something with a lot of free themes

Re: Markdown, which is quickly becoming my favorite thing to use: I was already familiar with it via Reddit other platforms (in fact it’s become my favorite way of drafting something before I move to Word.) I also can write blog posts on the go using a markdown android app, which is a really nice touch for my workflow.

Theme ‘wants’

w.r.t. themes, I wanted something that

  • Had a ‘resume’ or ‘c.v.’ page that looked modern and up to date, cleanly presented data, and was easy to update.
  • Had a portfolio page so I could display all the digital work I’ve done or am doing.
  • Had a place where I could host my publications, with easy import.
  • Had a nice looking blog aspect.

Process

Grav

I initially tried installing Grav via cPanel and I found it..okay, but hard to manage, and it had two very separate themes that I liked so I tried to mash them up. I spent all night mashing together two themes while not knowing anything about HTML, CSS, or Javascript. I managed to make it work however, but it is a messy disaster. You can view the messy result of my mashing a resume theme with a blog theme here..

Grav was easier and way more modern than Wordpress, but still way too large once I started trying to build out my own theme.

Intro to Static HTML in General

My first stop was with Jekyll, mostly because it was (and is) a easily deployed part of GitHub Pages, and means that anyone can download a page, use a couple of commands (all while being handheld by Jekyll’s Guide).

I found Jekyll to be a really good start to the idea of static site generation, which basically means that you pick a nice theme and then plug in your personal details, like this:

# Display name
name: Brian M. Watson
avatar_image: "avatar.jpg"
 
# Role/position
role: Archivist, Historian, Knowledge Organizer
 
# Organizations/Affiliations
organizations:
- name: Kinsey Institute Library and Special Collections
  url: "https://kinseyinstitute.org"
- name: Department of Information and Library Science, Indiana University Bloomington
  url: "https://ils.indiana.edu"

Then, with some more finagling you have a blog! You can see the results of the above at https://brimwats.com

Jekyll

As I already stated, I hit on Jekyll first, partially thanks to Kalani Craig’s‘s Digital History class (check out the IUB’s History Harvest page!). I liked a lot of the themes and it was appealing that you could use github to host a jekyll page while you were building it.

I experimented with Jekyll a lot. A lot a lot. Mostly this consisted of finding a pretty Jekyll theme and then playing with it until it broke, or until I became dissatisfied with it.

I also liked a lot of the different free Jekyll themes, like

All of these were great for portfolios but not really that great to cover all the other aspects of my wishlist. My next thought was to make a landing page that would branch off into a variety of different themes per page. I’m sure this is possible, it just got really fast beyond my knowledge. So I gave up on that.

Next I hit on the brilliant Al-Folio Theme, which automatically converted publications into markdown (!!!!). This meant I could just export all my publications from Zotero as a .bib file and have it automatically display! Fantastic! I did this right away. I still wasn’t satisfied with that as a blogging platform, however.

I also, in all my reading, found out how many dependencies Jekyll has, and how it involves installing ruby and all these other steps (which I didn’t find that intimidating but it makes it way harder to teach). So I started looking for something without a lot of dependencies.

Hugo

I found Hugo! Finally. Hugo is brilliant, very easy, and has lots of different themes, many of them copies of Jekyll themes. I also found this George Cushen’s absolutely brilliant guide to using Hugo to build an academic website. If you’re interested in all of this, definitely do this tutorial. You learn so much.

I eventually settled on a hugo theme I liked for a resume and portfolio – the Academia theme, closely related to which you can see here.

I still didn’t like the setup as much for a blog. So I decided to use the Zzo theme for a blog (the site you’re on right now)

However the main downside was that while Jekyll what is easy to deploy (by simply using github desktop) Hugo was… not.

After much fucking around, I got it to work. Obviously. You’re reading it here!!

I share the details for that in a seperate post.

A final word about Publii

While doing the research to find these guides, I also stumbled across Miriam Posner’s fantastic little review of the various options available to somebody interested in doing this. This is a guide I wish I had discovered in the beginning!

Her guide gives several options, of which Mobirise is identified as the primary one. I immediately vetoed it as I could not figure out if it was open source. It does seem to be, but there also does not seem to be markdown and my impression from browsing the internet is that there are some real limitations to it. But I haven’t used it yet!

The blog post also mentioned Publii–and I really like Publii–it’s desktop based, minimal publishing, and works well. It also includes semantic aspects by default.

The downsides are

  1. No markdown (that I can tell)
  2. Not a lot of free themes (and I really didn’t like the themes available).

I do like some of the themes, but they are paid & I’m a poor grad student and I can’t afford to lay down the $$ up front until I’m sure people begin to adopt it.

I do think Publii will be my ultimate platform–but until there are a lot more free themes and people playing with it I am reluctant to be a full-blown first time adpotee.

So, for now, I’m using two different Hugo themes.

Share on

Brian M. Watson
WRITTEN BY
Brian M. Watson
Archivist, Historian, Digital Humanist