Quick-start, state-of-the-art web development with Haml, Sass, Compass and CoffeeScript
Ruby Perl
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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

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>