Here’s a timely and helpful migration guide for those of you still running pyblosxom on www.gnome.org! Most of this guide will apply for other pyblosxom users wishing to migrate to a WordPress host, but it’s especially suited to the poor souls still running it on www.gnome.org.

Let’s get to it!

  1. Copy the rss2renderer.py plugin into your plugins directory:

    cp ~jdub/rss2renderer.py ~/bin/pyblosxom/plugins/

    This will provide better RSS output than the built-in templates, which will allow us to export your categories (subdirectories in pyblosxom) as well as your posts.

    Here’s a copy for those of you not hosted on www.gnome.org. 🙂

  2. Add the following configuration stanza to ~/bin/pyblosxom/config.py:

    py['rss2_extension'] = "/index.rss2"
    if "/index.rss2" in os.environ.get("PATH_INFO", ""):
        py['num_entries'] = 0

    This tells the rss2renderer plugin to output all of your entries when it’s invoked. We set it conditionally so that your flav=rss output stays small (that’s what everyone’s subscribed to, so… let’s not punch them in the face).

  3. Change to the directory where your config.py and blog files are located. Most likely ~/bin/pybloxsom/ or ~/public_html/:

    cd ~/bin/pyblosxom/ or cd ~/public_html/

    Now for the fun bit!

  4. Run pyblosxom on the command line, to save your entire blog as an RSS feed:

    REQUEST_METHOD=GET PATH_INFO="/index.rss2" python blog < /dev/null | sed '1,/^$/d' > ~/export.xml

    Keep in mind that’s a single, one-line command. Now that we’ve got something to import into WordPress…

  5. Log in to your WordPress admin interface.

    Click Login or Site Admin in your “Meta” sidebar.

    WordPress Login

  6. Navigate to the RSS Importer.

    Click through Manage > Import > RSS.

    WordPress RSS Import

  7. Upload your exported RSS file.

    Click Browse… to find the file and Upload file and import to begin the import process. The import results page will list every entry that is imported, so it can get pretty long. I’ve gimped the image below so you can see the end of a successful import run.

    WordPress Import Done

  8. You’re done!

    Now you can browse through your blog, freshly imported into WordPress!