README.md

Web App Theme

Web App Theme is a rails generator by Andrea Franz that you can use to generate admin panels quickly.
Inspired by cool themes like Lighthouse, Basecamp, RadiantCMS and others,
it wants to be an idea to start developing a complete web application layout.

Installation

You can use web-app-theme >= 0.6.2 with Rails 3. If you want to use it with rails 2, use web-app-theme 0.5.3
Specify the web-app-theme gem in your Gemfile, only for :development and :test

group :development, :test do
gem 'web-app-theme', '>= 0.6.2'
end

Usage

Theme Generator

Used without parameters, it generates the layout inside the application.html.erb file using the default theme.

rails g web_app_theme:theme

You can specify the layout file name in the first parameter:

rails g web_app_theme:theme admin # it will generate a layout called `admin.html.erb`

If you want to use another theme, instead of the default, you can use the --theme option:

rails g web_app_theme:theme admin --theme="drastic-dark"

You can specify the template engine with --engine=name option, where name can be erb (default) or haml:

If you want to generate the stylesheets of a specific theme without changing the previously generated layout you can pass the --no-layout option:

rails g web_app_theme:theme --theme=bec --no-layout

You can specify the text used in the header with the --app-name option:

rails g web_app_theme:theme --app-name="My New Application"

If you need a layout for login and signup pages, you can use the --type option with sign as value. Ìf not specified, the default value is administration

rails g web_app_theme:theme sign --layout-type=sign

Themed Generator

Start creating your controllers manually or with a scaffold, and then use the themed generator to overwrite the previously generated views.

If you have a controller named like the plural of the used model you can specify just the first parameter:

rails g web_app_theme:themed posts # you have a model named Post and a controller named PostsController
rails g web_app_theme:themed admin/gallery_pictures # you have a model named GalleryPicture and a controller named Admin::GalleryPicturesController

Use the --layout option specifying the previously generated layout to add a link to the controller you are working on:

rails g web_app_theme:themed posts --layout=admin # you will see the `Posts` link in the navigation

If the controller has a name different to the model used, specify the controller path in the first parameter and the model name in the second one: