opendoc-theme 2.0.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 (74) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +43 -0
  4. data/_includes/directory.html +95 -0
  5. data/_includes/document-title.txt +58 -0
  6. data/_includes/toc.html +107 -0
  7. data/_includes/toolbar.html +53 -0
  8. data/_includes/welcome.html +5 -0
  9. data/_layouts/default.html +147 -0
  10. data/_layouts/home.html +4 -0
  11. data/_layouts/iframe.html +13 -0
  12. data/_layouts/page.html +4 -0
  13. data/_layouts/print.html +27 -0
  14. data/_sass/_base.scss +381 -0
  15. data/_sass/_constants.scss +87 -0
  16. data/_sass/_iframe.scss +7 -0
  17. data/_sass/_layout.scss +419 -0
  18. data/_sass/_nav.scss +592 -0
  19. data/_sass/_print.scss +43 -0
  20. data/_sass/_syntax-highlighting.scss +61 -0
  21. data/_sass/_toolbar.scss +372 -0
  22. data/_sass/_welcome.scss +41 -0
  23. data/assets/export.md +30 -0
  24. data/assets/images/chevron-up-white.svg +1 -0
  25. data/assets/images/chevron-up.svg +1 -0
  26. data/assets/images/close.svg +17 -0
  27. data/assets/images/favicon.ico +0 -0
  28. data/assets/images/feedback-hover.svg +3 -0
  29. data/assets/images/feedback-mobile.svg +1 -0
  30. data/assets/images/feedback.svg +1 -0
  31. data/assets/images/github-hover.svg +3 -0
  32. data/assets/images/github.svg +1 -0
  33. data/assets/images/home.svg +14 -0
  34. data/assets/images/index-img.png +0 -0
  35. data/assets/images/logo.png +0 -0
  36. data/assets/images/menu.svg +1 -0
  37. data/assets/images/opendoc-logo-full.svg +10 -0
  38. data/assets/images/pdf-hover.svg +11 -0
  39. data/assets/images/pdf.svg +9 -0
  40. data/assets/images/search-icon-dark.svg +19 -0
  41. data/assets/images/search-icon-white.svg +12 -0
  42. data/assets/images/share.svg +1 -0
  43. data/assets/images/sidebar-hover.svg +3 -0
  44. data/assets/images/sidebar.svg +1 -0
  45. data/assets/images/vertical-dots.svg +1 -0
  46. data/assets/images/x-mobile.svg +1 -0
  47. data/assets/index.html +5 -0
  48. data/assets/js/banner.js +20 -0
  49. data/assets/js/google_analytics.js +11 -0
  50. data/assets/js/header.js +31 -0
  51. data/assets/js/helpers.js +24 -0
  52. data/assets/js/lunr.min.js +6 -0
  53. data/assets/js/navigation.js +202 -0
  54. data/assets/js/page-index.js +57 -0
  55. data/assets/js/pqueue.js +373 -0
  56. data/assets/js/pre-loader.js +43 -0
  57. data/assets/js/search.js +580 -0
  58. data/assets/js/toolbar.js +130 -0
  59. data/assets/siteIndex.json +56 -0
  60. data/assets/startup/build.sh +18 -0
  61. data/assets/startup/docprint.html +20 -0
  62. data/assets/startup/pdf-gen.js +309 -0
  63. data/assets/startup/prebuild-lunr-index.js +52 -0
  64. data/assets/styles/main.scss +13 -0
  65. data/assets/styles/normalize.css +427 -0
  66. data/assets/vendor/babel-polyfill.min.js +3 -0
  67. data/assets/vendor/dom4.js +2 -0
  68. data/assets/vendor/fetch.umd.js +531 -0
  69. data/assets/vendor/headroom.min.js +7 -0
  70. data/assets/vendor/jump.min.js +2 -0
  71. data/assets/vendor/mark.min.js +7 -0
  72. data/assets/vendor/popper.min.js +5 -0
  73. data/assets/vendor/web-share-shim.bundle.min.js +2 -0
  74. metadata +158 -0
