About

In The Beginning

In January of 2007 rbml was born. Starting as a notion for a sensible way to parse html between Jake Howerton and I, it grew into a fun little ruby block parsing engine capable of any number of things from xml processing to a dsl for creating a command line interface.

Quickly we realized that rbml would never gain much publicity if it were not made easy to see the true versatility of it. Because it was initially started as a quest to find an easy way to create brochure-oriented websites I continued on that path.

Feeble Feet Foreward

Rbml, while an amazing and useful tool, was far from complete. Even as of this writing there is much encapsulation and organization to be tended to and I spent much of my time solving the wrong problem. I cut my teeth on DSLs for the first version of static, creating flaggr as a module to deal with more complicated command line strings than having to deal with whatever came through ARGV every time. This has since been an indespensable tool in rbml for the command line and I am very thankful for the mistake.

The concept of the site map and a simple version of the seperation between the content and the blueprint were created. The strong yaml allegiance I now know was forged and many of the traits that make static the superior system i believe it to be were decided in these early stages.

Sadly, however, the first version of static (named ‘topsite’), was basically only proof that I could, in fact, turn a hodgepodge of yaml and rbml and turn it into something that looked like the most basic website you have ever seen. This was not much more than hope and potential, but it was enough to make me think that I was on to something.

A Second Shot

As quickly as the first successful sites were created in topsite I realized how short it had fallen from what that sort of file processing could do.

Site maps were made recursive, contents were made more powerful, methods to get partials were defined, and the general structure of a project was made more compact and more easily relatable.

The application gained a command line interface (thank you rbml and flagger..) and things really started to grow. There were some problems in how many areas were growing in so many different ways under a single developer with no specifications. This is the explanation for how we moved from 0.0.1 to 0.1 in one revision. I just really didn’t want to give you the wrong idea.

The Missing Link

I consider version 0.1.0 the first workable version of static. Not every aspect of it is perfect and much of the codebase could be improved by leaps and bounds. It works well for me and is free for you, so, if you think it looks interesting you should at least give it a shot. If it fails miserably for you then you should write me a very angry letter through the mailing list. Nice letters with helpful suggestions will also be read.

So I think what we have now is good. I am quite happy with it and can say that it works for my purposes. There are many ways it can be made better and some things are already in the works. As the dialogue behind this application moves into the public the ideas behind it will be much more available.