praxis 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +15 -2
  4. data/CHANGELOG.md +54 -1
  5. data/bin/praxis +49 -2
  6. data/lib/api_browser/Gruntfile.js +247 -90
  7. data/lib/api_browser/app/bower_components/angular-mocks/.bower.json +19 -0
  8. data/lib/api_browser/app/bower_components/angular-mocks/README.md +57 -0
  9. data/lib/api_browser/app/bower_components/angular-mocks/angular-mocks.js +2193 -0
  10. data/lib/api_browser/app/bower_components/angular-mocks/bower.json +9 -0
  11. data/lib/api_browser/app/bower_components/angular-mocks/package.json +27 -0
  12. data/lib/api_browser/app/bower_components/angular/.bower.json +6 -5
  13. data/lib/api_browser/app/bower_components/angular/README.md +23 -4
  14. data/lib/api_browser/app/bower_components/angular/angular-csp.css +6 -0
  15. data/lib/api_browser/app/bower_components/angular/angular.js +2287 -1597
  16. data/lib/api_browser/app/bower_components/angular/angular.min.js +212 -205
  17. data/lib/api_browser/app/bower_components/angular/angular.min.js.gzip +0 -0
  18. data/lib/api_browser/app/bower_components/angular/angular.min.js.map +3 -3
  19. data/lib/api_browser/app/bower_components/angular/bower.json +2 -1
  20. data/lib/api_browser/app/bower_components/angular/package.json +25 -0
  21. data/lib/api_browser/app/bower_components/showdown/.bower.json +39 -0
  22. data/lib/api_browser/app/bower_components/showdown/.jshintignore +2 -0
  23. data/lib/api_browser/app/bower_components/showdown/.travis.yml +8 -0
  24. data/lib/api_browser/app/bower_components/showdown/Gruntfile.js +100 -0
  25. data/lib/api_browser/app/bower_components/showdown/README.md +317 -0
  26. data/lib/api_browser/app/bower_components/showdown/bower.json +26 -0
  27. data/lib/api_browser/app/bower_components/showdown/compressed/Showdown.js +1606 -0
  28. data/lib/api_browser/app/bower_components/showdown/compressed/Showdown.js.map +1 -0
  29. data/lib/api_browser/app/bower_components/showdown/compressed/Showdown.min.js +2 -0
  30. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/github.min.js +2 -0
  31. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/github.min.js.map +1 -0
  32. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/prettify.min.js +2 -0
  33. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/prettify.min.js.map +1 -0
  34. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/table.min.js +2 -0
  35. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/table.min.js.map +1 -0
  36. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/twitter.min.js +2 -0
  37. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/twitter.min.js.map +1 -0
  38. data/lib/api_browser/app/bower_components/showdown/license.txt +34 -0
  39. data/lib/api_browser/app/bower_components/showdown/package.json +47 -0
  40. data/lib/api_browser/app/bower_components/showdown/src/extensions/github.js +25 -0
  41. data/lib/api_browser/app/bower_components/showdown/src/extensions/prettify.js +29 -0
  42. data/lib/api_browser/app/bower_components/showdown/src/extensions/table.js +106 -0
  43. data/lib/api_browser/app/bower_components/showdown/src/extensions/twitter.js +42 -0
  44. data/lib/api_browser/app/bower_components/showdown/src/ng-showdown.js +150 -0
  45. data/lib/api_browser/app/bower_components/showdown/src/showdown.js +1454 -0
  46. data/lib/api_browser/app/index.html +6 -4
  47. data/lib/api_browser/app/js/app.js +1 -2
  48. data/lib/api_browser/app/js/controllers/action.js +4 -4
  49. data/lib/api_browser/app/js/controllers/controller.js +1 -1
  50. data/lib/api_browser/app/js/controllers/menu.js +5 -3
  51. data/lib/api_browser/app/js/controllers/type.js +5 -5
  52. data/lib/api_browser/app/js/directives/attribute_description.js +5 -5
  53. data/lib/api_browser/app/js/directives/attribute_table.js +1 -1
  54. data/lib/api_browser/app/js/directives/attribute_table_row.js +2 -2
  55. data/lib/api_browser/app/js/directives/no_container.js +1 -1
  56. data/lib/api_browser/app/js/directives/request_body.js +5 -5
  57. data/lib/api_browser/app/js/directives/request_headers.js +3 -6
  58. data/lib/api_browser/app/js/directives/request_parameters.js +3 -6
  59. data/lib/api_browser/app/js/directives/type_label.js +4 -5
  60. data/lib/api_browser/app/js/factories/Documentation.js +4 -4
  61. data/lib/api_browser/app/js/factories/PayloadTemplates.js +2 -2
  62. data/lib/api_browser/app/js/factories/TypeTemplates.js +3 -3
  63. data/lib/api_browser/app/js/filters/markdown.js +6 -0
  64. data/lib/api_browser/app/js/filters/resource_name.js +2 -2
  65. data/lib/api_browser/app/sass/modules/_header.scss +2 -7
  66. data/lib/api_browser/app/sass/{main.scss → praxis.scss} +0 -0
  67. data/lib/api_browser/app/sass/variables/_bootstrap-variables.scss +370 -367
  68. data/lib/api_browser/app/views/action.html +2 -2
  69. data/lib/api_browser/app/views/controller.html +2 -2
  70. data/lib/api_browser/app/views/directives/attribute_description.html +1 -1
  71. data/lib/api_browser/app/views/layout.html +2 -11
  72. data/lib/api_browser/app/views/navbar.html +9 -0
  73. data/lib/api_browser/app/views/resource/_actions.html +1 -1
  74. data/lib/api_browser/app/views/type.html +2 -2
  75. data/lib/api_browser/app/views/type/_details.html +2 -1
  76. data/lib/api_browser/bower.json +5 -0
  77. data/lib/api_browser/package.json +18 -7
  78. data/lib/praxis.rb +8 -3
  79. data/lib/praxis/action_definition.rb +28 -6
  80. data/lib/praxis/api_definition.rb +30 -2
  81. data/lib/praxis/api_general_info.rb +36 -0
  82. data/lib/praxis/bootloader.rb +1 -0
  83. data/lib/praxis/collection.rb +34 -0
  84. data/lib/praxis/controller.rb +7 -0
  85. data/lib/praxis/dispatcher.rb +3 -0
  86. data/lib/praxis/links.rb +2 -8
  87. data/lib/praxis/media_type.rb +6 -24
  88. data/lib/praxis/media_type_collection.rb +6 -2
  89. data/lib/praxis/plugin_concern.rb +2 -1
  90. data/lib/praxis/request.rb +24 -15
  91. data/lib/praxis/request_stages/request_stage.rb +19 -4
  92. data/lib/praxis/request_stages/validate_params_and_headers.rb +1 -1
  93. data/lib/praxis/request_stages/validate_payload.rb +1 -1
  94. data/lib/praxis/resource_definition.rb +45 -10
  95. data/lib/praxis/response_definition.rb +46 -27
  96. data/lib/praxis/restful_doc_generator.rb +94 -7
  97. data/lib/praxis/simple_media_type.rb +2 -9
  98. data/lib/praxis/stage.rb +1 -4
  99. data/lib/praxis/tasks/api_docs.rb +51 -19
  100. data/lib/praxis/tasks/routes.rb +19 -15
  101. data/lib/praxis/types/media_type_common.rb +31 -0
  102. data/lib/praxis/types/multipart.rb +4 -4
  103. data/lib/praxis/version.rb +1 -1
  104. data/praxis.gemspec +2 -2
  105. data/spec/api_browser/factories/documentation_spec.js +50 -0
  106. data/spec/api_browser/filters/attribute_name_spec.js +23 -0
  107. data/spec/functional_spec.rb +62 -10
  108. data/spec/praxis/action_definition_spec.rb +12 -4
  109. data/spec/praxis/api_definition_spec.rb +159 -0
  110. data/spec/praxis/api_general_info_spec.rb +36 -0
  111. data/spec/praxis/bootloader_spec.rb +10 -1
  112. data/spec/praxis/media_type_collection_spec.rb +46 -53
  113. data/spec/praxis/media_type_spec.rb +6 -6
  114. data/spec/praxis/request_stage_spec.rb +7 -2
  115. data/spec/praxis/request_stages_validate_spec.rb +12 -7
  116. data/spec/praxis/resource_definition_spec.rb +62 -0
  117. data/spec/praxis/response_definition_spec.rb +26 -16
  118. data/spec/praxis/stage_spec.rb +4 -8
  119. data/spec/praxis/types/collection_spec.rb +144 -0
  120. data/spec/spec_app/app/controllers/instances.rb +8 -2
  121. data/spec/spec_app/design/api.rb +11 -0
  122. data/spec/spec_app/design/media_types/instance.rb +12 -0
  123. data/spec/spec_app/design/media_types/volume.rb +9 -2
  124. data/spec/spec_app/design/media_types/volume_snapshot.rb +9 -6
  125. data/spec/spec_app/design/resources/instances.rb +25 -10
  126. data/spec/support/spec_media_types.rb +1 -1
  127. data/spec/support/spec_resource_definitions.rb +2 -0
  128. data/tasks/thor/app.rb +15 -10
  129. data/tasks/thor/example.rb +115 -115
  130. data/tasks/thor/templates/generator/empty_app/.gitignore +2 -0
  131. data/tasks/thor/templates/generator/empty_app/docs/app.js +1 -0
  132. data/tasks/thor/templates/generator/empty_app/docs/styles.scss +3 -0
  133. metadata +50 -9
  134. data/lib/api_browser/app/css/main.css +0 -4511
  135. data/lib/praxis/types/collection.rb +0 -17
