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.
- checksums.yaml +4 -4
- data/README.md +42 -0
- data/app/models/tb_redirect.rb +2 -1
- data/lib/tb_redirects/version.rb +1 -1
- data/spec/concerns/tb_redirects/has_redirects_spec.rb +22 -0
- data/spec/controllers/admin/tb_redirects_controller_spec.rb +77 -0
- data/spec/controllers/application_controller_spec.rb +25 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/admin/application.js +16 -0
- data/spec/dummy/app/assets/javascripts/application.js +17 -0
- data/spec/dummy/app/assets/javascripts/bootstrap_modules.js +14 -0
- data/spec/dummy/app/assets/stylesheets/admin/application.scss +3 -0
- data/spec/dummy/app/assets/stylesheets/application.scss +6 -0
- data/spec/dummy/app/assets/stylesheets/imports/bootstrap_modules.scss +56 -0
- data/spec/dummy/app/assets/stylesheets/imports/bootstrap_theme.scss +875 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/widget.rb +3 -0
- data/spec/dummy/app/views/layouts/application.html.erb +32 -0
- data/spec/dummy/app/views/layouts/error_page.html.erb +8 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +31 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +28 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +44 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +56 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/migrate/20160211160614_create_spud_admin_permissions.tb_core.rb +12 -0
- data/spec/dummy/db/migrate/20160211160615_create_spud_users.tb_core.rb +30 -0
- data/spec/dummy/db/migrate/20160211160616_add_time_zone_to_spud_user.tb_core.rb +7 -0
- data/spec/dummy/db/migrate/20160211160617_add_scope_to_spud_admin_permissions.tb_core.rb +7 -0
- data/spec/dummy/db/migrate/20160211160618_create_spud_user_settings.tb_core.rb +12 -0
- data/spec/dummy/db/migrate/20160211160619_create_spud_roles.tb_core.rb +11 -0
- data/spec/dummy/db/migrate/20160211160620_create_spud_permissions.tb_core.rb +11 -0
- data/spec/dummy/db/migrate/20160211160621_create_spud_role_permissions.tb_core.rb +12 -0
- data/spec/dummy/db/migrate/20160211160622_drop_spud_admin_permissions.tb_core.rb +16 -0
- data/spec/dummy/db/migrate/20160211160623_add_requires_password_change_to_spud_users.tb_core.rb +6 -0
- data/spec/dummy/db/migrate/20160211185931_create_widgets.rb +9 -0
- data/spec/dummy/db/migrate/20160212211331_create_tb_redirects.tb_redirects.rb +15 -0
- data/spec/dummy/db/schema.rb +97 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/factories/tb_redirects.rb +9 -0
- data/spec/helpers/admin/tb_redirects_helper_spec.rb +16 -0
- data/spec/jobs/tb_redirects/detect_redirect_loop_job_spec.rb +69 -0
- data/spec/models/tb_redirect_spec.rb +77 -0
- data/spec/rails_helper.rb +78 -0
- data/spec/spec_helper.rb +92 -0
- metadata +132 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c7b7541613a37b19550d1c27207402092d8cd73
|
4
|
+
data.tar.gz: dbb3adba78aad74beacba8d516fc42cef9e39f52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
data/app/models/tb_redirect.rb
CHANGED
@@ -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
|
data/lib/tb_redirects/version.rb
CHANGED
@@ -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>.
|
data/spec/dummy/Rakefile
ADDED
@@ -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,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
|