customizable_bootstrap 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +15 -0
  2. data/.document +5 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +20 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.rdoc +45 -0
  7. data/Rakefile +49 -0
  8. data/VERSION +1 -0
  9. data/customizable_bootstrap.gemspec +366 -0
  10. data/lib/customizable_bootstrap.rb +9 -0
  11. data/lib/customizable_bootstrap/railtie.rb +4 -0
  12. data/lib/customizable_bootstrap/version.rb +7 -0
  13. data/lib/generators/customizable_bootstrap/install/install_generator.rb +23 -0
  14. data/lib/generators/customizable_bootstrap/install/templates/javascripts/index.js +15 -0
  15. data/lib/generators/customizable_bootstrap/install/templates/stylesheets/colors.css.scss +100 -0
  16. data/lib/generators/customizable_bootstrap/install/templates/stylesheets/font.css.scss +9 -0
  17. data/lib/generators/customizable_bootstrap/install/templates/stylesheets/grid.css.scss +7 -0
  18. data/lib/generators/customizable_bootstrap/install/templates/stylesheets/index.css.scss +13 -0
  19. data/lib/generators/customizable_bootstrap/install/templates/stylesheets/layers.css.scss +7 -0
  20. data/lib/generators/customizable_bootstrap/install/templates/stylesheets/overrides.css.scss +27 -0
  21. data/lib/generators/customizable_bootstrap/utils.rb +16 -0
  22. data/script/rails +6 -0
  23. data/spec/customizable_bootstrap_spec.rb +18 -0
  24. data/spec/dummy/.rspec +1 -0
  25. data/spec/dummy/Rakefile +7 -0
  26. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  27. data/spec/dummy/app/assets/javascripts/customizable_bootstrap/index.js +15 -0
  28. data/spec/dummy/app/assets/stylesheets/application.css.scss +15 -0
  29. data/spec/dummy/app/assets/stylesheets/customizable_bootstrap/colors.css.scss +100 -0
  30. data/spec/dummy/app/assets/stylesheets/customizable_bootstrap/font.css.scss +9 -0
  31. data/spec/dummy/app/assets/stylesheets/customizable_bootstrap/grid.css.scss +7 -0
  32. data/spec/dummy/app/assets/stylesheets/customizable_bootstrap/index.css.scss +13 -0
  33. data/spec/dummy/app/assets/stylesheets/customizable_bootstrap/layers.css.scss +7 -0
  34. data/spec/dummy/app/assets/stylesheets/customizable_bootstrap/overrides.css.scss +27 -0
  35. data/spec/dummy/app/assets/stylesheets/scaffolds.css.scss +1 -0
  36. data/spec/dummy/config.ru +4 -0
  37. data/spec/dummy/config/application.rb +26 -0
  38. data/spec/dummy/config/boot.rb +10 -0
  39. data/spec/dummy/config/environment.rb +5 -0
  40. data/spec/dummy/config/environments/development.rb +23 -0
  41. data/spec/dummy/config/environments/test.rb +17 -0
  42. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  43. data/spec/dummy/config/initializers/inflections.rb +15 -0
  44. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  45. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  46. data/spec/dummy/config/initializers/session_store.rb +8 -0
  47. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  48. data/spec/dummy/config/routes.rb +52 -0
  49. data/spec/dummy/public/404.html +26 -0
  50. data/spec/dummy/public/422.html +26 -0
  51. data/spec/dummy/public/500.html +25 -0
  52. data/spec/dummy/public/favicon.ico +0 -0
  53. data/spec/dummy/public/index.html +57 -0
  54. data/spec/dummy/script/rails +6 -0
  55. data/spec/spec_helper.rb +19 -0
  56. metadata +1389 -0
