Making blogging easy

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 , , ,

Typo 5.0.4 beta is out

After 4 months of hard work, doubts and refactoring, Typo, aka Typo 5.0.4 beta is finaly out. As for any beta release, it was mostly done for testing purpose, and to let our happy translators do their job. So please, fill in bug reports when you find one, and don’t be shy, submit a patch along :-). All the features are not frozen yet, even though any addition will be minor.

So, what’s new there? Many things.

Multi roles, we did it

Multiple roles are finally here, thanks to the work of Davide D’Agostino and Cyril Mougel. You can now choose between Administrator and Publisher. Contributor may come soon, but this special profile needs some more development.

A new default theme

Typographic is a simple, clean theme made by Hélène from O2sources, a French company involved in free and open source projects. Typographic relies on lightness, simplicity, warm colors, and adapts your screen… up to a certain extent.

New default theme

Dirtylicious and Standard issue have been removed and are now hosted at Typogarden. If you want to keep using them, you’ll have to download them first.

A brand new admin

The admin has been rethought, lot of code has disappeared, and it’s now cleaner, lighter and easier to use.

We now have tag management, which we plan to improve with things like tag merging, or detection of too close tags. We also offer tag autocomplete in the publishing interface.

New Dashboard

The publishing interface has been rebuilt to be easier and clearer to use. We’ve dropped the live preview powered editor since it was really killing the server by sending continuous AJAX requests.

New default theme

The come back of the gem

The gem is back and working, which means Typo has never been easier to install. Just run

<typo:code> # gem install typo # typo install /some/path </typo:code>

And you’re done. Typo is now running on a random port using sqlite database.

However, we don’t recommend this configuration for production use. Even though there are many ways to run a Rails application, we have chosen and support Passenger aka mod_rails with MySQL as the easiest and most reliable way to run Typo.

Published on 29/06/2008 at 19h26 by Frédéric de Villamil, tags , , , ,

Typogarden is now our new official themes repository

We’ve been working the whole week-end to set up the new Typogarden, and even thoug there are still much themes to port, we’re happy to announce our new official theme repository is now open.

Typogarden used to be Typo theme contest website. Unfortunately, the site became a forsaken land since mid 2006. We had the project to take over it and make it revive for long, but lacked both the domain name and the time to do it. And since a garden is notheing without a gardener, we’re happy to welcome Damien Mathieu, a French web developper and happy Typo user as Typogarden maintener. Welcome to the crew dude. I’m sure you’ll be the man.

There’s still a lot to do. First we need to finish importing themes from Proofread and dev411. Then, port some popular Wordpress themes to Typo to enlarge our collection, and wait for genuine theme submission.

Submit a theme to Typogarden?

Now that you have tested your theme, it looks great, and you’re a kind and giving person, so you want to share it with other typo users. Remember, typo thrives on the contributions of the many contributors all around the world. Please do become one of them.

While guaranteeing full employment for intellectual property lawyers may seem to be a laudable goal to some, please make sure that you have permission to use all the elements you submit with your theme before you send it in.

  • Make a “tar ball” or zip : Zip up your theme directory or make a tar ball with a command such as tar cjvf mytheme.tar.bz2 mytheme.
  • Share your well-tested theme: Create a new ticket with [THEME] as the first word in the summary and upload (not paste) your zip or tarball.
  • Keep an eye on your ticket in case there are any reservations raised before it can be added.
  • Bask in the glory of being a typo contributor!

Published on 09/06/2008 at 12h06 by Frédéric de Villamil, tags , , , ,

Moving from trac to redmine and other upcoming plans

Once again, we’re late on our planned schedule since Typo 5.0.4 should have been released 5 days ago. Piers and I have been pretty busy lately, and I’m now waiting for some external material in order to release a 5.0.4b1.

Since I was moving Typosphere to a new server, a nice 2.33ghz dual core with 4gb RAM running an Apache and mod_rails on FreeBSD, I also wanted to stop using trac as a bug tracker. In spite of being used by many open source projects around, trac is just a bloatware. I was really fed up with cleaning the session table twice a month just to avoid having it consuming 99% of my server resources. There was another reason why I wanted to ditch Trac: it’s Python, and Redmine is Ruby. As far as I know, every URL but the RSS has been redirected properly.

Typogarden is going to change too and become a theme repository based on a Typo install. I will certainly call for gardeners someday to maintain the thing once I’ve installed the new Typogarden in its new home.

More to come soon, stay tuned.

Published on 05/06/2008 at 13h50 by Frédéric de Villamil, tags , , , ,

The long road to 5.0.4

Guess what? We’re not dead, and we’re even working on Typo next minor release which should be 5.0.4.

Last week-end, we finally added tag administration, after integrating Cyril Mougel’s tag autocompletion. You can now edit tags, delete them, and you will soon be able to merge them.

We’ve also fixed some of the remaining bugs, leaving Typo with only 3 open bugs now. We now there’s still much to do, and we’ll run extensive tests to find remaining naughty bugs.

There is still lot to do and guess what ? You can even help us submitting patches (and tests, never forget tests).


We know how much our doc is outdated, and the next release will change this for 3 major docs:

  • Typo user guide.
  • Typo install guide.
  • Typo theming guide.


If we had to find a single common point between our doc and our doc, it would certainly be not being up to date at all. Wordpress and Movable Type have evolved as we were evolving too, and converters were left aside since 4.0.

We now need to update these converters to reflect last Wordpress and Movale Type version, and allow people to switch from them to Typo. A migration doc should also be written.

Multiple users

Multiple users has been on our TODO list for a long time now, and is still slowly going its way. It will be made in 2 times : multiple users with profiles and grants, then per users settings for the whole blog.

More admin tweaking

I’m still unsatisfied with the current admin and plan to improve it a bit. I’ve asked a designer frend of mine to help make the current one cleaner while keeping it the way it is, which mostly implies CSS tweaks.

I also want the admin to be the simplest possible, following the Habari project path I really felt in love with in terms of usability.

And last but not least, more dashboard information.

Published on 07/04/2008 at 16h47 by Frédéric de Villamil, tags , , , ,

Powered by Publify – Thème Frédéric de Villamil | Photo Glenn