onilog

Hacking Coleslaw to show my custom front page

31 March 2021 9:00 AM (meta)

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.

coleslaw 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 coleslaw 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 coleslaw, 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.

Comments are closed.