After 9 months of hard work, we’re proud to announce the official release of Typo 5.4 Willy Ronis, the most advanced and user friendly blogging platform on Rails. Despite having a minor version number, Typo 5.4 is a major release, coming with a lot of new features and some bugfixes as Willy Ronis was a great photographer who died this year at the age of 99. Since Typo 5.4 fixes some major security issues, you should really think about upgrading.
Typo 5.4 is also a major release because we had many contributors from all over the world sending new features and fixes along this year. After contributing for a while, Matijs van Zuijlen (http://www.matijs.net/) finally joined the core team in late February and did a great job on this release. We would also like to thank, in alphabetical order: Diego Elio ‘Flameeyes’ PettenÃ², Edward Middleton, Erik Ostrom, Hans de Graaff, Jakob Skov-Pedersen, Kurt Werle, Michael Reinsch, Mike Mondragon, Wei Jen Lu, Yuka Ouka, jzellman, and mpagalan.
Next release will come with a brand new theme called True Blue. True Blue is a simplified port of the theme I'm using on my own blog. It's a nice, clean, 2 columns blue theme coming with Twitter native support.
Hélène's Typographic is a great theme, but we needed something more casual. To quote Matijs' own words, the default theme should be one that anyone could start off using, no matter what their blog was about (like the Kubrick theme half the Wordpress blogs use).
Since True Blue is using its own helpers, you may need to restart your Typo installation to have it work after enabling. We're working on fixing this.
This has been 4 months since Typo 5.3 release, and this calm month of July may be the perfect occasion to look at what happeded on the Typo planet.
Cyril and I have been quite busy lately. He quited his job and started a new adventure in a new company. Cyril also moved to Paris, which is great as we’re now able to gather and work together, when we have time. He’s also been dedicating more time to Oupsnow, a bug tracker he’s writing in Merb. I’ve also been quite busy lately, starting lots of Rails projects around Twitter, having less and less free time left by my daily job, and starting a number 3, delivery due next December, so I’ll have to move soon. And that takes a lot of time too.
Hopefully, we had many contributors who came to help us while we were too busy to care about Typo. Erik Ostrom updated Wordpress converter, Michael Reinsch fixed some bugs and did some nice refactoring, and Wei Jen Lu did a fantastic job on translating Typo to Chinese. Wel also had a couple of people submitting patches fixing bugs on Lighthouse. May they be all thanked for the great job they did.
Our main concern lately has been reducing Typo memory footprint. We’ve already dropped lots of useless code and fixed a few bugs, even though there’s still lots of work to be done. By useless code, we mean 3 things:
Removing dead code that is no longer called anywhere. And there was plenty of it, trust me. Typo is an old house, inhabited by lots of different people, and every house needs a bit of cleaning sometimes.
Code that’s trying to reinvent the wheel when the same functionnality has been integrated into Rails for a while now. I know we still carry a lot of this one, and we still have a lot of refactoring to do.
Code that should simply not be in a blogging engine core and can be moved elsewhere as a plugin. Deciding what to keep and what to drop is not always easy, but that’s the usual step in the life of a software.
I’m not really sure yet, but I don’t think Typo next release will carry any major feature. Instead, we’re focusing on performance improvement, bug fixes and usability improvement here and there. I guess it’s a needed step to take before restarting on a fresh, clean ground.
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 http://blog.typosphere.org/typo-gets-dynamic-permalink-url.html 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.
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
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 !
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
/foo/year/bar/day/joker/month/hiphop/permalink. I know, this is totally useless, but it works.
- 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
previewnewcommentpath(@article)are change to
urlfor formattedarticlepath(@article, :rss)are change to
formattedarticleurl(@article, @format)are change to
That’s all folks, see you soon on #typo, we always enjoy newcommers and feedback.
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.
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.
- 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.
The long waited delete all spam button, so cool when you have thousands of them coming each day.
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.
Once again, thank you to every contributor who made it possible. Hope you’ll enjoy.
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 http://rubyforge.org/frs/?groupid=555&releaseid=30089
Install Typo from the gem: http://github.com/fdv/typo/wikis/install-typo-with-typo-installer
Install Typo from sources: http://github.com/fdv/typo/wikis/install-typo-from-sources
You can also install: Up to date plugins : http://github.com/fdv/ Up to date themes : http://typogarden.org
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:
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.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr"> <head profile="http://gmpg.org/xfn/11"> <title><%= h(page_title) %></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="fr" /> <%= stylesheet_link_tag "/stylesheets/theme/style", :media => â€˜allâ€™ %> <%= page_header %> </head>
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
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
div included here are not mandatory. You just need to care about the ruby calls.
<body> <div id="header"> <h1><a href="<%= this_blog.base_url %>"><%= this_blog.blog_name %></a></h1> <h2><%= this_blog.blog_subtitle %></h2> </div> <div id="page"> <div id="content"> <%= @content_for_layout %> </div> <div id="sidebar"> <%= render :partial => â€˜shared/searchâ€™ %> <%= render_sidebars %> </div> </div> </body> </html>
The importants things are:
this_blog.base_urlis your blog URL defined in your settings.
this_blog.nameis your blog title, defined in your settings.
this_blog.blog_subtitleis your blog tagline, defined in your settings.
content_for_layoutis the most important part of your layout. It renders the page main content according to what you’re browsing (articles, tags, categories…)
render_sidebarsdisplays 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.
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.
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.