bootstrap_rainbow 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/app/helpers/breadcrumb_helper.rb +7 -0
- data/app/helpers/sidebar_helper.rb +15 -0
- data/bootstrap_rainbow.gemspec +26 -0
- data/lib/bootstrap_rainbow/breadcrumbs.rb +41 -0
- data/lib/bootstrap_rainbow/engine.rb +13 -0
- data/lib/bootstrap_rainbow/version.rb +3 -0
- data/lib/bootstrap_rainbow.rb +6 -0
- data/lib/generators/bootstrap_rainbow/install/install_generator.rb +21 -0
- data/lib/generators/bootstrap_rainbow/install/templates/breadcrumb.html.erb +12 -0
- data/lib/generators/bootstrap_rainbow/install/templates/layout.html.erb +46 -0
- data/lib/generators/bootstrap_rainbow/install/templates/sidebar.html.erb +36 -0
- data/vendor/assets/fonts/OpenSans-Extrabold.woff +0 -0
- data/vendor/assets/fonts/OpenSans-Semibold.woff +0 -0
- data/vendor/assets/fonts/OpenSans.woff +0 -0
- data/vendor/assets/images/avatar.png +0 -0
- data/vendor/assets/images/rainbow/body-bg.png +0 -0
- data/vendor/assets/images/rainbow/breadcrumb-bg.png +0 -0
- data/vendor/assets/images/rainbow/navbar-bg.png +0 -0
- data/vendor/assets/javascripts/bootstrap_rainbow.js +1 -0
- data/vendor/assets/javascripts/rainbow/rainbow-shrink.js +65 -0
- data/vendor/assets/stylesheets/bootstrap_rainbow.css.scss +1 -0
- data/vendor/assets/stylesheets/fonts.css.scss +18 -0
- data/vendor/assets/stylesheets/rainbow/_box.css.scss +113 -0
- data/vendor/assets/stylesheets/rainbow/_breadcrumb.css.scss +30 -0
- data/vendor/assets/stylesheets/rainbow/_button.css.scss +111 -0
- data/vendor/assets/stylesheets/rainbow/_color.css.scss +18 -0
- data/vendor/assets/stylesheets/rainbow/_layouts.css.scss +30 -0
- data/vendor/assets/stylesheets/rainbow/_main.css.scss +11 -0
- data/vendor/assets/stylesheets/rainbow/_mixins.css.scss +15 -0
- data/vendor/assets/stylesheets/rainbow/_navbar.css.scss +62 -0
- data/vendor/assets/stylesheets/rainbow/_reset.css.scss +16 -0
- data/vendor/assets/stylesheets/rainbow/_sidebar.css.scss +140 -0
- data/vendor/assets/stylesheets/rainbow/rainbow.css.scss +13 -0
- metadata +148 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 ChuckLee
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# BootstrapRainbow
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'bootstrap_rainbow'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install bootstrap_rainbow
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module SidebarHelper
|
2
|
+
|
3
|
+
def active_li?(options = {})
|
4
|
+
result = false
|
5
|
+
return '' if options[:controllers].blank?
|
6
|
+
options[:value] ||= ''
|
7
|
+
unless options[:actions].blank?
|
8
|
+
result = true if options[:controllers].include?(controller_name) and options[:actions].include?(action_name)
|
9
|
+
else
|
10
|
+
result = true if options[:controllers].include?(controller_name)
|
11
|
+
end
|
12
|
+
result = "#{options[:value]}" if result.present?
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'bootstrap_rainbow/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "bootstrap_rainbow"
|
8
|
+
gem.version = BootstrapRainbow::VERSION
|
9
|
+
gem.platform = Gem::Platform::RUBY
|
10
|
+
gem.authors = ["SapronLee"]
|
11
|
+
gem.email = ["sapronlee@gmail.com"]
|
12
|
+
gem.description = %q{extend bootstrap}
|
13
|
+
gem.summary = %q{extend bootstrap}
|
14
|
+
gem.homepage = "http://github.com/sapronlee"
|
15
|
+
|
16
|
+
gem.files = `git ls-files`.split($/)
|
17
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
18
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
|
+
gem.require_paths = ["lib"]
|
20
|
+
|
21
|
+
gem.add_dependency 'bootstrap-sass', '~> 2.3.0.0'
|
22
|
+
gem.add_dependency 'font-awesome-sass-rails', '~> 3.0.2.1'
|
23
|
+
|
24
|
+
gem.add_runtime_dependency 'railties', '>= 3.1.1'
|
25
|
+
gem.add_runtime_dependency 'sass-rails', '>= 3.1.1'
|
26
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module BootstrapRainbow
|
2
|
+
module Breadcrumbs
|
3
|
+
|
4
|
+
def self.included(base)
|
5
|
+
base.extend(ClassMethods)
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
def add_breadcrumb(name, url, options = {})
|
10
|
+
class_name = self.name
|
11
|
+
before_filter options do |controller|
|
12
|
+
name = controller.send :translate_breadcrumb, name, class_name if name.is_a?(Symbol)
|
13
|
+
controller.send :add_breadcrumb, name, url
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
protected
|
19
|
+
|
20
|
+
def add_breadcrumb(name, url = '', options = {})
|
21
|
+
@breadcrumbs ||= []
|
22
|
+
name = translate_breadcrumb(name, self.class.name) if name.is_a?(Symbol)
|
23
|
+
url = eval(url.to_s) if url =~ /_path|_url|@/
|
24
|
+
@breadcrumbs << { :name => name, :url => url, :options => options }
|
25
|
+
end
|
26
|
+
|
27
|
+
def translate_breadcrumb(name, class_name)
|
28
|
+
scope = []
|
29
|
+
namespace = class_name.underscore.split('/')
|
30
|
+
namespace.last.sub!('_controller', '')
|
31
|
+
scope += namespace.insert(-2, 'breadcrumbs')
|
32
|
+
I18n.t name, :scope => scope
|
33
|
+
end
|
34
|
+
|
35
|
+
def render_breadcrumbs(partial = 'rainbow/breadcrumb', divider = '/')
|
36
|
+
s = render :partial => partial, :locals => { :divider => divider }
|
37
|
+
s.first
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'bootstrap_rainbow/breadcrumbs.rb'
|
2
|
+
|
3
|
+
module BootstrapRainbow
|
4
|
+
class Engine < ::Rails::Engine
|
5
|
+
|
6
|
+
initializer 'twitter-bootstrap-rails.setup_helpers' do |app|
|
7
|
+
app.config.to_prepare do
|
8
|
+
ActionController::Base.send :include, Breadcrumbs
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module BootstrapRainbow
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < ::Rails::Generators::Base
|
6
|
+
source_root File.expand_path("../templates", __FILE__)
|
7
|
+
desc "bootstrap_rainbow install."
|
8
|
+
argument :layout_name, :type => :string, :default => "application"
|
9
|
+
|
10
|
+
attr_reader :app_name
|
11
|
+
|
12
|
+
def generate_install
|
13
|
+
app = ::Rails.application
|
14
|
+
@app_name = app.class.to_s.split("::").first
|
15
|
+
template "layout.html.erb", "app/views/layouts/#{layout_name}.html.erb"
|
16
|
+
template "sidebar.html.erb", "app/views/rainbow/_sidebar_nav.html.erb"
|
17
|
+
template "breadcrumb.html.erb", "app/views/rainbow/_breadcrumb.html.erb"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%% if @breadcrumbs.present? %>
|
2
|
+
<ul class="breadcrumbs">
|
3
|
+
<%% separator = divider %>
|
4
|
+
<%% @breadcrumbs[0..-2].each do |crumb| %>
|
5
|
+
<li>
|
6
|
+
<%%= link_to crumb[:name], crumb[:url], crumb[:options] %>
|
7
|
+
<span class="divider"><%%= separator %></span>
|
8
|
+
</li>
|
9
|
+
<%% end %>
|
10
|
+
<li class="active"><%%= @breadcrumbs.last[:name] %></li>
|
11
|
+
</ul>
|
12
|
+
<%% end %>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
+
<title><%%= content_for?(:title) ? yield(:title) : "<%= app_name %>" %></title>
|
8
|
+
<%%= csrf_meta_tags %>
|
9
|
+
|
10
|
+
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
11
|
+
<!--[if lt IE 9]>
|
12
|
+
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.1/html5shiv.js" type="text/javascript"></script>
|
13
|
+
<![endif]-->
|
14
|
+
|
15
|
+
<%%= stylesheet_link_tag "application", :media => "all" %>
|
16
|
+
</head>
|
17
|
+
<body>
|
18
|
+
|
19
|
+
<header class="navbar navbar-fixed-top">
|
20
|
+
<%%= link_to "<%= app_name %>", root_path, class: :brand %>
|
21
|
+
</header>
|
22
|
+
|
23
|
+
<nav class="sidebar">
|
24
|
+
<%%= render "rainbow/sidebar_nav" %>
|
25
|
+
</nav>
|
26
|
+
|
27
|
+
<section class="main">
|
28
|
+
<div class="row-fluid">
|
29
|
+
<div class="span12">
|
30
|
+
<hr class="divider" />
|
31
|
+
<%%= render_breadcrumbs %>
|
32
|
+
<hr class="divider" />
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
|
36
|
+
<%%= yield %>
|
37
|
+
|
38
|
+
</section>
|
39
|
+
|
40
|
+
<!-- Javascripts
|
41
|
+
================================================== -->
|
42
|
+
<!-- Placed at the end of the document so the pages load faster -->
|
43
|
+
<%%= javascript_include_tag "application" %>
|
44
|
+
|
45
|
+
</body>
|
46
|
+
</html>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<ul id="sidebar-nav">
|
2
|
+
|
3
|
+
<li class="accordion-group <%%= "#{active_li?(controllers: %w(home), value: 'active')}" %>">
|
4
|
+
<a href="<%%= root_path %>">
|
5
|
+
<span class="icon"><i class="icon-dashboard"></i></span>
|
6
|
+
<span class="text"><span class="title">Dashboard</span></span>
|
7
|
+
</a>
|
8
|
+
</li>
|
9
|
+
|
10
|
+
<li class="accordion-group <%%= "#{active_li?(controllers: %w(examples), value: 'active')}" %>">
|
11
|
+
<a data-toggle="collapse" data-parent="#sidebar-nav" href="#example">
|
12
|
+
<span class="icon"><i class="icon-magic"></i></span>
|
13
|
+
<span class="text"><span class="title">Examples</span><b class="caret"></b></span>
|
14
|
+
</a>
|
15
|
+
<div id="example" class="collapse <%%= "#{active_li?(controllers: %w(examples), value: 'in')}" %>">
|
16
|
+
<ul>
|
17
|
+
|
18
|
+
<li class="<%%= "#{active_li?(controllers: %w(example), actions: %w(index), value: 'active')}" %>">
|
19
|
+
<a href="#">
|
20
|
+
<span class="icon"><i class="icon-circle"></i></span>
|
21
|
+
<span class="text">Demo</span>
|
22
|
+
</a>
|
23
|
+
</li>
|
24
|
+
|
25
|
+
<li class="<%%= "#{active_li?(controllers: %w(example), actions: %w(index), value: 'active')}" %>">
|
26
|
+
<a href="#">
|
27
|
+
<span class="icon"><i class="icon-circle"></i></span>
|
28
|
+
<span class="text">Demo</span>
|
29
|
+
</a>
|
30
|
+
</li>
|
31
|
+
|
32
|
+
</ul>
|
33
|
+
</div>
|
34
|
+
</li>
|
35
|
+
|
36
|
+
</ul>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require rainbow/rainbow-shrink
|
@@ -0,0 +1,65 @@
|
|
1
|
+
!function ($) {
|
2
|
+
|
3
|
+
"use strict"; // jshint ;_;
|
4
|
+
|
5
|
+
/* SHRINK PUBLIC CLASS DEFINITION
|
6
|
+
* ================================ */
|
7
|
+
|
8
|
+
var Shrink = function(element, options) {
|
9
|
+
this.$element = $(element)
|
10
|
+
this.options = $.extend({}, $.fn.shrink.defaults, options)
|
11
|
+
}
|
12
|
+
|
13
|
+
Shrink.prototype = {
|
14
|
+
|
15
|
+
Constructor: Shrink,
|
16
|
+
|
17
|
+
toggle: function() {
|
18
|
+
var $box = this.$element.parents('.box'),
|
19
|
+
$icon = this.$element.children('i')
|
20
|
+
|
21
|
+
$box.toggleClass('closed')
|
22
|
+
$icon.toggleClass(this.options.showIcon).toggleClass(this.options.hideIcon)
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
/* SHRINK PLUGIN DEFINITION
|
27
|
+
* ========================== */
|
28
|
+
|
29
|
+
var old = $.fn.shrink
|
30
|
+
|
31
|
+
$.fn.shrink = function (option) {
|
32
|
+
return this.each(function () {
|
33
|
+
var $this = $(this),
|
34
|
+
data = $this.data('shrink'),
|
35
|
+
options = typeof option == 'object' && option
|
36
|
+
if (!data) $this.data('shrink', (data = new Shrink(this, options)))
|
37
|
+
if (option == 'shrink') data.toggle()
|
38
|
+
})
|
39
|
+
}
|
40
|
+
|
41
|
+
$.fn.shrink.defaults = {
|
42
|
+
showIcon: 'icon-caret-up',
|
43
|
+
hideIcon: 'icon-caret-down'
|
44
|
+
}
|
45
|
+
|
46
|
+
$.fn.shrink.Constructor = Shrink
|
47
|
+
|
48
|
+
/* SHRINK NO CONFLICT
|
49
|
+
* ==================== */
|
50
|
+
|
51
|
+
|
52
|
+
$.fn.shrink.noConflict = function () {
|
53
|
+
$.fn.shrink = old
|
54
|
+
return this
|
55
|
+
}
|
56
|
+
|
57
|
+
/* SHRINK DATA-API
|
58
|
+
* ================= */
|
59
|
+
|
60
|
+
$(document).on('click.shrink.data-api', '[data-toggle="shrink"]', function (e) {
|
61
|
+
var $btn = $(this)
|
62
|
+
$btn.shrink('shrink')
|
63
|
+
})
|
64
|
+
|
65
|
+
}(window.jQuery);
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "rainbow/rainbow";
|
@@ -0,0 +1,18 @@
|
|
1
|
+
@font-face {
|
2
|
+
font-family: 'Open Sans';
|
3
|
+
font-style: normal;
|
4
|
+
font-weight: 400;
|
5
|
+
src: local('Open Sans'), local('OpenSans'), font-url('OpenSans.woff') format('woff');
|
6
|
+
}
|
7
|
+
@font-face {
|
8
|
+
font-family: 'Open Sans';
|
9
|
+
font-style: normal;
|
10
|
+
font-weight: 600;
|
11
|
+
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), font-url('OpenSans-Semibold.woff') format('woff');
|
12
|
+
}
|
13
|
+
@font-face {
|
14
|
+
font-family: 'Open Sans';
|
15
|
+
font-style: normal;
|
16
|
+
font-weight: 800;
|
17
|
+
src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), font-url('OpenSans-Extrabold.woff') format('woff');
|
18
|
+
}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
.box {
|
2
|
+
height: 100%;
|
3
|
+
background: transparent;
|
4
|
+
margin: 10px auto 5px auto;
|
5
|
+
padding: 0;
|
6
|
+
line-height: 20px;
|
7
|
+
|
8
|
+
.box-header {
|
9
|
+
margin-top: 0px;
|
10
|
+
padding: 10px 10px 10px 20px;
|
11
|
+
font-size: 1em;
|
12
|
+
font-weight: 700;
|
13
|
+
line-height: 25px;
|
14
|
+
text-align: left;
|
15
|
+
text-transform: uppercase;
|
16
|
+
color: rgba(51, 86, 106, 0.5);
|
17
|
+
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6), 0 0 1px rgba(0, 0, 0, 0.3);
|
18
|
+
i {
|
19
|
+
padding-right: .3em;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
.page-header {
|
24
|
+
padding: 0;
|
25
|
+
margin: 0;
|
26
|
+
width: 100%;
|
27
|
+
margin-bottom: 10px;
|
28
|
+
margin-top: 40px;
|
29
|
+
border-bottom: 1px solid rgba(51, 86, 106, 0.15);
|
30
|
+
font-size: 1.5em;
|
31
|
+
text-transform: uppercase;
|
32
|
+
line-height: 30px;
|
33
|
+
color: rgba(0, 0, 0, 0.25);
|
34
|
+
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6), 0 0 1px rgba(0, 0, 0, 0.3);
|
35
|
+
h2 {
|
36
|
+
line-height: 20px;
|
37
|
+
}
|
38
|
+
&:first-child {
|
39
|
+
margin-top: 0;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
h1, h2, h3, h4, h5, h6 {
|
44
|
+
color: rgba(0, 0, 0, 0.25);
|
45
|
+
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6), 0 0 1px rgba(0, 0, 0, 0.3);
|
46
|
+
}
|
47
|
+
|
48
|
+
&.closed {
|
49
|
+
& > .box-content {
|
50
|
+
display: none;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
&.bordered {
|
55
|
+
background-color: #fff;
|
56
|
+
border: 1px solid #cccccc;
|
57
|
+
-webkit-border-radius: 2px;
|
58
|
+
-moz-border-radius: 2px;
|
59
|
+
-ms-border-radius: 2px;
|
60
|
+
-o-border-radius: 2px;
|
61
|
+
border-radius: 2px;
|
62
|
+
-webkit-box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.2);
|
63
|
+
-moz-box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.2);
|
64
|
+
box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.2);
|
65
|
+
.box-header {
|
66
|
+
.pull-right {
|
67
|
+
line-height: 22px;
|
68
|
+
text-transform: none;
|
69
|
+
.btn-group {
|
70
|
+
font-size: 1em;
|
71
|
+
a {
|
72
|
+
&:hover, &:active {
|
73
|
+
text-decoration: none;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
&.open .dropdown-toggle {
|
77
|
+
-webkit-box-shadow: none;
|
78
|
+
-moz-box-shadow: none;
|
79
|
+
box-shadow: none;
|
80
|
+
}
|
81
|
+
& > .btn, & > .dropdown-menu {
|
82
|
+
margin-left: -150px;
|
83
|
+
margin-top: -2px;
|
84
|
+
i {
|
85
|
+
text-shadow: none;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
a, i {
|
90
|
+
color: rgba(0, 0, 0, 0.2);
|
91
|
+
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6), 0 0 1px rgba(0, 0, 0, 0.3);
|
92
|
+
&:hover, &:active {
|
93
|
+
color: rgba(0, 0, 0, 0.4);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}
|
98
|
+
}
|
99
|
+
&.medium-blue {
|
100
|
+
background: #67a0be;
|
101
|
+
border: 1px solid #5595b6;
|
102
|
+
&:hover {
|
103
|
+
background: #5c99b9;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
&.dark-blue {
|
107
|
+
background: #50769b;
|
108
|
+
border: 1px solid #47698a;
|
109
|
+
&:hover {
|
110
|
+
background: #4b6e91;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
.breadcrumbs {
|
2
|
+
width: 100%;
|
3
|
+
height: 30px;
|
4
|
+
list-style: none;
|
5
|
+
font-size: 12px;
|
6
|
+
margin: 0;
|
7
|
+
padding: 0;
|
8
|
+
padding-left: 15px;
|
9
|
+
background: image-url('rainbow/breadcrumb-bg.png');
|
10
|
+
& > li {
|
11
|
+
display: inline-block;
|
12
|
+
line-height: 30px;
|
13
|
+
a {
|
14
|
+
padding: 0px 2px;
|
15
|
+
font-weight: 400;
|
16
|
+
font-size: 1em;
|
17
|
+
color: rgba(0, 0, 0, 0.4);
|
18
|
+
text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5);
|
19
|
+
}
|
20
|
+
.divider {
|
21
|
+
color: rgba(0, 0, 0, 0.3);
|
22
|
+
text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5);
|
23
|
+
padding: 0px 2px;
|
24
|
+
}
|
25
|
+
&.active, a:hover, a:active {
|
26
|
+
color: #67a0be;
|
27
|
+
text-decoration: none;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,111 @@
|
|
1
|
+
.btn {
|
2
|
+
@include buttonBackground(#f2f2f2, #e8e8e8, #444, #fff 0 1px 0);
|
3
|
+
@include box-shadow(#fff 0 1px 0 inset);
|
4
|
+
border: 1px solid #c4c4c4;
|
5
|
+
}
|
6
|
+
|
7
|
+
.btn-primary, .btn-blue {
|
8
|
+
@include buttonBackground(#3da0ea, #3983de);
|
9
|
+
@include box-shadow(rgba(255,255,255,0.3) 0 1px 0 inset);
|
10
|
+
border: 1px solid #3c6791;
|
11
|
+
}
|
12
|
+
|
13
|
+
.btn-cyan, .btn-info {
|
14
|
+
@include buttonBackground(#4ec9ce, #45b4bf);
|
15
|
+
@include box-shadow(rgba(255,255,255,0.3) 0 1px 0 inset);
|
16
|
+
border: 1px solid #36919b;
|
17
|
+
}
|
18
|
+
|
19
|
+
.btn-green, .btn-success {
|
20
|
+
@include buttonBackground(#bacf0b, #98ba09);
|
21
|
+
@include box-shadow(rgba(255,255,255,0.3) 0 1px 0 inset);
|
22
|
+
border: 1px solid #7c9710;
|
23
|
+
}
|
24
|
+
|
25
|
+
.btn-orange, .btn-warning {
|
26
|
+
@include buttonBackground(#f2ac1e, #e7912a);
|
27
|
+
@include box-shadow(rgba(255,255,255,0.3) 0 1px 0 inset);
|
28
|
+
border: 1px solid #c07c1e;
|
29
|
+
}
|
30
|
+
|
31
|
+
.btn-red, .btn-danger {
|
32
|
+
@include buttonBackground(#ec7337, #d85837);
|
33
|
+
@include box-shadow(rgba(255,255,255,0.3) 0 1px 0 inset);
|
34
|
+
border: 1px solid #a1391e;
|
35
|
+
}
|
36
|
+
|
37
|
+
.btn-black, .btn-inverse {
|
38
|
+
@include buttonBackground(#616161, #505050);
|
39
|
+
@include box-shadow(rgba(255,255,255,0.3) 0 1px 0 inset);
|
40
|
+
border: 1px solid #1b1b1b;
|
41
|
+
}
|
42
|
+
|
43
|
+
.btn-pink {
|
44
|
+
@include buttonBackground(#f377ab, #e3649a);
|
45
|
+
@include box-shadow(rgba(255,255,255,0.3) 0 1px 0 inset);
|
46
|
+
border: 1px solid #b4366b;
|
47
|
+
}
|
48
|
+
|
49
|
+
.btn-link {
|
50
|
+
background: none!important;
|
51
|
+
border: none!important;
|
52
|
+
color: #08c;
|
53
|
+
@include box-shadow(none);
|
54
|
+
}
|
55
|
+
|
56
|
+
.btn .caret {
|
57
|
+
border-top-color: #444;
|
58
|
+
}
|
59
|
+
|
60
|
+
.btn-blue .caret,
|
61
|
+
.btn-orange .caret,
|
62
|
+
.btn-green .caret,
|
63
|
+
.btn-cyan .caret,
|
64
|
+
.btn-red .caret,
|
65
|
+
.btn-black .caret,
|
66
|
+
.btn-black.dropdown-toggle .caret,
|
67
|
+
.btn-pink .caret,
|
68
|
+
.btn-info .caret,
|
69
|
+
.btn-warning .caret,
|
70
|
+
.btn-success .caret,
|
71
|
+
.btn-danger .caret,
|
72
|
+
.btn-inverse .caret {
|
73
|
+
border-top-color: #fff;
|
74
|
+
}
|
75
|
+
|
76
|
+
.btn-group.open {
|
77
|
+
.btn-primary.dropdown-toggle, .btn-blue.dropdown-toggle,
|
78
|
+
.btn-warning.dropdown-toggle, .btn-orange.dropdown-toggle,
|
79
|
+
.btn-danger.dropdown-toggle, .btn-red.dropdown-toggle,
|
80
|
+
.btn-success.dropdown-toggle, .btn-green.dropdown-toggle,
|
81
|
+
.btn-info.dropdown-toggle, .btn-cyan.dropdown-toggle,
|
82
|
+
.btn-pink.dropdown-toggle {
|
83
|
+
color: #fff;
|
84
|
+
}
|
85
|
+
|
86
|
+
.btn-primary.dropdown-toggle, .btn-blue.dropdown-toggle {
|
87
|
+
background-color: #3580dd;
|
88
|
+
}
|
89
|
+
.btn-warning.dropdown-toggle, .btn-orange.dropdown-toggle {
|
90
|
+
background-color: #f89406;
|
91
|
+
}
|
92
|
+
.btn-danger.dropdown-toggle, .btn-red.dropdown-toggle {
|
93
|
+
background-color: #d75433;
|
94
|
+
}
|
95
|
+
.btn-success.dropdown-toggle, .btn-green.dropdown-toggle {
|
96
|
+
background-color: #94b509;
|
97
|
+
}
|
98
|
+
.btn-info.dropdown-toggle, .btn-cyan.dropdown-toggle {
|
99
|
+
background-color: #41b2be;
|
100
|
+
}
|
101
|
+
.btn-inverse.dropdown-toggle, .btn-black.dropdown-toggle {
|
102
|
+
background-color: #505050;
|
103
|
+
}
|
104
|
+
.btn-pink.dropdown-toggle {
|
105
|
+
background-color: #e26097;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
|
109
|
+
.dropdown-menu .divider {
|
110
|
+
@include box-sizing(content-box);
|
111
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
.medium-blue {
|
2
|
+
background: #67a0be;
|
3
|
+
background-size: 100%;
|
4
|
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #79abc6), color-stop(100%, #5595b6));
|
5
|
+
background-image: -webkit-linear-gradient(top, #79abc6, #5595b6);
|
6
|
+
background-image: -moz-linear-gradient(top, #79abc6, #5595b6);
|
7
|
+
background-image: -o-linear-gradient(top, #79abc6, #5595b6);
|
8
|
+
background-image: linear-gradient(top, #79abc6, #5595b6);
|
9
|
+
}
|
10
|
+
.dark-blue {
|
11
|
+
background: #50769b;
|
12
|
+
background-size: 100%;
|
13
|
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5a83aa), color-stop(100%, #47698a));
|
14
|
+
background-image: -webkit-linear-gradient(top, #5a83aa, #47698a);
|
15
|
+
background-image: -moz-linear-gradient(top, #5a83aa, #47698a);
|
16
|
+
background-image: -o-linear-gradient(top, #5a83aa, #47698a);
|
17
|
+
background-image: linear-gradient(top, #5a83aa, #47698a);
|
18
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
.padded {
|
2
|
+
padding: 15px 30px;
|
3
|
+
}
|
4
|
+
.padded5 {
|
5
|
+
padding: 5px;
|
6
|
+
}
|
7
|
+
.padded10 {
|
8
|
+
padding: 10px;
|
9
|
+
}
|
10
|
+
.padded20 {
|
11
|
+
padding: 20px;
|
12
|
+
}
|
13
|
+
.hpadded {
|
14
|
+
padding: 0px 8px;
|
15
|
+
}
|
16
|
+
.hpadded20 {
|
17
|
+
padding: 0px 20px;
|
18
|
+
}
|
19
|
+
.hpadded30 {
|
20
|
+
padding: 0px 30px;
|
21
|
+
}
|
22
|
+
.vpadded {
|
23
|
+
padding: 8px 0px;
|
24
|
+
}
|
25
|
+
.vpadded20 {
|
26
|
+
padding: 20px 0px;
|
27
|
+
}
|
28
|
+
.vpadded30 {
|
29
|
+
padding: 30px 0px;
|
30
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
@import "bootstrap/mixins";
|
2
|
+
|
3
|
+
@mixin navbar($backgroundColor: #000, $borderColor: #ccc, $startColor: #555, $endColor: #333) {
|
4
|
+
background: $backgroundColor;
|
5
|
+
border-bottom: 1px solid #{$borderColor};
|
6
|
+
@include box-shadow(rgba(255,255,255,0.25) 0 1px 0 inset);
|
7
|
+
@include gradient-vertical($startColor, $endColor);
|
8
|
+
}
|
9
|
+
|
10
|
+
@mixin text-shadow($shadow...) {
|
11
|
+
-webkit-text-shadow: $shadow;
|
12
|
+
-moz-text-shadow: $shadow;
|
13
|
+
-o-text-shadow: $shadow;
|
14
|
+
text-shadow: $shadow;
|
15
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
.navbar {
|
2
|
+
height: 40px;
|
3
|
+
margin-top: 0px;
|
4
|
+
margin-right: 0px;
|
5
|
+
width: 100%;
|
6
|
+
-webkit-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.3);
|
7
|
+
-moz-box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.3);
|
8
|
+
box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.3);
|
9
|
+
background-color: #333;
|
10
|
+
background: image-url('rainbow/navbar-bg.png');
|
11
|
+
border-bottom: 1px solid #292929;
|
12
|
+
a.brand {
|
13
|
+
-webkit-transition: all 0.5s linear;
|
14
|
+
-moz-transition: all 0.5s linear;
|
15
|
+
-o-transition: all 0.5s linear;
|
16
|
+
transition: all 0.5s linear;
|
17
|
+
padding: 0;
|
18
|
+
padding-left: 20px;
|
19
|
+
font-size: 24px;
|
20
|
+
font-weight: 600;
|
21
|
+
line-height: 39px;
|
22
|
+
text-align: center;
|
23
|
+
color: #222;
|
24
|
+
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 30px rgba(255, 255, 255, 0.125);
|
25
|
+
margin-left: 0;
|
26
|
+
&:hover, &:active, &.active {
|
27
|
+
color: #fff;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
.nav {
|
31
|
+
&.pull-right {
|
32
|
+
margin-right: 20px;
|
33
|
+
}
|
34
|
+
& > li > a {
|
35
|
+
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
|
36
|
+
&:focus, &:hover {
|
37
|
+
color: #fff;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
.user-menu {
|
41
|
+
img {
|
42
|
+
display: inline-block;
|
43
|
+
height: 20px;
|
44
|
+
vertical-align: top;
|
45
|
+
width: 20px;
|
46
|
+
-webkit-border-radius: 3px;
|
47
|
+
-moz-border-radius: 3px;
|
48
|
+
border-radius: 3px;
|
49
|
+
-webkit-box-shadow: rgba(0,0,0,0.2) 0 -1px 0;
|
50
|
+
-moz-box-shadow: rgba(0,0,0,0.2) 0 -1px 0;
|
51
|
+
box-shadow: rgba(0,0,0,0.2) 0 -1px 0;
|
52
|
+
}
|
53
|
+
.name {
|
54
|
+
padding-left: 5px;
|
55
|
+
}
|
56
|
+
.dropdown-toggle .caret {
|
57
|
+
border-top-color: #aaa;
|
58
|
+
border-bottom-color: #aaa;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
* {
|
2
|
+
margin: 0px;
|
3
|
+
padding: 0px;
|
4
|
+
text-decoration: none;
|
5
|
+
outline: none;
|
6
|
+
}
|
7
|
+
body {
|
8
|
+
background-image: image-url('rainbow/body-bg.png');
|
9
|
+
width: 100%;
|
10
|
+
height: 100%;
|
11
|
+
margin: 0px;
|
12
|
+
-webkit-font-smoothing: antialiased;
|
13
|
+
}
|
14
|
+
a {
|
15
|
+
cursor: pointer;
|
16
|
+
}
|
@@ -0,0 +1,140 @@
|
|
1
|
+
.sidebar {
|
2
|
+
background-color: #333;
|
3
|
+
background: image-url('rainbow/navbar-bg.png');
|
4
|
+
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 3px 0px 5px 0px;
|
5
|
+
-moz-box-shadow: rgba(0, 0, 0, 0.2) 3px 0px 5px 0px;
|
6
|
+
box-shadow: rgba(0, 0, 0, 0.2) 3px 0px 5px 0px;
|
7
|
+
border-right: 1px solid #1D1E21;
|
8
|
+
float: left;
|
9
|
+
width: 140px;
|
10
|
+
height: 100%;
|
11
|
+
position: fixed;
|
12
|
+
margin-top: 40px;
|
13
|
+
font-size: 11px;
|
14
|
+
ul, ul li {
|
15
|
+
list-style: none;
|
16
|
+
margin: 0;
|
17
|
+
padding: 0;
|
18
|
+
}
|
19
|
+
.brand {
|
20
|
+
display: none;
|
21
|
+
}
|
22
|
+
.accordion-group {
|
23
|
+
margin-bottom: 0;
|
24
|
+
-webkit-border-radius: 0;
|
25
|
+
-moz-border-radius: 0;
|
26
|
+
border-radius: 0;
|
27
|
+
border-left: none;
|
28
|
+
border-right: none;
|
29
|
+
}
|
30
|
+
& > ul > li {
|
31
|
+
border-bottom: 1px solid #1D1E21;
|
32
|
+
border-top: 1px solid #4A4A54;
|
33
|
+
text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
|
34
|
+
&.active {
|
35
|
+
color: #fff;
|
36
|
+
background: rgba(0, 0, 0, 0.3);
|
37
|
+
& > a {
|
38
|
+
font-weight: bold;
|
39
|
+
color: #fff;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
& > a {
|
43
|
+
padding: 7px 0;
|
44
|
+
padding-left: 12px;
|
45
|
+
display: block;
|
46
|
+
color: #ddd;
|
47
|
+
text-align: left;
|
48
|
+
text-decoration: none;
|
49
|
+
line-height: 36px;
|
50
|
+
opacity: .9;
|
51
|
+
.icon {
|
52
|
+
display: inline-block;
|
53
|
+
margin-top: 3px;
|
54
|
+
width: 20%;
|
55
|
+
}
|
56
|
+
i {
|
57
|
+
display: inline-block;
|
58
|
+
font-size: 26px;
|
59
|
+
height: 18px;
|
60
|
+
padding-right: 5px;
|
61
|
+
width: 100%;
|
62
|
+
}
|
63
|
+
.text {
|
64
|
+
display: inline-block;
|
65
|
+
width: 65%;
|
66
|
+
margin-left: 7px;
|
67
|
+
.title {
|
68
|
+
display: inline-block;
|
69
|
+
width: 65px;
|
70
|
+
overflow: hidden;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
.caret {
|
74
|
+
margin-left: 5px;
|
75
|
+
border-top-color: #fff;
|
76
|
+
border-bottom-color: #fff;
|
77
|
+
margin-top: 16px;
|
78
|
+
}
|
79
|
+
&:hover, &:active {
|
80
|
+
color: #fff;
|
81
|
+
background: rgba(0, 0, 0, 0.3);
|
82
|
+
-webkit-transition: all 0.3s ease-in-out;
|
83
|
+
-moz-transition: all 0.3s ease-in-out;
|
84
|
+
-o-transition: all 0.3s ease-in-out;
|
85
|
+
transition: all 0.3s ease-in-out;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
& > div.collapse {
|
89
|
+
width: 100%;
|
90
|
+
background: #333;
|
91
|
+
background-image: image-url('rainbow/navbar-bg.png');
|
92
|
+
position: relative;
|
93
|
+
overflow: hidden;
|
94
|
+
-webkit-transition: height 0.35s ease;
|
95
|
+
-moz-transition: height 0.35s ease;
|
96
|
+
-o-transition: height 0.35s ease;
|
97
|
+
transition: height 0.35s ease;
|
98
|
+
& li {
|
99
|
+
background: rgba(0, 0, 0, 0.3);
|
100
|
+
border-bottom: 1px solid #222;
|
101
|
+
border-top: 1px solid #353535;
|
102
|
+
text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
|
103
|
+
&:first-child {
|
104
|
+
border-top: 1px solid #222;
|
105
|
+
}
|
106
|
+
&:last-child {
|
107
|
+
border-bottom: 0;
|
108
|
+
}
|
109
|
+
&.active a {
|
110
|
+
color: #fff;
|
111
|
+
background: #4888aa;
|
112
|
+
font-weight: bold;
|
113
|
+
}
|
114
|
+
& > a {
|
115
|
+
width: 100%;
|
116
|
+
display: block;
|
117
|
+
color: #eeeeee;
|
118
|
+
height: 30px;
|
119
|
+
line-height: 30px;
|
120
|
+
font-size: 1em;
|
121
|
+
text-align: left;
|
122
|
+
padding-left: 10px;
|
123
|
+
text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
|
124
|
+
&:hover, &.active, &:active {
|
125
|
+
color: #fff;
|
126
|
+
background: #396b86;
|
127
|
+
-webkit-transition: all 0.3s ease-in-out;
|
128
|
+
-moz-transition: all 0.3s ease-in-out;
|
129
|
+
-o-transition: all 0.3s ease-in-out;
|
130
|
+
transition: all 0.3s ease-in-out;
|
131
|
+
text-decoration: none;
|
132
|
+
}
|
133
|
+
.icon {
|
134
|
+
padding-right: 5px;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}
|
140
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
@import "rainbow/mixins";
|
2
|
+
|
3
|
+
@import "rainbow/reset";
|
4
|
+
@import "rainbow/layouts";
|
5
|
+
|
6
|
+
@import "rainbow/navbar";
|
7
|
+
@import "rainbow/sidebar";
|
8
|
+
@import "rainbow/breadcrumb";
|
9
|
+
@import "rainbow/main";
|
10
|
+
|
11
|
+
@import "rainbow/box";
|
12
|
+
|
13
|
+
@import "rainbow/button";
|
metadata
ADDED
@@ -0,0 +1,148 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bootstrap_rainbow
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- SapronLee
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-02-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bootstrap-sass
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.3.0.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.3.0.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: font-awesome-sass-rails
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 3.0.2.1
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 3.0.2.1
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: railties
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 3.1.1
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.1.1
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: sass-rails
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 3.1.1
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.1.1
|
78
|
+
description: extend bootstrap
|
79
|
+
email:
|
80
|
+
- sapronlee@gmail.com
|
81
|
+
executables: []
|
82
|
+
extensions: []
|
83
|
+
extra_rdoc_files: []
|
84
|
+
files:
|
85
|
+
- .gitignore
|
86
|
+
- Gemfile
|
87
|
+
- LICENSE.txt
|
88
|
+
- README.md
|
89
|
+
- Rakefile
|
90
|
+
- app/helpers/breadcrumb_helper.rb
|
91
|
+
- app/helpers/sidebar_helper.rb
|
92
|
+
- bootstrap_rainbow.gemspec
|
93
|
+
- lib/bootstrap_rainbow.rb
|
94
|
+
- lib/bootstrap_rainbow/breadcrumbs.rb
|
95
|
+
- lib/bootstrap_rainbow/engine.rb
|
96
|
+
- lib/bootstrap_rainbow/version.rb
|
97
|
+
- lib/generators/bootstrap_rainbow/install/install_generator.rb
|
98
|
+
- lib/generators/bootstrap_rainbow/install/templates/breadcrumb.html.erb
|
99
|
+
- lib/generators/bootstrap_rainbow/install/templates/layout.html.erb
|
100
|
+
- lib/generators/bootstrap_rainbow/install/templates/sidebar.html.erb
|
101
|
+
- vendor/assets/fonts/OpenSans-Extrabold.woff
|
102
|
+
- vendor/assets/fonts/OpenSans-Semibold.woff
|
103
|
+
- vendor/assets/fonts/OpenSans.woff
|
104
|
+
- vendor/assets/images/avatar.png
|
105
|
+
- vendor/assets/images/rainbow/body-bg.png
|
106
|
+
- vendor/assets/images/rainbow/breadcrumb-bg.png
|
107
|
+
- vendor/assets/images/rainbow/navbar-bg.png
|
108
|
+
- vendor/assets/javascripts/bootstrap_rainbow.js
|
109
|
+
- vendor/assets/javascripts/rainbow/rainbow-shrink.js
|
110
|
+
- vendor/assets/stylesheets/bootstrap_rainbow.css.scss
|
111
|
+
- vendor/assets/stylesheets/fonts.css.scss
|
112
|
+
- vendor/assets/stylesheets/rainbow/_box.css.scss
|
113
|
+
- vendor/assets/stylesheets/rainbow/_breadcrumb.css.scss
|
114
|
+
- vendor/assets/stylesheets/rainbow/_button.css.scss
|
115
|
+
- vendor/assets/stylesheets/rainbow/_color.css.scss
|
116
|
+
- vendor/assets/stylesheets/rainbow/_layouts.css.scss
|
117
|
+
- vendor/assets/stylesheets/rainbow/_main.css.scss
|
118
|
+
- vendor/assets/stylesheets/rainbow/_mixins.css.scss
|
119
|
+
- vendor/assets/stylesheets/rainbow/_navbar.css.scss
|
120
|
+
- vendor/assets/stylesheets/rainbow/_reset.css.scss
|
121
|
+
- vendor/assets/stylesheets/rainbow/_sidebar.css.scss
|
122
|
+
- vendor/assets/stylesheets/rainbow/rainbow.css.scss
|
123
|
+
homepage: http://github.com/sapronlee
|
124
|
+
licenses: []
|
125
|
+
post_install_message:
|
126
|
+
rdoc_options: []
|
127
|
+
require_paths:
|
128
|
+
- lib
|
129
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
|
+
none: false
|
137
|
+
requirements:
|
138
|
+
- - ! '>='
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
requirements: []
|
142
|
+
rubyforge_project:
|
143
|
+
rubygems_version: 1.8.24
|
144
|
+
signing_key:
|
145
|
+
specification_version: 3
|
146
|
+
summary: extend bootstrap
|
147
|
+
test_files: []
|
148
|
+
has_rdoc:
|