tb_redirects 0.0.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +42 -0
  3. data/app/models/tb_redirect.rb +2 -1
  4. data/lib/tb_redirects/version.rb +1 -1
  5. data/spec/concerns/tb_redirects/has_redirects_spec.rb +22 -0
  6. data/spec/controllers/admin/tb_redirects_controller_spec.rb +77 -0
  7. data/spec/controllers/application_controller_spec.rb +25 -0
  8. data/spec/dummy/README.rdoc +28 -0
  9. data/spec/dummy/Rakefile +6 -0
  10. data/spec/dummy/app/assets/javascripts/admin/application.js +16 -0
  11. data/spec/dummy/app/assets/javascripts/application.js +17 -0
  12. data/spec/dummy/app/assets/javascripts/bootstrap_modules.js +14 -0
  13. data/spec/dummy/app/assets/stylesheets/admin/application.scss +3 -0
  14. data/spec/dummy/app/assets/stylesheets/application.scss +6 -0
  15. data/spec/dummy/app/assets/stylesheets/imports/bootstrap_modules.scss +56 -0
  16. data/spec/dummy/app/assets/stylesheets/imports/bootstrap_theme.scss +875 -0
  17. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  18. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  19. data/spec/dummy/app/models/widget.rb +3 -0
  20. data/spec/dummy/app/views/layouts/application.html.erb +32 -0
  21. data/spec/dummy/app/views/layouts/error_page.html.erb +8 -0
  22. data/spec/dummy/bin/bundle +3 -0
  23. data/spec/dummy/bin/rails +4 -0
  24. data/spec/dummy/bin/rake +4 -0
  25. data/spec/dummy/bin/setup +29 -0
  26. data/spec/dummy/config.ru +4 -0
  27. data/spec/dummy/config/application.rb +31 -0
  28. data/spec/dummy/config/boot.rb +5 -0
  29. data/spec/dummy/config/database.yml +28 -0
  30. data/spec/dummy/config/environment.rb +5 -0
  31. data/spec/dummy/config/environments/development.rb +41 -0
  32. data/spec/dummy/config/environments/production.rb +79 -0
  33. data/spec/dummy/config/environments/test.rb +44 -0
  34. data/spec/dummy/config/initializers/assets.rb +11 -0
  35. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  36. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  37. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  38. data/spec/dummy/config/initializers/inflections.rb +16 -0
  39. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  40. data/spec/dummy/config/initializers/session_store.rb +3 -0
  41. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  42. data/spec/dummy/config/locales/en.yml +23 -0
  43. data/spec/dummy/config/routes.rb +56 -0
  44. data/spec/dummy/config/secrets.yml +22 -0
  45. data/spec/dummy/db/migrate/20160211160614_create_spud_admin_permissions.tb_core.rb +12 -0
  46. data/spec/dummy/db/migrate/20160211160615_create_spud_users.tb_core.rb +30 -0
  47. data/spec/dummy/db/migrate/20160211160616_add_time_zone_to_spud_user.tb_core.rb +7 -0
  48. data/spec/dummy/db/migrate/20160211160617_add_scope_to_spud_admin_permissions.tb_core.rb +7 -0
  49. data/spec/dummy/db/migrate/20160211160618_create_spud_user_settings.tb_core.rb +12 -0
  50. data/spec/dummy/db/migrate/20160211160619_create_spud_roles.tb_core.rb +11 -0
  51. data/spec/dummy/db/migrate/20160211160620_create_spud_permissions.tb_core.rb +11 -0
  52. data/spec/dummy/db/migrate/20160211160621_create_spud_role_permissions.tb_core.rb +12 -0
  53. data/spec/dummy/db/migrate/20160211160622_drop_spud_admin_permissions.tb_core.rb +16 -0
  54. data/spec/dummy/db/migrate/20160211160623_add_requires_password_change_to_spud_users.tb_core.rb +6 -0
  55. data/spec/dummy/db/migrate/20160211185931_create_widgets.rb +9 -0
  56. data/spec/dummy/db/migrate/20160212211331_create_tb_redirects.tb_redirects.rb +15 -0
  57. data/spec/dummy/db/schema.rb +97 -0
  58. data/spec/dummy/public/404.html +67 -0
  59. data/spec/dummy/public/422.html +67 -0
  60. data/spec/dummy/public/500.html +66 -0
  61. data/spec/dummy/public/favicon.ico +0 -0
  62. data/spec/factories/tb_redirects.rb +9 -0
  63. data/spec/helpers/admin/tb_redirects_helper_spec.rb +16 -0
  64. data/spec/jobs/tb_redirects/detect_redirect_loop_job_spec.rb +69 -0
  65. data/spec/models/tb_redirect_spec.rb +77 -0
  66. data/spec/rails_helper.rb +78 -0
  67. data/spec/spec_helper.rb +92 -0
  68. metadata +132 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c08fd185fa92c73e68ea44979aa6fe3e0984a41
4
- data.tar.gz: 7a3713cc31a038e24c141252093af03aa96dd9c6
3
+ metadata.gz: 2c7b7541613a37b19550d1c27207402092d8cd73
4
+ data.tar.gz: dbb3adba78aad74beacba8d516fc42cef9e39f52
5
5
  SHA512:
6
- metadata.gz: 74b120125a4444632c803f795d68cfe9d14e559666021bf6dae1d43d18939102e8695cf3a22fd6c35a66590b43afaee393aee39f443224d244d780d94453346f
7
- data.tar.gz: c5be1b08dacf4caf5b391f71f965ce3694887cf0749e6ff310676bf6c9de4635d0006ee133514ba0c616f14508d1aa324a7c26558fe4da1c9826e3f499a32020
6
+ metadata.gz: 6269beeeeaf257f53defe0991b494a960c9a2f981550540a6841261049d74061f4722222c479782d5fd901a79e38d10c647110238a1798bb2ad875be59c6fb11
7
+ data.tar.gz: e8574071c2d3136715a16cbb1f3b71c8a5c44843833a825453683c895a1576fba7ed37fc3a36c7cfa49e3d3d16cd757d7e5531cc5e760ea8f60f9089e6024a3d
data/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # TB Redirects
2
+
3
+ TB Redirects is an engine for Twice Baked that provides basic redirection capabilities. This engine is intended for those already familiar with tb_core.
4
+
5
+ ## Requirements
6
+
7
+ We require Rails 4.2, tb_core 1.3, and ruby 2.2 or higher.
8
+
9
+ ## Installation
10
+
11
+ Add the gem to your Gemfile.
12
+
13
+ gem 'tb_redirects'
14
+
15
+ Install the gem and run the migrations.
16
+
17
+ bundle install
18
+ rake railties:install:migrations
19
+ rake db:migrate
20
+
21
+ Then restart your application.
22
+
23
+ ## How it Works
24
+
25
+ In general, Twice Baked will raise a `Spud::NotFoundError` error any time a 404 happens. Under normal circumstances the core engine will rescue from that error and display a 404 page. TB Redirects works by rescuing from that error before core is able to do so and checking the redirects table for applicable paths.
26
+
27
+ What this means for your controllers is that, in order for redirection to work propertly, you should always be raising `Spud::NotFoundError` when your intention is to render a 404 page. This will allow tb_core and tb_redirects to do their thing.
28
+
29
+ ## Create a Redirect
30
+
31
+ You can create a redirect in one of two ways. The first and easiest way is to create it through the Redirects admin module. Simply enter a `source` and `destination` and save it.
32
+
33
+ The second way is through code. You can create a redirect using the `create_smart` method.
34
+
35
+ TbRedirect.create_smart({
36
+ :source => '/my/path',
37
+ :destination => '/my/result'
38
+ :created_by => 'system'
39
+ })
40
+
41
+ - The `create_smart` method will automatically check for redirects with the same `:source` value, and if it finds one, that record will be updated instead of creating a new one.
42
+ - The `created_by` attribute can be any string - use this to keep track of where the redirects are coming from.
@@ -4,8 +4,9 @@ class TbRedirect < ActiveRecord::Base
4
4
 
5
5
  belongs_to :owner, :polymorphic => true, :inverse_of => :tb_redirects
6
6
 
7
- validates :source, :destination, :presence => true
7
+ validates :source, :destination, :created_by, :presence => true
8
8
  validates :source, :uniqueness => true
9
+
9
10
  validate :source_not_equals_destination
10
11
  after_save :destroy_opposite_redirect
11
12
  after_save :schedule_loop_detection
@@ -1,3 +1,3 @@
1
1
  module TbRedirects
