The result is a lot like Markaby, except you get to be/have to be explicit when you are creating a tag. In this demo, there is no logic, so the benefits of doing so are less clear, but include you being able to use tags that aren’t known to Markaby, like the ones that were added in HTML5. Both inline and views are supported, but support for layouts has yet to be added.
While the demos require Ruby 1.9.2+ (the Hash syntax is nicer), the library works equally well with Ruby 1.8.7.
The progression is that you start from scripts that you can run from the command line:
...can pass arguments to:
ruby helloword.rb name=Sam
...can run as a standalone server:
ruby helloworld.rb --port=3004
...can install as a CGI:
ruby helloworld.rb --install="/Library/WebServer/Documents/helloworld.cgi"
.,. and can now run under Sinatra. Future plans include Rails.
There even is a tool that will reverse engineer an existing web page into a script.