Creating a Mephisto Theme Using Liquid

Posted by rick | 5 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…

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 :)

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.

Sight seeing in the Mephisto Universe

Posted by rick | 4 comments

Boy, have I been slacking in my duties…

First, Thomas Fuchs migrated his blog, as well as the Fluxiom Blog and typestorming to the latest Mephisto. Very cool stuff. He even hints at some plugin trickery performed on on typestorming. He’s been one of the earliest supporters for Mephisto, putting (I think) the first company blog on Mephisto before it was even ready for widespread use.

Second, John Long, author of the distinguished competition (Radiant), moved his blog to Mephisto. It’s interesting how two very similar applications came out about the same time. I know I probably would not have bothered with Mephisto had I known of Radiant. But as it worked out, there are two bad ass publishing systems out for Rails with different approaches. They are surely different in philosophy, but they are also fighting the same enemy (and that is a discussion for another time).

Things have quieted down on the Mephisto front, but there are people pushing the boundaries of Mephisto’s crappy incomplete plugin system. Justin has been doing some crazy liquid templating stuff, and simplifying how sections work. There’s also been talk about refining the permalink system a bit, adding support for podcasting, etc. 2007 should be a great year for Mephisto.

Mephisto Plugins: Day 1 and 2

Posted by rick | 2 comments

Day 1 – I added a way to customize the routes, include controllers, and add tabs to the Admin interface.

Day 2 – I added a way to customize the Mephisto application classes from plugin modules.

This is very experimental stuff in Mephisto trunk. Check it out if you’re a rails developer.

For those of you with memory problems

Posted by rick | 8 comments

A month ago, Multibyte support was added to rails, which is a great thing for internationalization. However, it had this nasty habit of loading a Unicode codepoint database on startup, even if the application isn’t using it. I just committed a fix to Rails that should help out with the memory usage. Mephisto doesn’t use the UTF-8 Handler now, so you should see some nice savings in memory.

If you want to try it out, just freeze your edge rails to revision 5476 or higher.

Akismet Support is Back

Posted by rick | 5 comments

I found this article on Soaked and Soaped on protecting against spam with Akismet. It’s a pretty standard introduction to David Czarnecki’s ruby Akismet lib (the same one that Mephisto’s Akismet lib is derived from). I noticed he mentioned using an author of ‘viagra-test-123’ to test that Akismet was working. And, it wasn’t on this site, so I investigated further.

Apparently, Akismet started requiring the blog parameter sometime after I first integrated this support. David’s lib didn’t have it, so apparently Jordan Arentsen had to modify his to work. I did the same, while refactoring Mephisto a bit. Now, the comment_check method checks for a value of ‘true’ to approve a comment, instead of checking for a return that isn’t ‘false’. Had I checked that correctly, the broken Akismet lib would have marked all comments unapproved.

So, Akismet support should be working now. As a little bonus, the Approve/Unapprove links in the Comment Moderation Admin will make calls to Akismet to mark a comment as spam or ham. If Akismet steps out, correct it real quick, and remove the missed spam if needed.

Managing multiple local Mephisto repos with svk

Posted by rick | 0 comments

One of my early design goals with Mephisto was make it possible to run without managing your own local changes. I’m able to deploy to three different mephisto installations with separate capistrano recipes, and the only differences are templates and assets. Sometimes, however, you may want to modify Mephisto for custom projects. Chris McGrath shows us how he’s managing multiple Mephisto repos with svk.

In fact I’m loving Mephisto so much I’ve decided to use it as the blogging engine on a client project. This project doesn’t require very advanced blogging, but it does require that it’s integrated with the main site with seamless user registration and multiple sites. I’ll write more about that when I do it, but first I want to show how I setup my development environment so I can track changes to Mephisto trunk, make any local changes I require and deploy using Capistrano.

The article also doubles as a simple introduction to svk.

Installing Mephisto without required gems

Posted by rick | 7 comments

Mephisto uses a lot of gems currently, but packages up the current versions in vendor to make installation easier. There are only two gems that aren’t included; RMagick, and TZInfo. RMagick is a pain to install, but not actually required for Mephisto to operate. TZInfo, however, is required. I didn’t include it because it seemed like a rather large gem. But don’t despair, Mephisto has a simple way to freeze gems.

# local copy
gem install tzinfo
# saves to vendor/tzinfo-0.2.2
rake gems:freeze GEM=tzinfo

Now, upload this directory to your server and restart. If you’re using capistrano, you’ll need to throw it in shared and write some after_update_code task to copy it over. I’ll detail this more in a future Tips post.

What is Mephisto?

Latest Release

0.8 (Drax)

Community

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.

railsmachine
Click here to lend your support to: Support Mephisto!!!! and make a donation at www.pledgie.com !