Installing The Maker On Linux

A screenshot of The Maker 1.51 running on Linux Mint 14 with Cinnamon desktop. A Terminator window can also be seen in the background.
The Maker 1.51 On Mint 14

Recently I was lucky enough to co-host an episode of FLOSS Weekly about The Maker, a hybrid CMS/editor tool primarily aimed at Mac OS. Though it’s written in Python and uses wxWidgets for the GUI, so you can run it anywhere those are available. Before the show I was unfamiliar with the project I’ll admit, but Randal Schwartz and I had a great conversation with developers Gerald Spreer and Ian Barrow. Gerald was even kind enough to email me about getting this working on Linux and publish a new version with added templates so I would be up to date before the show. Since the show aired I’ve had an email from a listener wanting to know exactly how I got it working on Linux. It’s not a particularly difficult process, but here’s how I got it working on Linux Mint 14.

First you’re gonna need Python of course. Chances are you have this installed but it’s easily available, whatever your distribution. In Linux Mint 14 I had Python 2.7.3 already installed. You need a version of the Python 2.* branch as Python 3 (or 3000 depending who you ask) doesn’t work quite yet. Most projects are still working out whether to port to Python 3 so it’s not unusual.

Next you need wxPython to make the GUI work. This just allows Python to use the wxWidgets toolkit to make the interface. In my version of Mint the package you need is called python-wxgtk2.8 but your package name may vary depending on distribution. I reckon most Ubuntu derivatives will be the same, though I haven’t checked this. For me a quick apt-get was all I needed.

sudo apt-get install python-wxgtk2.8

If you don’t know the exact package name and you’re on a Debian-based system – basically anything with apt-get – you can try this:

sudo apt-cache search wxpython

It’ll list all the available packages it can find. The only other system dependency to satisfy before you can run The Maker is Markdown2, an intermediate text-to-html language. It’s often used on forums and wikis for simplifying input. The package I needed was called python-markdown2 it seemed. This was a little harder to sort out though as I couldn’t find it in the Mint 14 repositories. A Google search yielded this old Google Code project. It seems they’ve moved to Github now though, like so many other projects. I looked at the instructions and noticed you can install this easily with Pip, the alternative Python package set. For me it just took a couple of quick commands:

sudo apt-get install python-pip
sudo pip install markdown2

With that all done you now have everything needed to run The Maker. So head to their download page and grab a copy (I used 1.5). Extract it somewhere on your system and navigate to the folder in a terminal. I’m not going to walk you through all the commands for that, I’m assuming some level of terminal experience here. From the folder you’ve extracted The Maker you can just run the following command:

python maker.py

Bob’s your uncle, as we say in this part of the world. The Maker should fire up in a window (see screenshot at top of the page).

I know this isn’t the most comprehensive guide but hopefully it helps some people a bit. If you have problems, suggestions or thoughts then feel free to drop a comment below. I haven’t had much chance to use The Maker properly yet but it’s an interesting project. So if you want to know more about it, watch the interview we did.

Happy camping!

Dan

One comment

  1. Thanks Dan, v. helpful tutorial.
    BTW If anybody has more than wxpython version (e.g. 2.8 and 3) then putting:
    import wxversion
    wxversion.select("2.8")

    in the beginning of maker.py, kills this error:
    wxPyDeprecationWarning: Call to deprecated item 'InitAllImageHandlers'.
    wx.InitAllImageHandlers()

    I had this issue on me 2nd machine (Archlinux).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.