@@ -10,9 +10,9 @@
10
10
  <!-- endbower -->
11
11
  <link rel="stylesheet" href="css/main.css">
12
12
  </head>
13
- <body ng-app="docBrowser">
13
+ <body ng-app="DocBrowser">
14
14
  <div ui-view=""></div>
15
- <!-- build:js scripts/vendor.js -->
15
+ <!-- build:js({.tmp,app}) scripts/praxis.js -->
16
16
  <!-- bower:js -->
17
17
  <script src="bower_components/jquery/dist/jquery.js"></script>
18
18
  <script src="bower_components/angular/angular.js"></script>
@@ -21,8 +21,6 @@
21
21
  <script src="bower_components/angular-ui-bootstrap-bower/ui-bootstrap-tpls.js"></script>
22
22
  <script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
23
23
  <!-- endbower -->
24
- <!-- endbuild -->
25
- <!-- build:js({.tmp,app}) scripts/scripts.js -->
26
24
  <!-- fileblock:js scripts -->
27
25
  <script src="js/app.js"></script>
28
26
  <script src="js/filters/resource_name.js"></script>
@@ -47,5 +45,9 @@
47
45
  <script src="js/directives/request_parameters.js"></script>
48
46
  <!-- endfileblock -->
49
47
  <!-- endbuild -->
48
+ <!-- build:js({/,.tmp}) scripts/docs.js -->
49
+ <!-- fileblock:js userscripts -->
50
+ <!-- endfileblock -->
51
+ <!-- endbuild -->
50
52
  </body>
51
53
  </html>
@@ -1,4 +1,4 @@
1
- var app = angular.module('docBrowser', ['ui.router', 'ui.bootstrap', 'ngSanitize']);
1
+ var app = angular.module('PraxisDocBrowser', ['ui.router', 'ui.bootstrap', 'ngSanitize']);
2
2
 
3
3
  app.config(function ($stateProvider, $urlRouterProvider) {
4
4
  $urlRouterProvider
@@ -29,4 +29,3 @@ app.config(function ($stateProvider, $urlRouterProvider) {
29
29
  controller: 'ActionCtrl'
30
30
  });
31
31
  });
32
-
@@ -1,4 +1,4 @@
1
- app.controller("ActionCtrl", function($scope, $stateParams, Documentation) {
1
+ app.controller('ActionCtrl', function($scope, $stateParams, Documentation) {
2
2
  $scope.controllerName = $stateParams.controller;
3
3
  $scope.actionName = $stateParams.action;
4
4
  $scope.apiVersion = $stateParams.version;
@@ -29,21 +29,21 @@ app.controller("ActionCtrl", function($scope, $stateParams, Documentation) {
29
29
  response.name = name;
30
30
  response.options = {
31
31
  headers: response.headers
32
- }
32
+ };
33
33
  $scope.responses.push(response);
34
34
 
35
35
  if(response.parts_like) {
36
36
  response.parts_like.isMultipart = true;
37
37
  response.parts_like.options = {
38
38
  headers: response.parts_like.headers
39
- }
39
+ };
40
40
  $scope.responses.push(response.parts_like);
41
41
  }
42
42
  });
43
43
 
44
44
  }, function() {
45
45
  $scope.error = true;
46
- })
46
+ });
47
47
 
48
48
  $scope.hasResponses = function() {
49
49
  return $scope.action ? _.any($scope.action.responses) : false;
@@ -6,5 +6,5 @@
6
6
  $scope.controller = response.data;
7
7
  }, function() {
8
8
  $scope.error = true;
9
- })
9
+ });
10
10
  });
@@ -1,4 +1,4 @@
1
- app.controller("MenuCtrl", function($scope, $state, Documentation) {
1
+ app.controller('MenuCtrl', function($scope, $state, Documentation) {
2
2
 
3
3
  $scope.versions = [];
4
4
  $scope.links = {};
@@ -30,7 +30,9 @@ app.controller("MenuCtrl", function($scope, $state, Documentation) {
30
30
  links.push(link);
31
31
  });
32
32
  });
33
- $scope.selectedVersion = $state.params.version || $scope.versions[0];
33
+ var numeralVersions = _.filter($scope.versions, function(n) { return !isNaN(parseFloat(n)); })
34
+ .sort(function(a,b) { return parseFloat(b) - parseFloat(a); });
35
+ $scope.selectedVersion = $state.params.version || numeralVersions[0] || $scope.versions[0];
34
36
 
35
37
  });
36
38
 
