I’d like to announce the next release of Vintage. It has a few
bugfixes and feature additions.
The next steps after this release are to add session management,
multipart parsing, and tests/specs for all of it (I’ve been a bad TDD
developer! Bad bad!)
So what is Vintage? Vintage is a very small web framework based on
the original idea of Merb: Mongrel serving up ERb (Embedded Ruby)
templates. The idea has been expanded and now Vintage helps you serve
up ERb, HAML, Textile, Markdown, and Markaby templates.
To use Vintage, you have two options. You can use it in standard mode
or application mode. In standard mode, there is no configuration and
Vintage will serve up templates and static files from the current
folder. To get this mode, then simply type
vintage start in any
$ vintage start
- vintage version 0.0.1
starting server on port 5000
Now navigating to a URL will look in the current folder for the file
or template. For example, going to
http://localhost:5000/my_template will look for
(or whatever template engine you are using) in the current folder and
render it if available. If a static file is requested, then it is
served up. If you request
http://localhost:5000/my_folder/my_template, then the application
will look in
my_folder for the
Vintage as an application server
Vintage can also be configured to be used as an application server.
To do so, you can either generate an application or hand create a
configuration.yml file (see one from a generated project for
an example). To generate an application, simple run
vintage with a
project name as the argument.
This command will generate a number of files. Chief among these is
configuration.yml which tells Vintage how you’d like to run it.
Other files include a sample template and the proper folder structure
for the generated configuration to work properly. This setup allows
you to more easily segment your code for easier maintenance.
Vintage comes with a few helpers that live in Vintage::Helpers. You
can add your own helpers by creating a
helpers folder and stashing
modules in there. As of right now, helpers must live in the
Vintage::Helpers module, but this will hopefully be changing very
Thanks, and please help me out by filing tickets for bugs or
enhancements at http://vintage.devjavu.com/!
Ruby in Practice
My free Ruby e-book