bookwatch 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +7 -0
  2. data/bookwatch.gemspec +40 -0
  3. data/install_bin/bookwatch +5 -0
  4. data/lib/bookwatch/cli.rb +109 -0
  5. data/lib/bookwatch/code_example_reader.rb +95 -0
  6. data/lib/bookwatch/colorizer.rb +16 -0
  7. data/lib/bookwatch/commands/bind.rb +119 -0
  8. data/lib/bookwatch/commands/collection.rb +181 -0
  9. data/lib/bookwatch/commands/components/bind/directory_preparer.rb +33 -0
  10. data/lib/bookwatch/commands/components/bind/layout_preparer.rb +27 -0
  11. data/lib/bookwatch/commands/components/command_options.rb +45 -0
  12. data/lib/bookwatch/commands/components/imprint/directory_preparer.rb +24 -0
  13. data/lib/bookwatch/commands/generate.rb +92 -0
  14. data/lib/bookwatch/commands/imprint.rb +55 -0
  15. data/lib/bookwatch/commands/punch.rb +33 -0
  16. data/lib/bookwatch/commands/update_local_doc_repos.rb +42 -0
  17. data/lib/bookwatch/commands/watch.rb +100 -0
  18. data/lib/bookwatch/config/checkers/archive_menu_checker.rb +29 -0
  19. data/lib/bookwatch/config/checkers/ditamap_presence_checker.rb +27 -0
  20. data/lib/bookwatch/config/checkers/duplicate_section_name_checker.rb +33 -0
  21. data/lib/bookwatch/config/checkers/products_checker.rb +34 -0
  22. data/lib/bookwatch/config/checkers/repository_name_presence_checker.rb +34 -0
  23. data/lib/bookwatch/config/checkers/required_keys_checker.rb +18 -0
  24. data/lib/bookwatch/config/checkers/section_presence_checker.rb +15 -0
  25. data/lib/bookwatch/config/configuration.rb +119 -0
  26. data/lib/bookwatch/config/configuration_decorator.rb +54 -0
  27. data/lib/bookwatch/config/dita_config_generator.rb +61 -0
  28. data/lib/bookwatch/config/fetcher.rb +64 -0
  29. data/lib/bookwatch/config/imprint/configuration.rb +24 -0
  30. data/lib/bookwatch/config/product_config.rb +34 -0
  31. data/lib/bookwatch/config/section_config.rb +85 -0
  32. data/lib/bookwatch/config/validator.rb +33 -0
  33. data/lib/bookwatch/config/yaml_loader.rb +34 -0
  34. data/lib/bookwatch/css_link_checker.rb +67 -0
  35. data/lib/bookwatch/directory_helpers.rb +15 -0
  36. data/lib/bookwatch/dita_command_creator.rb +95 -0
  37. data/lib/bookwatch/dita_html_for_middleman_formatter.rb +45 -0
  38. data/lib/bookwatch/errors/programmer_mistake.rb +5 -0
  39. data/lib/bookwatch/html_document_manipulator.rb +21 -0
  40. data/lib/bookwatch/ingest/cloner_factory.rb +26 -0
  41. data/lib/bookwatch/ingest/destination_directory.rb +21 -0
  42. data/lib/bookwatch/ingest/git_accessor.rb +102 -0
  43. data/lib/bookwatch/ingest/git_cloner.rb +36 -0
  44. data/lib/bookwatch/ingest/local_filesystem_cloner.rb +66 -0
  45. data/lib/bookwatch/ingest/missing_working_copy.rb +27 -0
  46. data/lib/bookwatch/ingest/repo_identifier.rb +45 -0
  47. data/lib/bookwatch/ingest/section_repository.rb +49 -0
  48. data/lib/bookwatch/ingest/update_failure.rb +15 -0
  49. data/lib/bookwatch/ingest/update_success.rb +12 -0
  50. data/lib/bookwatch/ingest/working_copy.rb +36 -0
  51. data/lib/bookwatch/local_filesystem_accessor.rb +122 -0
  52. data/lib/bookwatch/middleman_runner.rb +48 -0
  53. data/lib/bookwatch/postprocessing/link_checker.rb +125 -0
  54. data/lib/bookwatch/postprocessing/redirection.rb +38 -0
  55. data/lib/bookwatch/preprocessing/dita_html_preprocessor.rb +91 -0
  56. data/lib/bookwatch/preprocessing/dita_pdf_preprocessor.rb +48 -0
  57. data/lib/bookwatch/preprocessing/link_to_site_gen_dir.rb +39 -0
  58. data/lib/bookwatch/preprocessing/preprocessor.rb +26 -0
  59. data/lib/bookwatch/server_director.rb +30 -0
  60. data/lib/bookwatch/sheller.rb +52 -0
  61. data/lib/bookwatch/streams/colorized_stream.rb +25 -0
  62. data/lib/bookwatch/streams/filter_stream.rb +22 -0
  63. data/lib/bookwatch/subnav/navigation_entries_from_html_toc.rb +59 -0
  64. data/lib/bookwatch/subnav/navigation_entries_from_markdown_root.rb +116 -0
  65. data/lib/bookwatch/subnav/pdf_config_creator.rb +50 -0
  66. data/lib/bookwatch/subnav/subnav_generator.rb +28 -0
  67. data/lib/bookwatch/subnav/subnav_generator_factory.rb +29 -0
  68. data/lib/bookwatch/subnav/template_creator.rb +71 -0
  69. data/lib/bookwatch/terminal.rb +19 -0
  70. data/lib/bookwatch/values/output_locations.rb +91 -0
  71. data/lib/bookwatch/values/product_info.rb +11 -0
  72. data/lib/bookwatch/values/section.rb +58 -0
  73. data/lib/bookwatch/values/subnav_template.rb +4 -0
  74. data/lib/bookwatch/values/user_message.rb +15 -0
  75. data/master_middleman/archive_drop_down_menu.rb +50 -0
  76. data/master_middleman/bookwatch_helpers.rb +259 -0
  77. data/master_middleman/compass_runner.rb +0 -0
  78. data/master_middleman/config.rb +34 -0
  79. data/master_middleman/quicklinks_renderer.rb +80 -0
  80. data/master_middleman/source/javascripts/all.js +2 -0
  81. data/master_middleman/source/javascripts/book.js +1 -0
  82. data/master_middleman/source/javascripts/bookwatch.js +103 -0
  83. data/master_middleman/source/layouts/_additional-scripts.erb +0 -0
  84. data/master_middleman/source/layouts/_book-footer.erb +0 -0
  85. data/master_middleman/source/layouts/_book-search.erb +0 -0
  86. data/master_middleman/source/layouts/_book-title.erb +3 -0
  87. data/master_middleman/source/layouts/_header.erb +34 -0
  88. data/master_middleman/source/layouts/_local-header.erb +0 -0
  89. data/master_middleman/source/layouts/_page-footer.erb +1 -0
  90. data/master_middleman/source/layouts/_title.erb +5 -0
  91. data/master_middleman/source/layouts/layout.erb +69 -0
  92. data/master_middleman/source/stylesheets/all.css.scss +3 -0
  93. data/master_middleman/source/stylesheets/base.scss +380 -0
  94. data/master_middleman/source/stylesheets/book-styles.css.scss +0 -0
  95. data/master_middleman/source/stylesheets/layout-styles.scss +0 -0
  96. data/master_middleman/source/stylesheets/partials/_book-base-values.scss +0 -0
  97. data/master_middleman/source/stylesheets/partials/_book-vars.scss +0 -0
  98. data/master_middleman/source/stylesheets/partials/_default.scss +300 -0
  99. data/master_middleman/source/stylesheets/partials/_footer.scss +64 -0
  100. data/master_middleman/source/stylesheets/partials/_header.scss +419 -0
  101. data/master_middleman/source/stylesheets/partials/_layout-vars.scss +0 -0
  102. data/master_middleman/source/stylesheets/partials/_mixins.scss +53 -0
  103. data/master_middleman/source/stylesheets/partials/_reset.scss +233 -0
  104. data/master_middleman/source/stylesheets/partials/_search.scss +78 -0
  105. data/master_middleman/source/stylesheets/partials/_sidenav.scss +191 -0
  106. data/master_middleman/source/stylesheets/partials/_syntax-highlight.scss +64 -0
  107. data/master_middleman/source/stylesheets/partials/_vars.scss +64 -0
  108. data/master_middleman/source/stylesheets/print.css.scss +58 -0
  109. data/master_middleman/source/subnavs/_default.erb +0 -0
  110. data/master_middleman/source/subnavs/_nav-links.erb +10 -0
  111. data/master_middleman/source/subnavs/_subnav_template.erb +8 -0
  112. data/master_middleman/subdirectory_aware_assets.rb +47 -0
  113. data/template_app/Gemfile +10 -0
  114. data/template_app/Gemfile.lock +43 -0
  115. data/template_app/config.ru +9 -0
  116. data/template_app/lib/rack_static_if_exists.rb +19 -0
  117. data/template_app/lib/search/handler.rb +47 -0
  118. data/template_app/lib/search/hit.rb +21 -0
  119. data/template_app/lib/search/query.rb +74 -0
  120. data/template_app/lib/search/renderer.rb +29 -0
  121. data/template_app/lib/server.rb +52 -0
  122. data/template_app/mail_sender.rb +69 -0
  123. data/template_app/rack_app.rb +110 -0
  124. data/template_app/search-results.html.erb +75 -0
  125. data/template_app/search.yml +22 -0
  126. metadata +491 -0
