Statocles

Tags:

Statocles - A static blog generator in Perl.

This site is a static blog, so on the server there is just plain old HTML, the software that generates the pages is on my laptop, not on the server. Static content is efficient and fast, and I would suggest more secure. There is not code (beyond web-server) that people can attack.

Previously I have used Hugo which like Statocles runs locally and produces static content you upload to your server. Unlike Statocles, Hugo is written in Go, and as this website is all about Perl, I wanted to use a Perl based tool.

Wanting a Perl based tool, I search CPAN for "blog generator" and explored. Statocles had been favourited 26 times, a lot more than the other options, so I focused on it.

Statocles feels familiar to Hugo, there is a command line tool that helps you manage the content and serve a local version of the site. The last update was April 2020 (Aprils fools day made me a little nervous I confess) but I installed it locally and all worked pretty much out of the box.

It did take a little getting used to; but the docs are pretty helpful and I was able to setup a site with custom navigation and a little content. This took an evening; so just as good as Hugo. For this site, I'd been using a HTML template someone else created; and it took not too long to adapt it to the theming system in Statocles... again not too tricky. Today I switched back to the default Statocles theme as it is actually really clean and unlike my short-lived custom theme is taking fuller advantage of Statocles.

There is a great feature to deploy via Git which is built to provide (I think) almost identical functionality to Hugo so that a Statocles site can be hosted on GitHub pages simply. I am hosting on an old fashioned VPS, so switched to the "File" deploy system. Which basically does what you'd expect; build all the files and place it in a directory of my choosing. Then I can just FTP/SCP/Rsync that content up (currently via simple bash script that calls statocles deploy and the commands to push to this server). I will probably have it trigger from the git repo eventually.

Community is often the reason we use a language or tool. And in Statocles case it has been really positive interactions. preaction has been interacting with me on Twitter and I confess seeing the likes of Ferenc Erki, Joel berger, perlancar and of course Mohammad Anwar influenced if I wanted to engage with the software. Community has often been Perl's superpower and it has been nice to experience it with my setting up this website with Statocles.

Preaction has another project Yancy which may be a tool I look at going forward. But for today Statocles is almost perfect for my needs. I appreciate the simple structure; the demarcation between pages, posts etc.

So... Statocles is great, I get to use Perl to create a website about Perl. I'd suggest statocles to any perl programmer as a blogging platform.