Good bye Typo, welcome Publify!

It’s been scratching us for a while now, and we finally did it: Typo is no more, long live Publify! There are many reasons why we changed your favorite blogware name, leaving behind us a 7 years old brand and not always glorious history.

Typo is a stupid name for a publishing tool

Typo took its name from a Typo Tobias made into his agenda, giving him a few hours to start coding the blogware that once powered Rails official blog, but let’s be honest, it’s a stupid name for a blogging engine, a really stupid one.

Making typos is not something you would expect when writing quality content, and we indeed expect our users to produce quality content. Typos make content look dumb and their producer look careless if not illiterate.

On the other hand, even though Publify may not be the best, most original name, it means what it should mean: something meant to publish, which is not so bad after all.

Typo is unsearchable

Open your favorite search engine, and look for typo. My bet is you won’t find many things related to Typo. If you’re lucky, our main site will come on first page, but I’m not even sure it will happen.

Google brings 65,300,000 results for Typo, most of them being related to typography, Publify has only 3460 entries. I’m sure you see the point, but finding resources for Publify will become easier as time goes.

There’s already a Typo3 publishing tool

There was a CMS called Typo3 long before Typo appeared. Typo3 is an enterprise CMS developed in PHP, and many people would make the confusion. Typo3 has been around for more than 10 years, and we did not mean to overlap on that name. It actually caused more problems that it solved, because many people were asking us about Typo3.

What about my content / theme / plugins ?

The old typo:code macros won’t work anymore. They’ve been replaced by the same publify:code macros. We’re providing a migration that makes your content work with publify:code.

Your old themes should still be working. If not, just replace all occurrences of TypoPlugins by PublifyPlugins, and all occurrences of Typo by Publify.

Your homemade plugins probably won’t work, because the TypoPlugins class they inherit from doesn’t exist anymore. To fix them, replacing TypoPlugins by PublifyPlugins in your code should do the trick. Don’t forget to restart your Publify blog after doing the changes.

That said, we’re now going to go back to work to release the first Publify version during the summer. Have a nice, sunny blogging.

Published on 10/07/2013 at 14h05 by Frédéric de Villamil, tags

Typo 6.1.4 (get your booty on the floor)

It’s been only 2 weeks since we released Typo 6.1.3 and Typo 6.1.4 is already here. 2 weeks ago, we were sure that Typo was stable enough to ensure a long term release while we would work on our new major release.

3 things prevented us to do so.

First, a new Rails version was released with another important security fix. Typo 6.1.4 comes with that fix so you should definitely upgrade.

Second, we had the opportunity to fix some bugs, and that was another very good reason to release.

Three, we have done a huge documentation effort lately, and we thought it would be a good idea to have it released as well. The doc is now used to automatically deploy our Web Site on Oh, and we’ve also changed our Twitter account, you can now follow us on @gettypo.

Once again, we’d like to thank our contributors Marcel M. Cary, Nicolas Blanco and randomecho for their… contribution to Typo.

Fixed bugs

Moved #defaulttextfilter so Trackback can use it (Marcel M. Cary).

Fixed typo news and latest posts date format with distanceoftimeinwords (Marcel M. Cary)

Fixed Heroku deployment Gemfile (Nicolas Blanco)

Fixes a bug where already published articles publication date would be changed by autosave (issue 141).

Fixed secret token generation on existing blog (issue 142).

Fixed an issue where textfilter showed always as ‘none’, even if set before to markdown (issue 69).

Published on 12/02/2013 at 19h48 by Frédéric de Villamil, tags

History repeating : release of Typo 6.1.3

I love how History tricks you by repeating itself. There’s a lot of irony in the way insignificant events build the perfect running gag in real life. 9 years ago, Tobias Luetke started Typo in a Starbucks because of a typo in his calendar. Today, I was in a Starbucks releasing Typo 6.1.3 because of a glitch in my agenda. History repeating.

I love free software communities too, when it stops arguing about politics and trolling licences to focus on code and releasing software for the fun of it.

Open source world is wonderful. The more active a project, the more contributors it find. Exactly 2 years ago, I was writing (in French) about how Github would kill open source software communities. I still believe a single word of it, even though Github is amazing to make project activity more visible. Typo has 1180 forks and is followed by 858 people without advertising about it. Latest release happened 2 weeks ago, and we had more contribution that I would have expected from 4 great contributors : Nicolas Bianco, Soon Van, Mcary, and Diego Elio Pettenò, who’s been packaging Typo on Gentoo for years.

Typo 6.1.3 is probably the latest of the 6.1 series, and a bug fixing only release. We’re now going to work on Typo 6.2, a feature based release.


For a comprehensive list of fixes, please refer to Typo 6.1.3 Changelog.