data/_sass/_print.scss ADDED
@@ -0,0 +1,43 @@
1
+ #print-content {
2
+ /* print styles go here */
3
+ .site-header-text {
4
+ color: $primary-brand-color;
5
+ font-family: $header-font-family;
6
+ font-size: 40px;
7
+ }
8
+
9
+ #document-title {
10
+ color: $primary-brand-color;
11
+ margin-bottom: 30px;
12
+ font-size: 30px;
13
+ }
14
+
15
+ #main-content {
16
+ padding-left: 0;
17
+ padding-right: 0;
18
+ padding-top: 0;
19
+ margin-top: -40px;
20
+ position: relative;
21
+ font-size: $base-font-size;
22
+ }
23
+ }
24
+
25
+ @media print {
26
+ @page {
27
+ size: A4;
28
+ margin: 1.5cm;
29
+ }
30
+
31
+ .site-main {
32
+ height: auto;
33
+ left: 0;
34
+ top: 0;
35
+ position: relative;
36
+ padding-top: 20px;
37
+ padding-bottom: 20px;
38
+ }
39
+
40
+ .no-print {
41
+ display: none !important;
42
+ }
43
+ }
@@ -0,0 +1,61 @@
1
+ .highlight {
2
+ .c { color: #999988; font-style: italic } // Comment
3
+ .err { color: #a61717; background-color: #e3d2d2 } // Error
4
+ .k { font-weight: bold } // Keyword
5
+ .o { font-weight: bold } // Operator
6
+ .cm { color: #999988; font-style: italic } // Comment.Multiline
7
+ .cp { color: #999999; font-weight: bold } // Comment.Preproc
8
+ .c1 { color: #999988; font-style: italic } // Comment.Single
9
+ .cs { color: #999999; font-weight: bold; font-style: italic } // Comment.Special
10
+ .gd { color: #000000; background-color: #ffdddd } // Generic.Deleted
11
+ .gd .x { color: #000000; background-color: #ffaaaa } // Generic.Deleted.Specific
12
+ .ge { font-style: italic } // Generic.Emph
13
+ .gr { color: #aa0000 } // Generic.Error
14
+ .gh { color: #999999 } // Generic.Heading
15
+ .gi { color: #000000; background-color: #ddffdd } // Generic.Inserted
16
+ .gi .x { color: #000000; background-color: #aaffaa } // Generic.Inserted.Specific
17
+ .go { color: #888888 } // Generic.Output
18
+ .gp { color: #555555 } // Generic.Prompt
19
+ .gs { font-weight: bold } // Generic.Strong
20
+ .gu { color: #aaaaaa } // Generic.Subheading
21
+ .gt { color: #aa0000 } // Generic.Traceback
22
+ .kc { font-weight: bold } // Keyword.Constant
23
+ .kd { font-weight: bold } // Keyword.Declaration
24
+ .kp { font-weight: bold } // Keyword.Pseudo
25
+ .kr { font-weight: bold } // Keyword.Reserved
26
+ .kt { color: #445588; font-weight: bold } // Keyword.Type
27
+ .m { color: #009999 } // Literal.Number
28
+ .s { color: #d14 } // Literal.String
29
+ .na { color: #008080 } // Name.Attribute
30
+ .nb { color: #0086B3 } // Name.Builtin
31
+ .nc { color: #445588; font-weight: bold } // Name.Class
32
+ .no { color: #008080 } // Name.Constant
33
+ .ni { color: #800080 } // Name.Entity
34
+ .ne { color: #990000; font-weight: bold } // Name.Exception
35
+ .nf { color: #990000; font-weight: bold } // Name.Function
36
+ .nn { color: #555555 } // Name.Namespace
37
+ .nt { color: #000080 } // Name.Tag
38
+ .nv { color: #008080 } // Name.Variable
39
+ .ow { font-weight: bold } // Operator.Word
40
+ .w { color: #bbbbbb } // Text.Whitespace
41
+ .mf { color: #009999 } // Literal.Number.Float
42
+ .mh { color: #009999 } // Literal.Number.Hex
43
+ .mi { color: #009999 } // Literal.Number.Integer
44
+ .mo { color: #009999 } // Literal.Number.Oct
45
+ .sb { color: #d14 } // Literal.String.Backtick
46
+ .sc { color: #d14 } // Literal.String.Char
47
+ .sd { color: #d14 } // Literal.String.Doc
48
+ .s2 { color: #d14 } // Literal.String.Double
49
+ .se { color: #d14 } // Literal.String.Escape
50
+ .sh { color: #d14 } // Literal.String.Heredoc
51
+ .si { color: #d14 } // Literal.String.Interpol
52
+ .sx { color: #d14 } // Literal.String.Other
53
+ .sr { color: #009926 } // Literal.String.Regex
54
+ .s1 { color: #d14 } // Literal.String.Single
55
+ .ss { color: #990073 } // Literal.String.Symbol
56
+ .bp { color: #999999 } // Name.Builtin.Pseudo
57
+ .vc { color: #008080 } // Name.Variable.Class
58
+ .vg { color: #008080 } // Name.Variable.Global
59
+ .vi { color: #008080 } // Name.Variable.Instance
60
+ .il { color: #009999 } // Literal.Number.Integer.Long
61
+ }
@@ -0,0 +1,372 @@
1
+ // Button Group
2
+ // ------------
3
+ .toolbar-container {
4
+ position: fixed;
5
+ display: flex;
6
+ flex-direction: column;
7
+ justify-content: center;
8
+ align-items: center;
9
+ border: 1px solid $divider-color;
10
+ border-radius: $base-border-radius;
11
+ overflow: hidden;
12
+ z-index: $toolbar-z-index;
13
+ flex-shrink: 0;
14
+ right: $large-spacing;
15
+ top: calc(#{$site-doc-header-height} + (2 * #{$block-spacing}));
16
+ transition: top 0.3s;
17
+
18
+ .toolbar-button {
19
+ cursor: pointer;
20
+ background: transparent;
21
+ // Fixed width here to allow popper to position properly in safari
22
+ width: $toolbar-button-height;
23
+ height: $toolbar-button-height;
24
+ display: flex;
25
+ justify-content: center;
26
+ align-items: center;
27
+ border-bottom: 1px solid $divider-color;
28
+
29
+ &:last-child {
30
+ border-bottom: none;
31
+ }
32
+
33
+ .btn-icon {
34
+ height: 1.2rem;
35
+ width: 1.2rem;
36
+ pointer-events: none;
37
+ user-select: none;
38
+ display: block;
39
+ }
40
+
41
+ .mobile-btn-icon {
42
+ display: none;
43
+ }
44
+
45
+ &:not(:hover) {
46
+ .btn-icon.hover {
47
+ display: none;
48
+ }
49
+ }
50
+
51
+ .tooltip {
52
+ position: fixed;
53
+ right: $toolbar-button-height + 40px;
54
+ font-size: 12px;
55
+ color: $well-background-color;
56
+ background-color: $slate-gray;
57
+ border-radius: $base-border-radius;
58
+ padding: 2px 8px;
59
+ display: none;
60
+ }
61
+
62
+ &:hover {
63
+ background: $well-background-color;
64
+ .btn-icon.hover {
65
+ display: block;
66
+ }
67
+ .btn-icon:not(.hover) {
68
+ display: none;
69
+ }
70
+ .tooltip {
71
+ display: block;
72
+ }
73
+ }
74
+
75
+ &:active {
76
+ background: $divider-color;
77
+ }
78
+
79
+ // Needed to prevent doule tap bug for ios devices
80
+ @media (hover: none) {
81
+ &:hover {
82
+ background: transparent;
83
+ .btn-icon.hover {
84
+ display: none;
85
+ }
86
+ .btn-icon:not(.hover) {
87
+ display: block;
88
+ }
89
+ }
90
+ }
91
+ // specifically for menu button
92
+ #menu-toggle:checked ~ .btn-icon.hover {
93
+ display: block;
94
+ }
95
+
96
+ #menu-toggle:checked ~ .btn-icon:not(.hover) {
97
+ display: none;
98
+ }
99
+ }
100
+ // For mobile menu
101
+ @include mobile-screen {
102
+ right: 0;
103
+ top: 0;
104
+ border-radius: 0;
105
+ border: none;
106
+
107
+ .toolbar-button {
108
+ border: none;
109
+ background: $primary-brand-color;
110
+ width: $mobile-site-header-height;
111
+ height: $mobile-site-header-height;
112
+
113
+ &:not(#menu-toggle-btn) {
114
+ display: none;
115
+ }
116
+
117
+ &:hover {
118
+ background: $primary-brand-color;
119
+ .tooltip {
120
+ // absolutely dont display tooltip in mobile
121
+ display: none;
122
+ }
123
+ }
124
+
125
+ .mobile-btn-icon {
126
+ display: block;
127
+ user-select: none;
128
+
129
+ &.close {
130
+ display: none;
131
+ }
132
+ }
133
+ #menu-toggle:checked {
134
+ & ~ .mobile-btn-icon.close {
135
+ display: block;
136
+ }
137
+ & ~ .mobile-btn-icon:not(.close) {
138
+ display: none;
139
+ }
140
+ }
141
+ // Always disable btn-icon in mobile view
142
+ .btn-icon {
143
+ display: none !important;
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+ @include mobile-screen {
150
+ body.menu-toggled #menu-toggle-btn {
151
+ background: $header-text-color;
152
+ }
153
+ }
154
+
155
+ // Floating action button
156
+ // ----------------------
157
+ $max-child-actions: 4;
158
+ $transition-duration: 0.4s;
159
+
160
+ .fab {
161
+ position: fixed;
162
+ bottom: $med-spacing;
163
+ right: $med-spacing;
164
+ text-align: center;
165
+ z-index: $fab-z-index;
166
+ font-family: Arial, Helvetica, sans-serif;
167
+
168
+ @include desktop-screen {
169
+ display: none;
170
+ }
171
+
172
+ .back-to-top,
173
+ .trigger,
174
+ .action {
175
+ @include flex-center();
176
+ user-select: none;
177
+ border-radius: 50%;
178
+ height: $fab-button-size;
179
+ width: $fab-button-size;
180
+ box-shadow: 4px 4px 4px 2px rgba(0, 0, 0, 0.05);
181
+ cursor: pointer;
182
+
183
+ &:active {
184
+ box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.25);
185
+ }
186
+ }
187
+
188
+ .trigger {
189
+ position: relative;
190
+ background: $primary-brand-color;
191
+ z-index: $fab-trigger-z-index;
192
+ img.close {
193
+ display: none;
194
+ }
195
+ }
196
+
197
+ .back-to-top {
198
+ position: absolute;
199
+ z-index: $fab-trigger-z-index;
200
+ background: $dark-button-color;
201
+ bottom: $fab-button-size + $med-spacing;
202
+ visibility: visible;
203
+ opacity: 1;
204
+ transition: opacity $fab-transtition-duration ease-in;
205
+ &.hidden {
206
+ visibility: hidden;
207
+ opacity: 0;
208
+ }
209
+ }
210
+
211
+ .overlay {
212
+ position: fixed;
213
+ background: black;
214
+ opacity: 0;
215
+ top: 0;
216
+ left: 0;
217
+ height: 0;
218
+ width: 0;
219
+ }
220
+
221
+ .action {
222
+ position: absolute;
223
+ top: 0;
224
+ margin: 0;
225
+ opacity: 0;
226
+ background: $divider-color;
227
+ height: $fab-button-size;
228
+ width: $fab-button-size;
229
+ transition: transform $fab-transtition-duration ease, opacity $fab-transtition-duration/3 ease-out;
230
+ img {
231
+ width: 20px;
232
+ height: 20px;
233
+ }
234
+ }
235
+
236
+ .actions {
237
+ transition: opacity $fab-transtition-duration ease;
238
+ }
239
+
240
+ &.open {
241
+ .actions {
242
+ $action-space: $fab-button-size + $med-spacing;
243
+ opacity: 1;
244
+
245
+ @for $i from 1 through $max-child-actions {
246
+ $distance: $action-space * $i;
247
+ .action:nth-child(#{$i}) {
248
+ transform: translateY(-$distance);
249
+ transition: transform $fab-transtition-duration ease,
250
+ opacity $fab-transtition-duration ease-in $fab-transtition-duration/3;
251
+ opacity: 1;
252
+ }
253
+ }
254
+ }
255
+
256
+ .overlay {
257
+ opacity: 0.8;
258
+ height: 100vh;
259
+ width: 100vw;
260
+ }
261
+
262
+ .back-to-top {
263
+ display: none;
264
+ }
265
+
266
+ .trigger {
267
+ img.close {
268
+ display: flex;
269
+ }
270
+ img {
271
+ display: none;
272
+ }
273
+ }
274
+
275
+ .tooltip {
276
+ opacity: 1;
277
+ transform: translateY(-50%) scale(1);
278
+ right: $fab-button-size + $spacing;
279
+ transition-delay: $fab-transtition-duration/2;
280
+ }
281
+ }
282
+
283
+ .tooltip {
284
+ position: absolute;
285
+ top: 50%;
286
+ right: 0;
287
+ padding: 4px 8px;
288
+ font-size: 11px;
289
+ color: $divider-color;
290
+ background-color: rgba(39, 46, 54, 0.8);
291
+ transform: translateY(-50%) scale(0);
292
+ transform-origin: right center 0;
293
+ text-align: right;
294
+ transition: all $transition-duration ease;
295
+ opacity: 0;
296
+ white-space: nowrap;
297
+ width: auto;
298
+ border-radius: $base-border-radius;
299
+ font-family: $base-font-family;
300
+ border: 1px solid $divider-color;
301
+ }
302
+ }
303
+
304
+ // Hide on first page
305
+ // -----------------
306
+ @include desktop-screen {
307
+ .index .toolbar-container {
308
+ display: none;
309
+ }
310
+ }
311
+
312
+ @include mobile-screen {
313
+ .index .fab {
314
+ display: none;
315
+ }
316
+ }
317
+
318
+ // Banner
319
+ // ------------
320
+ $banner-bg: #15499b;
321
+ #banner {
322
+ background: $banner-bg;
323
+ box-shadow: 0 6px 8px 0 rgba(0, 0, 0, 0.24), 0 0 8px 0 rgba(0, 0, 0, 0.12);
324
+ font-size: 14px;
325
+ line-height: normal;
326
+ width: 330px;
327
+ max-width: 80vw;
328
+ padding: $spacing $med-spacing;
329
+ color: #f0f4f6;
330
+ display: none;
331
+ -webkit-font-smoothing: antialiased;
332
+ border-radius: $base-border-radius;
333
+ align-items: center;
334
+ #close-banner {
335
+ margin-left: 15px;
336
+ cursor: pointer;
337
+ height: 100%;
338
+ img {
339
+ width: 24px;
340
+ height: 24px;
341
+ max-width: 24px;
342
+ }
343
+ }
344
+ .popper__arrow {
345
+ width: 0;
346
+ height: 0;
347
+ border-style: solid;
348
+ position: absolute;
349
+ margin: 5px;
350
+ }
351
+
352
+ &[x-placement^="bottom"] {
353
+ margin-top: 5px;
354
+ .popper__arrow {
355
+ border-width: 0 5px 5px 5px;
356
+ border-color: transparent transparent $banner-bg transparent;
357
+ top: -4px;
358
+ margin-top: 0;
359
+ margin-bottom: 0;
360
+ }
361
+ }
362
+ &[x-placement^="top"] {
363
+ margin-bottom: 5px;
364
+ .popper__arrow {
365
+ border-width: 5px 5px 0 5px;
366
+ border-color: $banner-bg transparent transparent transparent;
367
+ bottom: -4px;
368
+ margin-top: 0;
369
+ margin-bottom: 0;
370
+ }
371
+ }
372
+ }