Preface
Padrino is a Ruby framework built upon the excellent Sinatra Microframework. Sinatra is a DSL for creating simple web applications in Ruby with speed and minimal effort. This framework tries hard to make it as fun and easy as possible to code much more advanced web applications by building upon the Sinatra philosophies and foundation.
The recipes consists of two types: plugins and templates. A plugin adds additional functionality to an existing Padrino project. A template can be used as a template for a completely new Padrino application.
Plugins
To run a plugin:
$ cd <path-to-my-padrino-app>
$ padrino-gen plugin <name-of-the-plugin>
- 960: Installs the 960 grid system
- access: Access Plugin via rack-contrib
- ar_permalink: Generate permalink for a specified column on ActiveRecord.
- ar_permalink_i18n: Generate permalink for a specified multi language column(s) on ActiveRecord.
- ar_translate: Translate for you your ActiveRecord columns.
- auto_locale: Switch the I18n.locale automatically based on the URL.
- barista: Simple, transparent CoffeeScript support.
- bulma: bulma is an open source CSS framework based on Flexbox.
- better_errors: Install the better_errors gem.
- bootstrap: Install the latest twitter bootstrap files.
- bug: (rack-bug)[http://github.com/brynary/rack-bug] debugging toolbar for Rack applications.
- camorra: Install (ZURB Foundation 5 framework)[http://foundation.zurb.com/].
- codehighlighter: Code highlighting via rack-codehighlighter
- coffee: CoffeeScript plugin via rack-coffee.
- deflect: Deflect (DOS protection) via rack-contrib.
- disqus: Disqus commenting system via disqus gem.
- dreamhost: Deploy your app on DreamHost.
- exception_notifier: Send errors through mail or/and to redmine via exception_notifier.
- factory_girl: A library for setting up Ruby objects as test data.
- flash_session: Middleware that help you in passing your session in the URI, when it should be in the cookie via flash_session.
- fontawesome: Installing Font Awesome.
- goatmail: Preview mail in the browser under
/inbox
in development mode with goatmail. - googleanalytics: Google Analytics via rack-google-analytic.
- heroku: Prepare app for deployment to Heroku.
- hoptoad: HopToad notification via rack_hoptoad](https://github.com/atmos/rack_hoptoad).
- jammit: Add Asset Packaging via jammit-sinatra.
- letter_opener: Preview mail in the browser instead of sending vim with letter_opener.
- maintenance: Maintenance page plugin via rack-maintenance.
- omniauth: Authentication Plugin for OAuth2, Facebook, Twitter, Campfire via omniauth.
- openid: OpenID authentication via rack-openid.
- payment: Payment Plugin via rack-payment
- pry_byebug: Use pry-byebug in Padrino. Use pry_debugger plugin for MRI 1.9.3 or older.
- pry_debugger: Use pry-debugger in Padrino. Use pry_byebug plugin for MRI 2.0.0 or newer.
- raphy_charts: Raphy Charts - a RaphaelJS based HTML5/SVG charts library.
- recaptcha: CAPTCHA verification using RECAPTCHA API via rack-recaptcha.
- resque: Add support for the resque redis based background worker.
- rewrite: Rewrite Rules via rack-rewrite.
- secure_only: Run app on https via rack-secure_only.
- tripoli: Add Tripoli CSS.
- twitter-login: Twitter Login Authentication via twitter-login
- vcr: Add vcr to your test suite.
- watchr: Generates watchr test scripts.
- will_paginate: Add support for will_paginate.
- react-sinatra: Add support for react-sinatra.
If you want to contribute with a plugin please follow the convention of having _plugin
appended to the name (i.e.
bootstrap_plugin.rb
). Don't forget to put your plugin with a short explanation to the README here.
Templates
To run a template:
$ padrino-gen project my_project --template [template_path]
The templates folder contains full project generation templates. These files follow the convention of having _template appended to the name (i.e sampleblog_template.rb). Included template are:
- angular: Template for an AngularJS app. It uses bower to manage your frontend resources.
- lipsiasoft: template with haml/960/exception notifier and more used by LipsiaSOFT.
- mongochist: templates that generate mongoid/mongomapper with machinist.
- sampleblog: sample blog tutorial.
- sampleblog_dm: sample blog tutorial with
DataMapper
instead ofActiveRecord
.
Broken plugins
- ar_textile: Full support to textile with ActiveRecord.
- blueprint: Install the blueprint grid system.
- carrierwave: Plugin for Carrierwave.
- coderay: Code Highlighting via rack-coderay.
- raphaeljs: Add RaphaelJS libraries.
Contribute
Feel free to fork and add on to these recipes! Check out the Padrino Framework and its git repo.