The biggest contribution was pushed by Nicolas Bianco. It fixes file upload on Amazon S3. His work andgreat ideas make Typo easier to use on Heroku than ever.

Soon Van has been doing a great work on i18n, documentation and interface consistency.

Diego Elio Pettenò fixed various plugins and text filters that make use of Flickr API.

Mcary fixed live search plugin and behavior consistency within the admin interface.

Closed tickets

Ticket nº86 : Media list did not reload after uploading a resource.

Ticket nº103 : Fixes a security issue by changing the scret token at setup time. Displays a warning message when default secret token is used.

Ticket nº123 : fixes the links available on the dashboard for both contributors and publishers.

Ticket nº124 : Fixes the html editor look and feel when the window gets too small.

Ticket nº129 : the default theme would not take all the blog options into account.

Published on 01/02/2013 at 08h06 by Frédéric de Villamil, tags


It’s been a while since you haven’t heard of us, and we first wanted to wish you a happy new year. As 2013 is starting, we’re happy to release Typo 6.1.2, the second of the Remi Ochlik series, nammed after a French photographer who was killed in Syria a few days after getting a World Press Photo, the most prestigious award for photojournalists.

This new Typo release comes with a major security bugfix that affects every Ruby on Rails version so far, and make your hosting vulnerable. If you’ve been using a prior Typo version, then it’s time for you to upgrade as soon as possible. This is mission critical, no kidding.

Download Typo 6.1.2.

New feature and improvements

Typo 6.1.2 is the first one to run out of the box on a Heroku instance. You just need to change the config/storage.yml file to switch to Amazon S3. This will make Typo deployment much more easier, and we plan to make it even more simple in the next few months.

Typo’s been translated in a few more language, we’re happy to welcome the Norvegian and Simple Chinese versions. Other translations have been improved as well.

The possibility of Typo sidebar plugins have been extended with the possibility to add new settings on existing plugins without reloading them.

Bug fixes

This version also provides the usual bug fixes:

A bug in the article list within the admin has been fixed. Selecting “all articles” would not display drafts.

Some usability issues regarding the menu highlight have also been fixed.

Solves an issue where the SEO titles would not be saved when submitting the form.

Autosave when using the visual editor has also been saved.

Published on 18/01/2013 at 22h42 by Frédéric de Villamil, tags

Release of Typo 6.1 Remi Ochlik

After a few months of musing, working and slacking, and a few commits too, we’re proud to announce the release of Typo 6.1 “Rémi Ochlik”. Rémi Ochlik was a French photographer who was killed in Syria a few days after getting a World Press Photo, the most prestigious award for photojournalists.

Typo 6.1.0 is the first release designed for Ruby 1.9 only, and the last one for Rails 3.0 series. Oh, and it’s still not running on Heroku even though some people managed to do it with some limitations.

As usual, you can download Typo 6.1 as a zip or tarball file, and give it a try on our demo site.

What’s new?

This release was meant to be dedicated to bug fixing and improving our base code. It also comes with a few nice feature.

Bootstraped, a new default theme

True Blue 3 is not our default theme anymore. It was replaced by Bootstraped, a new Twitter Bootstrap 2 based theme. Bootstraped is meant to be an easy to use framework for theme developers to create new templates. The choice of Bootstrap was an easy one, as none of us is a designed.

Bootstraped theme

A redesigned back office

The administration was also revamped with Twitter Bootstrap. It’s still running Bootstrap 1.4, as 2.0 was released after we finished the work. Swithcing would have delayed this release too much.

The new editor

The new editor, easier to use with more visibility.

The comments listing

The comments listing. The color pills make knowing what’s what easier.

Other feature

Initial database loading: users don’t have to run rake db:migrate when starting Typo for the first time. Trying to connect to the blog loads the database schema and data.

CKEditor was upgraded to 3.6.2. It now supports modern browsers and is a bit more stable.

User can now create categories within the editor.

Fully customizable 404 pages.

URL shortener can now be used to external links, always better to promote your brand.

Added a per state filtering on articles and draft listing: default (everything but draft), published articles, drafts, publication pending, withdrawn

Added custom permalinks for categories.

Gone feature

If you don’t use them, drop them! We’ve removed a few feature from Typo. Some of them will come back later, some not.

So long Typogarden and thank you for the fish

Typogarden is no more. We’ve lost the domain, which ended its long and painful agony. All these themes were a hastle to maintain, most of them were designed back in 2005, and no one had the time to care about them. This also means no more theme catalogue, which was removed from the admin.

Typogarden will come back under another form, maybe as a featured theme catalogue with the most up to date Typo themes.

No more complicated categories interfaces

