Creating a Mephisto Theme Using Liquid

Posted by rick | 7 comments

Jon Baker wrote a great article on creating Mephisto themes. There’s also a nifty Liquid for Mephisto PDF cheatsheet by George that was released on the same day.

Finally, who posted as Dr Acula in the previous post? Totally awesome…

Applying CPR to Mephisto

Posted by rick | 14 comments

I’ve just added the over eager Mark Dagget to the Mephisto Core Team. He’s the author the open source project RAM (Ruby Asset Manager), as well as Pledgie. His main task is keep Mephisto on life support, starting with adding his unreleased but excellent Exception Notifier plugin.

Large Mephisto Deployment

Posted by rick | 8 comments

I’m not sure how many other large sites use Mephisto, but I managed to deploy it to the other day (after lots of heavy modding to get things like polls and article ratings working). Leaky gets about 3 million unique visitors a month – and with 9,000 articles and over 300,000 comments (not all of which have converted yet) I thought I’d let you know. —Mephisto group message by Nick Poulden.

I’m not sure, but I think that’s one of the largest Mephisto installations around. Great job, Nick Poulden!

New Contact Feedback Plugin

Posted by rick | 10 comments

James Crisp wrote a nifty Contact Feedback plugin for Mephisto for the new Thoughtworks Studios site. The plugin looks nice, and fills a common need in Mephisto. Also, the Thoughtworks Studios site is extremely well-done. I had seen it before, but didn’t realize it used Mephisto. Major kudos to James Crisp and Thoughtworks!

For anyone that asks: it looks like the main difference between this, and my own feedback plugin is that mine doesn’t send emails. It stores them in the DB and lets you browse in the admin. Nice since your inbox doesn’t get the spam, but I’ve been finding that I often forget to check it :)

Is Mephisto Dead?

Posted by rick | 32 comments

Is Mephisto dead? I see much more Typo activity recently than Mephisto. It’s the same with most open-source Rails apps. Development is cyclothymic – people get excited in the beginning, then slow down (or completely stop) – probably work on some “for pay” project, then get excited again (when the paid project is completed maybe?), then slow down again and so on. Substruct, Collaboa, Typo, RadRails, Project RIDE-ME, Active Merchant and many others… I don’t see this happening in Java world and I miss the “die hard” Java enthusiasm in the Rails community. —Nikolay Kolev, comments on previous article

Nope, it’s been on hold since the end of 2006. Mephisto has a tiny development team, and we’re both busy trying to launch a web service. We have 0 funding, so we’ve basically been devoting our “OSS project time” (and “sleep time”) towards Lighthouse instead.

I’ve found that most of the ‘successful’ open source projects have some source of real funding. Either there’s a company that needs the product enough to fund/hire the team, or they make enough through custom installs or commercial versions. Other than a handful of small consulting gigs and some donations, Mephisto has been purely a labor of love for us.

What’s going on right now:

  • I’m entertaining the idea of extending to the core team, but I don’t feel there’s been anyone that seems interested in devoting the time.
  • However, I’m thinking seriously of extracting a few things out as “official plugins” and opening up access on those small areas. The current candidate is XML-RPC support.
  • There’s a small 0.7.4 update with a few security issues and annoying bugs fixed
  • There’s an edge version with some notable new features (plugin admin, plugin support for RHTML/HAML templates, and soon: a multi-site admin)
  • Once Lighthouse goes out of beta, we’ll have an official bug tracker.
  • Core team doesn’t haven’t to mean “svn commit access” either. It could also mean “ticket overlord” or something.
  • DNS info is currently being transferred to moniker…

However, Justin and I are committed to keeping Mephisto true to its roots. We’re not going to turn it into another bloated CMS, or a community blogging tool. It’s also not a kickstart to your rails app development. It’s strictly going to remain a kick ass publishing tool. Further features/integration should be done through the power of hyperlinks or APIs (exposed through custom Liquid drops).

Globalizing Mephisto

Posted by rick | 5 comments

Saimon has posted a mephisto_i18n plugin, as well as the first part of a companion tutorial for globalizing your Mephisto site.

New Mephisto Theme Gallery

Posted by rick | 3 comments

Pascal just unleashed another Mephisto Theme Gallery, with a nice new theme ported from Wordpress: Cutline (side note: it’d be nice if we could link to themes directly somehow).

One neat feature is that Pascal provides some of the themes in alternate formats, such as RHTML, Erubis, and HAML. He took a bit of encouragement from me and managed to refactor the Liquid support in the edge version of Mephisto. It now supports custom template renderers in the form of plugins, with renderers for (you guess it, true believer!) RHTML, Erubis, and HAML.

On another note, one of the few original Mephisto themes, Skittlish, gets a Wordpress makeover.

Mephisto + Shopify

Posted by rick | 5 comments

Interesting, Endoborn seamlessly merges Mephisto and Shopify into a slick clothing store. This is a great example of why we need to stay simple. Reject the notions that you need to throw in event calendars or ecommerce stores into Mephisto, and embrace those niche services like Shopify.

Excellent work from the SofaMade folks!

Pledging your support

Posted by rick | 4 comments

Observant visitors will notice that the paypal donation button has been replaced with a button for Pledgie. This is a new, free service from Mark Daggett and Garry Dolley, authors of RAM, to help raise funds. It’s a nice, transparent little service, so I’m just giving it a test-run here. Thanks to any future pledgies out there, and especially thanks to everyone that’s already donated.

Update: Wow, that was quick, the pledge has been met already! Give Pledgie a spin and donate to some other fine projects like RAM or Pastie.

Mephisto documentation in the works

Posted by rick | 7 comments

Chris Dwan has been spearheading a full documentation effort for Mephisto. It’s far from complete, but there’s already some basic information filled out to get you started. There’s also a spot to ask those tough questions if you find you need some specific help. Everything is implemented in Stikipad if you’d like to pitch in. However, with the success of the Prototype site (the Prototype core team did a bang-up job), I’m leaning towards eventually moving this to another Mephisto site on this instance.

Mephisto Roadmap

Posted by rick | 5 comments

Last week, Justin and the rest of the Prototype Core Team launched the new Prototype site. Justin managed to run into several shortcomings in Mephisto that we hope to address in the near future.

We both intended to take a break for a bit from Mephisto, but this project sort of forced to get back into it to address a few things. In addition to all that, I managed to commit early versions of two brand new features: Asset attachments (for atom enclosures), and a plugin admin. These live only in the trunk branch and are still a little rough though.


Assets are now able to be attached to an article. This opens up two possibilities that I can think of now. One: you can assign things like custom downloads, or associated header images to display in the template. Previously, this would require hard-coded links in the article body. The other, even cooler possibility is that now you’ll be able to create podcasts. Simply label the asset as ‘podcast’ and it’s added to the atom xml automatically. This approach probably isn’t the best, but I’m also not too keen on adding another checkbox for it.


This feature was mostly written by Nick Faiz, author of the mephisto_amazon plugin. Previously, it had a few hard-coded values, such as the amazon dev token. However, the big advancement of the Plugins area is that you can now add user-definable options for plugins. Here’s the Amazon plugin class, and another for my Feedback plugin. You may also notice the beginning of a DSL for defining plugins. For now we have macros to add routes, set up controller view paths, add tabs, and set up default option values.

Other Stuff

Justin and I plan on simplifying the paged/blogged section setup. I’ve never been quite happy with how everything works, but I could never think up a better approach. My refactoring of the dispatcher code was a step in the new direction, though. By adding custom permalink paths, I opened the app up to a lot more possibilities. But, we ran into a some limitations on that. Eventually, I’ll be refactoring that so each section will have its own permalink style, instead. This will solve the problem of certain paged articles having multiple URLs: their default blog style permalink, and their page under one of their parent sections.

That’s about it for the major features. I have several smallish bugs listed, as well as several areas of code I’d like to refactor. I can’t guarantee when we’ll get around to finishing this stuff up and releasing. However, I may gather up all of the small bug fixes I’ve received and push out 0.7.5 sometime to tide you all over.

Mephisto Theme Gallery

Posted by rick | 4 comments

Ben Vinegar and Justin Hernandez recently released the Mephisto Theme Gallery. I’ve you’ve created a theme that’s not listed there, use the provided submission form to add it. It’s nice to see some folks pitching in to help the community out. The authors are eager for suggestions, so let them know if there’s more you’d like to see.

Plugin Spotlight: Article Image Fetchy

Posted by rick | 6 comments

Today I’d like to highlight the mephisto_article_image_fetchy plugin, from the twisted mind of courtenay. It scans the article body for any image tags, creates assets from any remote images, and replace the URLs in the body of the article. (see included image as an example, linked from here).

For any plugin developers, notice how this uses a module and #include_into to extend Article, and the little-known #body_doc method to grab an HTML::Document of the article body. I actually added #body_doc to the filtered_column plugin so that more plugins like this could be made without having to generate the document multiple times.

Improved Url Escaping For Permalinks

Posted by rick | 5 comments

I recently received some code to translate certain non-ascii codes in your article titles into a more URL-friendly permalink. Though, at David Black’s suggestion, I decided to use Iconv instead. Seeing that I’m creating permalinks in several projects now, I’ve extracted this into a new rails plugin: permalink_fu.

Let me know how this works out. Hopefully iconv is available on your platform too. It’s my understanding that it’s in the ruby standard library, and included with the Ruby One-Click Installer for Windows users.

New Asset thumbnailing options available

Posted by rick | 16 comments

I just committed a change to Mephisto that makes Image Science the new default thumbnailer, instead of RMagick. What is Image Science?

ImageScience is a clean and happy Ruby library that generates thumbnails—and kicks the living crap out of RMagick. Oh, and it doesn’t leak memory like a sieve. :)

All I used RMagick for was thumbnailing. It seemed to wreak havoc with your memory, especially on shared hosts, so I commonly recommended disabling RMagick. In a few local tests, I watched the memory jump up to about 90MB from uploading < 1MB of images with RMagick. Yikes. ImageScience tears through them without much of a blip in memory usage.

Course, since no ruby host has ImageScience and FreeImage installed probably, you probably won’t see any benefits. Don’t worry, it should drop back to RMagick if it’s not installed, and should skip thumbnailing altogether if RMagick isn’t installed. You can customize this in environment.rb now too: ASSET_IMAGE_PROCESSOR = :image_science || :rmagick || :none (Only add :image_science, :rmagick, or :none).

Let me know how it works out. Also, I’d try hitting up your hosts and seeing if they’re up for installing FreeImage and ImageScience. I hope so, this covers probably the majority of RMagick usage, which is widely known to cause problems on shared hosts.


About Mephisto

Mephisto was baked to golden perfection by Rick Olson(Development) and Justin Palmer(UI/Design) with contributions from a bunch of cool people.

Click here to lend your support to: Support Mephisto!!!! and make a donation at !