#Automation
5 posts tagged “Automation”
5 posts tagged “Automation”
New posts on this blog now get announced on Bluesky automatically, alongside the Mastodon toots that were already going out. If you’re reading this via a Bluesky link card, that’s the thing working.
It went live on 16 October, with the Inktober “Gangly” post being the first one through, and it’s been quietly doing its job since.
The whole thing is a GitHub Actions workflow plus a small Python script, with no third-party service in the middle.
Quick update rather than a full write-up: since pointing Claude Code at this blog’s repo a few weeks back, the whole loop of writing, publishing, and maintaining this site has stopped being a chore.
The biggest change isn’t any single fix — it’s that the friction just isn’t there any more. Drafting a post, sorting front matter, fixing up a GitHub Actions workflow that’s drifted out of date, branching and PR-ing a change, merging it once it’s built cleanly — all of that used to be enough faffing about that posts would sit as unfinished drafts for weeks. Now it’s a five-minute conversation and it’s live.
I’ve been using Google alerts to get emails of news about various topics for a while. As I’m reducing my Google footprint this was one of the things I had trouble replacing, until now.
Using Brave Search API node in N8N I can now search for news on a topic and format it into a email digest.

Saved Workflow in Jason format.
Found N8N recently which is an open-source workflow automation tool that lets you connect various services and automate tasks.
Think IFTTT which you can host yourself locally.
I run it locally on my Debian Linux Server using this Docker compose file.
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
environment:
- GENERIC_TIMEZONE=Europe/Amsterdam
- NODE_ENV=production
- N8N_SECURE_COOKIE=false
ports:
- "5678:5678"
volumes:
- n8n_data:/home/node/.n8n
restart: unless-stopped
volumes:
n8n_data:
name: n8n_data
external: true
You can use it do automate all sort of tasks, I am currently testing it posting RSS feed updated to a Discord Server.

To make the publishing of new content easily I am using Travis CI to publish changes.
I did try installing Hugo from source but this took longer and was producing errors so it was easier to download the binary.
Using this as the Travis CI pipline yaml.
# Auto deploy repo from Github to Amazon S3 bucket via Travis CI
# * Set env vars for ACCESS_KEY_ID, BUCKET_NAME and SECRET_ACCESS_KEY on Travis
# * Update `bucket.name` in `sync` command
# * Assumes your `publishDir` is the default (`public`) - if not update `sync` command
language: go
before_install:
addons:
apt:
packages:
- libcurl4-openssl-dev # required to avoid SSL errors
install:
- curl -LO https://github.com/gohugoio/hugo/releases/download/v0.74.3/hugo_0.74.3_Linux-64bit.deb
- sudo dpkg -i hugo_0.74.3_Linux-64bit.deb
before_script:
- python --version
- sudo pip install s3cmd
script:
- hugo
after_success:
- s3cmd sync -v --delete-removed --no-preserve --access_key=$ACCESS_KEY_ID --secret_key=$SECRET_ACCESS_KEY -r public/ s3://$BUCKET_NAME
notifications:
email: true