Release of Typo 5.3 Robert Franck

We’re proud to announce Typo 5.3 “Robert Franck” release, 1 day hahead our due date. After moving to Rails 2.2, Typo next release was just supposed to be a minor version, some bug fixes, maybe some enhancement, but nothing more. Unfortunately, what we decided to do went far beyond our foolishest expectation, and Typo 5.2.1 finally became Typo 5.3, as a major release.

But let’s start with the new features first.

The main feature is without contest the new dynamic permalink scheme (with automated redirect from the old permas). You can now chose your favourite permalink format for articles only. Have a look at for more information.
Adding this went with lots of code ditching and refactoring. Cache system has been rewriten from almost scratch, and buggy semi static caching has been dropped.

We’ve finally added the long waited Feedburner support. Just add your feedburner ID in the admin, and let the magic happen.

Another feedback from 5.2 was to get text filter settings on a per user and a per article basis. This is now back. When upgrading from a previous Typo version, every user will be given the blog default’s text filter.

Even more SEO capabilities. Tags and categories can be removed from search engines, using noindex, removed from sitemap.xml, and Typo now has a robots.txt editor…

The old drop down menus were replaced with some fancy calendar like date pickers in article date editor.

Notifications for sidebar save and autosave are now done using growler, a fancy growl like javascript thing.

Inline editor switching à la Wordpress. Isn’t that one really cool?

Admin can now deactivate users.

More performance improvement, Typo is really fast now

Thank you to all the contributors who helped us, sending improvements and bug fixes We’re now waiting for your feedback, ideas for the next roadmap… Enjoy.

Your Typo team

Published on 27/03/2009 at 12h50 by Frédéric de Villamil, tags ,

Features frozen for Typo 5.3

Yesterday, Cyril and I have decided to freeze the long list of features of the soon to come Typo 5.3, pushing password protected posts and spam filter daily digest to a later release.

many bugs have been fixed lately, and, unless we discover remaining bugs, we consider the current version as usable in production, which means a first release candidate may come quickly. Stay tuned !

Published on 14/03/2009 at 12h14 by Frédéric de Villamil, tags , , ,

Typo gets dynamic permalink URL

If you’ve been following our commits on Github, you must now know that, despite being quite silent here, we’ve been working hard on your favourite Rails application. Typo 5.2.1 is on its way, and even though it’s now too late to submit requests for enhancement, you can still submit bugs, and we’ll try to fix them as much as possible. You can also ask for features and improvements, but they won’t be in our next release, unless you submit a patch with tests.

Cyril has recently been working on a separate branch, to develop Typo 5.2.1 main feature: dynamic permalink URLs for posts. This is a great improvement and a great work he can really be proud of. Permalink URL were almost hard coded in typo, forcing people to use the /date/month/year/permalink scheme. You can now define your permalinks in the SEO part of your Typo install, using some reserved keywords:

  • %year%: year.
  • %month%: month.
  • %day%: day.
  • %title%: post slug

This gives fancy things like :

  • /%year%/%month%/%day%/%title% is the default option, and will generate /date/month/year/permalink.
  • /foo/%year%/bar/%day%/joker/%month%/hiphop/%title% will generate /foo/year/bar/day/joker/month/hiphop/permalink. I know, this is totally useless, but it works.
  • /%title%.html will generate /permalink.html URL.
  • And so on…

Will this break something?

Absolutely, this will break your existing theme an horrible way if you’ve been using an heavily tweaked one. Check in your themes for the /views/ directory. If you find something there, it must be brocken. Otherwise, it may still work fine.

So, what do I need to change?

Not much actually.

  • In articles/commentbox.html.erb use @article.commenturl instead of commentspath(@article)

  • all link previewnewcommentpath(@article) are change to @article.previewcomment_url

  • all link urlfor formattedarticlepath(@article, :rss) are change to @article.feedurl(:rss)

  • all link formattedarticleurl(@article, @format) are change to @article.permalinkbyformat(@format)

