Hakyll blog setup
Why?
I wanted to start a blog for a few years now to have a place to write about stuff that I find interesting and experiment a little with Javascript, CSS and shell scripts.
Hakyll
Hakyll is a static site generator written in Haskell, of which there are many, possibly millions!
But what I like about Hakyll is the flexibility to write your own data or content transformers, so you have great freedom in how you want to present your content. This makes it very flexibile to build any simple or more complex websites which isn’t alway possbile in other static site generators.
In short, it’s very flexibile and configurable in how you want to generate your content.
Also using Haskell is a plus, since I think it lends itself perfectly to a declaritvely write data processors. And it’s a language I don’t use much at all, so this is a nice opportunity to learn Haskell.
Design
The final thing I’m proud of is the design of this website. I’m far from a designer so I find it dificult to make decisons about design. Thats why I decided to keep it simple, and I think I succeeded in that.
There are still a few minor things that I would like to do with this design, but for a first iteration this is fine.
Future
There are a few minor things I would still like build for this site.
- Dark mode - as I said before, I’m not a designer so this is something that would take some time.
- Add a photography section - Recently I started again with photography and I would love to share some photos I’ve taken.
- Add a ‘notes’ section - I think something for shorter thoughts and findings a ‘notes’ section would be nice.
- Possibily add comments or a sharing feature - I’m not too sure about this, because of the privacy implications.
- Add draft posts - This is something Hakyll doesn’t support out of the box.
And write more posts of course. I have a few topics in mind to write about.
Conclusion
Overall I’m very happy with Hakyll so far. The workflow is simple and Hakyll itself is very flexible.
I’m looking forward to adding more content.