As you may know, Ruby’s official website sucks. Being one of its current maintainers, I couldn’t agree more. Man! just compare with Haskell or Perl! I do am responsible for it in some extent. Facts are: I made several attempts at triggering an update process in the past two years; it mostly failed due to lack of motivation and feedback. But now is time for a change!
Not long after Peter Cooper published his post on Ruby Inside, the so-called VIT core team (I mean, the active maintainers…) stepped in. The current platform is a Radiant application used concurrently by several small teams of translators. Content synchronization is cumbersome and the process is doomed by what I’d call the “no-one-is-in-charge” syndrome. That is, everyone would be happy to enhance things a little, but nobody feels like he is responsible or authorized, so nothing ever happens. Content decays, translations die and alternate resources arise, making it difficult to remember where to find what.
So we have numerous issues to solve. What do we really need?
- an efficient translation process, with cheap sync built-in
- a platform allowing easy contributions (especially content updates)
- a soft leadership to ensure everything works smoothly
Among several ideas, the “git workflow with a static content generator” seemed to put everyone on the same wavelength (there is a “less is more” feel to it), so that’s where we’re heading to right now. Using git offers the i18n, cheap sync features, a fully-fledged contribution tool, whereas using a static content generator makes contributing a no-brainer. It does introduce some new challenges, like the deploy process, but we’re confident about designing a good solution. There are many options when it comes to static content generation and git; we had to choose.
We’re currently tweaking a Jekyll instance as the static generator, and leveraging github as the contribution platform: both tools seems to be widely accepted among the Ruby community. Should it fail, we will be able to switch to another backend, but the duo is doing the job pretty well so far! Obviously, some part of the website could be dynamic, but we basically don’t need it at the moment, so let’s KISS!
Our goal is to release a brand-new ruby-lang.org, updating or restructuring any part of it which should be. And when I mean “our goal”, I really mean OUR’s. If you’re part of the community, dive in and start contributing. If you don’t feel like a member of the great Ruby community, then this could be a great way to kick it off! How could you help?
- join the debates about the content update, the website structure, missing features…
- start contributing by making a pull request, for instance with a news or a translation update
- talk to your fellow rubyists about the project
It’s a community effort which purpose is to switch from a quite closed, inefficient process to an open, streamlined one. This doesn’t mean everything is to be accepted without inspection and thinking, though. One important aspect of this “Ruby Refresh” is to ensure we will build something solid, hopefully making rubyists and matz proud of their main frontend.
There is a live preview at http://ruby.github.com/ruby-lang.org. Caution, this is work in progress! We don’t know about the design yet: should we stick to the legacy one or build something new? I’m 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’m currently working on merging postmodern’s content into the project. He built a crawler able to fetch all existing content and process them in markdown templates. This will be used as the basis for a content overhaul, so you might don’t want to hurry along pushing new translations, for things will broke next week :)