Hacking Coleslaw to show my custom front page

Published on:

Recently I’ve been introduced to the idea of seeing my blog as a garden instead of a personal news site. My blog is a digital garden, not a blog and How the Blog Broke the Web have inspired me to look at my website as a garden, with a blog as just a part of it. I really don’t like the idea of presenting my thoughts like a personal news site. I don’t think you’re that interested in me or my daily comings and goings.

What I do think you might be interested in is documents about how to do stuff that you might not know. What I’m interested in on this site is writing about things that I didn’t know before.

One thing I wanted to do for this was to move away from having my latest posts as the landing page of my website. I want something hand-crafted now. It’s going to be terrible, but I’m hoping it’ll be fun to mess around with it, make small incremental changes over time.

c0λ∈slaw doesn’t seem naturally set up for this at the moment. So after I’d set up my blog builds I wanted to extend them to include a custom front page. I looked for a way to have c0λ∈slaw do it, but it doesn’t seem possible built-in, or through a plug-in. So I hackily added a step to my build step in my .gitlab-ci which just moves a named generated page into index.html.

# ...

build:
  # ...
  script:
    - cd html && coleslaw
    - cd ..
    - cp img/* public/img/
    # A temporary measure to let me define my own front page.
    - mv public/front-page.html public/index.html
  # ...

This works because in c0λ∈slaw, luckily, the usual index.html is just a symlink to the first page of recent posts.

Maybe in the not-too-distant future I’ll remember to try and find the time to see if I can make a plugin for this.