Coder Social home page Coder Social logo

web-app-theme's Introduction

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:

rails g web_app_theme:theme --engine=haml # you must specify haml in your Gemfile

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:

rails g web_app_theme:themed items post

rails g web_app_theme:themed admin/items post

If you use will_paginate for pagination use the --with_will_paginate:

rails g web_app_theme:themed items post --will-paginate

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

rails g web_app_theme:themed posts --engine=haml

If you have something like map.resource :dashboard in your routes.rb file, you can use the --type=text to generate a view with just text:

rails g web_app_theme:themed dashboards --themed-type=text

If you want to show form error messages inside the generated forms, use the following code inside your environment.rb

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance| 
  if html_tag =~ /<label/
    %|<div class="fieldWithErrors">#{html_tag} <span class="error">#{[instance.error_message].join(', ')}</span></div>|.html_safe
  else
    html_tag
  end
end

If you want to have translated pages, simple create in your locale.yml the keys just like config/locales/en_us.yml example.

en_us:
  web-app-theme: 
    save: Save
    cancel: Cancel
    list: List
    edit: Edit
    new: New
    show: Show
    delete: Delete
    confirm: Are you sure?
    created_at: Created at
    all: All

Web App Theme screenshot

Contributing

  • Fork this repository.
  • Duplicate the 'themes/default' folder and rename it.
  • Modify the style.css file adding your favorite colors.
  • Add a link to your theme in the 'Switch Theme' block inside the index.html file.
  • Send a pull request.

Links

Author

Andrea Franz - http://gravityblast.com

Contributors

  • Nelson Fernandez
  • Giovanni Intini
  • Jeremy Durham
  • Wouter de Vries
  • Marco Borromeo
  • rick mckay
  • Peter Sarnacki
  • Garret Alfert
  • Mikkel Hoegh
  • Juan Maria Martinez Arce
  • Stas SUSHKOV
  • Daniel Cukier
  • Roberto Klein
  • Bryan Woods
  • Sandro Duarte
  • David Francisco

Credits

web-app-theme's People

Contributors

gravityblast avatar danicuki avatar galfert avatar jeremydurham avatar kascote avatar wwdevries avatar bryanwoods avatar mikl avatar stas avatar bowmande avatar jmax avatar lloydpick avatar mborromeo avatar drogus avatar sandrods avatar pdf avatar reidb avatar

Stargazers

Justin Ip avatar

Watchers

Justin Ip avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.