We’ve removed the Javascript based category reorder interface. Categories are now be ordered by name, which looks like the most likely way to do it. This is a first step to sub categories as the order interface prevented from having them.

Bye bye theme editor

A theme editor is a great ad handy thing when it’s complete and actually working. This one was working but not complete and practical enough to be left as is. We had the choice between fixing it and removing it. It will probably come back later, under another form.

Squashed bugs

We’ve fixed a bunch of bugs, some of them being reported by you, some of them discovered by use.

Closed issues

Issue #46: Fixed comments management bulk operations.

Issues #48, #55: ActionView::Template::Error (settings was supposed to be a Hash, but was a String).

Issue #57: Fixed CKEditor file upload.

Issue #62: Fixed redirects not being correctly updated when updating a permalink.


Fixed the way permalinks are generated.

Fixed switching back and fort between simple and visual editor.

Now using publishedat, not createdat to determine when comments shall be closed.

Fixed a bug with controllers having empty indexes rendering errors.

Fixed a bug setting up a post as published everytime you edit it even for a draft.

Fixed comment moderation when using Akismet.

Fixed comments filtering when not running Typo in English.

Fixed autosave buttons display.

Now causes bundler to fail when database.yml does not exist.

Avoids accidentally loading old drafts.

Published on 17/03/2012 at 15h55 by Frédéric de Villamil, tags

Long time no heard from us? Come on, we're still moving!

It’s been a while since we last posted here. Obviously, we all have been pretty busy since th last time we released a Typo version. Spring came, then winter, and as Europe seems to be freezing as hell, some of us started to move again, one commit after another. I’m not sure how it started, but there’s something wonderful with open source projects: take a dormant project, and have just one commiter starting to push code regularly, and you’ll see other maintainers leaving their hibernation state.

Typo 6.1.0 is not out yet, as there is still some work to do, mostly bugs to squash and documentation to write, but we believed it was a good time to make a sign, and maybe put ourselves under pressure to be sure we release something good.

If you have some spare time and want to help us, here’s what you can do: pull Typo master from our git repository, install it locally or on your server (sorry, we’re still not Heroku compliant but we’re working on it), play with it, and report every bug you find. And if you really have time to help, you can even fix some of them and send us a pull request.

Oh, and if you ever happen to come here, you’ll see Typo next default theme running.

Published on 08/02/2012 at 21h37 by Frédéric de Villamil, tags

Typo 6.0.9 for Rails 3.0.10 – security fixes

We’re releasing tonight Typo 6.0.9 as Rails 3.0.10 brought many critical security fixes that would affect Typo, which means you really should upgrade now. This version also brings a couple of improvement some bug squashing and Yannick’s usual refactoring and performances tweaking.

You can download Typo as a zip file or a tarball.

The security issues addressed by Rails 3.0.10 are:

  • Filter Skipping bugs
  • SQL Injection issues
  • Parse error in strip_tags
  • UTF-8 escaping vulnerability


It’s now possible to create a new category within the article editor. This quite useful feature brings Thomas back from the dead and this makes us very happy.

Squashed bugs:

Displaying a password protected article within a category would make Typo crash when using the default layouts.

Using Typo standard live search views in a theme would make the application crash.

Issue #42: creating a new user from the administration crashes the application.

Fixes an issue with Redcloth 4.2.7.

Issue #39: Time.parse apparently hiccups when the timestamp string contains “GMT+0000 (UTC)”

Fixes a bug where attachment thumbnails would not be created at upload from the editor and API.

Fixes a bug in the new sanitization module when running under Ruby 1.9.2.

Once again, we want to thank the growing Typo community for their help on improving their favourite blogging engine (at least we hope so), and, in particular Huy Dinh for fixing some too long existing bugs.

Published on 01/09/2011 at 16h53 by Frédéric de Villamil, tags

[HOWTO] Create powerful specific templates for posts types and categories

Typo 6.0.6 introduced custom post types, allowing you to chose which template you want to use for your posts. Since Typo 6.0.8, you can also define per category templates.

Let’s say you blog about tech and wine, and want to display wine posts differently. You upload an attached picture to every wine related post and want it to be displayed in every article. You also have a custom CSS for wine blocks, and don’t want people to comment your wine reviews (this to make the sample template more readable). You also want to apply this to the category page.

I. Prepare the path

First, login to your blog admin and go to Article -> Post Types. Create a new post type called Wine.

Custom field 2

See the template name? Remember it, because we’re going to use it somewhere soon.

Custom field 2

Now, create a new category in Articles -> Categories. We’ll call it Wine too.

Custom template creation

Note the permalink id somewhere because we’re going to reuse it very soon.

Custom template creation

II. Create the templates you need

You’re going to create 2 custom templates: one to display wine related articles, and one to display the Wine category.