@@ -0,0 +1,53 @@
1
+ @mixin transition($properties...) {
2
+ -webkit-transition: $properties;
3
+ -moz-transition: $properties;
4
+ transition: $properties;
5
+ }
6
+
7
+ // Modern micro clearfix provides an easy way to contain floats without adding additional markup.
8
+ //
9
+ // Example usage:
10
+ //
11
+ // // Contain all floats within .wrapper
12
+ // .wrapper {
13
+ // @include clearfix;
14
+ // .content,
15
+ // .sidebar {
16
+ // float : left;
17
+ // }
18
+ // }
19
+
20
+ @mixin clearfix {
21
+ &:after {
22
+ content:"";
23
+ display:table;
24
+ clear:both;
25
+ }
26
+ }
27
+
28
+ // Acknowledgements
29
+ // Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)
30
+
31
+ @function strip-units($val) {
32
+ @return ($val / ($val * 0 + 1));
33
+ }
34
+
35
+ @function em($pxval, $base: $em-base) {
36
+ @if not unitless($pxval) {
37
+ $pxval: strip-units($pxval);
38
+ }
39
+ @if not unitless($base) {
40
+ $base: strip-units($base);
41
+ }
42
+ @return ($pxval / $base) * 1em;
43
+ }
44
+
45
+ @function rem($pxval, $base: $em-base) {
46
+ @if not unitless($pxval) {
47
+ $pxval: strip-units($pxval);
48
+ }
49
+ @if not unitless($base) {
50
+ $base: strip-units($base);
51
+ }
52
+ @return ($pxval / $base) * 1rem;
53
+ }
@@ -0,0 +1,233 @@
1
+ /*
2
+ * FILE: _reset.scss
3
+ ========================================================================== */
4
+
5
+ //! normalize.css v3.0.0 | MIT License | git.io/normalize
6
+
7
+ // 1. Set default font family to sans-serif.
8
+ // 2. Prevent iOS text size adjust after orientation change, without disabling user zoom.
9
+ html {
10
+ font-family: sans-serif; /* 1 */
11
+ -ms-text-size-adjust: 100%; /* 2 */
12
+ -webkit-text-size-adjust: 100%; /* 2 */
13
+ }
14
+
15
+ // 1. Correct `inline-block` display not defined in IE 8/9.
16
+ // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
17
+ audio,
18
+ canvas,
19
+ progress,
20
+ video {
21
+ display: inline-block; /* 1 */
22
+ vertical-align: baseline; /* 2 */
23
+ }
24
+
25
+ // Prevent modern browsers from displaying `audio` without controls.
26
+ // Remove excess height in iOS 5 devices.
27
+ audio:not([controls]) {
28
+ display: none;
29
+ height: 0;
30
+ }
31
+
32
+ // Address `[hidden]` styling not present in IE 8/9/10.
33
+ // Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
34
+ [hidden],
35
+ template {
36
+ display: none;
37
+ }
38
+
39
+ // Remove the gray background color from active links in IE 10.
40
+ a {
41
+ background: transparent;
42
+ }
43
+
44
+ // Improve readability when focused and also mouse hovered in all browsers.
45
+ a:active,
46
+ a:hover {
47
+ outline: 0;
48
+ }
49
+
50
+ // Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
51
+ b,
52
+ strong {
53
+ font-weight: bold;
54
+ }
55
+
56
+ // Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome.
57
+ h1 {
58
+ font-size: 2em;
59
+ margin: 0.67em 0;
60
+ }
61
+
62
+ // Prevent `sub` and `sup` affecting `line-height` in all browsers.
63
+ sub,
64
+ sup {
65
+ font-size: 75%;
66
+ line-height: 0;
67
+ position: relative;
68
+ vertical-align: baseline;
69
+ }
70
+
71
+ sup {
72
+ top: -0.5em;
73
+ }
74
+
75
+ sub {
76
+ bottom: -0.25em;
77
+ }
78
+
79
+ // Correct overflow not hidden in IE 9/10/11.
80
+ svg:not(:root) {
81
+ overflow: hidden;
82
+ }
83
+
84
+ // Address margin not present in IE 8/9 and Safari.
85
+ figure {
86
+ margin: 1em 40px;
87
+ }
88
+
89
+ // Address differences between Firefox and other browsers.
90
+ hr {
91
+ -moz-box-sizing: content-box;
92
+ box-sizing: content-box;
93
+ height: 0;
94
+ }
95
+
96
+ // Contain overflow in all browsers.
97
+ pre {
98
+ overflow: auto;
99
+ }
100
+
101
+ //Address odd `em`-unit font size rendering in all browsers.
102
+ code,
103
+ kbd,
104
+ pre,
105
+ samp,
106
+ .filepath {
107
+ font-family: monospace, monospace;
108
+ font-size: 1em;
109
+ }
110
+
111
+ //1. Correct color not being inherited. Known issue: affects color of disabled elements.
112
+ // 2. Correct font properties not being inherited.
113
+ // 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
114
+ button,
115
+ input,
116
+ optgroup,
117
+ select,
118
+ textarea {
119
+ color: inherit; /* 1 */
120
+ font: inherit; /* 2 */
121
+ margin: 0; /* 3 */
122
+ }
123
+
124
+ // Address `overflow` set to `hidden` in IE 8/9/10/11.
125
+ button {
126
+ overflow: visible;
127
+ }
128
+
129
+ // Address inconsistent `text-transform` inheritance for `button` and `select`.
130
+ button,
131
+ select {
132
+ text-transform: none;
133
+ }
134
+
135
+ // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
136
+ // 2. Correct inability to style clickable `input` types in iOS.
137
+ // 3. Improve usability and consistency of cursor style between image-type `input` and others.
138
+ button,
139
+ html input[type="button"], /* 1 */
140
+ input[type="reset"],
141
+ input[type="submit"] {
142
+ -webkit-appearance: button; /* 2 */
143
+ cursor: pointer; /* 3 */
144
+ }
145
+
146
+ // Re-set default cursor for disabled elements.
147
+ button[disabled],
148
+ html input[disabled] {
149
+ cursor: default;
150
+ }
151
+
152
+ // Remove inner padding and border in Firefox 4+.
153
+ button::-moz-focus-inner,
154
+ input::-moz-focus-inner {
155
+ border: 0;
156
+ padding: 0;
157
+ }
158
+
159
+ // Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet.
160
+ input {
161
+ line-height: normal;
162
+ }
163
+
164
+ //It's recommended that you don't attempt to style these elements. Firefox's
165
+ // implementation doesn't respect box-sizing, padding, or width.
166
+ // 1. Address box sizing set to `content-box` in IE 8/9/10.
167
+ // 2. Remove excess padding in IE 8/9/10.
168
+ input[type="checkbox"],
169
+ input[type="radio"] {
170
+ box-sizing: border-box; /* 1 */
171
+ padding: 0; /* 2 */
172
+ }
173
+
174
+ //Fix the cursor style for Chrome's increment/decrement buttons.
175
+ // For certain `font-size` values of the `input`, it causes the cursor style of
176
+ // the decrement button to change from `default` to `text`.
177
+ input[type="number"]::-webkit-inner-spin-button,
178
+ input[type="number"]::-webkit-outer-spin-button {
179
+ height: auto;
180
+ }
181
+
182
+ // 1. Address `appearance` set to `searchfield` in Safari and Chrome.
183
+ // 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof).
184
+ input[type="search"] {
185
+ -webkit-appearance: textfield; /* 1 */
186
+ -moz-box-sizing: content-box;
187
+ -webkit-box-sizing: content-box; /* 2 */
188
+ box-sizing: content-box;
189
+ }
190
+
191
+ // Remove inner padding and search cancel button in Safari and Chrome on OS X.
192
+ // Safari (but not Chrome) clips the cancel button when the search input has
193
+ // padding (and `textfield` appearance).
194
+ input[type="search"]::-webkit-search-cancel-button,
195
+ input[type="search"]::-webkit-search-decoration {
196
+ -webkit-appearance: none;
197
+ }
198
+
199
+ // Define consistent border, margin, and padding.
200
+ fieldset {
201
+ border: 1px solid #c0c0c0;
202
+ margin: 0 2px;
203
+ padding: 0.35em 0.625em 0.75em;
204
+ }
205
+
206
+ // 1. Correct `color` not being inherited in IE 8/9/10/11.
207
+ // 2. Remove padding so people aren't caught out if they zero out fieldsets.
208
+ legend {
209
+ border: 0; /* 1 */
210
+ padding: 0; /* 2 */
211
+ }
212
+
213
+ // Remove default vertical scrollbar in IE 8/9/10/11.
214
+ textarea {
215
+ overflow: auto;
216
+ }
217
+
218
+ // Don't inherit the `font-weight` (applied by a rule above).
219
+ // NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
220
+ optgroup {
221
+ font-weight: bold;
222
+ }
223
+
224
+ //Remove most spacing between table cells.
225
+ table {
226
+ border-collapse: collapse;
227
+ border-spacing: 0;
228
+ }
229
+
230
+ td,
231
+ th {
232
+ padding: 0.3em 0.5em;
233
+ }
@@ -0,0 +1,78 @@
1
+ .search-results {
2
+ .result-summary {
3
+ margin: 20px;
4
+ }
5
+
6
+ .search-results-list {
7
+ list-style: none;
8
+ padding-left: 20px;
9
+
10
+ li {
11
+ margin-top: 30px;
12
+
13
+ &:first-child {
14
+ margin-top: 0;
15
+ }
16
+ }
17
+ }
18
+
19
+ .no-results {
20
+ text-align: center;
21
+ padding: 50px 0;
22
+ border-bottom: 2px solid #F4F4F4;
23
+ font-size: 20px;
24
+ color: #66747B;
25
+ font-weight: bold;
26
+ }
27
+
28
+ .pagination {
29
+ margin-top: 30px;
30
+ text-align: center;
31
+
32
+ a.page {
33
+ border: 0;
34
+ }
35
+
36
+ .page {
37
+ display: inline-block;
38
+ margin: 0 8px;
39
+
40
+ &.disabled {
41
+ color: #D3D3D3;
42
+ }
43
+
44
+ &.current {
45
+ color: #808080;
46
+ border-bottom: 2px solid #808080;
47
+ }
48
+
49
+ &.first:before {
50
+ content: "\F053\F053";
51
+ font-family: FontAwesome;
52
+ font-size: 12px;
53
+ padding-right: 4px;
54
+ }
55
+
56
+ &.previous:before {
57
+ content: "\F053";
58
+ font-family: FontAwesome;
59
+ font-size: 12px;
60
+ padding-right: 4px;
61
+ }
62
+
63
+ &.next:after {
64
+ content: "\F054";
65
+ font-family: FontAwesome;
66
+ font-size: 12px;
67
+ padding-left: 4px;
68
+ }
69
+
70
+ &.last:after {
71
+ content: "\F054\F054";
72
+ font-family: FontAwesome;
73
+ font-size: 12px;
74
+ padding-left: 4px;
75
+ }
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,191 @@
1
+ @import "compass/utilities/color/contrast";
2
+ /*
3
+ * FILE: _sidenav.scss
4
+ ======================================================================== */
5
+
6
+ /*doc
7
+ ---
8
+ title: Nav - Side Nav Default
9
+ name: nav-side_nav_default
10
+ category: basics
11
+ ---
12
+ ```html_example
13
+ <a class="sidenav-title" data-behavior="SubMenuMobile">
14
+ Doc Index
15
+ </a>
16
+ <div class="nav-content">
17
+ <ul>
18
+ <li class="has_submenu">
19
+ <span>
20
+ Side Nav Title 1
21
+ </span>
22
+ <ul>
23
+ <li>
24
+ <a href="#">
25
+ Item
26
+ </a>
27
+ </li>
28
+ <li>
29
+ <a href="#">
30
+ Item
31
+ </a>
32
+ </li>
33
+ </ul>
34
+ </li>
35
+ <li>
36
+ <a href="#">
37
+ Item
38
+ </a>
39
+ </li>
40
+ </ul>
41
+ </div>
42
+ ```
43
+ */
44
+
45
+ .sidenav-title {
46
+ border: 0;
47
+ color: $color-text;
48
+ display: block;
49
+ padding: 1em;
50
+ text-align: center;
51
+ text-transform: uppercase;
52
+
53
+ @media (min-width: $bp-wide) {
54
+ display: none;
55
+ }
56
+
57
+ &:after {
58
+ @extend .fa;
59
+ content: $fa-var-angle-down;
60
+ padding-left: 1.5em;
61
+ }
62
+ }
63
+ .sidenav-title:hover,
64
+ .active .sidenav-title {
65
+ @include contrasted($color-accent-bright);
66
+ cursor: pointer;
67
+ }
68
+ .active .sidenav-title:after {
69
+ content: $fa-var-angle-up;
70
+ }
71
+
72
+ // ~SIDE NAVIGATION
73
+ .nav-container {
74
+ background: $gray5;
75
+ @media (min-width: $bp-wide) {
76
+ padding: 1.9em 0 1.9em 1em;
77
+ }
78
+ }
79
+ .nav-content {
80
+ height: 0;
81
+ opacity: 0;
82
+ @include transition(all 0.2s linear);
83
+ overflow: hidden;
84
+ padding-left: 1em;
85
+
86
+ @media (min-width: $bp-wide) {
87
+ height: auto;
88
+ display: block;
89
+ opacity: 1;
90
+ padding-left: 0;
91
+ }
92
+
93
+ @media (min-width: $bp-widest) {
94
+ padding-left: 0.875em;
95
+ }
96
+ }
97
+ .active .nav-content {
98
+ border-top: 1px solid #ededed;
99
+ height: auto;
100
+ opacity: 1;
101
+ padding-bottom: 1.9em; // Allows nav to be hidden in mobile view.
102
+ padding-top: 1em;
103
+ }
104
+ .nav-content ul,
105
+ .nav-content ol {
106
+ clear: both;
107
+ display: block;
108
+ margin: 0.5em 0;
109
+ padding: 0;
110
+ }
111
+ .nav-content li {
112
+ display: block;
113
+ margin: 0;
114
+ overflow: hidden;
115
+ padding: 0;
116
+ }
117
+
118
+ // navigation links
119
+ .nav-content a, .nav-content span {
120
+ border-width: 1px 0 1px 1px;
121
+ border-style: solid;
122
+ border-color: transparent;
123
+ color: $gray2;
124
+ font-size: 0.9rem; // Custom font-size
125
+ display: block;
126
+ float: left;
127
+ padding: .75em 30px .75em 2em;
128
+ text-decoration: none;
129
+ width: 100%;
130
+ }
131
+ .nav-content a:hover,
132
+ .nav-content a:focus,
133
+ .nav-content a:active {
134
+ border-color: #EEE;
135
+ background-color: #fff;
136
+ color: $color-text;
137
+ }
138
+ .nav-content .active,
139
+ .nav-content .active:hover,
140
+ .nav-content .active:focus {
141
+ background-color: transparentize($color-accent-bright, 0.8);
142
+ border-style: solid;
143
+ color: $gray1;
144
+ font-weight: 600;
145
+ }
146
+
147
+
148
+
149
+ .nav-content {
150
+ .has_submenu {
151
+ cursor: pointer;
152
+
153
+ &:before {
154
+ @extend .fa;
155
+ content: $fa-var-angle-right;
156
+ float: left;
157
+ width: 1rem;
158
+ margin-top: 1em;
159
+ display: inline-block;
160
+ font-style: normal;
161
+ font-weight: normal;
162
+ line-height: 1;
163
+ }
164
+
165
+ > a, > span {
166
+ margin-left: 1em;
167
+ float: none;
168
+ width: inherit;
169
+ padding-left: 1em;
170
+ }
171
+
172
+ > ul {
173
+ display: none;
174
+ }
175
+
176
+ li {
177
+ padding-left: 1em;
178
+ }
179
+
180
+ &.expanded {
181
+ &:before {
182
+ content: $fa-var-angle-down;
183
+ }
184
+
185
+ > ul {
186
+ display: block;
187
+ }
188
+ }
189
+ }
190
+ }
191
+