Finally, bzed.de is back online and I’m planning to start blogging again! Part of the reason why I became inactive was the usage of ikiwiki, which is great, but at end unnecessarily complicated. So I’ve migrated by page to gohugo.io - a static website generator, written in go. Hugo has an active community and it is easy to create themes for it or to enhance it. Also it is using plain Markdown syntax instead of special ikiwiki syntax mixed into it - should make it easy to migrate away again if necessary.
In case somebody else would like to convert from ikiwiki to Hugo, here is the script I’ve hacked together to migrate my old blog posts.
#!/bin/bash
find . -type f -name '*.mdwn' | while read i; do
tmp=`mktemp`
{
echo '+++'
slug="$(echo $i | sed 's,.*/,,;s,\.mdwn$,,')"
echo "slug = \"${slug}\""
echo "title = \"$(echo $i | sed 's,.*/,,;s,\.mdwn$,,;s,_, ,g;s/\b\(.\)/\u\1/;s,debian,Debian,g')\""
if grep -q 'meta updated' $i; then
echo -n 'date = '
sed '/meta updated/!d;/.*meta updated.*/s,.*=",,;s,".*,,;s,^,",;s,$,",' $i
else
echo -n 'date = '
git log --diff-filter=A --follow --format='"%aI"' -1 -- $i
fi
if grep -q '\[\[!tag' $i; then
echo -n 'tags ='
sed '/\[\[!tag/!d;s,[^ ]*tag ,,;s,\]\],,;s,\([^ ]*\),"\1",g;s/ /,/g;s,^,[,;s,$,],' $i
fi
echo 'categories = ["linux"]'
echo 'draft = false'
echo '+++'
echo ''
sed -e '/\[\[!tag/d' \
-e '/meta updated/d' \
-e '/\[\[!plusone *\]\]/d' \
-e 's,\[\[!img files[0-9/]*/\([^ ]*\) alt="\([^"]*\).*,![\2](../\1),g' \
-e 's,\[\([^]]*\)\](\([^)]*\)),[\1](\2),g' \
-e 's,\[\[\([^|]*\)|\([^]]*\)\]\],[\1](\2),g' \
$i
} > $tmp
#cat $tmp; rm $tmp
mv $tmp `echo $i | sed 's,\.mdwn,.md,g'`
done
For the planet Debian readers - only linux related posts will show up on the planet. If you are interested in my mountain activities and other things I post, please follow my blog on bzed.de directly.