User:Petermolnar.net

Current: static generator

After spending months on arguing with myself, I finally decided to write my static generator and walk away from WordPress. It took me a long while, but I'm more or less ready. Summary and reasoning: Going Static

What, why, how

I recently started to embrace in-silo interactions, because I can pull all of them with a simple cron job to my site before I run the build process. Most of these require OAuth 1 or 2, therefore there is a tiny service running which handles callbacks and stores tokens.

I'm using an ancient Python library, webmention-tools, which I altered a little to my needs; this is what's finding the webmention endpoints and sending the mentions on build. All the previously done mentions are stored in a JSON file.

The site builds a whoosh index on generation by either updating or adding the documents' text. This is served by yet another small service.

image and image metadata handling

It all relies on exiftool for getting metadata from images, but all my tries for storing all the image related meta (including text and tags) failed due to the lack of a software capable of handling IPTC and XMP with reasonable UI, so I ended up using the same, post-like YAML+Markdown format, with the same name as the photos, therefore they are linked.

taxonomies

category and tag only

Category is the name of the folder the post is physically located in; the tags are hand applied. They all have archives per item and an index per taxonomy.

Previously

I used WordPress between 2007 and 2016, but in the end I was running a version where I had to apply patches to the core - I tried submitting them but most of them got neglected.

wp-shortslug - use pubdate epoch converted to base36 (0-9a-z) as short permalink

wp-flatbackups - an auto-exporter for WordPress, creating a flat, directory based copy of YAML + Markdown (and/or HTML) of every post. This can't be imported, just servers as a fallback plan for longevity.

wp-url2snapshot - to have a backup copy of a linked website, the plugin pulls in an html-only version of every link it can find in any post content and stores it for potential future use. In case a link is not snapshotted yet and is not available on the web anymore, it tries to fall back to the last available version on archive.org.