introducing bashlessblog

January 19, 2024 — ~enamel

Avid readers of this blog (lol) will probably notice that after posting a whole deal on a workflow that was supposed to help my posting frequency ... I stopped posting. So what happened? Well my new fancy workflow didn't work due to one annoying issue. Git does not save file metadata and bashblog uses file modified dates when generating its output. Basically I ended up breaking the whole blog by git'ing stuff around, it made everything look like it was created on the git clone date.

So what is the totally logical solution? To port the entire thing into a new language of course!

bashlessblog: It's bashblog, but less.

When my attempts at modifying bashblog to use the embedded timestamps it makes in the posts was a failure I decided to rewrite the whole thing. I had a few big wants that drove this decision:

  • I wanted to use modern editors
  • I wanted to use the software on windows
  • And I wanted to be able to put the whole thing in git without breaking timestamps

The outcome is a small .net application that is compatible with existing bashblogs but geared towards a static site generator workflow.

In the process I ended up learning enough about bash to have made the initial change to timestamps. But I am very happy with the result and I hope I never ever have to think about bash again.

Builds are available here for windows and linux, and require the .net 8 runtimes. I may look into creating some native AOT builds in the future so the runtime is not required.

tags: bashlessblog, bashblog, blog, dev, windows, linux