ascii_binder_gabriel_rh 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +56 -0
  3. data/Dockerfile +19 -0
  4. data/Gemfile +3 -0
  5. data/Guardfile +3 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.adoc +21 -0
  8. data/README.md +1 -0
  9. data/Rakefile +1 -0
  10. data/ascii_binder_gabriel_rh.gemspec +41 -0
  11. data/bin/ascii_binder_gabriel_rh +1 -0
  12. data/bin/asciibinder_gabriel_rh +350 -0
  13. data/features/command_help.feature +8 -0
  14. data/features/command_version.feature +8 -0
  15. data/features/repo_build.feature +39 -0
  16. data/features/repo_clean.feature +20 -0
  17. data/features/repo_clone.feature +22 -0
  18. data/features/repo_create.feature +13 -0
  19. data/features/repo_package.feature +15 -0
  20. data/features/step_definitions/steps.rb +189 -0
  21. data/features/support/_clone_distro_map.yml +14 -0
  22. data/features/support/_invalid_alias_topic_map.yml +50 -0
  23. data/features/support/_invalid_distro_map.yml +14 -0
  24. data/features/support/env.rb +518 -0
  25. data/features/support/test_distro/.gitignore +9 -0
  26. data/features/support/test_distro/_distro_map.yml +29 -0
  27. data/features/support/test_distro/_images/asciibinder-logo-horizontal.png +0 -0
  28. data/features/support/test_distro/_images/asciibinder_web_logo.svg +125 -0
  29. data/features/support/test_distro/_images/book_pages_bg.jpg +0 -0
  30. data/features/support/test_distro/_images/favicon.ico +0 -0
  31. data/features/support/test_distro/_images/favicon32x32.png +0 -0
  32. data/features/support/test_distro/_javascripts/.gitkeep +0 -0
  33. data/features/support/test_distro/_stylesheets/asciibinder.css +568 -0
  34. data/features/support/test_distro/_templates/_css.html.erb +3 -0
  35. data/features/support/test_distro/_templates/_nav.html.erb +31 -0
  36. data/features/support/test_distro/_templates/page.html.erb +92 -0
  37. data/features/support/test_distro/_topic_map.yml +50 -0
  38. data/features/support/test_distro/index-main.html +10 -0
  39. data/features/support/test_distro/index-test.html +10 -0
  40. data/features/support/test_distro/main_only_topic_group/index.adoc +17 -0
  41. data/features/support/test_distro/test_only_topic_group/index.adoc +17 -0
  42. data/features/support/test_distro/welcome/aliased.adoc +9 -0
  43. data/features/support/test_distro/welcome/index.adoc +17 -0
  44. data/features/support/test_distro/welcome/subtopics/index.adoc +17 -0
  45. data/features/support/test_distro/welcome/subtopics/main_only_topic.adoc +17 -0
  46. data/features/support/test_distro/welcome/subtopics/test_only_topic.adoc +17 -0
  47. data/features/support/test_distro/welcome/subtopics/wildcard_all.adoc +17 -0
  48. data/lib/ascii_binder_gabriel_rh/distro.rb +111 -0
  49. data/lib/ascii_binder_gabriel_rh/distro_branch.rb +97 -0
  50. data/lib/ascii_binder_gabriel_rh/distro_map.rb +67 -0
  51. data/lib/ascii_binder_gabriel_rh/engine.rb +690 -0
  52. data/lib/ascii_binder_gabriel_rh/helpers.rb +172 -0
  53. data/lib/ascii_binder_gabriel_rh/site.rb +52 -0
  54. data/lib/ascii_binder_gabriel_rh/site_info.rb +22 -0
  55. data/lib/ascii_binder_gabriel_rh/site_map.rb +24 -0
  56. data/lib/ascii_binder_gabriel_rh/tasks/guards.rb +15 -0
  57. data/lib/ascii_binder_gabriel_rh/tasks/tasks.rb +41 -0
  58. data/lib/ascii_binder_gabriel_rh/template_renderer.rb +29 -0
  59. data/lib/ascii_binder_gabriel_rh/topic_entity.rb +324 -0
  60. data/lib/ascii_binder_gabriel_rh/topic_map.rb +112 -0
  61. data/lib/ascii_binder_gabriel_rh/version.rb +3 -0
  62. data/lib/ascii_binder_gabriel_rh.rb +5 -0
  63. data/templates/.gitignore +9 -0
  64. data/templates/LICENSE.txt +4 -0
  65. data/templates/README.adoc +11 -0
  66. data/templates/_distro_map.yml +11 -0
  67. data/templates/_images/asciibinder-logo-horizontal.png +0 -0
  68. data/templates/_images/asciibinder_web_logo.svg +125 -0
  69. data/templates/_images/book_pages_bg.jpg +0 -0
  70. data/templates/_images/favicon.ico +0 -0
  71. data/templates/_images/favicon32x32.png +0 -0
  72. data/templates/_javascripts/.gitkeep +0 -0
  73. data/templates/_javascripts/bootstrap-offcanvas.js +6 -0
  74. data/templates/_stylesheets/asciibinder.css +568 -0
  75. data/templates/_templates/_breadcrumb.html.erb +14 -0
  76. data/templates/_templates/_css.html.erb +3 -0
  77. data/templates/_templates/_nav.html.erb +14 -0
  78. data/templates/_templates/_title.html.erb +8 -0
  79. data/templates/_templates/page.html.erb +88 -0
  80. data/templates/_topic_map.yml +29 -0
  81. data/templates/index-main.html +89 -0
  82. data/templates/welcome/index.adoc +14 -0
  83. metadata +423 -0