2
- VERSION = "0.0.1"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -0,0 +1,22 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe TbRedirects::HasRedirects do
4
+
5
+ describe 'included' do
6
+ it 'should add a has_many relationship' do
7
+ widget = Widget.create(:name => 'Test')
8
+ redirect = widget.tb_redirects.create(:source => 'a', :destination => 'b')
9
+ expect(widget.tb_redirects).to eq([redirect])
10
+ end
11
+
12
+ it 'should delete the related redirects' do
13
+ widget = Widget.create(:name => 'Test')
14
+ redirect = widget.tb_redirects.create(:source => 'a', :destination => 'b')
15
+ widget.destroy
16
+ expect{
17
+ TbRedirect.find(redirect.id)
18
+ }.to raise_error(ActiveRecord::RecordNotFound)
19
+ end
20
+ end
21
+
22
+ end
@@ -0,0 +1,77 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe Admin::TbRedirectsController, :type => :controller do
4
+
5
+ before(:each) do
6
+ activate_session(admin: true)
7
+ end
8
+
9
+ describe 'index' do
10
+ it 'should render the index' do
11
+ get :index
12
+ expect(response).to have_http_status :success
13
+ expect(response).to render_template :index
14
+ end
15
+ end
16
+
17
+ describe 'show' do
18
+ it 'should render the show page' do
19
+ tb_redirect = FactoryGirl.create(:tb_redirect)
20
+ get :show, :id => tb_redirect.id
21
+ expect(response).to have_http_status :success
22
+ expect(response).to render_template :show
23
+ end
24
+
25
+ it 'should return a 404 error' do
26
+ get :show, :id => 1
27
+ expect(response).to have_http_status :not_found
28
+ end
29
+ end
30
+
31
+ describe 'new' do
32
+ it 'should render the new page' do
33
+ get :new
34
+ expect(response).to have_http_status :success
35
+ expect(response).to render_template :new
36
+ end
37
+ end
38
+
39
+ describe 'edit' do
40
+ it 'should render the edit page' do
41
+ tb_redirect = FactoryGirl.create(:tb_redirect)
42
+ get :edit, :id => tb_redirect.id
43
+ expect(response).to have_http_status :success
44
+ expect(response).to render_template :edit
45
+ end
46
+ end
47
+
48
+ describe 'create' do
49
+ it 'should create the record' do
50
+ expect{
51
+ post :create, :tb_redirect => FactoryGirl.attributes_for(:tb_redirect)
52
+ }.to change(TbRedirect, :count).by(1)
53
+ end
54
+ end
55
+
56
+ describe 'update' do
57
+ it 'should update the record' do
58
+ tb_redirect = FactoryGirl.create(:tb_redirect)
59
+ current_value = tb_redirect.source
60
+ new_value = current_value + '-Updated'
61
+ expect{
62
+ patch :update, :id => tb_redirect.id, :tb_redirect => {:source => new_value}
63
+ tb_redirect.reload
64
+ }.to change(tb_redirect, :source).to(new_value)
65
+ end
66
+ end
67
+
68
+ describe 'destroy' do
69
+ it 'should destroy the record' do
70
+ tb_redirect = FactoryGirl.create(:tb_redirect)
71
+ expect{
72
+ delete :destroy, :id => tb_redirect.id
73
+ }.to change(TbRedirect, :count).by(-1)
74
+ end
75
+ end
76
+
77
+ end
@@ -0,0 +1,25 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe ApplicationController, type: :controller do
4
+
5
+ controller do
6
+ def index
7
+ raise Spud::NotFoundError.new
8
+ end
9
+ end
10
+
11
+ describe '#check_for_applicable_redirect' do
12
+ it 'should redirect' do
13
+ FactoryGirl.create(:tb_redirect, :source => '/anonymous', :destination => '/redirected')
14
+ get :index
15
+ expect(response).to redirect_to('/redirected')
16
+ end
17
+
18
+ it 'should not redirect' do
19
+ FactoryGirl.create(:tb_redirect, :source => '/other', :destination => '/redirected')
20
+ get :index
21
+ expect(response).to_not redirect_to('/redirected')
22
+ end
23
+ end
24
+
25
+ end
@@ -0,0 +1,28 @@
1
+ == README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
25
+
26
+
27
+ Please feel free to use a different markup language if you do not plan to run
28
+ <tt>rake doc:app</tt>.
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,16 @@
1
+ //= require_self
2
+ //= require_tree
3
+
4
+ (function(){
5
+
6
+ window.app = {
7
+ admin: {
8
+ init: function(){
9
+
10
+ }
11
+ }
12
+ };
13
+
14
+ $(document).ready(app.admin.init);
15
+
16
+ })();
@@ -0,0 +1,17 @@
1
+ //= require jquery
2
+ //= require tb_core
3
+ //= require bootstrap_modules
4
+ //= require_self
5
+ //= require_directory .
6
+
7
+ (function(){
8
+
9
+ window.app = {
10
+ init: function(){
11
+ // global initializer
12
+ }
13
+ };
14
+
15
+ $(document).ready(app.init);
16
+
17
+ })();
@@ -0,0 +1,14 @@
1
+ // Use this file to comment out any Bootstrap JavaScript files you are not using
2
+ //
3
+ //= require bootstrap/affix
4
+ //= require bootstrap/alert
5
+ //= require bootstrap/button
6
+ //= require bootstrap/carousel
7
+ //= require bootstrap/collapse
8
+ //= require bootstrap/dropdown
9
+ //= require bootstrap/modal
10
+ //= require bootstrap/scrollspy
11
+ //= require bootstrap/tab
12
+ //= require bootstrap/transition
13
+ //= require bootstrap/tooltip
14
+ //= require bootstrap/popover
@@ -0,0 +1,3 @@
1
+ //= require_self
2
+ //= require_tree
3
+
@@ -0,0 +1,6 @@
1
+ //= require_self
2
+ //= require_directory .
3
+
4
+ @import "bootstrap-sprockets";
5
+ @import "imports/bootstrap_theme";
6
+ @import "imports/bootstrap_modules";
@@ -0,0 +1,56 @@
1
+ /*!
2
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ // Core variables and mixins
8
+ @import "bootstrap/variables";
9
+ @import "bootstrap/mixins";
10
+
11
+ // Reset and dependencies
12
+ @import "bootstrap/normalize";
13
+ @import "bootstrap/print";
14
+ @import "bootstrap/glyphicons";
15
+
16
+ // Core CSS
17
+ @import "bootstrap/scaffolding";
18
+ @import "bootstrap/type";
19
+ @import "bootstrap/code";
20
+ @import "bootstrap/grid";
21
+ @import "bootstrap/tables";
22
+ @import "bootstrap/forms";
23
+ @import "bootstrap/buttons";
24
+
25
+ // Components
26
+ @import "bootstrap/component-animations";
27
+ @import "bootstrap/dropdowns";
28
+ @import "bootstrap/button-groups";
29
+ @import "bootstrap/input-groups";
30
+ @import "bootstrap/navs";
31
+ @import "bootstrap/navbar";
32
+ @import "bootstrap/breadcrumbs";
33
+ @import "bootstrap/pagination";
34
+ @import "bootstrap/pager";
35
+ @import "bootstrap/labels";
36
+ @import "bootstrap/badges";
37
+ @import "bootstrap/jumbotron";
38
+ @import "bootstrap/thumbnails";
39
+ @import "bootstrap/alerts";
40
+ @import "bootstrap/progress-bars";
41
+ @import "bootstrap/media";
42
+ @import "bootstrap/list-group";
43
+ @import "bootstrap/panels";
44
+ @import "bootstrap/responsive-embed";
45
+ @import "bootstrap/wells";
46
+ @import "bootstrap/close";
47
+
48
+ // Components w/ JavaScript
49
+ @import "bootstrap/modals";
50
+ @import "bootstrap/tooltip";
51
+ @import "bootstrap/popovers";
52
+ @import "bootstrap/carousel";
53
+
54
+ // Utility classes
55
+ @import "bootstrap/utilities";
56
+ @import "bootstrap/responsive-utilities";
@@ -0,0 +1,875 @@
1
+ // Override Bootstrap variables here (defaults from bootstrap-sass v3.3.6):
2
+
3
+ //
4
+ // Variables
5
+ // --------------------------------------------------
6
+
7
+
8
+ //== Colors
9
+ //
10
+ //## Gray and brand colors for use across Bootstrap.
11
+
12
+ // $gray-base: #000
13
+ // $gray-darker: lighten($gray-base, 13.5%) // #222
14
+ // $gray-dark: lighten($gray-base, 20%) // #333
15
+ // $gray: lighten($gray-base, 33.5%) // #555
16
+ // $gray-light: lighten($gray-base, 46.7%) // #777
17
+ // $gray-lighter: lighten($gray-base, 93.5%) // #eee
18
+
19
+ // $brand-primary: darken(#428bca, 6.5%) // #337ab7
20
+ // $brand-success: #5cb85c
21
+ // $brand-info: #5bc0de
22
+ // $brand-warning: #f0ad4e
23
+ // $brand-danger: #d9534f
24
+
25
+
26
+ //== Scaffolding
27
+ //
28
+ //## Settings for some of the most global styles.
29
+
30
+ //** Background color for `<body>`.
31
+ // $body-bg: #fff
32
+ //** Global text color on `<body>`.
33
+ // $text-color: $gray-dark
34
+
35
+ //** Global textual link color.
36
+ // $link-color: $brand-primary
37
+ //** Link hover color set via `darken()` function.
38
+ // $link-hover-color: darken($link-color, 15%)
39
+ //** Link hover decoration.
40
+ // $link-hover-decoration: underline
41
+
42
+
43
+ //== Typography
44
+ //
45
+ //## Font, line-height, and color for body text, headings, and more.
46
+
47
+ // $font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif
48
+ // $font-family-serif: Georgia, "Times New Roman", Times, serif
49
+ //** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
50
+ // $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace
51
+ // $font-family-base: $font-family-sans-serif
52
+
53
+ // $font-size-base: 14px
54
+ // $font-size-large: ceil(($font-size-base * 1.25)) // ~18px
55
+ // $font-size-small: ceil(($font-size-base * 0.85)) // ~12px
56
+
57
+ // $font-size-h1: floor(($font-size-base * 2.6)) // ~36px
58
+ // $font-size-h2: floor(($font-size-base * 2.15)) // ~30px
59
+ // $font-size-h3: ceil(($font-size-base * 1.7)) // ~24px
60
+ // $font-size-h4: ceil(($font-size-base * 1.25)) // ~18px
61
+ // $font-size-h5: $font-size-base
62
+ // $font-size-h6: ceil(($font-size-base * 0.85)) // ~12px
63
+
64
+ //** Unit-less `line-height` for use in components like buttons.
65
+ // $line-height-base: 1.428571429 // 20/14
66
+ //** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
67
+ // $line-height-computed: floor(($font-size-base * $line-height-base)) // ~20px
68
+
69
+ //** By default, this inherits from the `<body>`.
70
+ // $headings-font-family: inherit
71
+ // $headings-font-weight: 500
72
+ // $headings-line-height: 1.1
73
+ // $headings-color: inherit
74
+
75
+
76
+ //== Iconography
77
+ //
78
+ //## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
79
+
80
+ //** Load fonts from this directory.
81
+
82
+ // [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
83
+ // [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
84
+ // $icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "../fonts/bootstrap/")
85
+
86
+ //** File name for all font files.
87
+ // $icon-font-name: "glyphicons-halflings-regular"
88
+ //** Element ID within SVG icon file.
89
+ // $icon-font-svg-id: "glyphicons_halflingsregular"
90
+
91
+
92
+ //== Components
93
+ //
94
+ //## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
95
+
96
+ // $padding-base-vertical: 6px
97
+ // $padding-base-horizontal: 12px
98
+
99
+ // $padding-large-vertical: 10px
100
+ // $padding-large-horizontal: 16px
101
+
102
+ // $padding-small-vertical: 5px
103
+ // $padding-small-horizontal: 10px
104
+
105
+ // $padding-xs-vertical: 1px
106
+ // $padding-xs-horizontal: 5px
107
+
108
+ // $line-height-large: 1.3333333 // extra decimals for Win 8.1 Chrome
109
+ // $line-height-small: 1.5
110
+
111
+ // $border-radius-base: 4px
112
+ // $border-radius-large: 6px
113
+ // $border-radius-small: 3px
114
+
115
+ //** Global color for active items (e.g., navs or dropdowns).
116
+ // $component-active-color: #fff
117
+ //** Global background color for active items (e.g., navs or dropdowns).
118
+ // $component-active-bg: $brand-primary
119
+
120
+ //** Width of the `border` for generating carets that indicator dropdowns.
121
+ // $caret-width-base: 4px
122
+ //** Carets increase slightly in size for larger components.
123
+ // $caret-width-large: 5px
124
+
125
+
126
+ //== Tables
127
+ //
128
+ //## Customizes the `.table` component with basic values, each used across all table variations.
129
+
130
+ //** Padding for `<th>`s and `<td>`s.
131
+ // $table-cell-padding: 8px
132
+ //** Padding for cells in `.table-condensed`.
133
+ // $table-condensed-cell-padding: 5px
134
+
135
+ //** Default background color used for all tables.
136
+ // $table-bg: transparent
137
+ //** Background color used for `.table-striped`.
138
+ // $table-bg-accent: #f9f9f9
139
+ //** Background color used for `.table-hover`.
140
+ // $table-bg-hover: #f5f5f5
141
+ // $table-bg-active: $table-bg-hover
142
+
143
+ //** Border color for table and cell borders.
144
+ // $table-border-color: #ddd
145
+
146
+
147
+ //== Buttons
148
+ //
149
+ //## For each of Bootstrap's buttons, define text, background and border color.
150
+
151
+ // $btn-font-weight: normal
152
+
153
+ // $btn-default-color: #333
154
+ // $btn-default-bg: #fff
155
+ // $btn-default-border: #ccc
156
+
157
+ // $btn-primary-color: #fff
158
+ // $btn-primary-bg: $brand-primary
159
+ // $btn-primary-border: darken($btn-primary-bg, 5%)
160
+
161
+ // $btn-success-color: #fff
162
+ // $btn-success-bg: $brand-success
163
+ // $btn-success-border: darken($btn-success-bg, 5%)
164
+
165
+ // $btn-info-color: #fff
166
+ // $btn-info-bg: $brand-info
167
+ // $btn-info-border: darken($btn-info-bg, 5%)
168
+
169
+ // $btn-warning-color: #fff
170
+ // $btn-warning-bg: $brand-warning
171
+ // $btn-warning-border: darken($btn-warning-bg, 5%)
172
+
173
+ // $btn-danger-color: #fff
174
+ // $btn-danger-bg: $brand-danger
175
+ // $btn-danger-border: darken($btn-danger-bg, 5%)
176
+
177
+ // $btn-link-disabled-color: $gray-light
178
+
179
+ // Allows for customizing button radius independently from global border radius
180
+ // $btn-border-radius-base: $border-radius-base
181
+ // $btn-border-radius-large: $border-radius-large
182
+ // $btn-border-radius-small: $border-radius-small
183
+
184
+
185
+ //== Forms
186
+ //
187
+ //##
188
+
189
+ //** `<input>` background color
190
+ // $input-bg: #fff
191
+ //** `<input disabled>` background color
192
+ // $input-bg-disabled: $gray-lighter
193
+
194
+ //** Text color for `<input>`s
195
+ // $input-color: $gray
196
+ //** `<input>` border color
197
+ // $input-border: #ccc
198
+
199
+ // TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
200
+ //** Default `.form-control` border radius
201
+ // This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
202
+ // $input-border-radius: $border-radius-base
203
+ //** Large `.form-control` border radius
204
+ // $input-border-radius-large: $border-radius-large
205
+ //** Small `.form-control` border radius
206
+ // $input-border-radius-small: $border-radius-small
207
+
208
+ //** Border color for inputs on focus
209
+ // $input-border-focus: #66afe9
210
+
211
+ //** Placeholder text color
212
+ // $input-color-placeholder: #999
213
+
214
+ //** Default `.form-control` height
215
+ // $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2)
216
+ //** Large `.form-control` height
217
+ // $input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2)
218
+ //** Small `.form-control` height
219
+ // $input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2)
220
+
221
+ //** `.form-group` margin
222
+ // $form-group-margin-bottom: 15px
223
+
224
+ // $legend-color: $gray-dark
225
+ // $legend-border-color: #e5e5e5
226
+
227
+ //** Background color for textual input addons
228
+ // $input-group-addon-bg: $gray-lighter
229
+ //** Border color for textual input addons
230
+ // $input-group-addon-border-color: $input-border
231
+
232
+ //** Disabled cursor for form controls and buttons.
233
+ // $cursor-disabled: not-allowed
234
+
235
+
236
+ //== Dropdowns
237
+ //
238
+ //## Dropdown menu container and contents.
239
+
240
+ //** Background for the dropdown menu.
241
+ // $dropdown-bg: #fff
242
+ //** Dropdown menu `border-color`.
243
+ // $dropdown-border: rgba(0,0,0,.15)
244
+ //** Dropdown menu `border-color` **for IE8**.
245
+ // $dropdown-fallback-border: #ccc
246
+ //** Divider color for between dropdown items.
247
+ // $dropdown-divider-bg: #e5e5e5
248
+
249
+ //** Dropdown link text color.
250
+ // $dropdown-link-color: $gray-dark
251
+ //** Hover color for dropdown links.
252
+ // $dropdown-link-hover-color: darken($gray-dark, 5%)
253
+ //** Hover background for dropdown links.
254
+ // $dropdown-link-hover-bg: #f5f5f5
255
+
256
+ //** Active dropdown menu item text color.
257
+ // $dropdown-link-active-color: $component-active-color
258
+ //** Active dropdown menu item background color.
259
+ // $dropdown-link-active-bg: $component-active-bg
260
+
261
+ //** Disabled dropdown menu item background color.
262
+ // $dropdown-link-disabled-color: $gray-light
263
+
264
+ //** Text color for headers within dropdown menus.
265
+ // $dropdown-header-color: $gray-light
266
+
267
+ //** Deprecated `$dropdown-caret-color` as of v3.1.0
268
+ // $dropdown-caret-color: #000
269
+
270
+
271
+ //-- Z-index master list
272
+ //
273
+ // Warning: Avoid customizing these values. They're used for a bird's eye view
274
+ // of components dependent on the z-axis and are designed to all work together.
275
+ //
276
+ // Note: These variables are not generated into the Customizer.
277
+
278
+ // $zindex-navbar: 1000
279
+ // $zindex-dropdown: 1000
280
+ // $zindex-popover: 1060
281
+ // $zindex-tooltip: 1070
282
+ // $zindex-navbar-fixed: 1030
283
+ // $zindex-modal-background: 1040
284
+ // $zindex-modal: 1050
285
+
286
+
287
+ //== Media queries breakpoints
288
+ //
289
+ //## Define the breakpoints at which your layout will change, adapting to different screen sizes.
290
+
291
+ // Extra small screen / phone
292
+ //** Deprecated `$screen-xs` as of v3.0.1
293
+ // $screen-xs: 480px
294
+ //** Deprecated `$screen-xs-min` as of v3.2.0
295
+ // $screen-xs-min: $screen-xs
296
+ //** Deprecated `$screen-phone` as of v3.0.1
297
+ // $screen-phone: $screen-xs-min
298
+
299
+ // Small screen / tablet
300
+ //** Deprecated `$screen-sm` as of v3.0.1
301
+ // $screen-sm: 768px
302
+ // $screen-sm-min: $screen-sm
303
+ //** Deprecated `$screen-tablet` as of v3.0.1
304
+ // $screen-tablet: $screen-sm-min
305
+
306
+ // Medium screen / desktop
307
+ //** Deprecated `$screen-md` as of v3.0.1
308
+ // $screen-md: 992px
309
+ // $screen-md-min: $screen-md
310
+ //** Deprecated `$screen-desktop` as of v3.0.1
311
+ // $screen-desktop: $screen-md-min
312
+
313
+ // Large screen / wide desktop
314
+ //** Deprecated `$screen-lg` as of v3.0.1
315
+ // $screen-lg: 1200px
316
+ // $screen-lg-min: $screen-lg
317
+ //** Deprecated `$screen-lg-desktop` as of v3.0.1
318
+ // $screen-lg-desktop: $screen-lg-min
319
+
320
+ // So media queries don't overlap when required, provide a maximum
321
+ // $screen-xs-max: ($screen-sm-min - 1)
322
+ // $screen-sm-max: ($screen-md-min - 1)
323
+ // $screen-md-max: ($screen-lg-min - 1)
324
+
325
+
326
+ //== Grid system
327
+ //
328
+ //## Define your custom responsive grid.
329
+
330
+ //** Number of columns in the grid.
331
+ // $grid-columns: 12
332
+ //** Padding between columns. Gets divided in half for the left and right.
333
+ // $grid-gutter-width: 30px
334
+ // Navbar collapse
335
+ //** Point at which the navbar becomes uncollapsed.
336
+ // $grid-float-breakpoint: $screen-sm-min
337
+ //** Point at which the navbar begins collapsing.
338
+ // $grid-float-breakpoint-max: ($grid-float-breakpoint - 1)
339
+
340
+
341
+ //== Container sizes
342
+ //
343
+ //## Define the maximum width of `.container` for different screen sizes.
344
+
345
+ // Small screen / tablet
346
+ // $container-tablet: (720px + $grid-gutter-width)
347
+ //** For `$screen-sm-min` and up.
348
+ // $container-sm: $container-tablet
349
+
350
+ // Medium screen / desktop
351
+ // $container-desktop: (940px + $grid-gutter-width)
352
+ //** For `$screen-md-min` and up.
353
+ // $container-md: $container-desktop
354
+
355
+ // Large screen / wide desktop
356
+ // $container-large-desktop: (1140px + $grid-gutter-width)
357
+ //** For `$screen-lg-min` and up.
358
+ // $container-lg: $container-large-desktop
359
+
360
+
361
+ //== Navbar
362
+ //
363
+ //##
364
+
365
+ // Basics of a navbar
366
+ // $navbar-height: 50px
367
+ // $navbar-margin-bottom: $line-height-computed
368
+ // $navbar-border-radius: $border-radius-base
369
+ // $navbar-padding-horizontal: floor(($grid-gutter-width / 2))
370
+ // $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2)
371
+ // $navbar-collapse-max-height: 340px
372
+
373
+ // $navbar-default-color: #777
374
+ // $navbar-default-bg: #f8f8f8
375
+ // $navbar-default-border: darken($navbar-default-bg, 6.5%)
376
+
377
+ // Navbar links
378
+ // $navbar-default-link-color: #777
379
+ // $navbar-default-link-hover-color: #333
380
+ // $navbar-default-link-hover-bg: transparent
381
+ // $navbar-default-link-active-color: #555
382
+ // $navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%)
383
+ // $navbar-default-link-disabled-color: #ccc
384
+ // $navbar-default-link-disabled-bg: transparent
385
+
386
+ // Navbar brand label
387
+ // $navbar-default-brand-color: $navbar-default-link-color
388
+ // $navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%)
389
+ // $navbar-default-brand-hover-bg: transparent
390
+
391
+ // Navbar toggle
392
+ // $navbar-default-toggle-hover-bg: #ddd
393
+ // $navbar-default-toggle-icon-bar-bg: #888
394
+ // $navbar-default-toggle-border-color: #ddd
395
+
396
+
397
+ //=== Inverted navbar
398
+ // Reset inverted navbar basics
399
+ // $navbar-inverse-color: lighten($gray-light, 15%)
400
+ // $navbar-inverse-bg: #222
401
+ // $navbar-inverse-border: darken($navbar-inverse-bg, 10%)
402
+
403
+ // Inverted navbar links
404
+ // $navbar-inverse-link-color: lighten($gray-light, 15%)
405
+ // $navbar-inverse-link-hover-color: #fff
406
+ // $navbar-inverse-link-hover-bg: transparent
407
+ // $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color
408
+ // $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%)
409
+ // $navbar-inverse-link-disabled-color: #444
410
+ // $navbar-inverse-link-disabled-bg: transparent
411
+
412
+ // Inverted navbar brand label
413
+ // $navbar-inverse-brand-color: $navbar-inverse-link-color
414
+ // $navbar-inverse-brand-hover-color: #fff
415
+ // $navbar-inverse-brand-hover-bg: transparent
416
+
417
+ // Inverted navbar toggle
418
+ // $navbar-inverse-toggle-hover-bg: #333
419
+ // $navbar-inverse-toggle-icon-bar-bg: #fff
420
+ // $navbar-inverse-toggle-border-color: #333
421
+
422
+
423
+ //== Navs
424
+ //
425
+ //##
426
+
427
+ //=== Shared nav styles
428
+ // $nav-link-padding: 10px 15px
429
+ // $nav-link-hover-bg: $gray-lighter
430
+
431
+ // $nav-disabled-link-color: $gray-light
432
+ // $nav-disabled-link-hover-color: $gray-light
433
+
434
+ //== Tabs
435
+ // $nav-tabs-border-color: #ddd
436
+
437
+ // $nav-tabs-link-hover-border-color: $gray-lighter
438
+
439
+ // $nav-tabs-active-link-hover-bg: $body-bg
440
+ // $nav-tabs-active-link-hover-color: $gray
441
+ // $nav-tabs-active-link-hover-border-color: #ddd
442
+
443
+ // $nav-tabs-justified-link-border-color: #ddd
444
+ // $nav-tabs-justified-active-link-border-color: $body-bg
445
+
446
+ //== Pills
447
+ // $nav-pills-border-radius: $border-radius-base
448
+ // $nav-pills-active-link-hover-bg: $component-active-bg
449
+ // $nav-pills-active-link-hover-color: $component-active-color
450
+
451
+
452
+ //== Pagination
453
+ //
454
+ //##
455
+
456
+ // $pagination-color: $link-color
457
+ // $pagination-bg: #fff
458
+ // $pagination-border: #ddd
459
+
460
+ // $pagination-hover-color: $link-hover-color
461
+ // $pagination-hover-bg: $gray-lighter
462
+ // $pagination-hover-border: #ddd
463
+
464
+ // $pagination-active-color: #fff
465
+ // $pagination-active-bg: $brand-primary
466
+ // $pagination-active-border: $brand-primary
467
+
468
+ // $pagination-disabled-color: $gray-light
469
+ // $pagination-disabled-bg: #fff
470
+ // $pagination-disabled-border: #ddd
471
+
472
+
473
+ //== Pager
474
+ //
475
+ //##
476
+
477
+ // $pager-bg: $pagination-bg
478
+ // $pager-border: $pagination-border
479
+ // $pager-border-radius: 15px
480
+
481
+ // $pager-hover-bg: $pagination-hover-bg
482
+
483
+ // $pager-active-bg: $pagination-active-bg
484
+ // $pager-active-color: $pagination-active-color
485
+
486
+ // $pager-disabled-color: $pagination-disabled-color
487
+
488
+
489
+ //== Jumbotron
490
+ //
491
+ //##
492
+
493
+ // $jumbotron-padding: 30px
494
+ // $jumbotron-color: inherit
495
+ // $jumbotron-bg: $gray-lighter
496
+ // $jumbotron-heading-color: inherit
497
+ // $jumbotron-font-size: ceil(($font-size-base * 1.5))
498
+ // $jumbotron-heading-font-size: ceil(($font-size-base * 4.5))
499
+
500
+
501
+ //== Form states and alerts
502
+ //
503
+ //## Define colors for form feedback states and, by default, alerts.
504
+
505
+ // $state-success-text: #3c763d
506
+ // $state-success-bg: #dff0d8
507
+ // $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%)
508
+
509
+ // $state-info-text: #31708f
510
+ // $state-info-bg: #d9edf7
511
+ // $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%)
512
+
513
+ // $state-warning-text: #8a6d3b
514
+ // $state-warning-bg: #fcf8e3
515
+ // $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%)
516
+
517
+ // $state-danger-text: #a94442
518
+ // $state-danger-bg: #f2dede
519
+ // $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%)
520
+
521
+
522
+ //== Tooltips
523
+ //
524
+ //##
525
+
526
+ //** Tooltip max width
527
+ // $tooltip-max-width: 200px
528
+ //** Tooltip text color
529
+ // $tooltip-color: #fff
530
+ //** Tooltip background color
531
+ // $tooltip-bg: #000
532
+ // $tooltip-opacity: .9
533
+
534
+ //** Tooltip arrow width
535
+ // $tooltip-arrow-width: 5px
536
+ //** Tooltip arrow color
537
+ // $tooltip-arrow-color: $tooltip-bg
538
+
539
+
540
+ //== Popovers
541
+ //
542
+ //##
543
+
544
+ //** Popover body background color
545
+ // $popover-bg: #fff
546
+ //** Popover maximum width
547
+ // $popover-max-width: 276px
548
+ //** Popover border color
549
+ // $popover-border-color: rgba(0,0,0,.2)
550
+ //** Popover fallback border color
551
+ // $popover-fallback-border-color: #ccc
552
+
553
+ //** Popover title background color
554
+ // $popover-title-bg: darken($popover-bg, 3%)
555
+
556
+ //** Popover arrow width
557
+ // $popover-arrow-width: 10px
558
+ //** Popover arrow color
559
+ // $popover-arrow-color: $popover-bg
560
+
561
+ //** Popover outer arrow width
562
+ // $popover-arrow-outer-width: ($popover-arrow-width + 1)
563
+ //** Popover outer arrow color
564
+ // $popover-arrow-outer-color: fade_in($popover-border-color, 0.05)
565
+ //** Popover outer arrow fallback color
566
+ // $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%)
567
+
568
+
569
+ //== Labels
570
+ //
571
+ //##
572
+
573
+ //** Default label background color
574
+ // $label-default-bg: $gray-light
575
+ //** Primary label background color
576
+ // $label-primary-bg: $brand-primary
577
+ //** Success label background color
578
+ // $label-success-bg: $brand-success
579
+ //** Info label background color
580
+ // $label-info-bg: $brand-info
581
+ //** Warning label background color
582
+ // $label-warning-bg: $brand-warning
583
+ //** Danger label background color
584
+ // $label-danger-bg: $brand-danger
585
+
586
+ //** Default label text color
587
+ // $label-color: #fff
588
+ //** Default text color of a linked label
589
+ // $label-link-hover-color: #fff
590
+
591
+
592
+ //== Modals
593
+ //
594
+ //##
595
+
596
+ //** Padding applied to the modal body
597
+ // $modal-inner-padding: 15px
598
+
599
+ //** Padding applied to the modal title
600
+ // $modal-title-padding: 15px
601
+ //** Modal title line-height
602
+ // $modal-title-line-height: $line-height-base
603
+
604
+ //** Background color of modal content area
605
+ // $modal-content-bg: #fff
606
+ //** Modal content border color
607
+ // $modal-content-border-color: rgba(0,0,0,.2)
608
+ //** Modal content border color **for IE8**
609
+ // $modal-content-fallback-border-color: #999
610
+
611
+ //** Modal backdrop background color
612
+ // $modal-backdrop-bg: #000
613
+ //** Modal backdrop opacity
614
+ // $modal-backdrop-opacity: .5
615
+ //** Modal header border color
616
+ // $modal-header-border-color: #e5e5e5
617
+ //** Modal footer border color
618
+ // $modal-footer-border-color: $modal-header-border-color
619
+
620
+ // $modal-lg: 900px
621
+ // $modal-md: 600px
622
+ // $modal-sm: 300px
623
+
624
+
625
+ //== Alerts
626
+ //
627
+ //## Define alert colors, border radius, and padding.
628
+
629
+ // $alert-padding: 15px
630
+ // $alert-border-radius: $border-radius-base
631
+ // $alert-link-font-weight: bold
632
+
633
+ // $alert-success-bg: $state-success-bg
634
+ // $alert-success-text: $state-success-text
635
+ // $alert-success-border: $state-success-border
636
+
637
+ // $alert-info-bg: $state-info-bg
638
+ // $alert-info-text: $state-info-text
639
+ // $alert-info-border: $state-info-border
640
+
641
+ // $alert-warning-bg: $state-warning-bg
642
+ // $alert-warning-text: $state-warning-text
643
+ // $alert-warning-border: $state-warning-border
644
+
645
+ // $alert-danger-bg: $state-danger-bg
646
+ // $alert-danger-text: $state-danger-text
647
+ // $alert-danger-border: $state-danger-border
648
+
649
+
650
+ //== Progress bars
651
+ //
652
+ //##
653
+
654
+ //** Background color of the whole progress component
655
+ // $progress-bg: #f5f5f5
656
+ //** Progress bar text color
657
+ // $progress-bar-color: #fff
658
+ //** Variable for setting rounded corners on progress bar.
659
+ // $progress-border-radius: $border-radius-base
660
+
661
+ //** Default progress bar color
662
+ // $progress-bar-bg: $brand-primary
663
+ //** Success progress bar color
664
+ // $progress-bar-success-bg: $brand-success
665
+ //** Warning progress bar color
666
+ // $progress-bar-warning-bg: $brand-warning
667
+ //** Danger progress bar color
668
+ // $progress-bar-danger-bg: $brand-danger
669
+ //** Info progress bar color
670
+ // $progress-bar-info-bg: $brand-info
671
+
672
+
673
+ //== List group
674
+ //
675
+ //##
676
+
677
+ //** Background color on `.list-group-item`
678
+ // $list-group-bg: #fff
679
+ //** `.list-group-item` border color
680
+ // $list-group-border: #ddd
681
+ //** List group border radius
682
+ // $list-group-border-radius: $border-radius-base
683
+
684
+ //** Background color of single list items on hover
685
+ // $list-group-hover-bg: #f5f5f5
686
+ //** Text color of active list items
687
+ // $list-group-active-color: $component-active-color
688
+ //** Background color of active list items
689
+ // $list-group-active-bg: $component-active-bg
690
+ //** Border color of active list elements
691
+ // $list-group-active-border: $list-group-active-bg
692
+ //** Text color for content within active list items
693
+ // $list-group-active-text-color: lighten($list-group-active-bg, 40%)
694
+
695
+ //** Text color of disabled list items
696
+ // $list-group-disabled-color: $gray-light
697
+ //** Background color of disabled list items
698
+ // $list-group-disabled-bg: $gray-lighter
699
+ //** Text color for content within disabled list items
700
+ // $list-group-disabled-text-color: $list-group-disabled-color
701
+
702
+ // $list-group-link-color: #555
703
+ // $list-group-link-hover-color: $list-group-link-color
704
+ // $list-group-link-heading-color: #333
705
+
706
+
707
+ //== Panels
708
+ //
709
+ //##
710
+
711
+ // $panel-bg: #fff
712
+ // $panel-body-padding: 15px
713
+ // $panel-heading-padding: 10px 15px
714
+ // $panel-footer-padding: $panel-heading-padding
715
+ // $panel-border-radius: $border-radius-base
716
+
717
+ //** Border color for elements within panels
718
+ // $panel-inner-border: #ddd
719
+ // $panel-footer-bg: #f5f5f5
720
+
721
+ // $panel-default-text: $gray-dark
722
+ // $panel-default-border: #ddd
723
+ // $panel-default-heading-bg: #f5f5f5
724
+
725
+ // $panel-primary-text: #fff
726
+ // $panel-primary-border: $brand-primary
727
+ // $panel-primary-heading-bg: $brand-primary
728
+
729
+ // $panel-success-text: $state-success-text
730
+ // $panel-success-border: $state-success-border
731
+ // $panel-success-heading-bg: $state-success-bg
732
+
733
+ // $panel-info-text: $state-info-text
734
+ // $panel-info-border: $state-info-border
735
+ // $panel-info-heading-bg: $state-info-bg
736
+
737
+ // $panel-warning-text: $state-warning-text
738
+ // $panel-warning-border: $state-warning-border
739
+ // $panel-warning-heading-bg: $state-warning-bg
740
+
741
+ // $panel-danger-text: $state-danger-text
742
+ // $panel-danger-border: $state-danger-border
743
+ // $panel-danger-heading-bg: $state-danger-bg
744
+
745
+
746
+ //== Thumbnails
747
+ //
748
+ //##
749
+
750
+ //** Padding around the thumbnail image
751
+ // $thumbnail-padding: 4px
752
+ //** Thumbnail background color
753
+ // $thumbnail-bg: $body-bg
754
+ //** Thumbnail border color
755
+ // $thumbnail-border: #ddd
756
+ //** Thumbnail border radius
757
+ // $thumbnail-border-radius: $border-radius-base
758
+
759
+ //** Custom text color for thumbnail captions
760
+ // $thumbnail-caption-color: $text-color
761
+ //** Padding around the thumbnail caption
762
+ // $thumbnail-caption-padding: 9px
763
+
764
+
765
+ //== Wells
766
+ //
767
+ //##
768
+
769
+ // $well-bg: #f5f5f5
770
+ // $well-border: darken($well-bg, 7%)
771
+
772
+
773
+ //== Badges
774
+ //
775
+ //##
776
+
777
+ // $badge-color: #fff
778
+ //** Linked badge text color on hover
779
+ // $badge-link-hover-color: #fff
780
+ // $badge-bg: $gray-light
781
+
782
+ //** Badge text color in active nav link
783
+ // $badge-active-color: $link-color
784
+ //** Badge background color in active nav link
785
+ // $badge-active-bg: #fff
786
+
787
+ // $badge-font-weight: bold
788
+ // $badge-line-height: 1
789
+ // $badge-border-radius: 10px
790
+
791
+
792
+ //== Breadcrumbs
793
+ //
794
+ //##
795
+
796
+ // $breadcrumb-padding-vertical: 8px
797
+ // $breadcrumb-padding-horizontal: 15px
798
+ //** Breadcrumb background color
799
+ // $breadcrumb-bg: #f5f5f5
800
+ //** Breadcrumb text color
801
+ // $breadcrumb-color: #ccc
802
+ //** Text color of current page in the breadcrumb
803
+ // $breadcrumb-active-color: $gray-light
804
+ //** Textual separator for between breadcrumb elements
805
+ // $breadcrumb-separator: "/"
806
+
807
+
808
+ //== Carousel
809
+ //
810
+ //##
811
+
812
+ // $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6)
813
+
814
+ // $carousel-control-color: #fff
815
+ // $carousel-control-width: 15%
816
+ // $carousel-control-opacity: .5
817
+ // $carousel-control-font-size: 20px
818
+
819
+ // $carousel-indicator-active-bg: #fff
820
+ // $carousel-indicator-border-color: #fff
821
+
822
+ // $carousel-caption-color: #fff
823
+
824
+
825
+ //== Close
826
+ //
827
+ //##
828
+
829
+ // $close-font-weight: bold
830
+ // $close-color: #000
831
+ // $close-text-shadow: 0 1px 0 #fff
832
+
833
+
834
+ //== Code
835
+ //
836
+ //##
837
+
838
+ // $code-color: #c7254e
839
+ // $code-bg: #f9f2f4
840
+
841
+ // $kbd-color: #fff
842
+ // $kbd-bg: #333
843
+
844
+ // $pre-bg: #f5f5f5
845
+ // $pre-color: $gray-dark
846
+ // $pre-border-color: #ccc
847
+ // $pre-scrollable-max-height: 340px
848
+
849
+
850
+ //== Type
851
+ //
852
+ //##
853
+
854
+ //** Horizontal offset for forms and lists.
855
+ // $component-offset-horizontal: 180px
856
+ //** Text muted color
857
+ // $text-muted: $gray-light
858
+ //** Abbreviations and acronyms border color
859
+ // $abbr-border-color: $gray-light
860
+ //** Headings small color
861
+ // $headings-small-color: $gray-light
862
+ //** Blockquote small color
863
+ // $blockquote-small-color: $gray-light
864
+ //** Blockquote font size
865
+ // $blockquote-font-size: ($font-size-base * 1.25)
866
+ //** Blockquote border color
867
+ // $blockquote-border-color: $gray-lighter
868
+ //** Page header border color
869
+ // $page-header-border-color: $gray-lighter
870
+ //** Width of horizontal description list titles
871
+ // $dl-horizontal-offset: $component-offset-horizontal
872
+ //** Point at which .dl-horizontal becomes horizontal
873
+ // $dl-horizontal-breakpoint: $grid-float-breakpoint
874
+ //** Horizontal line color.
875
+ // $hr-border: $gray-lighter