That’s all folks, see you soon on #typo, we always enjoy newcommers and feedback.

Published on 19/02/2009 at 20h56 by Frédéric de Villamil, tags , ,

Typo 5.2 Helmut Newton for Rails 2.2 released

Even best things must come to an end, and that’s just what happened to Typo 5.2 Helmut Newton for Rails 2.2 development cycle which has been released today, Sunday January the 28th, 2009, 4 months after Typo 5.1.3, the last of the Cartier Bresson series. Eugène Atget, Don Mc Cullin, Henri Cartier Bresson, and now Helmut Newton, maybe those names don’t sound familiar to you. They are just legends of the photography, from the 19th century to today, and tomorrow.

Many things have passed since last summer, which are worth being told. First, Cyril Mougel, another frenchie, has joined the crew, and done a real hard and good work on Typo port to Rails 2.2, making this release possible. Having someone working hard on your project is incredibly motivating at a point you can’t imagine. Second, we’ve moved our sources from subversion to Github. That may seem meaningless to you, but I consider it as the most important step we’ve done since I took over the project. It gave us more visibility than I was ever able to have in 2 years, showing people we were still alive, working, and doing good job. Which led the the third point. Third, we had numerous people submitting patches. We had more contributors on this version than I had in 2 years of releases. I really want to thank them all, because, by adding some improvement here and there, by fixing bugs, they made this version exist. That’s just great, you’re just great. Fourth, we’ve moved our bug tracker to Lighthouse. Redmine is too damn buggy and was permanently using 100% of my 2.4GHZ CPU and 2GB of RAM. Maybe moving to something owned by Mephisto’s creator sounds ironic to you. There is more in terms of irony. One of the guis who made this release possible, being our biggest contributor, is also the one who helped Mephisto to come back alive. Isn’t it ironic? Don’t you think?. I finally made my mind on using lighthouse because it’s a very good product, and that’s the most important.

It’s now time to talk about the release, isn’t it ?

Typo 5.2 is more than a simple port from Rails 2.0.2 to Rails 2.2, it’s a major, deep, rewrite of the application. Sometimes in a software life, you have to stop the run of feature addition, seat down, and watch the path done so far. Typo has known lots of Rails version, including a number of major versions, 1.0, 1.2, 2.0, and now 2.2, lots of additions, improvements, to a point where it became bloated, coming with some pieces worth figuring on Coding Horror. We’ve ditched lot of code, sometimes slaughtering Typo with an axe before rebuilding things, aiming at stability and performance. We’ve also removed some useless features, and managed to divide Typo’s memory footprint by 4 on some really huge blogs. Some of them, like the preview, are useful and are already on our TODO list for the next release.

We’ve also fixed a huge, very huge amount of bugs, too many to be told here, actually, from functionnal aberrations to security breaches. See the CHANGLOG for more information.

What about the features ?

There are hopefully some new features.

  • We’ve rebuilt the admin, almost from scratch, focusing on both efficiency and usability.

  • The new editor is easier to use, and is designed to display every needed information on the first part of your screen. Simple editor comes with easy to use XHTML quicktags toolbar, allowing most widely used tags as well as Typo macros. We plan to improve it in the futur.

Typo 5.2 editor

  • Some global configuration items have been moved on a user basis, like the editor choice. This is the first step to more personnalization. The first one to move was editor.

  • Search engine optimization everywhere on your blog. You can now define keywords and description for your whole blog, as well as for categories. Specially crafted titles and description are also avaliable for your posts, making them easy to index by search engines. Last but not least, in order to avoid content theft, you can add some content at the bottom of your RSS telling where the article comes from, with proper credits and link.

Typo 5.2 SEO configuration

  • A new theme catalogue, plugged to John Wang’s one, which is soon going to be our Typogarden. You can now browse and download up to date themes from your Typo install, instead of browsing the web here and there, looking for outdated templates. All templates at Typogarden have been updated to work with 5.2. That’s cool.

