As you may know, "Ruby’s official website sucks". Just compare with Haskell or Perl! As one of the active translators, I am responsible for that situation to some extent. I made several attempts at fostering an update process in the past two years, but it has failed so far due to lack of motivation and, most importantly, feedback from the maintainers. Things are going to change, though.

March 2013 update — Some parts of this post are outdated. The official repository of the overhaul project is now github.com/ruby/www.ruby-lang.org/. As of late 2012, the project had been stalling for another year, so I took the initiative to relaunch the process, asking once again for some crucial piece of information (credentials and stuff), and managed to get proper answers this time! The project is now heading toward completion! Stay tuned, or join us!

October 2013 update — The GitHub-based, static version of the website has been up for a while now. Congrats to everyone! Special thanks to stomar, postmodern and hsbt.

December 2013 update — We have a new design! Thank you to all the participants to the contest and congratulations to the winner.

Not long after Peter Cooper published his post on Ruby Inside, the so-called VIT core team (I mean, the active maintainers) decided to react. The current platform is a Radiant application used by several small teams of translators. Content synchronization is super-cumbersome due to the poor feature-set from Radiant, and the contribution process is doomed by what I would describe as the "no-one-seems-in-charge-so-I-am-certainly-not" syndrome. That is, everyone would be "happy" to enhance the website, but nobody "feels" like he is either responsible or entitled in doing so. Content decays, translations stale and alternate resources arise, making it difficult to remember where to find what. In the end, we end up with puzzled visitors and an angry Peeter Cooper.

The future

We have numerous issues to solve with the official website. What do we really need?

  • A platform to make quick-and-easy contributions.
  • An efficient translation process, with a more reliable way of monitoring synchronization.
  • Kind of a "soft" leadership/guidance to ensure everything works smoothly and no one fears breaking the whole thing.

Among several ideas, the "git workflow" with a "static content generator" got the upper hand. There is this Less Is More feel to it, so it is the current direction we are heading to. Using git basically offers the simple i18n-sync feature, a fully-fledged contribution tool and the ability to revert, whereas using a static content generator makes contributing a no-brainer. It does introduce some new challenges, but we are confident about designing a good solution.

There are many options when it comes to static content generation; we had to pick one. We are currently tweaking a Jekyll instance. GitHub will be used as the contribution platform. Both tools seem to be widely accepted within the Ruby community. Should it fail as a process, we will be able to switch to another backend, but to be honest the duo has been doing the job pretty well so far. Obviously, some part of the website could use being dynamic eventually, but we simply do not need it at the moment, so let us KISS.

Our goal is to release a brand-new ruby-lang.org ASAP. And when I mean "our goal", it's because it may include you. If you are willing to, simply start contributing today! And if you are new to Ruby and don't feel like you are a trustworthy community member yet, this could be a excellent way to step in.

Nice! How can I help?

You may:

  • Join the discussions about the content update process, website structure, missing features…
  • Start contributing by making a Pull Request (for instance, submitting a news or translating something).
  • Talk to fellow rubyists about the project!

"Refactoring" ruby-lang.org is going to be a community effort which true purpose is to switch from a private, inefficient process to an public, streamlined one. It does not mean everything is to be accepted without review, though. One important aspect of this refresh is to ensure the Ruby community will build something solid in the long run, hopefully making all rubyists and matz proud of their web frontage.

There is a live preview running at http://ruby.github.com/www.ruby-lang.org. Caution, this is work in progress! Design is a pending topic: should we stick to the legacy one or build something new? I am currently using a custom version of Brandon Mathis’ Octopress theme, but help form a professional designer (I already asked Brandon, wait & see!) As for the content and the general structure, there is an ongoing discussion and I invite you to participate. Feedback appreciated.

Be aware I am currently working on merging postmodern’s content into the project. He has built a crawler able to fetch all existing content from ruby-lang.org and to post-process it to generate markdown files. It will be used as the basis for a content overhaul, so you might not want to hurry pushing new translations, for things will probably break next week.