Short Attention Span Theatre

Switching to a website generator that fits my schedule

In working with Hakyll the biggest problem was my lack of fa­mil­iar­i­ty with Haskell, and my lack of time to learn it suf­fi­cient­ly to feel com­fort­able with the software. After a while I started to get irritated by my lack of un­der­stand­ing, 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 easy_install or pip. I chose pip because I have an issue with software that cannot be easily unin­stalled. Acrylamid was installed using the following in­can­ta­tion.

# pip install acrylamid

On my system, that actually installed a few other packages in addition to acrylamid, specif­i­cal­ly Jinja2, Markdown (in python), and translit­codec.

Con­fig­u­ra­tion took a bit more finagling than I expected because the tokens for the hour and minute of pub­li­ca­tion were not available when generating each post. As a result I requested a fix via pull request which was accepted within a day. Un­for­tu­nate­ly the fix only applied to the current de­vel­op­ment branch, not the release available via pip. The lack of a release which could be installed via pip was not a show-stopper, because the procedure to have pip 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 con­ver­sions I had la­bo­ri­ous­ly 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 en­coun­tered a similar difficulty, and the solution to my problem (setting TZINFO = "UTC" in conf.py) was in the comments.

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 trans­lat­ing the (hand-named) post di­rec­to­ries to the standard "slug" format. It turned out the slugs are generated using a public domain python function.

Overall, this was a relatively painless and simple process requiring minimal time before the site was trans­ferred. Most of the delay was in the actual conversion of date/time in­for­ma­tion to a format without timezone in­for­ma­tion, and a few errors by the operator (me) along the way.

Mathopd and reprepro » « Solarized cheat sheet
sast favicon