Typo 5.2 theme catalogue

  • The long waited delete all spam button, so cool when you have thousands of them coming each day.

  • Our old code syntax highlighting plugin has been replaced by Coderay, which supports coloration for many more languages: Ruby, C, Delphi, HTML, RHTML (Rails), Nitro-XHTML, CSS, Diff, Java, JavaScript, JSON and YAML. This makes Typo coder friendly as well as user friendly.

  • Excerpts, that allow you to display on your index something completely different as on your article, which won’t appear on your RSS feed.

  • Our live search, which was so hype 2 years ago, showed itself to be horrible to use and inefficient. It’s now avaliable as a plugin and has been replaced with a more traditionnal and clearer search engine.

And many more.

You can now download Typo 5.2 on Rubyforge, or just install the Gem the old way. Documentation on how to install from sources or with Typo installer are up to date at Github.

Once again, thank you to every contributor who made it possible. Hope you’ll enjoy.

Published on 25/01/2009 at 16h31 by Frédéric de Villamil, tags , , ,

Release of Typo 5.1.98 for Rails 2.2

Time has passed since we moved to Github, and Cyril and I have been quite busy working on the next major version of Typo. Migrating from Rails 2.0 to 2.2 was not an easy trip, but we did it and we now can look forward with pride.

Typo 5.1.98 is the release candidate for Typo “Helmut Newton” 5.2, meaning all the work done so far since last September is almost done. So, what?

Typo 5.2 was half rewriting the existing with bugs removal and performances in sight and half adding new features. For the first part, the job was hard, but we’ve divided the memory footprint by 4 for a blog with a hundred articles and a thousand of posts, and the results are faster.

For the features part, Typo comes with :

  • Brand new admin, easier to use. We’ve worked on usability and simplicity, rethinking the whole blogging experience.

  • SEO improvements. We’ve added lots of SEO related things like the ability to choose categories meta keywords and description, remove duplicate titles, descriptions and keywords between pages, clever robots.txt…

  • Coderay support for more code syntax hilghlighting

  • Default live search is now brought to you as a separate sidebar plugin and search internals and results display have been completely rewriten for a better result.

And so many things that I can’t write them down

You can instal Typo 5.1.98 with the gem or download it at

Install Typo from the gem:

Install Typo from sources:

You can also install: Up to date plugins : Up to date themes :

Published on 04/01/2009 at 19h27 by Frédéric de Villamil, tags

Typo theme creation quick guide

Typo offers a very slick and evolved theming engine. It allows theme developpers to override every view of the application, or just add their own layout, stylesheet, and let Typo do the job.
Many themes at Typogarden have been developped long before our current theming engine was introduced, letting people believe you can’t create complicated themes for Typo. That is, indeed, wrong.

A Typo template is made a minima with 3 main files:

  • The layout.
  • A CSS stylesheet.
  • An about file using markdown.
  • You can eventually add a screenshot, and some fancy pictures in your theme, but they are not mandatory.

Browsing a Typo theme looks like:

<typo:code lang=”bash”> themes

  \_ my theme
             \_ about.markdown
             \_ images
             \_ layouts
                       \_ default.html.erb
             \_ preview.png
             \_ stylesheets
                           \_ style.css


Your main file is in layouts/default.html.erb, which is your theme main template. This is a simple RHTML file in which you’ll call Typo main methods.

Your layout’s header

This is a standard HTML file header, along with some ruby calls. Nothing complicated at all here.

<typo:code lang=”rhtml”> <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”


<%= h(page_title) %>

<%= stylesheetlinktag “/stylesheets/theme/style”, :media => ‘all’ %> <%= page_header %> </typo:code>

