I just converted this blog from Serendipity to Blogofile, and I am in the process of converting my bigger and more important Polish blog. The news as such is not particularly important (although I would appreciate a warning in case I spoiled something), but I think that the scripts I wrote to aid the conversion may be of use for somebody.
Both my scripts are published here on the bitbucket.
serendipity2blogofile.py
serendipity2blogfile.py exports all posts (annotated with categories, tags, creation dates etc) and static pages to plain text files named and formatted in sync with blogofile conventions.
Posts should more or less work after the conversion, although:
- one may need to change the file name extension depending on the format used, I default to
.markdown
), - split before extended part is marked by
<!--more-->
mark and requires custom excerpting function to replicate s9y behaviour (example dumped in_config_extra.py
generated by the script).
Static pages require proper templatization and do not work out of the box, but preserve text content.
The script may be easily adapted to other plain text exports (main effort while writing was spent on modelling SQLAlchemy classes for the s9y database, the rest is rather easy).
serendipity2disqus.py
serendipity2disqus.py exports all comments (including thread structure) to the XML format suitable for Disqus import (this one). To use them properly from blogofile (or other) setup I recommend setting disqus identifier to the post numeric id, for example:
var disqus_identifier = '${post.id}';
although permalink should work too:
var disqus_url = '${post.permalink}';
The script is not dependant on Blogofile, it could probably be used even if somebody wanted to convert comments within serendipity installation to Disqus.
Serendipity is fine
Final note: Serendipity is fine, it is a nice, fairly well designed blog engine. I stop using it because it does not fit my writing habits anymore (I want version control and scripting for my posts, not web-based editor), but for people looking for normal blog engine it may be a good fit.