Blossom is a kind of "anti-framework" built on top of Sinatra with the express purpose of minimizing the amount of boilerplate needed for modern web development. One command gets you instantly up and running on a new web project with Haml, Sass and Compass. The goal of Blossom is to eliminate the need for explicit routing and configuration for the majority of simple web sites, but when you need to add custom routes (to handle POST requests, for example), you can drop right down into Sinatra. First, install Blossom and create your project: $ gem install blossom $ blossom foo Then follow the instructions that Blossom echoes back to you: $ cd foo # Open your project directory. $ rackup & # Start the web server. $ open http://localhost:9292/ # Look at your site. $ emacs foo.haml foo.sass foo.js # Edit your site. $ emacs foo.sinatra.rb # Add routes, if you need to. $ emacs config.ru # Edit the middleware stack. Blossom automatically makes a Git repository for the project and creates a first commit containing the initial boilerplate (after running Bundler and generating your Gemfile.lock --- we assume you have some familiarity with Bundler <http://gembundler.com> already; if Bundler is new to you, you need to get familiar with it). Another major goal is to make deployment as painless as possible, and Blossom is designed from the ground up to be Heroku-friendly. The name "Blossom" is actually a reference to Heroku's free plan. You can literally push your project to Heroku right away: $ heroku create foo $ git push heroku master $ heroku open Boom! You're live. At Go Interactive (http://gointeractive.se), we already run several production web sites exactly like this. For convenience, here is how you add a domain name to your site: $ heroku addons:add custom_domains $ heroku domains:add example.com $ heroku domains:add www.example.com If you add both example.com and www.example.com, then Blossom will automatically redirect http://www.example.com to http://example.com. To disable this feature, see your `foo.blossom' configuration file. For painless domain registration and DNS hosting, we wholeheartedly recommend DNSimple (<http://dnsimple.com/>, @dnsimple on Twitter). They are the first DNS service that feels right to me as a hacker: $ sudo gem install dnsimple-ruby $ cat > ~/.dnsimple username: YOUR-EMAIL password: YOUR-PASSWORD ^D Now purchasing and configuring a domain for Heroku is this simple: $ dnsimple register example.com $ dnsimple apply example.com heroku (I know this was a digression, but I really want to promote these people, because I've been waiting so long for a good DNS service. Oh, and if you sign up using my referral URL, we both get free DNS hosting for two months! :D <https://dnsimple.com/r/c941a853d41f19>) Thanks, and happy hacking! --- @dbrock <http://twitter.com/dbrock>
Project
blossom
Quick-start web development with Haml, Sass and Compass.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Pull Requests
Development
Project Readme