In this post I’m quickly describing my efforts to theme a plain vanilla Hakyll front end.

1 Motivation

Hakyll comes with a very basic plain black-and-white theme in paper style. Thanks to Pandoc, code blocks have all the markup, but it remains ignored initially. In what comes next I will describe how I’ve realized the present design. Gotta take some screenshots for comparison…

2 Vanilla Hakyll

3 Issues Arising

3.1 Mobile-Friendly

3.2 Accessibility-Friendly (Screenreaders etc.)

3.3 State of the JavaScript Ecosystem

4 Modern Front End

5 Choice of the Build Tools and the Lifecycle Management

Build automation is a boon. On this tiny scale of a blog, at first setting up a proper dev environment with a good pipeline is an effort not worth hassle. But as the complexity will rise, I will adopt more lifecycle management and automation tools, and blog about them.

For now, I’ve come to use Gulp + Babel + TypeScript + Parcel.

Next I’m planning to create a CV route, improve the interaction, adopt Stencil to create good web components, so in the end this blog looks and feels like a mobile app, and make it a proper PWA.

6 Choice of a Front-end Compiler: GHCJS vs PureScript vs Elm vs ReasonML vs TypeScript vs JavaScript

A thorough comparison deserves a separate post. Stay tuned. But for now, since I don’t yet need a full-fledged front end, there’s no reason to

7 Outro

I must admit, it has been a lot of fun. Modern front end development is a joy. And despite all the chaos in its ecosystem, choices can be made. This is in fact crucial.

Plans for the next couple of weeks:

  • Nitpicking on the design.
  • Make Haskell’s Sass library work with the Dart implementation that supports the more modern features.
  • Fix MathJax CDN errors due to the same-origin policy.
  • Fix MathJax CDN choice of fonts.
  • Improve the sidebar.
  • Implement dark-mode.
  • Implement sharing facilities.
  • Some quality posts.
  • Introduce D3.js data visualizations, including tag clouds and word cloud summaries.