Moving this Blog to GitLab Feb. 11, 2020 in Text
This blog has now been moved to GitLab, allowing me to experiment with their CI / CD setup.
This blog has now been moved to GitLab, allowing me to experiment with their CI / CD setup.
If you want to try it, I have updated my Fractal Explorer to export fractals using PenPlot coloring. Then use potrace
to convert the image to a SVG. If you want to print this specific fractal, why not download either the PNG or the SVG.
Today the BathTub Orchestra’s is playing at Bradford-upon-Avon’s annual Roots Music Festival, at the Wiltshire Music Centre. I had a fantastic time playing the flute. Here is a playlist from the night.
Today I performed in BathTub Orchestra’s Christmas Celebration. I had a great time playing the flute. Here is a playlist from the night.
Jekyll is fantastic, easy to use, and extensible. However, some Jekyll hosts such as GitHub Pages do not allow people to use custom plugins - and I want category and year pages. But rightly so. Allowing custom plugins would require hosts to allow users to run arbitrary Ruby code on their build servers and possibly create a mess. This problem is solvable, but it’s ultimately simpler to just ban them entirely.
This constrained environment forces you to get creative. On this blog I use the fantastic jekyll-compress-html template which minifies the very post you are reading. I have written by own template to automatically replace standard markdown or HTML images with lazily loaded ones. And finally, I have written a small (it’s only a hundred or so lines ;) ) Makefile to automatically, among other-things, generate year and category pages:
# Find categories and years
CATTARGETS = $(shell grep -h '^categories:' -r _posts/ | awk -F ':' \
'{print $$2}' | tr ' ' '\n' | sed '/^$$/d' | sort | uniq | \
awk '{print "categories/"$$1".html"}')
YEARTARGETS = $(shell find _posts/ -regextype egrep -regex '.*/[0-9]{4}.[^/]*' \
-printf '%P\n' | cut -c-4 | sort | uniq | \
awk '{print "years/"$$1".html"}')
# Generate category pages
cat: cat-clean $(CATTARGETS)
categories/%.html: _templates/category.html
cp $< $@
sed -i 's/#####CATEGORY#####/$*/' $@
# Generate year pages
year: year-clean $(YEARTARGETS)
years/%.html: _templates/year.html
cp $< $@
sed -i 's/#####YEAR#####/$*/' $@
To use, simply create _templates/category.html
and a _templates/year.html
templates and run make cat year
. The code assumes your posts start with the date and they are stored in the default _posts/
. When run #####CATEGORY#####
and #####YEAR#####
will be replaced with the templated value.
I briefly flew to Malaga.
In The Sky. On The Streets
By The Beach and Time To Sleep.
The Next Day and Buried Remains.
Hello There, a Towering Castle.
Inside Are Gardens and a View Of The City.
A View Of The Town
Ugshot. Squirrel? Cats!
Obligatory Photo. Reading Till Dusk. Giraffes.
Watching A Protest. Listening To The Drums.
In The Market
Towering Over. Cramped. Checking Out.
Flying Home, the Question is Where Next?