@@ -40,7 +42,7 @@ app.controller("MenuCtrl", function($scope, $state, Documentation) {
40
42
 
41
43
  $scope.availableLinks = function() {
42
44
  return $scope.links[$scope.selectedVersion];
43
- }
45
+ };
44
46
 
45
47
  $scope.$on('$stateChangeSuccess', function(e, state, params) {
46
48
  if (params.version) $scope.selectedVersion = params.version;
@@ -1,14 +1,14 @@
1
- app.controller("TypeCtrl", function ($scope, $stateParams, Documentation) {
2
- $scope.typeName = $stateParams.type || $scope.controller.media_type;
1
+ app.controller('TypeCtrl', function ($scope, $stateParams, Documentation) {
2
+ $scope.typeId = $stateParams.type || $scope.controller.media_type;
3
3
  $scope.apiVersion = $stateParams.version;
4
4
  $scope.controllers = [];
5
5
  $scope.views = [];
6
6
 
7
- Documentation.getType($stateParams.version, $scope.typeName).then(function(response) {
7
+ Documentation.getType($stateParams.version, $scope.typeId).then(function(response) {
8
8
  $scope.type = response.data;
9
9
  $scope.views = _(response.data.views)
10
10
  .map(function(view, name) { return _.extend(view, { name: name }); })
11
- .select(function(view) { return view.name != 'master'; })
11
+ .select(function(view) { return view.name !== 'master'; })
12
12
  .value();
13
13
 
14
14
  _.forEach($scope.type.attributes, function(attribute, name) {
@@ -20,7 +20,7 @@
20
20
  });
21
21
 
22
22
  Documentation.getIndex().success(function(response) {
23
- $scope.controllers = _.select(response[$scope.apiVersion], function(item) { return item.controller && item.media_type == $scope.typeName; });
23
+ $scope.controllers = _.select(response[$scope.apiVersion], function(item) { return item.controller && item.media_type == $scope.type.name; });
24
24
  });
25
25
  }, function() {
26
26
  $scope.error = true;
@@ -11,7 +11,7 @@
11
11
  _.forEach(scope.attribute.options, function(option, name) {
12
12
  var templatePath = 'views/directives/attribute_description/_default.html';
13
13
  var skip_keys = ['reference','dsl_compiler','dsl_compiler_options'];
14
-
14
+
15
15
  switch (name) {
16
16
  case 'example':
17
17
  // expects string
@@ -29,18 +29,18 @@
29
29
  $http.get(templatePath, { cache: $templateCache }).success(function(template) {
30
30
  var row = $(template);
31
31
  var rowScope = scope.$new(true);
32
-
32
+
33
33
  rowScope.row = {
34
34
  name: name,
35
35
  value: option
36
36
  };
37
-
37
+
38
38
  $compile(row)(rowScope);
39
39
  list.append(row);
40
40
  });
41
41
  }
42
-
43
- })
42
+
43
+ });
44
44
  }
45
45
  };
46
46
  });
@@ -7,7 +7,7 @@
7
7
  attributes: '=',
8
8
  showGroups: '='
9
9
  },
10
- link: function(scope, element) {
10
+ link: function(scope) {
11
11
  // create attribute groups
12
12
  scope.groups = [{attributes: []}];
13
13
 
@@ -5,7 +5,7 @@ app.directive('rsAttributeTableRow', function($compile, TypeTemplates) {
5
5
  name: '=',
6
6
  attribute: '='
7
7
  },
8
- link: function(scope, element, attrs) {
8
+ link: function(scope, element) {
9
9
  // use the attribute type name to find the template
10
10
  var name = (scope.attribute.type ? scope.attribute.type.name : null) || 'default';
11
11
 
@@ -13,5 +13,5 @@ app.directive('rsAttributeTableRow', function($compile, TypeTemplates) {
13
13
  element.replaceWith($compile(template)(scope));
14
14
  });
15
15
  }
16
- }
16
+ };
17
17
  });
@@ -1,7 +1,7 @@
1
1
  app.directive('noContainer', function() {
2
2
  return {
3
3
  restrict: 'A',
4
- link: function(scope, element, attrs){
4
+ link: function(scope, element){
5
5
  element.replaceWith(element.children());
6
6
  }
7
7
  };
@@ -4,7 +4,7 @@ app.directive('rsRequestBody', function($compile, PayloadTemplates) {
4
4
  scope: {
5
5
  payload: '='
6
6
  },
7
- link: function(scope, element, attrs) {
7
+ link: function(scope, element) {
8
8
  // use the attribute type name to find the template
9
9
  var alt, name = (scope.payload.type ? scope.payload.type.name : null) || 'default';
10
10
 
@@ -13,13 +13,13 @@ app.directive('rsRequestBody', function($compile, PayloadTemplates) {
13
13
  }
14
14
 
15
15
  if(name === 'Struct') {
16
- name = 'PraxisBody',
17
- alt = 'Struct'
16
+ name = 'PraxisBody';
17
+ alt = 'Struct';
18
18
  }
19
19
 
20
20
  PayloadTemplates.resolve(name, alt).then(function(template) {
21
21
  element.replaceWith($compile(template)(scope));
22
22
  });
23
23
  }
24
- }
25
- });
24
+ };
25
+ });
@@ -4,10 +4,7 @@ app.directive('rsRequestHeaders', function($compile, PayloadTemplates) {
4
4
  scope: {
5
5
  headers: '='
6
6
  },
7
- link: function(scope, element, attrs) {
8
- // use the attribute type name to find the template
9
- var name = (scope.headers.type ? scope.headers.type.name : null) || 'default';
10
-
7
+ link: function(scope, element) {
11
8
  if(scope.headers.type) {
12
9
  scope.attributes = scope.headers.type.attributes;
13
10
  }
@@ -16,5 +13,5 @@ app.directive('rsRequestHeaders', function($compile, PayloadTemplates) {
16
13
  element.replaceWith($compile(template)(scope));
17
14
  });
18
15
  }
19
- }
20
- });
16
+ };
17
+ });
@@ -4,10 +4,7 @@ app.directive('rsRequestParameters', function($compile, PayloadTemplates) {
4
4
  scope: {
5
5
  parameters: '='
6
6
  },
7
- link: function(scope, element, attrs) {
8
- // use the attribute type name to find the template
9
- var name = (scope.parameters.type ? scope.parameters.type.name : null) || 'default';
10
-
7
+ link: function(scope, element) {
11
8
  if(scope.parameters.type) {
12
9
  scope.attributes = scope.parameters.type.attributes;
13
10
  }
@@ -16,5 +13,5 @@ app.directive('rsRequestParameters', function($compile, PayloadTemplates) {
16
13
  element.replaceWith($compile(template)(scope));
17
14
  });
18
15
  }
19
- }
20
- });
16
+ };
17
+ });
@@ -1,4 +1,4 @@
1
- app.directive('rsTypeLabel', function($compile, $templateCache, $http) {
1
+ app.directive('rsTypeLabel', function($compile) {
2
2
 
3
3
  var primitives = [
4
4
  'Boolean',
@@ -15,9 +15,9 @@
15
15
 
16
16
  var templates = {
17
17
  primitive: '<span>{{type.name}}</span>',
18
- type: '<a ui-sref="root.type({version: apiVersion, type: type.name})">{{type.name | resourceName}}</a>',
18
+ type: '<a ui-sref="root.type({version: apiVersion, type: type.id})">{{type.name | resourceName}}</a>',
19
19
  primitiveCollection: '<span>Collection&nbsp;[&nbsp;{{type.member_attribute.type.name}}&nbsp;]</a>',
20
- typeCollection: '<span>Collection&nbsp;[&nbsp;<a ui-sref="root.type({version: apiVersion, type: type.member_attribute.type.name})">{{type.member_attribute.type.name | resourceName}}</a>&nbsp;]</span>',
20
+ typeCollection: '<span>Collection&nbsp;[&nbsp;<a ui-sref="root.type({version: apiVersion, type: type.member_attribute.type.id})">{{type.member_attribute.type.name | resourceName}}</a>&nbsp;]</span>',
21
21
  link: '<span>Link&nbsp;[&nbsp;<a ui-sref="root.type({version: apiVersion, type: type.link_to})">{{type.link_to | resourceName}}</a>&nbsp;]</span>'
22
22
  };
23
23
 
@@ -27,12 +27,11 @@
27
27
  type: '='
28
28
  },
29
29
  link: function(scope, element) {
30
-
31
30
  var template = templates.type;
32
31
  if (_.contains(primitives, scope.type.name)) {
33
32
  template = templates.primitive;
34
33
  }
35
- else if ( scope.type.member_attribute !== undefined ) {
34
+ else if ( scope.type.member_attribute !== undefined ) {
36
35
  if ( _.contains(primitives, scope.type.member_attribute.type.name)){
37
36
  template = templates.primitiveCollection;
38
37
  }else{
@@ -1,16 +1,16 @@
1
1
  app.factory('Documentation', function($http) {
2
2
  return {
3
3
  getIndex: function() {
4
- return $http.get('docs/index.json', { cache: true });
4
+ return $http.get('api/index.json', { cache: true });
5
5
  },
6
6
  getController: function(version, name) {
7
- return $http.get('docs/' + version + '/resources/' + name + '.json', { cache: true });
7
+ return $http.get('api/' + version + '/resources/' + name + '.json', { cache: true });
8
8
  },
9
9
  getType: function(version, name) {
10
- return $http.get('docs/' + version + '/types/' + name + '.json', { cache: true });
10
+ return $http.get('api/' + version + '/types/' + name + '.json', { cache: true });
11
11
  },
12
12
  getTemplates: function(version) {
13
- return $http.get('docs/' + version + '/templates.json', { cache: true });
13
+ return $http.get('api/' + version + '/templates.json', { cache: true });
14
14
  }
15
15
  };
16
16
  });
@@ -3,8 +3,8 @@ app.factory('PayloadTemplates', function($http, $templateCache, TemplateProvider
3
3
  var defaultTemplate = $http.get('views/directives/request_body/_default.html', { cache: $templateCache });
4
4
 
5
5
  var localTemplates = {
6
- "Struct": $http.get('views/directives/request_body/_struct.html', { cache: $templateCache })
6
+ 'Struct': $http.get('views/directives/request_body/_struct.html', { cache: $templateCache })
7
7
  };
8
8
 
9
- return TemplateProvider(defaultTemplate, localTemplates, "standalone");
9
+ return TemplateProvider(defaultTemplate, localTemplates, 'standalone');
10
10
  });
@@ -3,9 +3,9 @@ app.factory('TypeTemplates', function($http, $templateCache, TemplateProvider) {
3
3
  var defaultTemplate = $http.get('views/directives/attribute_table_row/_default.html', { cache: $templateCache });
4
4
 
5
5
  var localTemplates = {
6
- "Struct": $http.get('views/directives/attribute_table_row/_struct.html', { cache: $templateCache }),
7
- "Links": $http.get('views/directives/attribute_table_row/_links.html', { cache: $templateCache })
6
+ 'Struct': $http.get('views/directives/attribute_table_row/_struct.html', { cache: $templateCache }),
7
+ 'Links': $http.get('views/directives/attribute_table_row/_links.html', { cache: $templateCache })
8
8
  };
9
9
 
10
- return TemplateProvider(defaultTemplate, localTemplates, "embedded");
10
+ return TemplateProvider(defaultTemplate, localTemplates, 'embedded');
11
11
  });
@@ -0,0 +1,6 @@
1
+ app.filter('markdown', function() {
2
+ var converter = new Showdown.converter();
3
+ return _.memoize(function(input) {
4
+ return input ? converter.makeHtml(input) : '';
5
+ });
6
+ });
@@ -1,5 +1,5 @@
1
1
  app.filter('resourceName', function() {
2
2
  return function(input) {
3
- return _.last(input.split("::"));
3
+ return _.last(input.split('::'));
4
4
  };
5
- });
5
+ });
@@ -4,12 +4,7 @@
4
4
 
5
5
  .header {
6
6
  .navbar-default {
7
- background-image: -ms-linear-gradient(top, #fff 0%, $navbar-default-bg 100%);
8
- background-image: -moz-linear-gradient(top, #fff 0%, $navbar-default-bg 100%);
9
- background-image: -o-linear-gradient(top, #fff 0%, $navbar-default-bg 100%);
10
- background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #FFFFFF), color-stop(1, $navbar-default-bg));
11
- background-image: -webkit-linear-gradient(top, #fff 0%, $navbar-default-bg 100%);
12
- background-image: linear-gradient(to bottom, #fff 0%, $navbar-default-bg 100%);
7
+ @include gradient-vertical($start-color: $navbar-default-gradient-start, $end-color: $navbar-default-gradient-end);
13
8
  box-shadow: 0 0 5px rgba(#000, 0.085);
14
9
  }
15
- }
10
+ }
File without changes
@@ -3,760 +3,763 @@
3
3
  // Customize to fit your needs
4
4
  // ------------------------------
5
5
 
6
- $bootstrap-sass-asset-helper: (twbs-font-path("") != unquote('twbs-font-path("")'));
6
+ $bootstrap-sass-asset-helper: (twbs-font-path("") != unquote('twbs-font-path("")')) !default;
7
7
 
8
8
 
9
9
  // Colors
10
10
 
11
11
  // gray colors
12
- $gray-darker: lighten(#000, 13.5%); // #222
13
- $gray-dark: lighten(#000, 20%); // #333
14
- $gray: lighten(#000, 33.5%); // #555
15
- $gray-light: lighten(#000, 60%); // #999
16
- $gray-lighter: lighten(#000, 93.5%); // #eee
12
+ $gray-darker: lighten(#000, 13.5%) !default; // #222
13
+ $gray-dark: lighten(#000, 20%) !default; // #333
14
+ $gray: lighten(#000, 33.5%) !default; // #555
15
+ $gray-light: lighten(#000, 60%) !default; // #999
16
+ $gray-lighter: lighten(#000, 93.5%) !default; // #eee
17
17
 
18
18
  // brand colors
19
- $brand-primary: #0069CC;
20
- $brand-success: #5FB000;
21
- $brand-info: #6E50A1;
22
- $brand-warning: #EB9722;
23
- $brand-danger: #D11313;
19
+ $brand-primary: #0069CC !default;
20
+ $brand-success: #5FB000 !default;
21
+ $brand-info: #6E50A1 !default;
22
+ $brand-warning: #EB9722 !default;
23
+ $brand-danger: #D11313 !default;
24
24
 
25
25
 
26
26
  // Scaffolding
27
27
 
28
28
  // background color
29
- $body-bg: #fff;
29
+ $body-bg: #fff !default;
30
30
  // global text
31
- $text-color: $gray-dark;
31
+ $text-color: $gray-dark !default;
32
32
  // link color.
33
- $link-color: $brand-primary;
33
+ $link-color: $brand-primary !default;
34
34
  // link hover color
35
- $link-hover-color: darken($link-color, 15%);
35
+ $link-hover-color: darken($link-color, 15%) !default;
36
36
 
37
37
 
38
38
  // Typography
39
39
 
40
- $font-family-sans-serif: Helvetica,arial,freesans,clean,sans-serif;
41
- $font-family-serif: Georgia, "Times New Roman", Times, serif;
42
- $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
43
- $font-family-base: $font-family-sans-serif;
40
+ $font-family-sans-serif: Helvetica,arial,freesans,clean,sans-serif !default;
41
+ $font-family-serif: Georgia, "Times New Roman", Times, serif !default;
42
+ $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
43
+ $font-family-base: $font-family-sans-serif !default;
44
44
 
45
- $font-size-base: 13px;
46
- $font-size-large: ceil(($font-size-base * 1.25)); // ~18px
47
- $font-size-small: ceil(($font-size-base * 0.85)); // ~12px
45
+ $font-size-base: 13px !default;
46
+ $font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
47
+ $font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
48
48
 
49
- $font-size-h1: floor(($font-size-base * 2.6)); // ~36px
50
- $font-size-h2: floor(($font-size-base * 2.15)); // ~30px
51
- $font-size-h3: ceil(($font-size-base * 1.7)); // ~24px
52
- $font-size-h4: ceil(($font-size-base * 1.25)); // ~18px
53
- $font-size-h5: $font-size-base;
54
- $font-size-h6: ceil(($font-size-base * 0.85)); // ~12px
49
+ $font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px
50
+ $font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px
51
+ $font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px
52
+ $font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px
53
+ $font-size-h5: $font-size-base !default;
54
+ $font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px
55
55
 
56
56
  // unit-less `line-height` for use in components like buttons
57
- $line-height-base: 1.428571429; // 20/14
57
+ $line-height-base: 1.428571429 !default; // 20/14
58
58
  // computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc
59
- $line-height-computed: floor(($font-size-base * $line-height-base)); // ~20px
59
+ $line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px
60
60
 
61
61
  // by default, this inherits from the `<body>`
62
- $headings-font-family: inherit;
63
- $headings-font-weight: 500;
64
- $headings-line-height: 1.1;
65
- $headings-color: inherit;
62
+ $headings-font-family: inherit !default;
63
+ $headings-font-weight: 500 !default;
64
+ $headings-line-height: 1.1 !default;
65
+ $headings-color: inherit !default;
66
66
 
67
67
 
68
68
  // Iconography
69
69
  // Location and filename
70
70
 
71
71
  // load fonts from this directory
72
- $icon-font-path: "bootstrap/";
72
+ $icon-font-path: "bootstrap/" !default;
73
73
  // file name for all font files
74
- $icon-font-name: "glyphicons-halflings-regular";
74
+ $icon-font-name: "glyphicons-halflings-regular" !default;
75
75
  // element ID within SVG icon file
76
- $icon-font-svg-id: "glyphicons_halflingsregular";
76
+ $icon-font-svg-id: "glyphicons_halflingsregular" !default;
77
77
 
78
78
 
79
79
  // Components
80
80
  // define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
81
81
 
82
- $padding-base-vertical: 6px;
83
- $padding-base-horizontal: 12px;
82
+ $padding-base-vertical: 6px !default;
83
+ $padding-base-horizontal: 12px !default;
84
84
 
85
- $padding-large-vertical: 10px;
86
- $padding-large-horizontal: 16px;
85
+ $padding-large-vertical: 10px !default;
86
+ $padding-large-horizontal: 16px !default;
87
87
 
88
- $padding-small-vertical: 5px;
89
- $padding-small-horizontal: 10px;
88
+ $padding-small-vertical: 5px !default;
89
+ $padding-small-horizontal: 10px !default;
90
90
 
91
- $padding-xs-vertical: 1px;
92
- $padding-xs-horizontal: 5px;
91
+ $padding-xs-vertical: 1px !default;
92
+ $padding-xs-horizontal: 5px !default;
93
93
 
94
- $line-height-large: 1.33;
95
- $line-height-small: 1.5;
94
+ $line-height-large: 1.33 !default;
95
+ $line-height-small: 1.5 !default;
96
96
 
97
- $border-radius-base: 4px;
98
- $border-radius-large: 6px;
99
- $border-radius-small: 3px;
97
+ $border-radius-base: 4px !default;
98
+ $border-radius-large: 6px !default;
99
+ $border-radius-small: 3px !default;
100
100
 
101
101
  // global color for active items (e.g., navs or dropdowns)
102
- $component-active-color: #fff;
102
+ $component-active-color: #fff !default;
103
103
  // global background color for active items (e.g., navs or dropdowns)
104
- $component-active-bg: $brand-primary;
104
+ $component-active-bg: $brand-primary !default;
105
105
 
106
106
  // width of the `border` for generating carets that indicator dropdowns
107
- $caret-width-base: 4px;
107
+ $caret-width-base: 4px !default;
108
108
  // carets increase slightly in size for larger components
109
- $caret-width-large: 5px;
109
+ $caret-width-large: 5px !default;
110
110
 
111
111
 
112
112
  // Tables
113
113
  // customizes the `.table` component with basic values, each used across all table variations
114
114
 
115
115
  // padding for `<th>`s and `<td>`s
116
- $table-cell-padding: 8px;
116
+ $table-cell-padding: 8px !default;
117
117
  // padding for cells in `.table-condensed`
118
- $table-condensed-cell-padding: 5px;
118
+ $table-condensed-cell-padding: 5px !default;
119
119
 
120
120
  // default background color used for all tables.
121
- $table-bg: transparent;
121
+ $table-bg: transparent !default;
122
122
  // background color used for `.table-striped`
123
- $table-bg-accent: #f9f9f9;
123
+ $table-bg-accent: #f9f9f9 !default;
124
124
  // background color used for `.table-hover`
125
- $table-bg-hover: #f5f5f5;
126
- $table-bg-active: $table-bg-hover;
125
+ $table-bg-hover: #f5f5f5 !default;
126
+ $table-bg-active: $table-bg-hover !default;
127
127
 
128
128
  // border color for table and cell borders
129
- $table-border-color: #ddd;
129
+ $table-border-color: #ddd !default;
130
130
 
131
131
 
132
132
  // Buttons
133
133
  // for each of Bootstrap's buttons, define text, background and border color
134
134
 
135
- $btn-font-weight: normal;
135
+ $btn-font-weight: normal !default;
136
136
 
137
- $btn-default-color: #333;
138
- $btn-default-bg: #fff;
139
- $btn-default-border: #ccc;
137
+ $btn-default-color: #333 !default;
138
+ $btn-default-bg: #fff !default;
139
+ $btn-default-border: #ccc !default;
140
140
 
141
- $btn-primary-color: #fff;
142
- $btn-primary-bg: $brand-primary;
143
- $btn-primary-border: darken($btn-primary-bg, 5%);
141
+ $btn-primary-color: #fff !default;
142
+ $btn-primary-bg: $brand-primary !default;
143
+ $btn-primary-border: darken($btn-primary-bg, 5%) !default;
144
144
 
145
- $btn-success-color: #fff;
146
- $btn-success-bg: $brand-success;
147
- $btn-success-border: darken($btn-success-bg, 5%);
145
+ $btn-success-color: #fff !default;
146
+ $btn-success-bg: $brand-success !default;
147
+ $btn-success-border: darken($btn-success-bg, 5%) !default;
148
148
 
149
- $btn-info-color: #fff;
150
- $btn-info-bg: $brand-info;
151
- $btn-info-border: darken($btn-info-bg, 5%);
149
+ $btn-info-color: #fff !default;
150
+ $btn-info-bg: $brand-info !default;
151
+ $btn-info-border: darken($btn-info-bg, 5%) !default;
152
152
 
153
- $btn-warning-color: #fff;
154
- $btn-warning-bg: $brand-warning;
155
- $btn-warning-border: darken($btn-warning-bg, 5%);
153
+ $btn-warning-color: #fff !default;
154
+ $btn-warning-bg: $brand-warning !default;
155
+ $btn-warning-border: darken($btn-warning-bg, 5%) !default;
156
156
 
157
- $btn-danger-color: #fff;
158
- $btn-danger-bg: $brand-danger;
159
- $btn-danger-border: darken($btn-danger-bg, 5%);
157
+ $btn-danger-color: #fff !default;
158
+ $btn-danger-bg: $brand-danger !default;
159
+ $btn-danger-border: darken($btn-danger-bg, 5%) !default;
160
160
 
161
- $btn-link-disabled-color: $gray-light;
161
+ $btn-link-disabled-color: $gray-light !default;
162
162
 
163
163
 
164
164
  // Forms
165
165
 
166
166
  // input background color
167
- $input-bg: #fff;
167
+ $input-bg: #fff !default;
168
168
  // input disabled background color
169
- $input-bg-disabled: $gray-lighter;
169
+ $input-bg-disabled: $gray-lighter !default;
170
170
  // text color for input
171
- $input-color: $gray;
171
+ $input-color: $gray !default;
172
172
  // input border color
173
- $input-border: #ccc;
173
+ $input-border: #ccc !default;
174
174
  // input border radius
175
- $input-border-radius: $border-radius-base;
175
+ $input-border-radius: $border-radius-base !default;
176
176
  // border color for inputs on focus
177
- $input-border-focus: #66afe9;
177
+ $input-border-focus: #66afe9 !default;
178
178
 
179
179
  // placeholder text color
180
- $input-color-placeholder: $gray-light;
180
+ $input-color-placeholder: $gray-light !default;
181
181
 
182
182
  // default `.form-control` height
183
- $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2);
183
+ $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
184
184
  // large `.form-control` height
185
- $input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2);
185
+ $input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
186
186
  //** Small `.form-control` height
187
- $input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2);
187
+ $input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
188
188
 
189
- $legend-color: $gray-dark;
190
- $legend-border-color: #e5e5e5;
189
+ $legend-color: $gray-dark !default;
190
+ $legend-border-color: #e5e5e5 !default;
191
191
 
192
192
  // background color for textual input addons
193
- $input-group-addon-bg: $gray-lighter;
193
+ $input-group-addon-bg: $gray-lighter !default;
194
194
  // border color for textual input addons
195
- $input-group-addon-border-color: $input-border;
195
+ $input-group-addon-border-color: $input-border !default;
196
196
 
197
197
 
198
198
  // Dropdowns
199
199
  // dropdown menu container and contents
200
200
 
201
201
  // background for the dropdown menu
202
- $dropdown-bg: #fff;
202
+ $dropdown-bg: #fff !default;
203
203
  // dropdown menu `border-color`
204
- $dropdown-border: rgba(0,0,0,.15);
204
+ $dropdown-border: rgba(0,0,0,.15) !default;
205
205
  // dropdown menu `border-color` **for IE8**
206
- $dropdown-fallback-border: #ccc;
206
+ $dropdown-fallback-border: #ccc !default;
207
207
  // divider color for between dropdown items
208
- $dropdown-divider-bg: #e5e5e5;
208
+ $dropdown-divider-bg: #e5e5e5 !default;
209
209
 
210
210
  // dropdown link text color
211
- $dropdown-link-color: $gray-dark;
211
+ $dropdown-link-color: $gray-dark !default;
212
212
  // hover color for dropdown links
213
- $dropdown-link-hover-color: darken($gray-dark, 5%);
213
+ $dropdown-link-hover-color: darken($gray-dark, 5%) !default;
214
214
  // hover background for dropdown links
215
- $dropdown-link-hover-bg: #f5f5f5;
215
+ $dropdown-link-hover-bg: #f5f5f5 !default;
216
216
 
217
217
  // active dropdown menu item text color
218
- $dropdown-link-active-color: $component-active-color;
218
+ $dropdown-link-active-color: $component-active-color !default;
219
219
  // active dropdown menu item background color.
220
- $dropdown-link-active-bg: $component-active-bg;
220
+ $dropdown-link-active-bg: $component-active-bg !default;
221
221
 
222
222
  // disabled dropdown menu item background color
223
- $dropdown-link-disabled-color: $gray-light;
223
+ $dropdown-link-disabled-color: $gray-light !default;
224
224
 
225
225
  // text color for headers within dropdown menus.
226
- $dropdown-header-color: $gray-light;
226
+ $dropdown-header-color: $gray-light !default;
227
227
 
228
228
  // deprecated `$dropdown-caret-color` as of v3.1.0
229
- $dropdown-caret-color: #000;
229
+ $dropdown-caret-color: #000 !default;
230
230
 
231
231
 
232
232
  // Z-index master list
233
233
  // Warning: Avoid customizing these values. They're used for a bird's eye view
234
234
  // of components dependent on the z-axis and are designed to all work together
235
235
 
236
- $zindex-navbar: 1000;
237
- $zindex-dropdown: 1000;
238
- $zindex-popover: 1060;
239
- $zindex-tooltip: 1070;
240
- $zindex-navbar-fixed: 1030;
241
- $zindex-modal-background: 1040;
242
- $zindex-modal: 1050;
236
+ $zindex-navbar: 1000 !default;
237
+ $zindex-dropdown: 1000 !default;
238
+ $zindex-popover: 1060 !default;
239
+ $zindex-tooltip: 1070 !default;
240
+ $zindex-navbar-fixed: 1030 !default;
241
+ $zindex-modal-background: 1040 !default;
242
+ $zindex-modal: 1050 !default;
243
243
 
244
244
 
245
245
  // Media queries breakpoints
246
246
  // define the breakpoints at which your layout will change, adapting to different screen sizes
247
247
 
248
248
  // Small screen / tablet
249
- $screen-sm-min: 768px;
249
+ $screen-sm-min: 768px !default;
250
250
  // Medium screen / desktop
251
- $screen-md-min: 992px;
251
+ $screen-md-min: 992px !default;
252
252
  // Large screen / wide desktop
253
- $screen-lg-min: 1200px;
253
+ $screen-lg-min: 1200px !default;
254
254
 
255
255
  // So media queries don't overlap when required, provide a maximum
256
- $screen-xs-max: ($screen-sm-min - 1);
257
- $screen-sm-max: ($screen-md-min - 1);
258
- $screen-md-max: ($screen-lg-min - 1);
256
+ $screen-xs-max: ($screen-sm-min - 1) !default;
257
+ $screen-sm-max: ($screen-md-min - 1) !default;
258
+ $screen-md-max: ($screen-lg-min - 1) !default;
259
259
 
260
260
 
261
261
  // Grid system
262
262
  // define your custom responsive grid
263
263
 
264
264
  // number of columns in the grid
265
- $grid-columns: 12;
265
+ $grid-columns: 12 !default;
266
266
  // padding between columns (gets divided in half for the left and right)
267
- $grid-gutter-width: 30px;
267
+ $grid-gutter-width: 30px !default;
268
268
  // navbar collapse
269
- $grid-float-breakpoint: $screen-sm-min;
269
+ $grid-float-breakpoint: $screen-sm-min !default;
270
270
  // point at which the navbar begins collapsing
271
- $grid-float-breakpoint-max: ($grid-float-breakpoint - 1);
271
+ $grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
272
272
 
273
273
 
274
274
  // Container sizes
275
275
  // define the maximum width of `.container` for different screen sizes.
276
276
 
277
277
  // small screen / tablet
278
- $container-tablet: ((720px + $grid-gutter-width));
278
+ $container-tablet: ((720px + $grid-gutter-width)) !default;
279
279
  // for `$screen-sm-min` and up
280
- $container-sm: $container-tablet;
280
+ $container-sm: $container-tablet !default;
281
281
 
282
282
  // medium screen / desktop
283
- $container-desktop: ((940px + $grid-gutter-width));
283
+ $container-desktop: ((940px + $grid-gutter-width)) !default;
284
284
  // for `$screen-md-min` and up.
285
- $container-md: $container-desktop;
285
+ $container-md: $container-desktop !default;
286
286
 
287
287
  // large screen / wide desktop
288
- $container-large-desktop: ((1140px + $grid-gutter-width));
288
+ $container-large-desktop: ((1140px + $grid-gutter-width)) !default;
289
289
  // for `$screen-lg-min` and up
290
- $container-lg: $container-large-desktop;
290
+ $container-lg: $container-large-desktop !default;
291
291
 
292
292
 
293
293
  // Navbar
294
294
 
295
295
  // navbar basics
296
- $navbar-height: 40px;
297
- $navbar-margin-bottom: $line-height-computed;
298
- $navbar-border-radius: $border-radius-base;
299
- $navbar-padding-horizontal: floor(($grid-gutter-width / 2));
300
- $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);
301
- $navbar-collapse-max-height: 340px;
296
+ $navbar-height: 40px !default;
297
+ $navbar-margin-bottom: $line-height-computed !default;
298
+ $navbar-border-radius: $border-radius-base !default;
299
+ $navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default;
300
+ $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;
301
+ $navbar-collapse-max-height: 340px !default;
302
302
 
303
- $navbar-default-color: #777;
304
- $navbar-default-bg: #f3f3f3;
305
- $navbar-default-border: darken($navbar-default-bg, 6.5%);
303
+ $navbar-default-color: #777 !default;
304
+ $navbar-default-bg: #f3f3f3 !default;
305
+ $navbar-default-border: darken($navbar-default-bg, 6.5%) !default;
306
+
307
+ $navbar-default-gradient-start: #fff !default;
308
+ $navbar-default-gradient-end: $navbar-default-bg !default;
306
309
 
307
310
  // navbar links
308
- $navbar-default-link-color: $text-color;
309
- $navbar-default-link-hover-color: $brand-primary;
310
- $navbar-default-link-hover-bg: transparent;
311
- $navbar-default-link-active-color: #555;
312
- $navbar-default-link-active-bg: darken($navbar-default-bg, 10);
313
- $navbar-default-link-disabled-color: #ccc;
314
- $navbar-default-link-disabled-bg: transparent;
311
+ $navbar-default-link-color: $text-color !default;
312
+ $navbar-default-link-hover-color: $brand-primary !default;
313
+ $navbar-default-link-hover-bg: transparent !default;
314
+ $navbar-default-link-active-color: #555 !default;
315
+ $navbar-default-link-active-bg: darken($navbar-default-bg, 10) !default;
316
+ $navbar-default-link-disabled-color: #ccc !default;
317
+ $navbar-default-link-disabled-bg: transparent !default;
315
318
 
316
319
  // navbar brand
317
- $navbar-default-brand-color: $navbar-default-link-color;
318
- $navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%);
319
- $navbar-default-brand-hover-bg: transparent;
320
+ $navbar-default-brand-color: $navbar-default-link-color !default;
321
+ $navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;
322
+ $navbar-default-brand-hover-bg: transparent !default;
320
323
 
321
324
  // navbar toggle
322
- $navbar-default-toggle-hover-bg: #ddd;
323
- $navbar-default-toggle-icon-bar-bg: #888;
324
- $navbar-default-toggle-border-color: #ddd;
325
+ $navbar-default-toggle-hover-bg: #ddd !default;
326
+ $navbar-default-toggle-icon-bar-bg: #888 !default;
327
+ $navbar-default-toggle-border-color: #ddd !default;
325
328
 
326
329
 
327
330
  // inverted navbar
328
- $navbar-inverse-color: $gray-light;
329
- $navbar-inverse-bg: #222;
330
- $navbar-inverse-border: darken($navbar-inverse-bg, 10%);
331
+ $navbar-inverse-color: $gray-light !default;
332
+ $navbar-inverse-bg: #222 !default;
333
+ $navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;
331
334
 
332
335
  // inverted navbar links
333
- $navbar-inverse-link-color: $gray-light;
334
- $navbar-inverse-link-hover-color: #fff;
335
- $navbar-inverse-link-hover-bg: transparent;
336
- $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;
337
- $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%);
338
- $navbar-inverse-link-disabled-color: #444;
339
- $navbar-inverse-link-disabled-bg: transparent;
336
+ $navbar-inverse-link-color: $gray-light !default;
337
+ $navbar-inverse-link-hover-color: #fff !default;
338
+ $navbar-inverse-link-hover-bg: transparent !default;
339
+ $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;
340
+ $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;
341
+ $navbar-inverse-link-disabled-color: #444 !default;
342
+ $navbar-inverse-link-disabled-bg: transparent !default;
340
343
 
341
344
  // inverted navbar brand label
342
- $navbar-inverse-brand-color: $navbar-inverse-link-color;
343
- $navbar-inverse-brand-hover-color: #fff;
344
- $navbar-inverse-brand-hover-bg: transparent;
345
+ $navbar-inverse-brand-color: $navbar-inverse-link-color !default;
346
+ $navbar-inverse-brand-hover-color: #fff !default;
347
+ $navbar-inverse-brand-hover-bg: transparent !default;
345
348
 
346
349
  // inverted navbar toggle
347
- $navbar-inverse-toggle-hover-bg: #333;
348
- $navbar-inverse-toggle-icon-bar-bg: #fff;
349
- $navbar-inverse-toggle-border-color: #333;
350
+ $navbar-inverse-toggle-hover-bg: #333 !default;
351
+ $navbar-inverse-toggle-icon-bar-bg: #fff !default;
352
+ $navbar-inverse-toggle-border-color: #333 !default;
350
353
 
351
354
 
352
355
  // Navs
353
356
 
354
357
  // shared nav styles
355
- $nav-link-padding: 10px 15px;
356
- $nav-link-hover-bg: $gray-lighter;
358
+ $nav-link-padding: 10px 15px !default;
359
+ $nav-link-hover-bg: $gray-lighter !default;
357
360
 
358
- $nav-disabled-link-color: $gray-light;
359
- $nav-disabled-link-hover-color: $gray-light;
361
+ $nav-disabled-link-color: $gray-light !default;
362
+ $nav-disabled-link-hover-color: $gray-light !default;
360
363
 
361
- $nav-open-link-hover-color: #fff;
364
+ $nav-open-link-hover-color: #fff !default;
362
365
 
363
366
  // tabs
364
- $nav-tabs-border-color: #ddd;
367
+ $nav-tabs-border-color: #ddd !default;
365
368
 
366
- $nav-tabs-link-hover-border-color: $gray-lighter;
369
+ $nav-tabs-link-hover-border-color: $gray-lighter !default;
367
370
 
368
- $nav-tabs-active-link-hover-bg: $body-bg;
369
- $nav-tabs-active-link-hover-color: $gray;
370
- $nav-tabs-active-link-hover-border-color: #ddd;
371
+ $nav-tabs-active-link-hover-bg: $body-bg !default;
372
+ $nav-tabs-active-link-hover-color: $gray !default;
373
+ $nav-tabs-active-link-hover-border-color: #ddd !default;
371
374
 
372
- $nav-tabs-justified-link-border-color: #ddd;
373
- $nav-tabs-justified-active-link-border-color: $body-bg;
375
+ $nav-tabs-justified-link-border-color: #ddd !default;
376
+ $nav-tabs-justified-active-link-border-color: $body-bg !default;
374
377
 
375
378
  // pills
376
- $nav-pills-border-radius: $border-radius-base;
377
- $nav-pills-active-link-hover-bg: $component-active-bg;
378
- $nav-pills-active-link-hover-color: $component-active-color;
379
+ $nav-pills-border-radius: $border-radius-base !default;
380
+ $nav-pills-active-link-hover-bg: $component-active-bg !default;
381
+ $nav-pills-active-link-hover-color: $component-active-color !default;
379
382
 
380
383
 
381
384
  // Pagination
382
385
 
383
- $pagination-color: $link-color;
384
- $pagination-bg: #fff;
385
- $pagination-border: #ddd;
386
+ $pagination-color: $link-color !default;
387
+ $pagination-bg: #fff !default;
388
+ $pagination-border: #ddd !default;
386
389
 
387
- $pagination-hover-color: $link-hover-color;
388
- $pagination-hover-bg: $gray-lighter;
389
- $pagination-hover-border: #ddd;
390
+ $pagination-hover-color: $link-hover-color !default;
391
+ $pagination-hover-bg: $gray-lighter !default;
392
+ $pagination-hover-border: #ddd !default;
390
393
 
391
- $pagination-active-color: #fff;
392
- $pagination-active-bg: $brand-primary;
393
- $pagination-active-border: $brand-primary;
394
+ $pagination-active-color: #fff !default;
395
+ $pagination-active-bg: $brand-primary !default;
396
+ $pagination-active-border: $brand-primary !default;
394
397
 
395
- $pagination-disabled-color: $gray-light;
396
- $pagination-disabled-bg: #fff;
397
- $pagination-disabled-border: #ddd;
398
+ $pagination-disabled-color: $gray-light !default;
399
+ $pagination-disabled-bg: #fff !default;
400
+ $pagination-disabled-border: #ddd !default;
398
401
 
399
402
 
400
403
  // Pager
401
404
 
402
- $pager-bg: $pagination-bg;
403
- $pager-border: $pagination-border;
404
- $pager-border-radius: 15px;
405
+ $pager-bg: $pagination-bg !default;
406
+ $pager-border: $pagination-border !default;
407
+ $pager-border-radius: 15px !default;
405
408
 
406
- $pager-hover-bg: $pagination-hover-bg;
409
+ $pager-hover-bg: $pagination-hover-bg !default;
407
410
 
408
- $pager-active-bg: $pagination-active-bg;
409
- $pager-active-color: $pagination-active-color;
411
+ $pager-active-bg: $pagination-active-bg !default;
412
+ $pager-active-color: $pagination-active-color !default;
410
413
 
411
- $pager-disabled-color: $pagination-disabled-color;
414
+ $pager-disabled-color: $pagination-disabled-color !default;
412
415
 
413
416
 
414
417
  // Jumbotron
415
418
 
416
- $jumbotron-padding: 30px;
417
- $jumbotron-color: inherit;
418
- $jumbotron-bg: $gray-lighter;
419
- $jumbotron-heading-color: inherit;
420
- $jumbotron-font-size: ceil(($font-size-base * 1.5));
419
+ $jumbotron-padding: 30px !default;
420
+ $jumbotron-color: inherit !default;
421
+ $jumbotron-bg: $gray-lighter !default;
422
+ $jumbotron-heading-color: inherit !default;
423
+ $jumbotron-font-size: ceil(($font-size-base * 1.5)) !default;
421
424
 
422
425
 
423
426
  // Form states and alerts
424
427
 
425
- $state-success-text: #3c763d;
426
- $state-success-bg: #dff0d8;
427
- $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%);
428
+ $state-success-text: #3c763d !default;
429
+ $state-success-bg: #dff0d8 !default;
430
+ $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;
428
431
 
429
- $state-info-text: #31708f;
430
- $state-info-bg: #d9edf7;
431
- $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%);
432
+ $state-info-text: #31708f !default;
433
+ $state-info-bg: #d9edf7 !default;
434
+ $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;
432
435
 
433
- $state-warning-text: #8a6d3b;
434
- $state-warning-bg: #fcf8e3;
435
- $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%);
436
+ $state-warning-text: #8a6d3b !default;
437
+ $state-warning-bg: #fcf8e3 !default;
438
+ $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;
436
439
 
437
- $state-danger-text: #a94442;
438
- $state-danger-bg: #f2dede;
439
- $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%);
440
+ $state-danger-text: #a94442 !default;
441
+ $state-danger-bg: #f2dede !default;
442
+ $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;
440
443
 
441
444
 
442
445
  // Tooltips
443
446
 
444
447
  // tooltip max width
445
- $tooltip-max-width: 200px;
448
+ $tooltip-max-width: 200px !default;
446
449
  // tooltip text color
447
- $tooltip-color: #fff;
450
+ $tooltip-color: #fff !default;
448
451
  // tooltip background color
449
- $tooltip-bg: #000;
450
- $tooltip-opacity: 0.9;
452
+ $tooltip-bg: #000 !default;
453
+ $tooltip-opacity: 0.9 !default;
451
454
 
452
455
  // tooltip arrow width
453
- $tooltip-arrow-width: 5px;
456
+ $tooltip-arrow-width: 5px !default;
454
457
  // tooltip arrow color
455
- $tooltip-arrow-color: $tooltip-bg;
458
+ $tooltip-arrow-color: $tooltip-bg !default;
456
459
 
457
460
 
458
461
  // Popovers
459
462
 
460
463
  // popover body background color
461
- $popover-bg: #fff;
464
+ $popover-bg: #fff !default;
462
465
  // popover maximum width
463
- $popover-max-width: 276px;
466
+ $popover-max-width: 276px !default;
464
467
  // popover border color
465
- $popover-border-color: rgba(0,0,0,.2);
468
+ $popover-border-color: rgba(0,0,0,.2) !default;
466
469
  // popover fallback border color
467
- $popover-fallback-border-color: #ccc;
470
+ $popover-fallback-border-color: #ccc !default;
468
471
 
469
472
  // popover title background color
470
- $popover-title-bg: darken($popover-bg, 3%);
473
+ $popover-title-bg: darken($popover-bg, 3%) !default;
471
474
 
472
475
  // popover arrow width
473
- $popover-arrow-width: 10px;
476
+ $popover-arrow-width: 10px !default;
474
477
  // popover arrow color
475
- $popover-arrow-color: #fff;
478
+ $popover-arrow-color: #fff !default;
476
479
 
477
480
  // popover outer arrow width
478
- $popover-arrow-outer-width: ($popover-arrow-width + 1);
481
+ $popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
479
482
  // popover outer arrow color
480
- $popover-arrow-outer-color: fade_in($popover-border-color, 0.05);
483
+ $popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default;
481
484
  // popover outer arrow fallback color
482
- $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%);
485
+ $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default;
483
486
 
484
487
 
485
488
  // Labels
486
489
 
487
490
  // default label background color
488
- $label-default-bg: $gray-light;
491
+ $label-default-bg: $gray-light !default;
489
492
  // primary label background color
490
- $label-primary-bg: $brand-primary;
493
+ $label-primary-bg: $brand-primary !default;
491
494
  // success label background color
492
- $label-success-bg: $brand-success;
495
+ $label-success-bg: $brand-success !default;
493
496
  // info label background color
494
- $label-info-bg: $brand-info;
497
+ $label-info-bg: $brand-info !default;
495
498
  // warning label background color
496
- $label-warning-bg: $brand-warning;
499
+ $label-warning-bg: $brand-warning !default;
497
500
  // danger label background color
498
- $label-danger-bg: $brand-danger;
501
+ $label-danger-bg: $brand-danger !default;
499
502
 
500
503
  // default label text color
501
- $label-color: #fff;
504
+ $label-color: #fff !default;
502
505
  // default text color of a linked label
503
- $label-link-hover-color: #fff;
506
+ $label-link-hover-color: #fff !default;
504
507
 
505
508
 
506
509
  // Modals
507
510
 
508
511
  // padding applied to the modal body
509
- $modal-inner-padding: 15px;
512
+ $modal-inner-padding: 15px !default;
510
513
 
511
514
  // padding applied to the modal title
512
- $modal-title-padding: 15px;
515
+ $modal-title-padding: 15px !default;
513
516
  // modal title line-height
514
- $modal-title-line-height: $line-height-base;
517
+ $modal-title-line-height: $line-height-base !default;
515
518
 
516
519
  // background color of modal content area
517
- $modal-content-bg: #fff;
520
+ $modal-content-bg: #fff !default;
518
521
  // modal content border color
519
- $modal-content-border-color: rgba(0,0,0,.2);
522
+ $modal-content-border-color: rgba(0,0,0,.2) !default;
520
523
  // modal content border color **for IE8**
521
- $modal-content-fallback-border-color: #999;
524
+ $modal-content-fallback-border-color: #999 !default;
522
525
 
523
526
  // modal backdrop background color
524
- $modal-backdrop-bg: #000;
527
+ $modal-backdrop-bg: #000 !default;
525
528
  // modal backdrop opacity
526
- $modal-backdrop-opacity: 0.5;
529
+ $modal-backdrop-opacity: 0.5 !default;
527
530
  // modal header border color
528
- $modal-header-border-color: #e5e5e5;
531
+ $modal-header-border-color: #e5e5e5 !default;
529
532
  // modal footer border color
530
- $modal-footer-border-color: $modal-header-border-color;
533
+ $modal-footer-border-color: $modal-header-border-color !default;
531
534
 
532
- $modal-lg: 900px;
533
- $modal-md: 600px;
534
- $modal-sm: 300px;
535
+ $modal-lg: 900px !default;
536
+ $modal-md: 600px !default;
537
+ $modal-sm: 300px !default;
535
538
 
536
539
 
537
540
  // Alerts
538
541
 
539
- $alert-padding: 15px;
540
- $alert-border-radius: $border-radius-base;
541
- $alert-link-font-weight: bold;
542
+ $alert-padding: 15px !default;
543
+ $alert-border-radius: $border-radius-base !default;
544
+ $alert-link-font-weight: bold !default;
542
545
 
543
- $alert-success-bg: $state-success-bg;
544
- $alert-success-text: $state-success-text;
545
- $alert-success-border: $state-success-border;
546
+ $alert-success-bg: $state-success-bg !default;
547
+ $alert-success-text: $state-success-text !default;
548
+ $alert-success-border: $state-success-border !default;
546
549
 
547
- $alert-info-bg: $state-info-bg;
548
- $alert-info-text: $state-info-text;
549
- $alert-info-border: $state-info-border;
550
+ $alert-info-bg: $state-info-bg !default;
551
+ $alert-info-text: $state-info-text !default;
552
+ $alert-info-border: $state-info-border !default;
550
553
 
551
- $alert-warning-bg: $state-warning-bg;
552
- $alert-warning-text: $state-warning-text;
553
- $alert-warning-border: $state-warning-border;
554
+ $alert-warning-bg: $state-warning-bg !default;
555
+ $alert-warning-text: $state-warning-text !default;
556
+ $alert-warning-border: $state-warning-border !default;
554
557
 
555
- $alert-danger-bg: $state-danger-bg;
556
- $alert-danger-text: $state-danger-text;
557
- $alert-danger-border: $state-danger-border;
558
+ $alert-danger-bg: $state-danger-bg !default;
559
+ $alert-danger-text: $state-danger-text !default;
560
+ $alert-danger-border: $state-danger-border !default;
558
561
 
559
562
 
560
563
  // Progress bars
561
564
 
562
565
  // background color of the whole progress component
563
- $progress-bg: #f5f5f5;
566
+ $progress-bg: #f5f5f5 !default;
564
567
  // progress bar text color
565
- $progress-bar-color: #fff;
568
+ $progress-bar-color: #fff !default;
566
569
 
567
570
  // default progress bar color
568
- $progress-bar-bg: $brand-primary;
571
+ $progress-bar-bg: $brand-primary !default;
569
572
  // success progress bar color
570
- $progress-bar-success-bg: $brand-success;
573
+ $progress-bar-success-bg: $brand-success !default;
571
574
  // warning progress bar color
572
- $progress-bar-warning-bg: $brand-warning;
575
+ $progress-bar-warning-bg: $brand-warning !default;
573
576
  // danger progress bar color
574
- $progress-bar-danger-bg: $brand-danger;
577
+ $progress-bar-danger-bg: $brand-danger !default;
575
578
  // info progress bar color
576
- $progress-bar-info-bg: $brand-info;
579
+ $progress-bar-info-bg: $brand-info !default;
577
580
 
578
581
 
579
582
  // List group
580
583
 
581
584
  // background color on `.list-group-item`
582
- $list-group-bg: #fff;
585
+ $list-group-bg: #fff !default;
583
586
  // `.list-group-item` border color
584
- $list-group-border: #ddd;
587
+ $list-group-border: #ddd !default;
585
588
  // list group border radius
586
- $list-group-border-radius: $border-radius-base;
589
+ $list-group-border-radius: $border-radius-base !default;
587
590
 
588
591
  // background color of single list items on hover
589
- $list-group-hover-bg: #f5f5f5;
592
+ $list-group-hover-bg: #f5f5f5 !default;
590
593
  // text color of active list items
591
- $list-group-active-color: $component-active-color;
594
+ $list-group-active-color: $component-active-color !default;
592
595
  // background color of active list items
593
- $list-group-active-bg: $component-active-bg;
596
+ $list-group-active-bg: $component-active-bg !default;
594
597
  // border color of active list elements
595
- $list-group-active-border: $list-group-active-bg;
598
+ $list-group-active-border: $list-group-active-bg !default;
596
599
  // text color for content within active list items
597
- $list-group-active-text-color: lighten($list-group-active-bg, 40%);
600
+ $list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
598
601
 
599
602
  // text color of disabled list items
600
- $list-group-disabled-color: $gray-light;
603
+ $list-group-disabled-color: $gray-light !default;
601
604
  // background color of disabled list items
602
- $list-group-disabled-bg: $gray-lighter;
605
+ $list-group-disabled-bg: $gray-lighter !default;
603
606
  // text color for content within disabled list items
604
- $list-group-disabled-text-color: $list-group-disabled-color;
607
+ $list-group-disabled-text-color: $list-group-disabled-color !default;
605
608
 
606
- $list-group-link-color: #555;
607
- $list-group-link-hover-color: $list-group-link-color;
608
- $list-group-link-heading-color: #333;
609
+ $list-group-link-color: #555 !default;
610
+ $list-group-link-hover-color: $list-group-link-color !default;
611
+ $list-group-link-heading-color: #333 !default;
609
612
 
610
613
 
611
614
  // Panels
612
615
 
613
- $panel-bg: #fff;
614
- $panel-body-padding: 15px;
615
- $panel-heading-padding: 10px 15px;
616
- $panel-footer-padding: $panel-heading-padding;
617
- $panel-border-radius: $border-radius-base;
616
+ $panel-bg: #fff !default;
617
+ $panel-body-padding: 15px !default;
618
+ $panel-heading-padding: 10px 15px !default;
619
+ $panel-footer-padding: $panel-heading-padding !default;
620
+ $panel-border-radius: $border-radius-base !default;
618
621
 
619
622
  // border color for elements within panels
620
- $panel-inner-border: #ddd;
621
- $panel-footer-bg: #f5f5f5;
623
+ $panel-inner-border: #ddd !default;
624
+ $panel-footer-bg: #f5f5f5 !default;
622
625
 
623
- $panel-default-text: $gray-dark;
624
- $panel-default-border: #ddd;
625
- $panel-default-heading-bg: #f5f5f5;
626
+ $panel-default-text: $gray-dark !default;
627
+ $panel-default-border: #ddd !default;
628
+ $panel-default-heading-bg: #f5f5f5 !default;
626
629
 
627
- $panel-primary-text: #fff;
628
- $panel-primary-border: $brand-primary;
629
- $panel-primary-heading-bg: $brand-primary;
630
+ $panel-primary-text: #fff !default;
631
+ $panel-primary-border: $brand-primary !default;
632
+ $panel-primary-heading-bg: $brand-primary !default;
630
633
 
631
- $panel-success-text: $state-success-text;
632
- $panel-success-border: $state-success-border;
633
- $panel-success-heading-bg: $state-success-bg;
634
+ $panel-success-text: $state-success-text !default;
635
+ $panel-success-border: $state-success-border !default;
636
+ $panel-success-heading-bg: $state-success-bg !default;
634
637
 
635
- $panel-info-text: $state-info-text;
636
- $panel-info-border: $state-info-border;
637
- $panel-info-heading-bg: $state-info-bg;
638
+ $panel-info-text: $state-info-text !default;
639
+ $panel-info-border: $state-info-border !default;
640
+ $panel-info-heading-bg: $state-info-bg !default;
638
641
 
639
- $panel-warning-text: $state-warning-text;
640
- $panel-warning-border: $state-warning-border;
641
- $panel-warning-heading-bg: $state-warning-bg;
642
+ $panel-warning-text: $state-warning-text !default;
643
+ $panel-warning-border: $state-warning-border !default;
644
+ $panel-warning-heading-bg: $state-warning-bg !default;
642
645
 
643
- $panel-danger-text: $state-danger-text;
644
- $panel-danger-border: $state-danger-border;
645
- $panel-danger-heading-bg: $state-danger-bg;
646
+ $panel-danger-text: $state-danger-text !default;
647
+ $panel-danger-border: $state-danger-border !default;
648
+ $panel-danger-heading-bg: $state-danger-bg !default;
646
649
 
647
650
 
648
651
  //== Thumbnails
649
652
 
650
653
  // padding around the thumbnail image
651
- $thumbnail-padding: 4px;
654
+ $thumbnail-padding: 4px !default;
652
655
  // thumbnail background color
653
- $thumbnail-bg: $body-bg;
656
+ $thumbnail-bg: $body-bg !default;
654
657
  // thumbnail border color
655
- $thumbnail-border: #ddd;
658
+ $thumbnail-border: #ddd !default;
656
659
  // thumbnail border radius
657
- $thumbnail-border-radius: $border-radius-base;
660
+ $thumbnail-border-radius: $border-radius-base !default;
658
661
 
659
662
  // custom text color for thumbnail captions
660
- $thumbnail-caption-color: $text-color;
663
+ $thumbnail-caption-color: $text-color !default;
661
664
  // padding around the thumbnail caption
662
- $thumbnail-caption-padding: 9px;
665
+ $thumbnail-caption-padding: 9px !default;
663
666
 
664
667
 
665
668
  // Wells
666
669
 
667
- $well-bg: #f5f5f5;
668
- $well-border: darken($well-bg, 7%);
670
+ $well-bg: #f5f5f5 !default;
671
+ $well-border: darken($well-bg, 7%) !default;
669
672
 
670
673
 
671
674
  // Badges
672
675
 
673
- $badge-color: #fff;
676
+ $badge-color: #fff !default;
674
677
  // linked badge text color on hover
675
- $badge-link-hover-color: #fff;
676
- $badge-bg: $gray-light;
678
+ $badge-link-hover-color: #fff !default;
679
+ $badge-bg: $gray-light !default;
677
680
 
678
681
  // badge text color in active nav link
679
- $badge-active-color: $link-color;
682
+ $badge-active-color: $link-color !default;
680
683
  // badge background color in active nav link
681
- $badge-active-bg: #fff;
684
+ $badge-active-bg: #fff !default;
682
685
 
683
- $badge-font-weight: bold;
684
- $badge-line-height: 1;
685
- $badge-border-radius: 10px;
686
+ $badge-font-weight: bold !default;
687
+ $badge-line-height: 1 !default;
688
+ $badge-border-radius: 10px !default;
686
689
 
687
690
 
688
691
  // Breadcrumbs
689
692
 
690
- $breadcrumb-padding-vertical: 8px;
691
- $breadcrumb-padding-horizontal: 15px;
693
+ $breadcrumb-padding-vertical: 8px !default;
694
+ $breadcrumb-padding-horizontal: 15px !default;
692
695
  // breadcrumb background color
693
- $breadcrumb-bg: #f5f5f5;
696
+ $breadcrumb-bg: #f5f5f5 !default;
694
697
  // breadcrumb text color
695
- $breadcrumb-color: #ccc;
698
+ $breadcrumb-color: #ccc !default;
696
699
  // current page
697
- $breadcrumb-active-color: $gray-light;
700
+ $breadcrumb-active-color: $gray-light !default;
698
701
  // textual separator for between breadcrumb elements
699
- $breadcrumb-separator: "/";
702
+ $breadcrumb-separator: "/" !default;
700
703
 
701
704
 
702
705
  // Carousel
703
706
 
704
- $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
707
+ $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
705
708
 
706
- $carousel-control-color: #fff;
707
- $carousel-control-width: 15%;
708
- $carousel-control-opacity: .5;
709
- $carousel-control-font-size: 20px;
709
+ $carousel-control-color: #fff !default;
710
+ $carousel-control-width: 15% !default;
711
+ $carousel-control-opacity: .5 !default;
712
+ $carousel-control-font-size: 20px !default;
710
713
 
711
- $carousel-indicator-active-bg: #fff;
712
- $carousel-indicator-border-color: #fff;
714
+ $carousel-indicator-active-bg: #fff !default;
715
+ $carousel-indicator-border-color: #fff !default;
713
716
 
714
- $carousel-caption-color: #fff;
717
+ $carousel-caption-color: #fff !default;
715
718
 
716
719
 
717
720
  // Close
718
721
 
719
- $close-font-weight: bold;
720
- $close-color: #000;
721
- $close-text-shadow: 0 1px 0 #fff;
722
+ $close-font-weight: bold !default;
723
+ $close-color: #000 !default;
724
+ $close-text-shadow: 0 1px 0 #fff !default;
722
725
 
723
726
 
724
727
  // Code
725
728
 
726
- $code-color: #c7254e;
727
- $code-bg: #f9f2f4;
729
+ $code-color: #c7254e !default;
730
+ $code-bg: #f9f2f4 !default;
728
731
 
729
- $kbd-color: #fff;
730
- $kbd-bg: #333;
732
+ $kbd-color: #fff !default;
733
+ $kbd-bg: #333 !default;
731
734
 
732
- $pre-bg: #f5f5f5;
733
- $pre-color: $gray-dark;
734
- $pre-border-color: #ccc;
735
- $pre-scrollable-max-height: 340px;
735
+ $pre-bg: #f5f5f5 !default;
736
+ $pre-color: $gray-dark !default;
737
+ $pre-border-color: #ccc !default;
738
+ $pre-scrollable-max-height: 340px !default;
736
739
 
737
740
 
738
741
  // Type
739
742
 
740
743
  // text muted color
741
- $text-muted: $gray-light;
744
+ $text-muted: $gray-light !default;
742
745
  // abbreviations and acronyms border color
743
- $abbr-border-color: $gray-light;
746
+ $abbr-border-color: $gray-light !default;
744
747
  // headings small color
745
- $headings-small-color: $gray-light;
748
+ $headings-small-color: $gray-light !default;
746
749
  // blockquote small color
747
- $blockquote-small-color: $gray-light;
750
+ $blockquote-small-color: $gray-light !default;
748
751
  // blockquote font size
749
- $blockquote-font-size: ($font-size-base * 1.25);
752
+ $blockquote-font-size: ($font-size-base * 1.25) !default;
750
753
  // blockquote border color
751
- $blockquote-border-color: $gray-lighter;
754
+ $blockquote-border-color: $gray-lighter !default;
752
755
  // page header border color
753
- $page-header-border-color: $gray-lighter;
756
+ $page-header-border-color: $gray-lighter !default;
754
757
 
755
758
 
756
759
  // Miscellaneous
757
760
 
758
761
  // horizontal line color.
759
- $hr-border: $gray-lighter;
762
+ $hr-border: $gray-lighter !default;
760
763
 
761
764
  // horizontal offset for forms and lists.
762
- $component-offset-horizontal: 180px;
765
+ $component-offset-horizontal: 180px !default;