• Stars
    star
    2,452
  • Rank 18,741 (Top 0.4 %)
  • Language
    Ruby
  • License
    Other
  • Created almost 16 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple theme for web apps

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.

Web App Theme screenshot

Installation

Rails >= 3.1.0

For this version, all the stylesheets are stored inside the gems assets path. They don't need to be copied to the to the application, unless you want to customize them (using the web_app_theme:assets generator). There only css file generated when you run the theme generator is the web_app_theme.css that includes the theme of your choice. Add to your gemfile:

gem 'web-app-theme', '~> 0.8.0'

Other versions

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

Assets Generator

Used to copy a theme of your choice from the gem to your application, without parameters it will copy the 'default' theme

rails g web_app_theme:assets --theme=red

This will copy the theme files on your app/assets/stylesheets/web-app-theme path. Also this will copy theme's images to app/assets/images/web-app-theme path

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 --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

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

More Repositories

1

fresh

Build and (re)start go web apps after saving/creating/deleting source files.
Go
3,743
star
2

traffic

Sinatra inspired regexp/pattern mux and web framework for Go [NOT MAINTAINED]
Go
518
star
3

radiant-gallery

Photo Gallery Management System based on Radiant CMS (Ruby on Rails).
Ruby
73
star
4

radiant-copy-move

It's an extension for Radiant CMS. It allows for a page to be copied (or moved) under a new parent.
Ruby
41
star
5

musix_match

API wrapper for musixmatch.com API's
Ruby
33
star
6

traffic-chromelogger

Chrome Logger middleware for the Traffic web framework (#Go #Golang)
Go
30
star
7

radiant-iphone-extension

This extension adds an iphone tailored ui to Radiant CMS.
JavaScript
29
star
8

radiant-newsletter

Newsletter system based on Radiant CMS
Ruby
28
star
9

terror

A micro feed aggregator based on sinatra
Ruby
27
star
10

go-base62

base62 conversions fo Go. Useful for url shorteners. #go #golang
Go
25
star
11

active_musicbrainz

Ruby ActiveRecord models for the MusicBrainz database.
Ruby
24
star
12

xrequestid

xrequestid implements an http middleware for Negroni that assigns a random id to each request
Go
21
star
13

matryoshka

an image transformation reverse proxy written in elixir
Elixir
19
star
14

code_reloader

Code reloader Plug
Elixir
18
star
15

couchdb-flex

ActionScript
18
star
16

super-star-rating

A javascript library for rating with Ajax (base on prototype)
JavaScript
13
star
17

musixmatch-node

javascript musiXmatch API library for nodejs
JavaScript
11
star
18

signed_request

signed request encoder/decoder for elixir
Elixir
10
star
19

plate

Project/files generator based on application templates
Go
10
star
20

minify_response

Elixir Plug that minifies response body
Elixir
9
star
21

stickerl

QRCode generator web service written in Go. #golang
Go
8
star
22

messenger

Facebook messenger API client for Elixir
Elixir
8
star
23

nimbus-deploy

Deploy scripts for Nimbus beacon chain.
Makefile
8
star
24

yaml_encoder

YAML encoder for elixir
Elixir
7
star
25

treenotify

golang package to watch a filesystem tree. it watches a path and all subfolders
Go
6
star
26

wordreference-cli

simple wordreference.com CLI
CoffeeScript
6
star
27

matrioska

A thumbnails generator server written in Go.
Go
6
star
28

miniassert

Mini assert testing framework for the Go language
Go
6
star
29

traffic-airbrake

Traffic Airbrake Middleware #go, #golang
Go
6
star
30

code-reload-example

Example Elixir app using https://github.com/pilu/code_reloader
Elixir
5
star
31

musicbrainz_cli

Command Line Interface for the MusicBrainz database
Ruby
5
star
32

globnotify

golang glob watcher. it watches a filesystem tree and notifies on file changes based on a glob pattern
Go
4
star
33

robin

a JSON configurable scraper built in Go #golang
Go
4
star
34

etherscan-go

etherscan.io API client in Go
Go
4
star
35

abramo

Simple in-memory HTTP document based database made in nodejs
JavaScript
3
star
36

racko

Enables the Racco's power
Ruby
3
star
37

.dotfiles

dot files
Lua
3
star
38

karaokeeapp

Ruby
3
star
39

coderwall-go

A Go client for the Coderwall API
Go
3
star
40

tap-wallet

JavaScript
3
star
41

style-rule

Made in CoffeeScript, it adds the ability to manage css style rules from javascript.
JavaScript
2
star
42

exy

simple program that shows exif data from pictures
C
2
star
43

mbslave

Fork of https://bitbucket.org/lalinsky/mbslave
Python
2
star
44

i18n-go

i18n for Go #golang
2
star
45

reasonml-examples

JavaScript
2
star
46

stravatt

Create Time Trial Challenges with ruby and the Strava API
Ruby
2
star
47

cerebellum

small implementation of the Musicbrainz Web Service in Go
Go
2
star
48

config

Config file parser for Go
Go
2
star
49

gravatar

Gravatar URLs module for Elixir
Elixir
2
star
50

feedfinder

Discovers feed links on web pages (#go #golang)
Go
2
star
51

wagmi-rainbow-example

JavaScript
2
star
52

metagraph

Go
2
star
53

go-jsmin

Douglas Crockford's JSMin in Go. Package and command. #golang
Go
2
star
54

microphone

Go
1
star
55

bloody-mary

Python
1
star
56

docker-postgres

Shell
1
star
57

lyricfind

Lyricfind client for the Go language
Go
1
star
58

upc2020

Shell
1
star
59

mxm-cocoa

musixmatch cocoa lib
Objective-C
1
star
60

kojiro

Objective-C
1
star
61

test-embark

JavaScript
1
star
62

ads-market

JavaScript
1
star
63

upc-status-workshop

Makefile
1
star
64

webassets

Go
1
star
65

app_hosts

updates host address on /etc/hosts based on app config
Ruby
1
star
66

react-redux-typescript-app-base

CSS
1
star
67

liked

notification with growl everytime your facebook page has a new like
JavaScript
1
star
68

scala99

Ninety-Nine Scala Problems
Scala
1
star
69

vimux-elixir

run elixir tests in vim
Vim Script
1
star
70

boudra.github.io

CSS
1
star
71

gravityblast.com

gravitylast.com
CSS
1
star
72

superlivio

it's a long story.
Objective-C
1
star
73

mini-strava

A ruby client and CLI for the Strava API
Ruby
1
star
74

girneys

Ruby
1
star
75

timetrialcc

timetrial.cc rails project
JavaScript
1
star
76

idle-batched-mint

JavaScript
1
star
77

metamask-approval-bug

JavaScript
1
star
78

keycard-react-native-ios-test

Java
1
star
79

tap-wallet-pos

tap wallet point of sale dapp
JavaScript
1
star
80

scrapesburys

HTML
1
star
81

bip39-elixir

BIP39 - Mnemonic code for generating deterministic keys in elixir
Elixir
1
star
82

cortado

A URL shortener written in Go and base on Traffic.
Go
1
star
83

test-issues

1
star
84

remarkable-scripts

remarkable-scripts
Ruby
1
star
85

3words-miner

JavaScript
1
star
86

component.js

JavaScript
1
star
87

status-bot-rb

Ruby
1
star