First, create a templates called wine.html.erb in your theme/views/articles/ directory. If the views/articles directory doesn’t exist, create it. The template will probably look like something like this:

<div class="wine">
  <h2><%= link_to_permalink @article, @article.title %></h2>
  <p class="auth"><%= _("Posted by")%> <%= author_link(@article) %>
  <%= display_date_and_time @article.published_at %></p>
  <%= @article.html(:body) %>
  <!-- This display the attached images -->
  <% @article.resources.each do |upload| %>
    <img src='<%= "#{this_blog.base_url}/files/#{upload.filename}" %>' class="centered" />
  <% end %>
  <div class="extended">
    <%= @article.html(:extended) %>

<p class="meta">
  <%= article_links @article %>

You’re now going to do the same with the wine category. In your theme /views/categories, create a wine.html.erb template. This is adapted from the category/show.html.erb of one of the stock themes.

<h1><%= link_to "Wine", "#{this_blog.base_url}/category/#{params[:id]}" %></h1>

<div class='category-excerpt <%= "border" if @article_counter >= 0 %>' id="article-<%= %>">
<% @articles.each do |article| %>
  <h2><%= link_to_permalink(article, article.title) %></h2>
  <p class="auth"><%= _("Posted by")%> <%= author_link(earticle) %>
  <%= display_date_and_time article.published_at %></p>
  <%= article.html(:body) %>
  <!-- This display the attached images -->
  <% article.resources.each do |upload| %>
    <img src='<%= "#{this_blog.base_url}/files/#{upload.filename}" %>' class="centered" />
  <% end %>
  <div class="extended">
    <%= article.html(:extended) %>
<% end %>

<div id='paginate'>
  <%= will_paginate @articles, { :previous_label => _('Previous'), :next_label => _('Next')  } %>

Here you are, you can now write about wine. Just don’t forget to chose the wine post type within the editor.

Custom template creation

Published on 20/08/2011 at 13h43 by Matijs van Zuijlen, tags

Release of Typo 6.0.8 - Bug Fixes

Being the eighth of the Irving Penn series, this new Typo release comes only 3 days after the latest one, but it fixes a bunch of serious bugs that were discovered while using Typo 6.0.7 in the wild.

As usual you can download Typo 6.0.8 at the usual place, and give it a try on our demo site.

Adding per tags and categories templates

Typo is now able to provide a different template according to the category and tag you visit. This is useful for some sites which need such a level of customization. To use them, just add a views/categories/category-permalink.html.erb or a views/categories/category-permalink.html.erb file in your theme. Typo will use that file when displaying this category.

Bug fixes

Fixes a bug in the meta title generation when displaying an article, a category or a tag.

Fixes the custom tracking field making the site crashing when used.

Fixes a bug on tags removal not working.

Moving our bug tracker to Github

We’ve decided to move our bug tracker from Lighthouse to Github. In the past years, Github ticketing system has gained in feature and maturity while Lighthouse has been stalling, not being really convenient to use. This move allows us to centralize our tools in a single place. The new bug reporting place is now

It’s been the third release in 11 days, but thanks to all our beta testers, I hope it’s the latest bugfix one. We want to thank in alphabetical order Mitch Pirtle, Lars Tobias Skjong-Børsting, Mathieu Poussin and Rhaamo for their bug hunting operation.

Published on 13/08/2011 at 09h12 by Frédéric de Villamil, tags

Release of Typo 6.0.7 - Bug Fixes

After releasing Typo 6.0.6, we realized that we left a few critical bugs unfixed. It seems that none of us actually ran our tests against Ruby 1.9.2, and things that were working under certain circumstances were breaking against a different environment.

So this release provides nothing bug bug fixing, which is not so bad, after all.

File upload was completely broken due to a behavior change in ActionDispatch::Http::UploadedFile between Rails 3.0.2 and Rails 3.0.3. File upload in itself is pretty hard to test, and we failed at this point.

Image resize was completely broken too due to a version change of minimagick. Reverting back to minimagick 1.3.3 did the trick.

Under PostgreSQL, initial migration would set an empty post_type despite a default set to read. It seems that PostgreSQL won’t fill the field value when created with existing inserts.

Mathieu Poussin added Recaptcha support on all bundled themes.

Pages view was broken under Ruby 1.9.2 due to an encoding issue. There was also an encoding bug in post_type edition and creation.

Despite extensive testing, pagination was broken due to a buggy will_paginate 3.0.4 beta. Reverting to 3.0.2 did the job.

Last but not least, a change in the way Google handles RSS queries caused dashboard load to take ages.

That’s all (for now). We’ll try to to better this time.

Published on 10/08/2011 at 18h03 by Frédéric de Villamil, tags

Powered by Publify | Photo Startup stock photos