customizable_bootstrap 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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;