PyBlosxom Hacks and Plugins
These plugins and patches are unmaintained, ancient
software. They were written in the mid-2000s and I have
not touched them in many years. I no longer fix bugs in them or
accept patches. This page is here for the sake of documentation.
If you would like to take over any of these, please get in contact with me and we can arrange a
transfer of responsibilities.
PyBlosxom is a
lightweight weblog system written in Python and it is the software
I used to run my weblog, copyrighteous,
for many years before switching to WordPress. It originally started
out as a Python clone of Blosxom. While it has diverged and improved
— "blossomed" if you will — with time, the basic ideas
behind PyBlosxom (e.g., simplicity, use of the filesystem as a
database) have remained central.
PyBlosxom is extremely modular and easily extensible. In my course of
using the software, I submitted a number of patches to PyBlosxom and
wrote a variety of plugins and extensions, all of which are
documented below.
My Plugins
- Akismet Comments:
This plugin merges the work of two plugins by myself and Blake Winton.
The package uses the API of akismet.py and provides a simple plugin with
callbacks appropriate for use in PyBlosxom. To use it, you must install
akismet.py and put it somewhere in the PYTHONPATH (e.g., in the
PyBlosxom plugins directory). Additionally, the package now also
contains a small command line utility for reporting any false negative
comments as spam to the central akismet database and a short README file
including documentation.
Version: 0.3
Download: akismet_comments-0.3.tar.gz
Documentation: README
- Hierarchical Archives: After several
years of blogging, I found that the list of Archives on the side was
getting extremely long. I rewrote the plugin archive so that it supports
creating a hierarchical (by year) archive list which can easily be made
collapsed and collapsible with a little bit of Javascript. I have
documented doing this in the documentation for this plugin. You can see
an example of what you can do with this apparently subtle improvement on
my blog copyrighteous. This plugin is
closely based on the original archives plugin. If the current PyBlosxom
maintainers like it, this plugin may eventually replace the old Archives
plugin.
Version: 0.1
Download: hierarchical_archives-0.1.tar.gz
- Markdown2: A small PyBlosxom
plugin that renders blog entries written in Markdown using the
markdown2 Python library.
Source: gitlab.com/makoshark/pyblosxom-markdown2
- Selective Ads Plugin: This very
simple plugin is designed to include advertisement text onto a page if,
and only if the page request is referred from a search engine. The idea
is that a blog owner may want to show advertisements to those who have
found the blog by searching but not to their core readership. In
reality, the machinery is more general. The plugin displays an arbitrary
string on your blog if the referrer of the requests matches any of a set
of patterns or regular expressions.
Version: 0.1
Download: selective_ads-0.1.tar.gz
Patches and Improvements
- Stronger "NoSpam" CAPTCHA Plugin
Patch: Steve Armstrong's NoSpam plugin is easily defeatable by
many spambots. I have borrowed code from the CAPTCHA used by MediaWiki's
FancyCaptcha and built a much stronger NoSpam plugin. To use
it, you will need to apply my patch to the upstream
nospam module plugin.
Download: patch
- Non-Indexed Comments Flavor (Anti-Spam):
In a blog post, I described, in some depth, how to split a default HTML
flavor into two flavors that will ensure that search engines can index
the content of the blog without indexing the comments. You can read and
reproduce the flavor by reading the documentation in the link below.
Documentation: blog
entry
Conversion Tools
- pyblosxom2wxr: A fork of an
upstream tool for converting a PyBlosxom blog into WordPress
eXtended RSS (WXR) format for import into WordPress.
Source: gitlab.com/makoshark/pyblosxom2wxr