@@ -0,0 +1,568 @@
1
+ @import url(http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css);
2
+ /* ------------------------------------------------------------
3
+ Image: "Spin" https://www.flickr.com/photos/eflon/3655695161/
4
+ Author: eflon https://www.flickr.com/photos/eflon/
5
+ License: https://creativecommons.org/licenses/by/2.0/
6
+ ---------------------------------------------------------------*/
7
+ .attribution {
8
+ text-align: center;
9
+ position: relative;
10
+ bottom: -20px;
11
+ }
12
+ .attribution .btn {
13
+ color: #808080;
14
+ color: rgba(175,175,175, .65);
15
+ font-size: 11px;
16
+ }
17
+ .attribution .btn:hover {
18
+ text-decoration: none;
19
+ color: #aaa;
20
+ }
21
+ .popover-content {
22
+ font-size: 12px;
23
+ line-height: 1.3;
24
+ font-weight: normal;
25
+ }
26
+
27
+ @media screen and (max-width: 980px) {
28
+ body {
29
+ margin-bottom: 200px;
30
+ }
31
+ footer {
32
+ text-align: center;
33
+ }
34
+ footer .text-right {
35
+ text-align: center !important;
36
+ }
37
+ #footer_social .first {
38
+ margin-left: 0;
39
+ }
40
+ #footer_social > a {
41
+ top: 24px;
42
+ }
43
+ }
44
+
45
+ .fa-inverse:hover {
46
+ color: #ccc;
47
+ }
48
+
49
+ .collapse a.active {
50
+ background-color: #DEEAF4;
51
+ color: #000;
52
+ position: relative;
53
+ }
54
+
55
+ .collapse a.active:hover {
56
+ text-decoration: none;
57
+ }
58
+
59
+ .collapse a.active:before {
60
+ background-color: #A0C3E5;
61
+ content: "";
62
+ display: inline-block;
63
+ height: 100%;
64
+ left: 0;
65
+ position: absolute;
66
+ top: 0;
67
+ width: 3px;
68
+ }
69
+
70
+ .main h2, .main .h2 {
71
+ border-top: 0px;
72
+ padding-top: 10px;
73
+ }
74
+
75
+ .page-header {
76
+ height: 100% !important;
77
+ }
78
+
79
+ .page-header h2{
80
+ font-size: 28px;
81
+ }
82
+
83
+ .navbar-brand {
84
+ padding: initial;
85
+ height: initial;
86
+ }
87
+
88
+ .nav > li > a.hover{
89
+ background-color: none;
90
+ }
91
+
92
+ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
93
+ position: relative;
94
+ }
95
+
96
+ h2 > a.anchor, h3 > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor {
97
+ display: block;
98
+ font-weight: normal;
99
+ margin-left: -1.5ex;
100
+ position: absolute;
101
+ text-align: center;
102
+ text-decoration: none !important;
103
+ visibility: hidden;
104
+ width: 1.5ex;
105
+ z-index: 1001;
106
+ }
107
+
108
+ h2 > a.anchor:before, h3 > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before {
109
+ content: "\f0c1";
110
+ display: block;
111
+ font-family: FontAwesome;
112
+ font-size: 0.7em;
113
+ -webkit-font-smoothing: antialiased;
114
+ -moz-osx-font-smoothing: grayscale;
115
+ padding-top: 0.2em;
116
+ }
117
+
118
+ h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before {
119
+ font-size: 1em;
120
+ }
121
+
122
+ h2:hover > a.anchor,
123
+ h2 > a.anchor:hover,
124
+ h3:hover > a.anchor,
125
+ h3 > a.anchor:hover,
126
+ h4:hover > a.anchor,
127
+ h4 > a.anchor:hover,
128
+ h5:hover > a.anchor,
129
+ h5 > a.anchor:hover,
130
+ h6:hover > a.anchor,
131
+ h6 > a.anchor:hover {
132
+ visibility: visible;
133
+ }
134
+
135
+ .main {
136
+ border-left: 1px solid #e7e7e7;
137
+ margin-left: -1px;
138
+ padding-left: 25px;
139
+ }
140
+
141
+
142
+ @media (min-width: 768px) {
143
+ .main {
144
+ padding-left: 30px;
145
+ }
146
+ }
147
+
148
+ /*
149
+ * Sidebar
150
+ */
151
+
152
+ .nav-header {
153
+ font-size: 16px;
154
+ }
155
+
156
+ .nav-header ul {
157
+ font-size: 14px;
158
+ }
159
+
160
+ .nav-header ul li a {
161
+ display: block;
162
+ padding: 5px 20px 5px 25px;
163
+ font-size: 13px;
164
+ font-weight: normal;
165
+ }
166
+
167
+ .nav-sidebar .fa {
168
+ text-align: center;
169
+ top: -1px;
170
+ width: 14px;
171
+ }
172
+
173
+ .nav-sidebar li a {
174
+ color: inherit;
175
+ }
176
+
177
+ .nav-sidebar li a:hover {
178
+ color: #000;
179
+ }
180
+
181
+ .nav-sidebar ul li ul.nav-tertiary li a {
182
+ padding-left: 50px;
183
+ }
184
+
185
+ .nav-sidebar > li > a {
186
+ padding: 7px 0;
187
+ }
188
+
189
+ .nav-sidebar > li > a:focus, .nav-sidebar > li > a:hover {
190
+ background: transparent;
191
+ }
192
+
193
+ .sidebar {
194
+ font-weight: 300;
195
+ display: none;
196
+ padding-top: 13px;
197
+ }
198
+
199
+ @media screen and (max-width: 767px) {
200
+ .sidebar {
201
+ padding-left: 30px;
202
+ padding-right: 0;
203
+ }
204
+ }
205
+
206
+ @media screen and (min-width: 768px) {
207
+ .sidebar {
208
+ border-right: 1px solid #e7e7e7;
209
+ display: block;
210
+ }
211
+ }
212
+
213
+ /*
214
+ * Off Canvas
215
+ * --------------------------------------------------
216
+ */
217
+
218
+ body, html {
219
+ overflow-x: hidden; /* Prevent scroll on narrow devices */
220
+ }
221
+
222
+ .toggle-nav {
223
+ margin-right: 20px;
224
+ }
225
+
226
+ @media screen and (max-width: 767px) {
227
+ .row-offcanvas {
228
+ position: relative;
229
+ -webkit-transition: all .25s ease-out;
230
+ -o-transition: all .25s ease-out;
231
+ transition: all .25s ease-out;
232
+ }
233
+
234
+ .row-offcanvas-right {
235
+ right: 0;
236
+ }
237
+
238
+ .row-offcanvas-left {
239
+ left: 0;
240
+ }
241
+
242
+ .row-offcanvas-right
243
+ .sidebar-offcanvas {
244
+ right: -75%; /* 8 columns */
245
+ }
246
+
247
+ .row-offcanvas-left
248
+ .sidebar-offcanvas {
249
+ left: -75%; /* 8 columns */
250
+ }
251
+
252
+ .row-offcanvas-right.active {
253
+ right: 75%; /* 8 columns */
254
+ }
255
+
256
+ .row-offcanvas-left.active {
257
+ left: 75%; /* 8 columns */
258
+ }
259
+
260
+ .sidebar-offcanvas {
261
+ overflow: hidden;
262
+ position: absolute;
263
+ top: 0;
264
+ width: 75%; /* 8 columns */
265
+ }
266
+ }
267
+
268
+ p {
269
+ margin: 0 0 1.6em;
270
+ }
271
+
272
+ /* Remnants of Asciidoctor default stylesheet - remove styles as needed */
273
+
274
+ #map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; }
275
+ .left { float: left !important; }
276
+ .right { float: right !important; }
277
+ .text-left { text-align: left !important; }
278
+ .text-right { text-align: right !important; }
279
+ .text-center { text-align: center !important; }
280
+ .text-justify { text-align: justify !important; }
281
+ .hide { display: none; }
282
+ .subheader, #content #toctitle, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
283
+ abbr, acronym { text-transform: uppercase; font-size: 90%; color: #333333; border-bottom: 1px dotted #dddddd; cursor: help; }
284
+ abbr { text-transform: none; }
285
+ blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; }
286
+ blockquote cite { display: block; font-size: inherit; color: #454545; }
287
+ blockquote cite:before { content: "\2014 \0020"; }
288
+ blockquote cite a, blockquote cite a:visited { color: #454545; }
289
+ blockquote, blockquote p { line-height: 1.6; color: #6e6e6e; }
290
+ @media only screen and (min-width: 768px) {
291
+ #toctitle, .sidebarblock > .content > .title { line-height: 1.4; }
292
+ #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
293
+ }
294
+ table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
295
+ table thead, table tfoot { background: whitesmoke; font-weight: bold; }
296
+ table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #333333; text-align: left; }
297
+ table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #333333; }
298
+ table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f9f9f9; }
299
+ table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.6; }
300
+ .clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }
301
+ .clearfix:after, .float-group:after { clear: both; }
302
+ *:not(pre) > code { font-size: inherit; padding: 0; white-space: nowrap; background-color: inherit; border: 0 solid #dddddd; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; line-height: 1; }
303
+ .keyseq { color: #666666; }
304
+ kbd:not(.keyseq) { display: inline-block; color: #333333; font-size: 0.75em; line-height: 1.4; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; }
305
+ .keyseq kbd:first-child { margin-left: 0; }
306
+ .keyseq kbd:last-child { margin-right: 0; }
307
+ .menuseq, .menu { color: #1a1a1a; }
308
+ b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; }
309
+ b.button:before { content: "["; padding: 0 3px 0 2px; }
310
+ b.button:after { content: "]"; padding: 0 2px 0 3px; }
311
+ p a > code:hover { color: #561309; }
312
+ #header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; }
313
+ #header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; }
314
+ #header:after, #content:after, #footnotes:after, #footer:after { clear: both; }
315
+ #content:before { content: none; }
316
+ #header { margin-bottom: 2.5em; }
317
+ #header > h1 { color: black; font-weight: 300; border-bottom: 1px solid #d8d8d8; margin-bottom: -28px; padding-bottom: 32px; }
318
+ #header span { color: #6e6e6e; }
319
+ #header #revnumber { text-transform: capitalize; }
320
+ #header br { display: none; }
321
+ #header br + span { padding-left: 3px; }
322
+ #header br + span:before { content: "\2013 \0020"; }
323
+ #header br + span.author { padding-left: 0; }
324
+ #header br + span.author:before { content: ", "; }
325
+ #toc { border-bottom: 3px double #e5e5e5; padding-top: 1em; padding-bottom: 1.25em; }
326
+ #toc > ul { margin-left: 0.25em; }
327
+ #toc ul.sectlevel0 > li > a { font-style: italic; }
328
+ #toc ul.sectlevel0 ul.sectlevel1 { margin-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
329
+ #toc ul { font-family: "Open Sans", "DejaVu Sans", "Sans", sans-serif; list-style-type: none; }
330
+ #toc a { text-decoration: none; }
331
+ #toc a:active { text-decoration: underline; }
332
+ #toctitle { color: #7a2518; }
333
+ @media only screen and (min-width: 768px) { body.toc2 { padding-left: 15em; padding-right: 0; }
334
+ #toc.toc2 { background-color: #fafaf9; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #e5e5e5; border-bottom: 0; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; }
335
+ #toc.toc2 #toctitle { margin-top: 0; font-size: 1.2em; }
336
+ #toc.toc2 > ul { font-size: .90em; margin-bottom: 0; }
337
+ #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
338
+ #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
339
+ body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
340
+ body.toc2.toc-right #toc.toc2 { border-right: 0; border-left: 1px solid #e5e5e5; left: auto; right: 0; } }
341
+ @media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; }
342
+ #toc.toc2 { width: 20em; }
343
+ #toc.toc2 #toctitle { font-size: 1.375em; }
344
+ #toc.toc2 > ul { font-size: 0.95em; }
345
+ #toc.toc2 ul ul { padding-left: 1.25em; }
346
+ body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }
347
+ #content #toc { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-bottom: 1.25em; padding: 1.25em; background: #fafaf9; border-width: 0; -webkit-border-radius: 4px; border-radius: 4px; }
348
+ #content #toc > :first-child { margin-top: 0; }
349
+ #content #toc > :last-child { margin-bottom: 0; }
350
+ #content #toctitle { font-size: 1.375em; }
351
+ #footer { max-width: 100%; background-color: #333333; padding: 1.25em; }
352
+ #footer-text { color: #cccccc; line-height: 1.44; }
353
+ .audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .verseblock, .videoblock { margin-bottom: 2.5em; }
354
+ .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Noto Serif", "DejaVu Serif", "Serif", serif; font-weight: normal; font-style: italic; }
355
+ table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; }
356
+ table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
357
+ .admonitionblock > table { border: 0; background: none; width: 100%; }
358
+ .admonitionblock > table td.icon { text-align: center; width: 80px; }
359
+ .admonitionblock > table td.icon img { max-width: none; }
360
+ .admonitionblock > table td.icon .title { font-weight: 300; text-transform: uppercase; }
361
+ .admonitionblock > table td.content { padding-left: 0; padding-right: 1.25em; color: #6e6e6e; }
362
+ .admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
363
+ .exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: white; -webkit-border-radius: 4px; border-radius: 4px; }
364
+ .exampleblock > .content > :first-child { margin-top: 0; }
365
+ .exampleblock > .content > :last-child { margin-bottom: 0; }
366
+ .exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6, .exampleblock > .content p { color: #333333; }
367
+ .exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6 { line-height: 1; margin-bottom: 0.625em; }
368
+ .exampleblock > .content h1.subheader, .exampleblock > .content h2.subheader, .exampleblock > .content h3.subheader, .exampleblock > .content .subheader#toctitle, .sidebarblock.exampleblock > .content > .subheader.title, .exampleblock > .content h4.subheader, .exampleblock > .content h5.subheader, .exampleblock > .content h6.subheader { line-height: 1.4; }
369
+ .exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #e3e3dd; box-shadow: 0 1px 8px #e3e3dd; }
370
+ .sidebarblock { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-top: -1.0em; margin-bottom: 1.6em; padding: .5em; background: #F1F3F5; -webkit-border-radius: 4px; border-radius: 4px; overflow-x: auto; }
371
+ .sidebarblock > :first-child { margin-top: 0; }
372
+ .sidebarblock > :last-child { margin-bottom: 0; }
373
+ .sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6, .sidebarblock p { color: #333333; }
374
+ .sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6 { line-height: 1; margin-bottom: 0.625em; }
375
+ .sidebarblock h1.subheader, .sidebarblock h2.subheader, .sidebarblock h3.subheader, .sidebarblock .subheader#toctitle, .sidebarblock > .content > .subheader.title, .sidebarblock h4.subheader, .sidebarblock h5.subheader, .sidebarblock h6.subheader { line-height: 1.4; }
376
+ .sidebarblock > .content > .title { color: #7a2518; margin-top: 0; line-height: 1.6; }
377
+ .exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; }
378
+ .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 0px; background-color: #F0F3F5; -webkit-border-radius: 5px; border-radius: 5px; padding: 1.5em 2.5em; word-wrap: break-word; }
379
+ .literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; }
380
+ .literalblock pre > code, .literalblock pre[class] > code, .listingblock pre > code, .listingblock pre[class] > code { display: block; }
381
+ .listingblock > .content { position: relative; }
382
+ .listingblock:hover code[class*=" language-"]:before { text-transform: uppercase; font-size: 0.9em; color: #999; position: absolute; top: 0.375em; right: 0.375em; }
383
+ .listingblock:hover code.asciidoc:before { content: "asciidoc"; }
384
+ .listingblock:hover code.clojure:before { content: "clojure"; }
385
+ .listingblock:hover code.css:before { content: "css"; }
386
+ .listingblock:hover code.go:before { content: "go"; }
387
+ .listingblock:hover code.groovy:before { content: "groovy"; }
388
+ .listingblock:hover code.html:before { content: "html"; }
389
+ .listingblock:hover code.java:before { content: "java"; }
390
+ .listingblock:hover code.javascript:before { content: "javascript"; }
391
+ .listingblock:hover code.python:before { content: "python"; }
392
+ .listingblock:hover code.ruby:before { content: "ruby"; }
393
+ .listingblock:hover code.sass:before { content: "sass"; }
394
+ .listingblock:hover code.scss:before { content: "scss"; }
395
+ .listingblock:hover code.xml:before { content: "xml"; }
396
+ .listingblock:hover code.yaml:before { content: "yaml"; }
397
+ .listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; }
398
+ .listingblock.terminal pre .command:not([data-prompt]):before { content: '$'; }
399
+ table.pyhltable { border: 0; margin-bottom: 0; }
400
+ table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; }
401
+ table.pyhltable td.code { padding-left: .75em; padding-right: 0; }
402
+ .highlight.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #d8d8d8; }
403
+ .highlight.pygments .lineno { display: inline-block; margin-right: .25em; }
404
+ table.pyhltable .linenodiv { background-color: transparent !important; padding-right: 0 !important; }
405
+ .quoteblock { margin: 0 0 1.25em 0; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; }
406
+ .quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.625em 0; border: 0; }
407
+ .quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
408
+ .quoteblock .attribution { margin-top: -0.625em; padding-bottom: 0.625em; font-size: inherit; color: #454545; line-height: 1.6; }
409
+ .quoteblock .attribution br { display: none; }
410
+ .quoteblock .attribution cite { display: block; }
411
+ table.tableblock { max-width: 100%; }
412
+ table.tableblock td .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; }
413
+ table.spread { width: 100%; }
414
+ table.tableblock, th.tableblock, td.tableblock { border: 0 solid #dddddd; }
415
+ table.grid-all th.tableblock, table.grid-all td.tableblock { border-width: 0 1px 1px 0; }
416
+ table.grid-all tfoot > tr > th.tableblock, table.grid-all tfoot > tr > td.tableblock { border-width: 1px 1px 0 0; }
417
+ table.grid-cols th.tableblock, table.grid-cols td.tableblock { border-width: 0 1px 0 0; }
418
+ table.grid-all * > tr > .tableblock:last-child, table.grid-cols * > tr > .tableblock:last-child { border-right-width: 0; }
419
+ table.grid-rows th.tableblock, table.grid-rows td.tableblock { border-width: 0 0 1px 0; }
420
+ table.grid-all tbody > tr:last-child > th.tableblock, table.grid-all tbody > tr:last-child > td.tableblock, table.grid-all thead:last-child > tr > th.tableblock, table.grid-rows tbody > tr:last-child > th.tableblock, table.grid-rows tbody > tr:last-child > td.tableblock, table.grid-rows thead:last-child > tr > th.tableblock { border-bottom-width: 0; }
421
+ table.grid-rows tfoot > tr > th.tableblock, table.grid-rows tfoot > tr > td.tableblock { border-width: 1px 0 0 0; }
422
+ table.frame-all { border-width: 1px; }
423
+ table.frame-sides { border-width: 0 1px; }
424
+ table.frame-topbot { border-width: 1px 0; }
425
+ th.halign-left, td.halign-left { text-align: left; }
426
+ th.halign-right, td.halign-right { text-align: right; }
427
+ th.halign-center, td.halign-center { text-align: center; }
428
+ th.valign-top, td.valign-top { vertical-align: top; }
429
+ th.valign-bottom, td.valign-bottom { vertical-align: bottom; }
430
+ th.valign-middle, td.valign-middle { vertical-align: middle; }
431
+ table thead th, table tfoot th { font-weight: bold; }
432
+ tbody tr th { display: table-cell; line-height: 1.6; background: whitesmoke; }
433
+ tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #333333; font-weight: bold; }
434
+ td > div.verse { white-space: pre; }
435
+ ul.unstyled, ol.unnumbered, ul.checklist, ul.none { list-style-type: none; }
436
+ ul.unstyled, ol.unnumbered, ul.checklist { margin-left: 0.625em; }
437
+ ul.checklist li > p:first-child > .fa-check-square-o:first-child, ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; }
438
+ ul.checklist li > p:first-child > input[type="checkbox"]:first-child { position: relative; top: 1px; }
439
+ ul.inline { margin: 0 auto 0.625em auto; margin-left: -1.375em; margin-right: 0; padding: 0; list-style: none; overflow: hidden; }
440
+ ul.inline > li { list-style: none; float: left; margin-left: 1.375em; display: block; }
441
+ ul.inline > li > * { display: block; }
442
+ .unstyled dl dt { font-weight: normal; font-style: normal; }
443
+ ol.arabic { list-style-type: decimal; }
444
+ ol.decimal { list-style-type: decimal-leading-zero; }
445
+ ol.loweralpha { list-style-type: lower-alpha; }
446
+ ol.upperalpha { list-style-type: upper-alpha; }
447
+ ol.lowerroman { list-style-type: lower-roman; }
448
+ ol.upperroman { list-style-type: upper-roman; }
449
+ ol.lowergreek { list-style-type: lower-greek; }
450
+ .hdlist > table, .colist > table { border: 0; background: none; }
451
+ .hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
452
+ td.hdlist1 { padding-right: .75em; font-weight: bold; }
453
+ td.hdlist1, td.hdlist2 { vertical-align: top; }
454
+ .literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
455
+ .colist > table tr > td:first-of-type { padding: 0 .75em; line-height: 1; }
456
+ .colist > table tr > td:last-of-type { padding: 0.25em 0; }
457
+ .qanda > ol > li > p > em:only-child { color: #1d4b8f; }
458
+ .thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; -webkit-box-shadow: 0 0 0 1px #dddddd; box-shadow: 0 0 0 1px #dddddd; }
459
+ .imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; }
460
+ .imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; }
461
+ .imageblock > .title { margin-bottom: 0; }
462
+ .imageblock.thumb, .imageblock.th { border-width: 6px; }
463
+ .imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }
464
+ .image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; }
465
+ .image.left { margin-right: 0.625em; }
466
+ .image.right { margin-left: 0.625em; }
467
+ a.image { text-decoration: none; }
468
+ span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; }
469
+ span.footnote a, span.footnoteref a { text-decoration: none; }
470
+ span.footnote a:active, span.footnoteref a:active { text-decoration: underline; }
471
+ #footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; }
472
+ #footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; border-width: 1px 0 0 0; }
473
+ #footnotes .footnote { padding: 0 0.375em; line-height: 1.3; font-size: 0.875em; margin-left: 1.2em; text-indent: -1.2em; margin-bottom: .2em; }
474
+ #footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; }
475
+ #footnotes .footnote:last-of-type { margin-bottom: 0; }
476
+ #content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; }
477
+ .gist .file-data > table { border: none; background: #fff; width: 100%; margin-bottom: 0; }
478
+ .gist .file-data > table td.line-data { width: 99%; }
479
+ div.unbreakable { page-break-inside: avoid; }
480
+ .replaceable { font-style: italic; font-color: inherit; font-family: inherit; }
481
+ .parameter { font-style: italic; font-family: monospace; }
482
+ .userinput { font-weight: bold; font-family: monospace; }
483
+ .envar { font-weight: bold; font-family: monospace; font-size: 90%; }
484
+ .sysitem { font-weight: bold; font-size: 90%; }
485
+ .package { font-weight: bold; font-size: 90%; }
486
+ .filename { font-weight: bold; font-style: italic; font-size: 90%; }
487
+ .big { font-size: larger; }
488
+ .small { font-size: smaller; }
489
+ .underline { text-decoration: underline; }
490
+ .overline { text-decoration: overline; }
491
+ .line-through { text-decoration: line-through; }
492
+ .aqua { color: #00bfbf; }
493
+ .aqua-background { background-color: #00fafa; }
494
+ .black { color: black; }
495
+ .black-background { background-color: black; }
496
+ .blue { color: #0000bf; }
497
+ .blue-background { background-color: #0000fa; }
498
+ .fuchsia { color: #bf00bf; }
499
+ .fuchsia-background { background-color: #fa00fa; }
500
+ .gray { color: #606060; }
501
+ .gray-background { background-color: #7d7d7d; }
502
+ .green { color: #006000; }
503
+ .green-background { background-color: #007d00; }
504
+ .lime { color: #00bf00; }
505
+ .lime-background { background-color: #00fa00; }
506
+ .maroon { color: #600000; }
507
+ .maroon-background { background-color: #7d0000; }
508
+ .navy { color: #000060; }
509
+ .navy-background { background-color: #00007d; }
510
+ .olive { color: #606000; }
511
+ .olive-background { background-color: #7d7d00; }
512
+ .purple { color: #600060; }
513
+ .purple-background { background-color: #7d007d; }
514
+ .red { color: #bf0000; }
515
+ .red-background { background-color: #fa0000; }
516
+ .silver { color: #909090; }
517
+ .silver-background { background-color: #bcbcbc; }
518
+ .teal { color: #006060; }
519
+ .teal-background { background-color: #007d7d; }
520
+ .white { color: #bfbfbf; }
521
+ .white-background { background-color: #fafafa; }
522
+ .yellow { color: #bfbf00; }
523
+ .yellow-background { background-color: #fafa00; }
524
+ span.icon > .fa { cursor: default; }
525
+ .admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; cursor: default; }
526
+ .admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #4E9FDD; }
527
+ .admonitionblock td.icon .icon-tip:before { content: "\f0eb"; color: #2C8596; }
528
+ .admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #ec7a08; }
529
+ .admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #ec7a08; }
530
+ .admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #c00; }
531
+ .conum[data-value] { display: inline-block; color: white !important; background-color: #333333; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; width: 20px; height: 20px; font-size: 12px; line-height: 20px; font-family: "Open Sans", "Sans", sans-serif; font-style: normal; font-weight: bold; text-indent: -1px; }
532
+ .conum[data-value] * { color: white !important; }
533
+ .conum[data-value] + b { display: none; }
534
+ .conum[data-value]:after { content: attr(data-value); }
535
+ pre .conum[data-value] { position: relative; top: -2px; }
536
+ b.conum * { color: inherit !important; }
537
+ .conum:not([data-value]):empty { display: none; }
538
+ .print-only { display: none !important; }
539
+ @media print { @page { margin: 1.25cm 0.75cm; }
540
+ * { -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; }
541
+ a, a:visited { color: inherit !important; text-decoration: underline !important; }
542
+ a[href^="http:"]:after, a[href^="https:"]:after { content: " (" attr(href) ")"; }
543
+ a[href^="#"], a[href^="#"]:visited, a[href^="mailto:"], a[href^="mailto:"]:visited { text-decoration: none !important; }
544
+ abbr[title]:after { content: " (" attr(title) ")"; }
545
+ pre, blockquote { page-break-inside: avoid; }
546
+ code { color: #191919; }
547
+ thead { display: table-header-group; }
548
+ tr, img { page-break-inside: avoid; }
549
+ img { max-width: 100% !important; }
550
+ p { orphans: 3; widows: 3; }
551
+ h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }
552
+ #toc, .sidebarblock { background: none !important; }
553
+ #toc { border-bottom: 1px solid #d8d8d8 !important; padding-bottom: 0 !important; }
554
+ .sect1 { padding-bottom: 0 !important; }
555
+ .sect1 + .sect1 { border: none !important; }
556
+ body.book #header { text-align: center; }
557
+ body.book #header > h1 { border: none !important; margin: 2.5em 0 1em 0; padding: 0; }
558
+ body.book #header span { line-height: 1.6; }
559
+ body.book #header br { display: block; }
560
+ body.book #header br + span { padding-left: 0; }
561
+ body.book #header br + span:before { content: none !important; }
562
+ body.book #toc { border: none !important; text-align: left !important; padding: 0 !important; }
563
+ #footer { background: none !important; }
564
+ #footer-text { color: #333333 !important; }
565
+ .hide-on-print { display: none !important; }
566
+ .print-only { display: block !important; }
567
+ .hide-for-print { display: none !important; }
568
+ .show-for-print { display: inherit !important; } }
@@ -0,0 +1,14 @@
1
+ <%- navigation.each do |topic_group| -%>
2
+ <%- if topic_id.start_with?(topic_group[:id]) %>
3
+ <li class="hidden-xs active">
4
+ <%- if topic_group.has_key?(:topics) -%>
5
+ <a href="<%= subtopic_shim %><%= topic_group[:path] %>"><%= topic_group[:name] %></a>
6
+ <%- else -%>
7
+ <%= topic_group[:name] %>
8
+ <%- end -%>
9
+ </li>
10
+ <%- end -%>
11
+ <%- if topic_group.has_key?(:topics) -%>
12
+ <%= render("_templates/_breadcrumb.html.erb", :navigation => topic_group[:topics], :topic_id => topic_id, :subtopic_shim => subtopic_shim) %>
13
+ <%- end -%>
14
+ <%- end -%>
@@ -0,0 +1,3 @@
1
+ <%- Dir.glob("_stylesheets/*").sort.each do |sheet| -%>
2
+ <link href="<%= File.join(css_path, File.basename(sheet)) %>" rel="stylesheet" />
3
+ <%- end -%>
@@ -0,0 +1,14 @@
1
+ <%- navigation.each do |topic_group| -%>
2
+ <%- if not topic_group.has_key?(:topics) -%>
3
+ <li><a class="<%= topic_id.start_with?(topic_group[:id]) ? ' active' : '' %>" href="<%= subtopic_shim %><%= topic_group[:path] %>"><%= topic_group[:name] %></a></li>
4
+ <%- else -%>
5
+ <li class="nav-header">
6
+ <a class="" href="#" data-toggle="collapse" data-target="#topicGroup-<%= topic_group[:id].hash %>">
7
+ <span id="sgSpan-<%= topic_group[:id].hash %>" class="fa <%= topic_id.start_with?(topic_group[:id]) ? 'fa-caret-down' : 'fa-caret-right' %>"></span>&nbsp;<%= topic_group[:name] %>
8
+ </a>
9
+ <ul id="topicGroup-<%= topic_group[:id].hash %>" class="collapse <%= topic_id.start_with?(topic_group[:id]) ? 'in' : '' %> list-unstyled">
10
+ <%= render("_templates/_nav.html.erb", :navigation => topic_group[:topics], :topic_id => topic_id, :subtopic_shim => subtopic_shim) %>
11
+ </ul>
12
+ </li>
13
+ <%- end -%>
14
+ <%- end -%>
@@ -0,0 +1,8 @@
1
+ <%- navigation.each do |topic_group| -%>
2
+ <%- if topic_id.start_with?(topic_group[:id]) %>
3
+ | <%= topic_group[:name] %>
4
+ <%- end -%>
5
+ <%- if topic_group.has_key?(:topics) -%>
6
+ <%= render("_templates/_title.html.erb", :navigation => topic_group[:topics], :topic_id => topic_id) %>
7
+ <%- end -%>
8
+ <%- end -%>