@@ -0,0 +1,9 @@
1
+ module CustomizableBootstrap
2
+ require 'rails'
3
+
4
+ require 'customizable_bootstrap/railtie'
5
+ require 'customizable_bootstrap/version'
6
+
7
+ require 'sass-rails'
8
+ require 'bootstrap-sass'
9
+ end
@@ -0,0 +1,4 @@
1
+ module CustomizableBootstrap
2
+ class Railtie < Rails::Railtie
3
+ end
4
+ end
@@ -0,0 +1,7 @@
1
+ module CustomizableBootstrap
2
+ VERSION = File.read(File.expand_path('../../../VERSION', __FILE__))
3
+
4
+ def self.version_string
5
+ "CustomizableBootstrap version #{CustomizableBootstrap::VERSION}"
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ module CustomizableBootstrap
2
+ class InstallGenerator < Rails::Generators::Base
3
+ source_root File.expand_path("../templates", __FILE__)
4
+ require File.expand_path('../../utils', __FILE__)
5
+ include Generators::Utils
6
+
7
+ def hello
8
+ output "Welcome to the Customizable Bootstrap gem's installation process.", :magenta
9
+ end
10
+
11
+ # all public methods in here will be run in order
12
+ def copy_template_files
13
+ output "What you need are some files to customize", :magenta
14
+ template "stylesheets/colors.css.scss", "app/assets/stylesheets/customizable_bootstrap/colors.css.scss"
15
+ template "stylesheets/font.css.scss", "app/assets/stylesheets/customizable_bootstrap/font.css.scss"
16
+ template "stylesheets/grid.css.scss", "app/assets/stylesheets/customizable_bootstrap/grid.css.scss"
17
+ template "stylesheets/index.css.scss", "app/assets/stylesheets/customizable_bootstrap/index.css.scss"
18
+ template "stylesheets/layers.css.scss", "app/assets/stylesheets/customizable_bootstrap/layers.css.scss"
19
+ template "stylesheets/overrides.css.scss", "app/assets/stylesheets/customizable_bootstrap/overrides.css.scss"
20
+ template "javascripts/index.js", "app/assets/javascripts/customizable_bootstrap/index.js"
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into customizable_bootstrap.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require bootstrap
14
+ //= require_tree .
15
+
@@ -0,0 +1,100 @@
1
+
2
+ /* Colors to be used in the rest of the file */
3
+ $black: #000;
4
+ $gray: #555;
5
+ $grayDark: #333;
6
+ $grayDarker: #222;
7
+ $grayLight: #999;
8
+ $grayLighter: #ccc;
9
+ $grayLightness: #ddd;
10
+ $grayLightest: #eee;
11
+ $grayLightVery: #f5f5f5;
12
+ $grayLightExtremely: #f9f9f9;
13
+ $white: #fff;
14
+ $blue: #049cdb;
15
+ $blueDark: #0064cd;
16
+ $green: #46a546;
17
+ $red: #9d261d;
18
+ $yellow: #ffc40d;
19
+ $orange: #f89406;
20
+ $pink: #c3325f;
21
+ $purple: #7a43b6;
22
+
23
+
24
+ /* Assignments of colors to useful variable names */
25
+ $bodyBackground: $white;
26
+ $textColor: $grayDark;
27
+ $linkColor: $blue;
28
+ $linkColorHover: darken($linkColor, 15%);
29
+
30
+ $tableBackground: transparent;
31
+ $tableBackgroundAccent: $grayLightExtremely;
32
+ $tableBackgroundHover: $grayLightVery;
33
+ $tableBorder: $grayLightness;
34
+ $hrBorder: $grayLightest;
35
+
36
+ $btnBackground: $white;
37
+ $btnBackgroundHighlight: darken($btnBackground, 10%);
38
+ $btnBorder: $grayLighter;
39
+ $btnDangerBackground: $red;
40
+ $btnDangerBackgroundHighlight: darken($btnDangerBackground, 10%);
41
+ $btnInfoBackground: $blue;
42
+ $btnInfoBackgroundHighlight: darken($btnInfoBackground, 10%);
43
+ $btnInverseBackground: $gray;
44
+ $btnInverseBackgroundHighlight: darken($gray, 10%);
45
+ $btnPrimaryBackground: $blueDark;
46
+ $btnPrimaryBackgroundHighlight: darken($btnPrimaryBackground, 10%);
47
+ $btnSuccessBackground: $green;
48
+ $btnSuccessBackgroundHighlight: darken($btnSuccessBackground, 10%);
49
+ $btnWarningBackground: $orange;
50
+ $btnWarningBackgroundHighlight: darken($btnWarningBackground, 10%);
51
+
52
+ $inputBackground: $white;
53
+ $inputBorder: $grayLighter;
54
+ $inputBorderRadius: 3px;
55
+ $inputDisabledBackground: $grayLightest;
56
+ $formActionsBackground: $grayLightVery;
57
+ $placeholderText: $grayLight;
58
+
59
+ $dropdownBackground: $white;
60
+ $dropdownBorder: fadeout($black, .2);
61
+ $dropdownDividerBottom: $white;
62
+ $dropdownDividerTop: $grayLightest;
63
+ $dropdownLinkBackgroundHover: $linkColor;
64
+ $dropdownLinkColor: $grayDark;
65
+ $dropdownLinkColorHover: $white;
66
+
67
+ $iconSpritePath: '../../img/glyphicons-halflings.png';
68
+ $iconWhiteSpritePath: '../../img/glyphicons-halflings-white.png';
69
+
70
+ $navbarBackground: $grayDarker;
71
+ $navbarBackgroundHighlight: $grayDark;
72
+ $navbarLinkColor: $grayLight;
73
+ $navbarLinkColorHover: $white;
74
+ $navbarBrandColor: $navbarLinkColor;
75
+ $navbarHeight: 40px;
76
+ $navbarLinkBackgroundActive: $navbarBackground;
77
+ $navbarLinkBackgroundHover: transparent;
78
+ $navbarLinkColorActive: $navbarLinkColorHover;
79
+ $navbarSearchBackground: lighten($navbarBackground, 25%);
80
+ $navbarSearchBackgroundFocus: $white;
81
+ $navbarSearchBorder: darken($navbarSearchBackground, 30%);
82
+ $navbarSearchPlaceholderColor: $grayLighter;
83
+ $navbarText: $grayLight;
84
+
85
+ $heroUnitBackground: $grayLightest;
86
+ $heroUnitHeadingColor: inherit;
87
+ $heroUnitLeadColor: inherit;
88
+
89
+ $warningBackground: lighten($orange, 50%);
90
+ $warningBorder: darken($warningBackground, 3%);
91
+ $warningText: $orange;
92
+ $errorBackground: lighten($red, 50%);
93
+ $errorBorder: darken($errorBackground, 3%);
94
+ $errorText: $red;
95
+ $successBackground: lighten($green, 50%);
96
+ $successBorder: darken($successBackground, 3%);
97
+ $successText: $green;
98
+ $infoBackground: lighten($blue, 50%);
99
+ $infoBorder: darken($infoBackground, 3%);
100
+ $infoText: $blue;
@@ -0,0 +1,9 @@
1
+ $sansFontFamily: 'Helvetica Neue', Helvetica, Arial, sans-serif;
2
+ $serifFontFamily: Georgia, 'Times New Roman', Times, serif;
3
+ $monoFontFamily: Menlo, Monaco, Consolas, 'Courier New', monospace;
4
+ $baseFontSize: 13px;
5
+ $baseFontFamily: $sansFontFamily;
6
+ $baseLineHeight: 18px;
7
+ $altFontFamily: $serifFontFamily;
8
+ $headingsFontFamily: $sansFontFamily;
9
+ $headingsFontWeight: bold;
@@ -0,0 +1,7 @@
1
+
2
+ $gridColumnWidth: 50px;
3
+ $gridColumns: 13;
4
+ $gridGutterWidth: 25px;
5
+ $gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1));
6
+ $fluidGridColumnWidth: 6.382978723%;
7
+ $fluidGridGutterWidth: 2.127659574%;
@@ -0,0 +1,13 @@
1
+ // DON'T TOUCH IT
2
+ // You'll break it.
3
+ //
4
+ // Actually, you can customize it at will.
5
+
6
+ @import './font';
7
+ @import './colors';
8
+ @import './grid';
9
+ @import './layers';
10
+ @import 'bootstrap';
11
+ @import 'bootstrap-responsive';
12
+ // @import 'font-awesome';
13
+ @import './overrides';
@@ -0,0 +1,7 @@
1
+
2
+ $zindexDropdown: 1000;
3
+ $zindexFixedNavbar: 1030;
4
+ $zindexModal: 1050;
5
+ $zindexModalBackdrop: 1040;
6
+ $zindexPopover: 1010;
7
+ $zindexTooltip: 1020;
@@ -0,0 +1,27 @@
1
+ // These rules override those given within bootstrap. They can use
2
+ // mixins and variables.
3
+
4
+ body {
5
+ padding-top: 60px;
6
+ }
7
+
8
+ .clear-right {
9
+ clear: right;
10
+ }
11
+
12
+ .clear-left {
13
+ clear: left;
14
+ }
15
+
16
+ .clear-all, .clear-both {
17
+ clear: both;
18
+ }
19
+
20
+ .relative {
21
+ position: relative;
22
+ }
23
+
24
+ object, embed, video {
25
+ max-width: 100%;
26
+ height: auto;
27
+ }
@@ -0,0 +1,16 @@
1
+ module CustomizableBootstrap
2
+ module Generators
3
+ module Utils
4
+ def output(output, color = :green)
5
+ say(" - #{output}", color)
6
+ end
7
+
8
+ def ask_for(wording, default_value = nil, override_if_present_value = nil)
9
+ override_if_present_value.present? ?
10
+ display("Using [#{override_if_present_value}] for question '#{wording}'") && override_if_present_value :
11
+ ask(" ? #{wording} Press <enter> for [#{default_value}] >", :yellow).presence || default_value
12
+ end
13
+ end
14
+ end
15
+ end
16
+
data/script/rails ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby1.8
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../spec/dummy/config/application', __FILE__)
5
+ require File.expand_path('../../spec/dummy/config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe 'CustomizableBootstrap' do
4
+ context 'when serving css via asset pipeline' do
5
+ subject {
6
+ visit '/assets/application.css'
7
+ page
8
+ }
9
+ its(:text) { should include '}' }
10
+ end
11
+ context 'when serving js via asset pipeline' do
12
+ subject {
13
+ visit '/assets/application.js'
14
+ page
15
+ }
16
+ its(:text) { should include '}' }
17
+ end
18
+ end
data/spec/dummy/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env rake
2
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
3
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
+
5
+ require File.expand_path('../config/application', __FILE__)
6
+
7
+ Dummy::Application.load_tasks
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into customizable_bootstrap.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require bootstrap
14
+ //= require_tree .
15
+
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
14
+
15
+ @import 'customizable_bootstrap';
@@ -0,0 +1,100 @@
1
+
2
+ /* Colors to be used in the rest of the file */
3
+ $black: #000;
4
+ $gray: #555;
5
+ $grayDark: #333;
6
+ $grayDarker: #222;
7
+ $grayLight: #999;
8
+ $grayLighter: #ccc;
9
+ $grayLightness: #ddd;
10
+ $grayLightest: #eee;
11
+ $grayLightVery: #f5f5f5;
12
+ $grayLightExtremely: #f9f9f9;
13
+ $white: #fff;
14
+ $blue: #049cdb;
15
+ $blueDark: #0064cd;
16
+ $green: #46a546;
17
+ $red: #9d261d;
18
+ $yellow: #ffc40d;
19
+ $orange: #f89406;
20
+ $pink: #c3325f;
21
+ $purple: #7a43b6;
22
+
23
+
24
+ /* Assignments of colors to useful variable names */
25
+ $bodyBackground: $white;
26
+ $textColor: $grayDark;
27
+ $linkColor: $blue;
28
+ $linkColorHover: darken($linkColor, 15%);
29
+
30
+ $tableBackground: transparent;
31
+ $tableBackgroundAccent: $grayLightExtremely;
32
+ $tableBackgroundHover: $grayLightVery;
33
+ $tableBorder: $grayLightness;
34
+ $hrBorder: $grayLightest;
35
+
36
+ $btnBackground: $white;
37
+ $btnBackgroundHighlight: darken($btnBackground, 10%);
38
+ $btnBorder: $grayLighter;
39
+ $btnDangerBackground: $red;
40
+ $btnDangerBackgroundHighlight: darken($btnDangerBackground, 10%);
41
+ $btnInfoBackground: $blue;
42
+ $btnInfoBackgroundHighlight: darken($btnInfoBackground, 10%);
43
+ $btnInverseBackground: $gray;
44
+ $btnInverseBackgroundHighlight: darken($gray, 10%);
45
+ $btnPrimaryBackground: $blueDark;
46
+ $btnPrimaryBackgroundHighlight: darken($btnPrimaryBackground, 10%);
47
+ $btnSuccessBackground: $green;
48
+ $btnSuccessBackgroundHighlight: darken($btnSuccessBackground, 10%);
49
+ $btnWarningBackground: $orange;
50
+ $btnWarningBackgroundHighlight: darken($btnWarningBackground, 10%);
51
+
52
+ $inputBackground: $white;
53
+ $inputBorder: $grayLighter;
54
+ $inputBorderRadius: 3px;
55
+ $inputDisabledBackground: $grayLightest;
56
+ $formActionsBackground: $grayLightVery;
57
+ $placeholderText: $grayLight;
58
+
59
+ $dropdownBackground: $white;
60
+ $dropdownBorder: fadeout($black, .2);
61
+ $dropdownDividerBottom: $white;
62
+ $dropdownDividerTop: $grayLightest;
63
+ $dropdownLinkBackgroundHover: $linkColor;
64
+ $dropdownLinkColor: $grayDark;
65
+ $dropdownLinkColorHover: $white;
66
+
67
+ $iconSpritePath: '../../img/glyphicons-halflings.png';
68
+ $iconWhiteSpritePath: '../../img/glyphicons-halflings-white.png';
69
+
70
+ $navbarBackground: $grayDarker;
71
+ $navbarBackgroundHighlight: $grayDark;
72
+ $navbarLinkColor: $grayLight;
73
+ $navbarLinkColorHover: $white;
74
+ $navbarBrandColor: $navbarLinkColor;
75
+ $navbarHeight: 40px;
76
+ $navbarLinkBackgroundActive: $navbarBackground;
77
+ $navbarLinkBackgroundHover: transparent;
78
+ $navbarLinkColorActive: $navbarLinkColorHover;
79
+ $navbarSearchBackground: lighten($navbarBackground, 25%);
80
+ $navbarSearchBackgroundFocus: $white;
81
+ $navbarSearchBorder: darken($navbarSearchBackground, 30%);
82
+ $navbarSearchPlaceholderColor: $grayLighter;
83
+ $navbarText: $grayLight;
84
+
85
+ $heroUnitBackground: $grayLightest;
86
+ $heroUnitHeadingColor: inherit;
87
+ $heroUnitLeadColor: inherit;
88
+
89
+ $warningBackground: lighten($orange, 50%);
90
+ $warningBorder: darken($warningBackground, 3%);
91
+ $warningText: $orange;
92
+ $errorBackground: lighten($red, 50%);
93
+ $errorBorder: darken($errorBackground, 3%);
94
+ $errorText: $red;
95
+ $successBackground: lighten($green, 50%);
96
+ $successBorder: darken($successBackground, 3%);
97
+ $successText: $green;
98
+ $infoBackground: lighten($blue, 50%);
99
+ $infoBorder: darken($infoBackground, 3%);
100
+ $infoText: $blue;