A really quick blog post, to make a quick (and for me very, very happy) announcement - I've been given the opportunity to adopt the currently dormant NHaml project, a .Net port of the popular Haml Ruby markup language.
This is the first opportunity I've had to work on an established open-source project such as this, and while what's been built is impressive stuff, there's clearly a lot of work to catch up with the current Ruby implementation! Fortunately I've got a good clear initial target to aim for, thanks to the hugely useful Haml Spec project.
My interest in NHaml came about as a result of my checking out some of the new micro .Net web frameworks, particularly Nancy FX and Jessica (whose site is currently down!) These micro frameworks seem perfectly suited to a micro markup language such as Haml, indeed there was at one point support for NHaml baked into Nancy, but due to the lack of activity on the NHaml project this support was dropped.
I've also got a long and distant history as a designer, and the Haml language seems beautifully suited to the small but CSS heavy sites I've got in mind. In fact, I can see FhemDotNet becoming my first NHaml based site, coupled with Nancy because of the potential it offers for the app to self-host without the IIS dependency.
A quick starter for 10, NHaml can take the following HTML code:
<div class="left column">
<div id="date"><%= print_date %></div>
<div id="address"><%= current_user.address %></div>
<div class="right column">
<div id="email"><%= current_user.email %></div>
<div id="bio"><%= current_user.bio %></div>
And boil it down to the following:
And finally, I hope I can add a lot to the project. I can already see some ways to make the learning curve a little shallower for anyone else working on the code, I can see an opportunity for a little bit of decoupling, and some improvements to the unit tests to help accelerate the implementation of more parts of the Haml spec.
Of course I should acknowledge there's already been an evidently considerable amount of work put into the project by several people, the truth be told I don't know enough about GitHub yet to get any kind of list together, but special mention due to Simon Cropp for helping me get up and running with the project with minimum fuss!