bookbindery 9.5.0 → 9.6.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/bookbinder.gemspec +3 -1
  3. data/lib/bookbinder/commands/collection.rb +1 -1
  4. data/lib/bookbinder/commands/generate.rb +1 -1
  5. data/lib/bookbinder/css_link_checker.rb +6 -2
  6. data/lib/bookbinder/preprocessing/dita_html_preprocessor.rb +3 -3
  7. data/lib/bookbinder/preprocessing/link_to_site_gen_dir.rb +2 -2
  8. data/lib/bookbinder/subnav/{json_from_html_toc.rb → navigation_entries_from_html_toc.rb} +3 -5
  9. data/lib/bookbinder/subnav/{json_from_markdown_toc.rb → navigation_entries_from_markdown_root.rb} +4 -4
  10. data/lib/bookbinder/subnav/pdf_config_creator.rb +3 -5
  11. data/lib/bookbinder/subnav/subnav_generator.rb +9 -6
  12. data/lib/bookbinder/subnav/subnav_generator_factory.rb +2 -8
  13. data/lib/bookbinder/subnav/template_creator.rb +33 -21
  14. data/master_middleman/archive_drop_down_menu.rb +3 -3
  15. data/master_middleman/bookbinder_helpers.rb +1 -1
  16. data/master_middleman/source/javascripts/sidenav.js +45 -0
  17. data/master_middleman/source/layouts/_additional-scripts.erb +0 -0
  18. data/master_middleman/source/layouts/_book-footer.erb +0 -0
  19. data/master_middleman/source/layouts/_book-search.erb +0 -0
  20. data/master_middleman/source/layouts/_book-title.erb +3 -0
  21. data/master_middleman/source/layouts/_header.erb +34 -0
  22. data/master_middleman/source/layouts/_local-header.erb +0 -0
  23. data/master_middleman/source/layouts/layout.erb +73 -0
  24. data/master_middleman/source/stylesheets/base.scss +365 -0
  25. data/master_middleman/source/stylesheets/partials/_book-base-values.scss +0 -0
  26. data/master_middleman/source/stylesheets/partials/_book-vars.scss +0 -0
  27. data/master_middleman/source/stylesheets/partials/_default.scss +300 -0
  28. data/master_middleman/source/stylesheets/partials/_footer.scss +63 -0
  29. data/master_middleman/source/stylesheets/partials/_header.scss +429 -0
  30. data/master_middleman/source/stylesheets/partials/_mixins.scss +43 -0
  31. data/master_middleman/source/stylesheets/partials/_reset.scss +233 -0
  32. data/master_middleman/source/stylesheets/partials/_search.scss +78 -0
  33. data/master_middleman/source/stylesheets/partials/_sidenav.scss +143 -0
  34. data/master_middleman/source/stylesheets/partials/_syntax-highlight.scss +64 -0
  35. data/master_middleman/source/stylesheets/partials/_vars.scss +62 -0
  36. data/master_middleman/source/subnavs/_default.erb +0 -0
  37. data/master_middleman/source/subnavs/_nav-links.erb +10 -0
  38. data/master_middleman/source/subnavs/_subnav_template.erb +8 -0
  39. metadata +55 -5
  40. data/lib/bookbinder/subnav/json_props_creator.rb +0 -35