There are some things you must pay attention to:

  • h(page_title) is the title of the current document. This is generated by Typo, and translation in supported languages is done when avaliable.
  • stylesheet_link_tag is where you call your CSS stylesheet. It will always be in /stylesheets/theme/. Some call it style.css, some application.css, but do whatever you want.
  • page_header withh display a page header generated by Typo. It will provide:
    • ICBM tag, for geo localization.
    • Your meta description.
    • Your meta keywods.
    • Your RSD.
    • URLs for both your RSS and Atom feeds, for automatic discovery.
    • Stylesheets used by Typo embedded plugins, so that you don’t have to care.
    • Google analytics tags, if provided.

Your layout’s body

Every div included here are not mandatory. You just need to care about the ruby calls.

<typo:code lang=”rhtml”>


The importants things are:

  • this_blog.base_url is your blog URL defined in your settings.
  • is your blog title, defined in your settings.
  • this_blog.blog_subtitle is your blog tagline, defined in your settings.
  • content_for_layout is the most important part of your layout. It renders the page main content according to what you’re browsing (articles, tags, categories…)
  • render_sidebars displays your sdebar made of Typo plugins.

Here you are. You can now build a standard Typo theme and profit form the great things Typo can provide.

Typo goes GitHub

I’ve always been pretty hostile to Git and Mercurial like version control systems, and have a particular love to SVN. We’ve however decided today to switch Typo from Subversion to Git, and more precisely on Github. Sources have already migrated on a new repository, and we’re going to close the old one soon.

There are many reasons for this. Some of them are dead obvious, some other are less, but things are now done.

Why choosing Git?

Because Cyril Mougel, my co maintener has been harassing me for months and bribing me with fresh Guiness.

A large majority of Ruby on Rails projects have already migrated from Subversion to Git, following the framework itself. While Typo was sticking to Rails 2.0.2, this didn’t bother us at all. With trunk having switched to Rails 2.2, managing external resources has become impossible. We’re now using both Git submodules for Rails itself, and gem dependencies for other plugins. We’re trying to enlighten our codebase, which has recently been drastically reduced with a double sides axe.

I also wanted to split our officially supported plugins in separate repositories after moving them apart Typo itself. Each plugin now has its own depot, and it’s cleaner this way.

Why Github?

Mostly for marketing and visibility purpose. But also for its great usability and user friendlyness.

We’ll keep using Redmine at Typosphere. The codebase has been cloned locally and will be refreshed every hour to be displayed on the depot part of the site. This is still in progress but will be done very quickly.

Published on 23/10/2008 at 22h02 by Frédéric de Villamil, tags , , ,

Typo 5.1.3 Cartier Bresson bugfix is out

We’ve just released Typo 5.1.3, which is the fourth release of the “Cartier-Bresson” series and released on sunday August the 31th. It is mostly a bugfix and behaviour fix version, so don’t expect many visible changes, except for people having problems with the closed bugs (thank you Captain Obvious). Typo 5.1.3 is avaliable as a gem with installer or sources.

Following some discussion here, I’ve removed the database dependencies from the Typo installer. We now assume that you have the bindings for any supported databases and won’t force you to install them anymore.

Complete CHANGELOG here:

Bug #1244: error with postgresql database on admin/content
Bug #1251: Documentation on dashboard is 404
Bug #1252: migrations alter updatedat timestamps of articles and comments, affects RSS feeds
Bug #1253: Twice redirect in admin/user#list if no admin
Bug #1254: Fix little error when you use bad id in AdminUser#edit
Bug #1255: Doesn’t autosave if no define title
Bug #1256: /article/ 301 redirect hits the default buffer which is not the expected behaviour
Bug #1257: Articles redirect doesn’t work with non-nil relative

Rev #1784: Fixed requirements and added our official Typo mascot
Rev #1786: Fixes a stupid behaviour that forces tags display name to be the same as the name in the url. IE : “web 2.0” would display on a page as web2-0 after transformation, which is stupid. Adds a migration that changes ‘.’ into ‘-’ in tag already in the database. Otherwise, it makes typo crash when accessing that tag. Allows edition of tag display name in the admin.
Rev #1787:Removes database dependencies from installer. Now we assume you already have MySQL, PgSQL or SQLLite adater installed. Deletes 2 themes from FCKEditor, about 300k lighter now. Suppress caching from development environment
Rev #1789: Fixes a stupid bug that allows a non administrative user to change his profile
Rev #1792: Removing tmcode textfilter. It now has its own life at Removing amazon textfilter. It now has its own life at Removing sparkline textfilter. It now has its own life at
Rev #1795: Fixes 2 nasty bugs with autosave. The first one broke autosave when no title was set. We now set a default title. The second one was overriding permalink with a void string when post was autosaved because the permalink field was empty after autosave. For autosave: If no title is given, Typo gives it a title like “Article Draft + post_id”. When publishing, every article-draft-something permalink is just replaced with the article title crafted permalink.
Rev #1796: Enables in admin database migration back, gets rid of the old pre 4.1 general controller, sets the CHANGELOG for 5.1.3.

Many thanks to Cyril Mougel, Matijs van Zuijlen and Frédéric Logier for submitting patches.

Published on 31/08/2008 at 18h13 by Frédéric de Villamil, tags , ,

Typo 5.1 Cartier Bresson is out

Typo 5.1 “Cartier-Bresson” was released on monday July the 21st at around 8PM GMT and can be considered as a major Typo Version.

It contains :

Multiple users and roles

This point actually makes Typo 5.1 a major version. This release introduces 3 roles, coming along with various privileges :

  • Administrator, who owns full administrative and publishing power.
  • Publisher, who owns full publishing power on his own contents.
  • Contributors, who only have the right to login and edit their profile.

There is now an option to allow new users to register by themselves or not. If not, the administrator will just have to add them himself in the admin.

Improved admin

The admin has been heavily refactored to be lighter, easier to use, and offer more capabilities.

  • You can now save your posts as drafts. Drafts now appear in a separate area of your administration to separarte them from offline posts.
  • New editing interface.
  • Tag autocompletion.
  • A new dashboard that makes daily administration easier.
  • Save as draft capabilities
  • Autosave capabilities (only with simple visual editor)
  • Revamped UI
  • Many more…

New default theme

After leaving the too much long used Azure theme for some templates found on open source design websites, we realized Typo needed a new default theme. We asked O2Source a French web Agency involved in many free and open source templates, and they came up with Typographic.

We wanted something new, far from the classic white and blue fixed width wordpressish thing, something with its own personnality, that would take the whole screen and adapt many resolutions, and we’ve been quite delighted with what Hélène produced.

Come back of the gem and the installer

After fixing numerous bugs happening with Typo installed through our installer, we were able to provide the gem again, making Typo installation easier than ever.

MySQL is now the default database and SQLITE dependency has been removed.

Lots of code improvement and refactoring

The code have been improved and refactored, maing Typo lighter than ever. This is a guarantee of less errors.

New migrators

We’ve included new migrators, allowing easy import from Wordpress and Dotclear 1.2 and 2. Typepad and Textpattern may follow soon.

New site with up to date documentation

The bugtracker has been moved from Trac to Redmine, so has the documentation, which has been rewriten in many ways. Access to the doc has also been made easier by merging with

Lots of bugfixes, too much to say here.

Published on 21/07/2008 at 20h40 by Frédéric de Villamil, tags , ,

Typo 5.0.4 beta 2 is out, fixes a critical security vulnerability

Michael Morin has discovered a critical vulnerability in Typo prior to release which may lead to arbitrary code execution and privilege escalation on Typo blogs. Even though 5.0.4b1 was released yesterday, this vulnerability is critical enough to make us release 5.0.4b2 today.

This release also fixes a bunch of bugs such as:

  • Missing dependencies in the installer.
  • articles.rss and articles.atom bad naming.
  • Bad unordered lists display on the new default theme.

You can download this new version on Rubyforge, or just install the gem.

Published on 30/06/2008 at 23h44 by Frédéric de Villamil, tags , , ,

Powered by Publify | Photo Startup stock photos