__   __
      /  \./  \/\_
  __{^\_ _}_   )  }/^\
 /  /\_/^\._}_/  //  /
(  (__{(@)}\__}.//_/__A____A_______A________A________A_____A___A___A______
 \__/{/(_)\_}  )\\ \\---v-----V-----V---Y-----v----Y------v-----V-----v---
   (   (__)_)_/  )\ \\
    \__/     \__/\/\/
       \__,--'

My little web space

Switching Static Site Generator To... Bash?!?

Published on: by Wild Rose

3 min read

Woah, this website looks different doesn't it?

This is now the 4th time I completely redesigned my webspace. The first 2 times I tried my best to hand write the HTML and CSS myself! Which would be fine if this didn't turn into a blog... I even tried to manually write the rss feed xml file! It was... Pain.

So I saw this Cool video about static site generation by Veronica Explains and decided to completely remake it again using 11ty! It worked ok. The site was kind of jank but it functioned ok, and people liked how it looked. I didn't really think much about how 11ty worked and just used it. Then I tried daily driving Gentoo Linux. 11ty uses NodeJS to build a website that doesn't use javascript... And it took longer to compile NodeJS than the linux kernel! Also moving my website builder over to a fresh install was a pain, I had to reinstall every npm package before I could get it to build. Pain.

Rose Cry

There has to be a simpler way to turn markdown files into HTML and CSS! After looking around I found the Bash Static Site Generator (BSSG). It uses bash scripts, Unix core utils, and exactly 2 other dependencies: commonmarkdown (cmark) to convert the markdown to html, and socat, which allows for a basic local server for testing. Most web devs will use python -m http.server for this feature, but with gentoo it was extremely fast to compile these 2 dependencies and I was off to generating this site!

This little site generator works really well for my use case, where I like to copy my core files onto a hard drive and reinstall the os randomly when I feel like it. It's all just bash scripts! Out of the box this site generator seems more powerful than how I was using 11ty. I can make posts with tags and now you can search via tags. Perfect for the sort of blog style thing this website turned into.

The only problem is now I have to convert all that 11ty markdown pages into bssg markdown pages

Rose Ope

I also decided to convert all of my old unlisted youtube videos into gifs, and post those here with the animation tag. Because the old site had a bunch of different tabs that now are basically all thrown into one feed, all previous content will feel kind of weird. But I think going forward having a unified feed will be ideal for anyone returning to my site regularly.

How I think BSSG fits into "Neocities Ideology"

Ok so if you don't know, this website is hosted on Neocities. Its a web hosting place that also sort of is a social media? Website updates get turned into posts and people with neocities pages can follow each other. But also many people here have a worldview that you should leave social media behind and return to personal websites. This leads many people to basically make art project websites instead of like posting things people would actually want to read? Which is cool and I love that HTML can do that, but also like then people get bored and leave their site to rot.

After playing around here with different approaches to having a website, I think having a sort of blog timeline thing is nice. I can post things here. It get arranged newest first but you can also search based on how I tagged it, and its all mine! I control everything about how this space looks. It's liberating in a way that social media can never be. If you are reading this from neocities and are using Linux, I recommend you give BSSG a try! It might give you what you wanted from when you abandoned social media for the old Web 1.0 way.

~WR

Wild Rose Badge