@@ -0,0 +1,63 @@
1
+ /*
2
+ * FILE: _footer.scss
3
+ ======================================================================== */
4
+ .site-footer-links {
5
+ font-size: $font-size-xs;
6
+ clear: both;
7
+ padding: 1em 30px 4em 30px;
8
+ a {
9
+ color: $color-text;
10
+ }
11
+ }
12
+
13
+ .copyright {
14
+ @media (min-width: $bp-wide) {
15
+ float: left;
16
+ }
17
+ }
18
+
19
+ .support {
20
+ @media (min-width: $bp-wide) {
21
+ float: right;
22
+ }
23
+ }
24
+
25
+ #feedback {
26
+ #feedback-comments {
27
+ margin-top: 1em;
28
+ width: 49%;
29
+ }
30
+ #feedback-helpful {
31
+ border: none;
32
+ margin-top: 1em;
33
+ }
34
+ .feedback-option {
35
+ float: left;
36
+ margin-left: 2em;
37
+ margin-top: 0.5em;
38
+ width: 22%;
39
+ }
40
+ form fieldset {
41
+ width: 11em;
42
+ float: left;
43
+ }
44
+ textarea {
45
+ width: 100%;
46
+ }
47
+ input[type='submit'] {
48
+ background-color: transparentize($color-accent-bright, 0.8);
49
+ float: left;
50
+ margin-left: 1em;
51
+ margin-top: 2.5em;
52
+ padding: 1em;
53
+ width: 8em;
54
+ }
55
+ }
56
+
57
+ #repo-link {
58
+ border-bottom: solid 1px #eceae9;
59
+ border-top: solid 1px #eceae9;
60
+ text-align: center;
61
+ padding: 1em 0;
62
+ font-weight: bold;
63
+ }
@@ -0,0 +1,429 @@
1
+ /*
2
+ * FILE: _header.scss
3
+ ======================================================================== */
4
+ .header-layout {
5
+ @media (min-width: $bp-wide) {
6
+ left: 0;
7
+ padding-left: em(30);
8
+ padding-right: em(30);
9
+ position: fixed;
10
+ top: 0;
11
+ width: 100%;
12
+ z-index: 11;
13
+ }
14
+ }
15
+
16
+ /*doc
17
+ ---
18
+ title: Header Bar
19
+ name: header_bar
20
+ category: basics
21
+ ---
22
+ Add <code>.header-layout</code> to header tag to get fixed positioning.
23
+
24
+ ```html_example
25
+ <header class="header">
26
+ <h1 class="logo">
27
+ Pivotal Cloud Foundry Documentation
28
+ </h1>
29
+ <div class="header-links js-bar-links">
30
+ <div class="btn-menu" data-behavior="MenuMobile"></div>
31
+ <div class="header-item">
32
+ <a href="/">Docs Home</a>
33
+ </div>
34
+ <div class="header-item">
35
+ <a href="<%=vars.support_url%>" target="_blank">Support</a>
36
+ </div>
37
+ <div class="header-item searchbar js-searchbar">
38
+ <a class="search-icon" data-behavior="Search"></a>
39
+ <div class="search-input">
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </header>
44
+ ```
45
+ */
46
+ .header {
47
+ background: $color-bg-header;
48
+ border-bottom: 3px solid $color-accent-bright;
49
+ color: #fefefe;
50
+ min-height: em(38);
51
+ padding: em(5) 1em em(5) 1em;
52
+ @include clearfix;
53
+ }
54
+ .header a {
55
+ color: #fff;
56
+ display: inline-block;
57
+ }
58
+ .header img {
59
+ height: 1;
60
+ margin-right: 0.5em;
61
+ width: 25px;
62
+ vertical-align: top;
63
+ }
64
+
65
+ // logo
66
+ .logo {
67
+ float: left;
68
+ font-size: 1em;
69
+ font-weight: bold;
70
+ line-height: rem(25);
71
+ margin-bottom: 0;
72
+ }
73
+ .logo a {
74
+ border: 0;
75
+ }
76
+
77
+ // header links
78
+ .header-links {
79
+ @media (min-width: $bp-wide) {
80
+ float: right;
81
+ text-align: right;
82
+ width: 50%;
83
+ }
84
+ }
85
+ .btn-menu {
86
+ float: right;
87
+ position: relative;
88
+ right: -1em;
89
+ &:before {
90
+ content: $fa-var-bars;
91
+ @extend .fa;
92
+ padding-right: 0.4em;
93
+ padding-top: 0.4em;
94
+ }
95
+ &:hover {
96
+ cursor: pointer;
97
+ }
98
+ padding: 0 1em;
99
+ @media (min-width: $bp-wide) {
100
+ display: none;
101
+ }
102
+ }
103
+ .menu-active .btn-menu {
104
+ &:before {
105
+ content: '\d7';
106
+ }
107
+ //@extend .fa-plus;
108
+ margin-bottom: 0.5em;
109
+ //&:before {
110
+ // @include transform(rotate(45deg));
111
+ // @include transform-origin(0.4em 0.7em);
112
+ //}
113
+ }
114
+ .header-item {
115
+ clear: both;
116
+ display: none;
117
+ font-weight: bold;
118
+ @include transition (opacity);
119
+ font-size: $font-size-xs;
120
+ line-height: 1;
121
+ @media (min-width: $bp-wide) {
122
+ clear: none;
123
+ display: inline-block;
124
+ padding-top: 0.55em;
125
+ }
126
+ }
127
+ .menu-active .header-item {
128
+ @media (max-width: $bp-wide) {
129
+ display: block;
130
+ }
131
+ }
132
+ .header-item:after {
133
+ @media (min-width: $bp-wide) {
134
+ content: "|";
135
+ }
136
+ }
137
+ .header-item:last-child:after {
138
+ @media (min-width: $bp-wide) {
139
+ content: "";
140
+ }
141
+ }
142
+
143
+ /*doc
144
+ ---
145
+ title: Link Header
146
+ name: link header
147
+ category: basics
148
+ ---
149
+ ```html_example
150
+ <div style="background: black">
151
+ <div class="header-item">
152
+ <a href="#">Link</a>
153
+ </div>
154
+ <div class="header-item">
155
+ <a href="#">Link</a>
156
+ </div>
157
+ <div class="header-item">
158
+ <a href="#">Link</a>
159
+ </div>
160
+ </div>
161
+ ```
162
+ */
163
+ .header-item a {
164
+ border-bottom-color: $gray2;
165
+ border-style: dotted;
166
+ border-width: 0 0 1px;
167
+ color: #fff;
168
+ display: block;
169
+ padding: 0.5em 0;
170
+ @media (min-width: $bp-wide) {
171
+ display: inline;
172
+ margin-left: 1em;
173
+ margin-right: 1em;
174
+ padding: 0
175
+ }
176
+ }
177
+ .header-item a:hover {
178
+ @media (min-width: $bp-wide) {
179
+ background-color: transparent;
180
+ border-bottom: 0;
181
+ }
182
+ }
183
+
184
+ // ~HOME
185
+ // ===================================================
186
+
187
+ .header-home {
188
+ border-top: 5px solid $color-accent-bright;
189
+ background: $color-bg-header;
190
+ color: #fff;
191
+ padding: 0 1.5em 4em 1.5em;
192
+ text-align: center;
193
+ margin-bottom: 3em;
194
+ }
195
+
196
+ .home-links {
197
+ padding-top: .5rem;
198
+ margin-bottom: 3em;
199
+ text-align: left;
200
+ @media (min-width: $bp-wide) {
201
+ text-align: right;
202
+ margin-bottom: 0;
203
+ }
204
+ }
205
+ /*doc
206
+ ---
207
+ title: Title Flashy
208
+ name: title_flashy
209
+ category: basics
210
+ ---
211
+ ```html_example
212
+ <h1 class="title-flashy">
213
+ <span class="title-deemph">Pivotal</span> Documentation
214
+ </h1>
215
+ ```
216
+ */
217
+ .title-flashy {
218
+ display: inline-block;
219
+ font-weight: 600;
220
+ font-size: $font-size-l;
221
+ text-align: left;
222
+ margin-left: 1rem;
223
+ img {
224
+ height: rem(61);
225
+ vertical-align: middle;
226
+ padding-right: .5rem;
227
+ float: left;
228
+ @media (min-width: $bp-wide) {
229
+ height: rem(45);
230
+ float: none;
231
+ }
232
+ }
233
+ @media (min-width: $bp-wide) {
234
+ font-size: $font-size-xxl;
235
+ margin-left: 0;
236
+ padding-left: 1.8em;
237
+ padding-top: 2rem;
238
+ text-align: center;
239
+ }
240
+ }
241
+ /*doc
242
+ ---
243
+ title: Title Intro
244
+ name: title_intro
245
+ category: basics
246
+ ---
247
+ ```html_example
248
+ <h2 class="title-intro">
249
+ Everything you need to know about Pivotal Software.
250
+ </h2>
251
+ ```
252
+ */
253
+ .title-intro {
254
+ font-size: $font-size-m;
255
+ font-weight: 300;
256
+ margin: 0 auto 0.5em;
257
+ max-width: 30em;
258
+ text-align: center;
259
+ @media (min-width: $bp-wide) {
260
+ font-size: $font-size-l;
261
+ }
262
+ }
263
+
264
+ .title-deemph {
265
+ font-weight: 300;
266
+ }
267
+
268
+
269
+ // ~HEADER SEARCH
270
+ // ===================================================
271
+ .searchbar {
272
+ @include transition(all 0.2s linear);
273
+ color: #eee;
274
+ margin-bottom: 1em;
275
+ margin-top: 1.3em;
276
+ padding-top: 0;
277
+ @media (min-width: $bp-wide) {
278
+ margin-bottom: 0;
279
+ margin-top: 0;
280
+ position: relative;
281
+ }
282
+ }
283
+ .searchbar:hover {
284
+ cursor: pointer;
285
+ }
286
+ .searchbar a {
287
+ margin: 0;
288
+ padding: 0.55em 1em;
289
+ }
290
+ .searchbar a,
291
+ .searchbar a:hover {
292
+ border-bottom: 0;
293
+ }
294
+ .searchbar:hover,
295
+ .active.searchbar {
296
+ @media (min-width: $bp-wide) {
297
+ //@include contrasted($color-accent-bright);
298
+ }
299
+ }
300
+ .search-input-inner {
301
+ position: relative;
302
+ }
303
+
304
+ // search icon
305
+ .search-icon {
306
+ &:before {
307
+ content: $fa-var-search;
308
+ color: #c7c7c7;
309
+ @extend .fa;
310
+ }
311
+ }
312
+ .header-item .search-icon {
313
+ display: none;
314
+ @media (min-width: $bp-wide) {
315
+ display: block;
316
+ }
317
+ }
318
+
319
+ // search input
320
+ .search-input {
321
+ //@include border-bottom-radius(3px);
322
+ display: none;
323
+ @media (min-width: $bp-wide) {
324
+ //@include contrasted($color-accent-bright);
325
+ padding: 1em;
326
+ position: absolute;
327
+ right: 0;
328
+ top: 100%;
329
+ width: 30em;
330
+ }
331
+ }
332
+ // wide view
333
+ .active .search-input {
334
+ display: block;
335
+ }
336
+ // narrow view
337
+ .menu-active .search-input {
338
+ @media (max-width: $bp-wide) {
339
+ display: block;
340
+ }
341
+ }
342
+ // search
343
+ #search-dropdown-box {
344
+ display: none;
345
+ }
346
+
347
+
348
+ // ~VERSION
349
+ // ===================================================
350
+
351
+ /*doc
352
+ ---
353
+ title: Version Menu
354
+ name: version menu
355
+ category: basics
356
+ ---
357
+ ```html_example
358
+ <div class="header-dropdown">
359
+ <a class="subnav-link" href="#">
360
+ v1.2.0.0
361
+ </a>
362
+ <div class="header-dropdown-content">
363
+ <ul>
364
+ <li><a href="">v1.2.0.0</a></li>
365
+ </ul>
366
+ </div>
367
+ </div>
368
+ ```
369
+ */
370
+ .header-dropdown {
371
+ border-radius: 0.5em;
372
+ float: left;
373
+ font-size: 0.9em;
374
+ font-weight: bold;
375
+ line-height: rem(25);
376
+ margin-left: 0.5em;
377
+ margin-top: 0.04em;
378
+ position: relative;
379
+ }
380
+ .header-dropdown:hover .header-dropdown-content {
381
+ display: block;
382
+ }
383
+ .header-dropdown-link {
384
+ border: 0;
385
+ display: block;
386
+ line-height: 1.4;
387
+ padding: 0 0.5em;
388
+ }
389
+ .header-dropdown-link:after {
390
+ @extend .fa;
391
+ color: $color-bg-dark;
392
+ content: $fa-var-caret-down;
393
+ font-size: 0.8em;
394
+ padding-left: 0.2em;
395
+ }
396
+ .header-dropdown:hover {
397
+ //@include border-bottom-radius(0);
398
+ }
399
+ .header-dropdown-content {
400
+ background: $color-bg-light;
401
+ box-shadow: 2px 1px 5px rgba(153, 153, 153, 0.2);
402
+ border: 1px solid $color-border-light;
403
+ display: none;
404
+ left: rem(-14);
405
+ min-width: em(100);
406
+ padding: 0.5em;
407
+ position: absolute;
408
+ top: 100%;
409
+ z-index: 11;
410
+ }
411
+ .header-dropdown-content a {
412
+ border: 0;
413
+ color: $color-text;
414
+ display: block;
415
+ padding-left: 0.9em;
416
+ &:hover {
417
+ //@include contrasted($color-accent-bright);
418
+ }
419
+ }
420
+ .header-dropdown-content ol,
421
+ .header-dropdown-content ul {
422
+ list-style: none;
423
+ margin: 0;
424
+ padding: 0;
425
+ }
426
+ .header-dropdown-content li {
427
+ display: block;
428
+ margin: 0;
429
+ }