In working with Hakyll the biggest problem was my lack of familiarity with Haskell, and my lack of time to learn it sufficiently to feel comfortable with the software. After a while I started to get irritated by my lack of understanding, and decided that (unless I dedicated more time to learning Haskell) I needed to move over to something in a language I was more familiar with (Python)... thus the move to Acrylamid.
Installing on FreeBSD turned out to be relatively simple, given that the
software is available for install using
pip. I chose
because I have an issue with software that cannot be easily uninstalled.
Acrylamid was installed using the following incantation.
# pip install acrylamid
On my system, that actually installed a few other packages in addition to acrylamid, specifically Jinja2, Markdown (in python), and translitcodec.
Configuration took a bit more finagling than I expected because the tokens for
the hour and minute of publication were not available when generating each post.
As a result I requested a fix via pull request which was accepted
within a day. Unfortunately the fix only applied to the current development
branch, not the release available via pip. The lack of a release which could be
pip was not a show-stopper, because the procedure to have
install from a git repository was well documented and only
required pointing pip at my forked repository.
# pip install git+git://github.com/sinecure/acrylamid.git
Another speed-bump was how to set the timezone within each post. Because of
previous conversions I had laboriously converted all time/date stamps to UTC
time, and it was not obvious how to indicate the timezone within the post ("UTC"
was not accepted with one error, "+0000" was not accepted with another).
Luckily, I found others had encountered a similar difficulty, and the solution
to my problem (setting
TZINFO = "UTC" in
conf.py) was in the
The next piece of the puzzle was getting all the ancillary files which may be
with a post (image/video/text files) into the same directory as the post. This
was easily solved using the STATIC definition in the
conf.py file, and
translating the (hand-named) post directories to the standard "slug" format. It
turned out the slugs are generated using a public domain python
Overall, this was a relatively painless and simple process requiring minimal time before the site was transferred. Most of the delay was in the actual conversion of date/time information to a format without timezone information, and a few errors by the operator (me) along the way.