PyBlosxom Hacks and Plugins
PyBlosxom is a
lightweight weblog system written in Python and it is the software that
I use to run my own weblog, copyrighteous.
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 have submitted a number of patches to PyBlosxom
and written a variety of plugins and extensions. Several of these can be
found in the PyBlosxom
Plugin Registry but the canonical home of all of them is this
page.
If you you use or try any of these have a patch, improvement,
suggestion, question, or a bug you'd like to tell me about, feel free to
email me at mako@atdot.cc or contact
me using any of the ways mentioned on my contact
page.
My Plugins
- Akismet Comments:
This plugin merges the work of two plugins by myself and Blake Winton.
The comment uses the API of akismet.py and provides a simple plugin with
callbacks appropriate for use in PyBlosxom. You use it, you must install
aksimet.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 support
creating a hierarchical (by year) archive list which can easily 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
- 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" CATPCHA 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 index the comments. You can read and
reproduce the flavor by reading the documenation in the link below.
Documentation: blog
entry