fni-docs-theme 0.4.2

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 (66) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +19 -0
  4. data/Rakefile +1 -0
  5. data/_includes/css/custom.scss.liquid +1 -0
  6. data/_includes/css/just-the-docs.scss.liquid +7 -0
  7. data/_includes/fix_linenos.html +65 -0
  8. data/_includes/footer_custom.html +3 -0
  9. data/_includes/head.html +39 -0
  10. data/_includes/head_custom.html +0 -0
  11. data/_includes/header_custom.html +0 -0
  12. data/_includes/js/custom.js +0 -0
  13. data/_includes/nav.html +31 -0
  14. data/_includes/title.html +5 -0
  15. data/_includes/vendor/anchor_headings.html +144 -0
  16. data/_layouts/about.html +5 -0
  17. data/_layouts/default.html +199 -0
  18. data/_layouts/home.html +5 -0
  19. data/_layouts/page.html +5 -0
  20. data/_layouts/post.html +5 -0
  21. data/_layouts/table_wrappers.html +7 -0
  22. data/_layouts/vendor/compress.html +10 -0
  23. data/_sass/base.scss +108 -0
  24. data/_sass/buttons.scss +118 -0
  25. data/_sass/code.scss +340 -0
  26. data/_sass/color_schemes/dark.scss +17 -0
  27. data/_sass/color_schemes/light.scss +0 -0
  28. data/_sass/content.scss +231 -0
  29. data/_sass/custom/custom.scss +0 -0
  30. data/_sass/labels.scss +37 -0
  31. data/_sass/layout.scss +205 -0
  32. data/_sass/modules.scss +20 -0
  33. data/_sass/navigation.scss +219 -0
  34. data/_sass/print.scss +40 -0
  35. data/_sass/search.scss +324 -0
  36. data/_sass/support/_functions.scss +9 -0
  37. data/_sass/support/_variables.scss +153 -0
  38. data/_sass/support/mixins/_buttons.scss +27 -0
  39. data/_sass/support/mixins/_layout.scss +34 -0
  40. data/_sass/support/mixins/_typography.scss +84 -0
  41. data/_sass/support/mixins/mixins.scss +3 -0
  42. data/_sass/support/support.scss +3 -0
  43. data/_sass/tables.scss +58 -0
  44. data/_sass/typography.scss +64 -0
  45. data/_sass/utilities/_colors.scss +239 -0
  46. data/_sass/utilities/_layout.scss +95 -0
  47. data/_sass/utilities/_lists.scss +17 -0
  48. data/_sass/utilities/_spacing.scss +165 -0
  49. data/_sass/utilities/_typography.scss +91 -0
  50. data/_sass/utilities/utilities.scss +5 -0
  51. data/_sass/vendor/normalize.scss/README.md +7 -0
  52. data/_sass/vendor/normalize.scss/normalize.scss +349 -0
  53. data/assets/css/just-the-docs-dark.scss +3 -0
  54. data/assets/css/just-the-docs-default.scss +8 -0
  55. data/assets/css/just-the-docs-light.scss +3 -0
  56. data/assets/images/just-the-docs.png +0 -0
  57. data/assets/images/search.svg +1 -0
  58. data/assets/js/jtd-nav.js +35 -0
  59. data/assets/js/just-the-docs.js +471 -0
  60. data/assets/js/vendor/lunr.min.js +6 -0
  61. data/assets/js/zzzz-search-data.json +72 -0
  62. data/bin/just-the-docs +16 -0
  63. data/lib/fni-docs-theme.rb +1 -0
  64. data/lib/generators/nav-generator.rb +31 -0
  65. data/lib/tasks/search.rake +86 -0
  66. metadata +200 -0
data/_sass/base.scss ADDED
@@ -0,0 +1,108 @@
1
+ //
2
+ // Base element style overrides
3
+ //
4
+ // stylelint-disable selector-no-type, selector-max-type
5
+
6
+ * {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ ::selection {
11
+ color: $white;
12
+ background: $link-color;
13
+ }
14
+
15
+ html {
16
+ @include fs-4;
17
+ scroll-behavior: smooth;
18
+ }
19
+
20
+ body {
21
+ font-family: $body-font-family;
22
+ font-size: inherit;
23
+ line-height: $body-line-height;
24
+ color: $body-text-color;
25
+ background-color: $body-background-color;
26
+ }
27
+
28
+ ol,
29
+ ul,
30
+ dl,
31
+ pre,
32
+ address,
33
+ blockquote,
34
+ table,
35
+ div,
36
+ hr,
37
+ form,
38
+ fieldset,
39
+ noscript .table-wrapper {
40
+ margin-top: 0;
41
+ }
42
+
43
+ h1,
44
+ h2,
45
+ h3,
46
+ h4,
47
+ h5,
48
+ h6 {
49
+ margin-top: 0;
50
+ margin-bottom: 1em;
51
+ font-weight: 500;
52
+ line-height: $body-heading-line-height;
53
+ color: $body-heading-color;
54
+ }
55
+
56
+ p {
57
+ margin-top: 1em;
58
+ margin-bottom: 1em;
59
+ }
60
+
61
+ a {
62
+ color: $link-color;
63
+ text-decoration: none;
64
+ }
65
+
66
+ a:not([class]) {
67
+ text-decoration: none;
68
+ background-image: linear-gradient($border-color 0%, $border-color 100%);
69
+ background-repeat: repeat-x;
70
+ background-position: 0 100%;
71
+ background-size: 1px 1px;
72
+
73
+ &:hover {
74
+ background-image: linear-gradient(
75
+ rgba($link-color, 0.45) 0%,
76
+ rgba($link-color, 0.45) 100%
77
+ );
78
+ background-size: 1px 1px;
79
+ }
80
+ }
81
+
82
+ code {
83
+ font-family: $mono-font-family;
84
+ font-size: 0.75em;
85
+ line-height: $body-line-height;
86
+ }
87
+
88
+ figure,
89
+ pre {
90
+ margin: 0;
91
+ }
92
+
93
+ li {
94
+ margin: 0.25em 0;
95
+ }
96
+
97
+ img {
98
+ max-width: 100%;
99
+ height: auto;
100
+ }
101
+
102
+ hr {
103
+ height: 1px;
104
+ padding: 0;
105
+ margin: $sp-6 0;
106
+ background-color: $border-color;
107
+ border: 0;
108
+ }
@@ -0,0 +1,118 @@
1
+ //
2
+ // Buttons and things that look like buttons
3
+ //
4
+ // stylelint-disable color-named
5
+
6
+ .btn {
7
+ display: inline-block;
8
+ box-sizing: border-box;
9
+ padding-top: 0.3em;
10
+ padding-right: 1em;
11
+ padding-bottom: 0.3em;
12
+ padding-left: 1em;
13
+ margin: 0;
14
+ font-family: inherit;
15
+ font-size: inherit;
16
+ font-weight: 500;
17
+ line-height: 1.5;
18
+ color: $link-color;
19
+ text-decoration: none;
20
+ vertical-align: baseline;
21
+ cursor: pointer;
22
+ background-color: $base-button-color;
23
+ border-width: 0;
24
+ border-radius: $border-radius;
25
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
26
+ appearance: none;
27
+
28
+ &:focus {
29
+ text-decoration: none;
30
+ outline: none;
31
+ box-shadow: 0 0 0 3px rgba(blue, 0.25);
32
+ }
33
+
34
+ &:focus:hover,
35
+ &.selected:focus {
36
+ box-shadow: 0 0 0 3px rgba(blue, 0.25);
37
+ }
38
+
39
+ &:hover,
40
+ &.zeroclipboard-is-hover {
41
+ color: darken($link-color, 2%);
42
+ }
43
+
44
+ &:hover,
45
+ &:active,
46
+ &.zeroclipboard-is-hover,
47
+ &.zeroclipboard-is-active {
48
+ text-decoration: none;
49
+ background-color: darken($base-button-color, 1%);
50
+ }
51
+
52
+ &:active,
53
+ &.selected,
54
+ &.zeroclipboard-is-active {
55
+ background-color: darken($base-button-color, 3%);
56
+ background-image: none;
57
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
58
+ }
59
+
60
+ &.selected:hover {
61
+ background-color: darken(#dcdcdc, 5%);
62
+ }
63
+
64
+ &:disabled,
65
+ &.disabled {
66
+ &,
67
+ &:hover {
68
+ color: rgba(102, 102, 102, 0.5);
69
+ cursor: default;
70
+ background-color: rgba(229, 229, 229, 0.5);
71
+ background-image: none;
72
+ box-shadow: none;
73
+ }
74
+ }
75
+ }
76
+
77
+ .btn-outline {
78
+ color: $link-color;
79
+ background: transparent;
80
+ box-shadow: inset 0 0 0 2px $grey-lt-300;
81
+
82
+ &:hover,
83
+ &:active,
84
+ &.zeroclipboard-is-hover,
85
+ &.zeroclipboard-is-active {
86
+ color: darken($link-color, 4%);
87
+ text-decoration: none;
88
+ background-color: transparent;
89
+ box-shadow: inset 0 0 0 3px $grey-lt-300;
90
+ }
91
+
92
+ &:focus {
93
+ text-decoration: none;
94
+ outline: none;
95
+ box-shadow: inset 0 0 0 2px $grey-dk-100, 0 0 0 3px rgba(blue, 0.25);
96
+ }
97
+
98
+ &:focus:hover,
99
+ &.selected:focus {
100
+ box-shadow: inset 0 0 0 2px $grey-dk-100;
101
+ }
102
+ }
103
+
104
+ .btn-primary {
105
+ @include btn-color($white, $btn-primary-color);
106
+ }
107
+
108
+ .btn-purple {
109
+ @include btn-color($white, $purple-100);
110
+ }
111
+
112
+ .btn-blue {
113
+ @include btn-color($white, $blue-000);
114
+ }
115
+
116
+ .btn-green {
117
+ @include btn-color($white, $green-100);
118
+ }
data/_sass/code.scss ADDED
@@ -0,0 +1,340 @@
1
+ //
2
+ // Code and syntax highlighting
3
+ //
4
+ // stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type
5
+
6
+ code {
7
+ padding: 0.2em 0.15em;
8
+ font-weight: 400;
9
+ background-color: $code-background-color;
10
+ border: $border $border-color;
11
+ border-radius: $border-radius;
12
+ }
13
+
14
+ // Avoid appearance of dark border around visited code links in Safari
15
+ a:visited code {
16
+ border-color: $border-color;
17
+ }
18
+
19
+ // Content structure for highlighted code blocks using fences or Liquid
20
+ //
21
+ // ```[LANG]...```, no kramdown line_numbers:
22
+ // div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code
23
+ //
24
+ // ```[LANG]...```, kramdown line_numbers = true:
25
+ // div.[language-LANG.]highlighter-rouge > div.highlight > pre.highlight > code
26
+ // > div.table-wrapper > table.rouge-table > tbody > tr
27
+ // > td.rouge-gutter.gl > pre.lineno
28
+ // | td.rouge-code > pre
29
+ //
30
+ // {% highlight LANG %}...{% endhighlight %}:
31
+ // figure.highlight > pre > code.language-LANG
32
+ //
33
+ // {% highlight LANG linenos %}...{% endhighlight %}:
34
+ // figure.highlight > pre > code.language-LANG
35
+ // > div.table-wrapper > table.rouge-table > tbody > tr
36
+ // > td.gutter.gl > pre.lineno
37
+ // | td.code > pre
38
+ //
39
+ // fix_linenos removes the outermost pre when it encloses table.rouge-table
40
+ //
41
+ // See docs/index-test.md for some tests.
42
+ //
43
+ // No kramdown line_numbers: fences and Liquid highlighting look the same.
44
+ // Kramdown line_numbers = true: fences have a wider gutter than with Liquid?
45
+
46
+ // ```[LANG]...```
47
+ div.highlighter-rouge {
48
+ padding: $sp-3;
49
+ margin-top: 0;
50
+ margin-bottom: $sp-3;
51
+ overflow-x: auto;
52
+ background-color: $code-background-color;
53
+ border-radius: $border-radius;
54
+ box-shadow: none;
55
+ -webkit-overflow-scrolling: touch;
56
+
57
+ div.highlight,
58
+ pre.highlight,
59
+ code {
60
+ padding: 0;
61
+ margin: 0;
62
+ border: 0;
63
+ }
64
+ }
65
+
66
+ // {% highlight LANG %}...{% endhighlight %},
67
+ // {% highlight LANG linenos %}...{% endhighlight %}:
68
+ figure.highlight {
69
+ padding: $sp-3;
70
+ margin-top: 0;
71
+ margin-bottom: $sp-3;
72
+ background-color: $code-background-color;
73
+ border-radius: $border-radius;
74
+ box-shadow: none;
75
+ -webkit-overflow-scrolling: touch;
76
+
77
+ pre,
78
+ code {
79
+ padding: 0;
80
+ margin: 0;
81
+ border: 0;
82
+ }
83
+ }
84
+
85
+ // ```[LANG]...```, kramdown line_numbers = true,
86
+ // {% highlight LANG linenos %}...{% endhighlight %}:
87
+ .highlight .table-wrapper {
88
+ padding: 0;
89
+ margin: 0;
90
+ border: 0;
91
+ box-shadow: none;
92
+
93
+ td,
94
+ pre {
95
+ @include fs-2;
96
+ min-width: 0;
97
+ padding: 0;
98
+ background-color: $code-background-color;
99
+ border: 0;
100
+ }
101
+
102
+ td.gl {
103
+ padding-right: $sp-3;
104
+ }
105
+
106
+ pre {
107
+ margin: 0;
108
+ line-height: 2;
109
+ }
110
+ }
111
+
112
+ .highlight .c {
113
+ color: #586e75;
114
+ } // comment //
115
+ .highlight .err {
116
+ color: #93a1a1;
117
+ } // error //
118
+ .highlight .g {
119
+ color: #93a1a1;
120
+ } // generic //
121
+ .highlight .k {
122
+ color: #859900;
123
+ } // keyword //
124
+ .highlight .l {
125
+ color: #93a1a1;
126
+ } // literal //
127
+ .highlight .n {
128
+ color: #93a1a1;
129
+ } // name //
130
+ .highlight .o {
131
+ color: #859900;
132
+ } // operator //
133
+ .highlight .x {
134
+ color: #cb4b16;
135
+ } // other //
136
+ .highlight .p {
137
+ color: #93a1a1;
138
+ } // punctuation //
139
+ .highlight .cm {
140
+ color: #586e75;
141
+ } // comment.multiline //
142
+ .highlight .cp {
143
+ color: #859900;
144
+ } // comment.preproc //
145
+ .highlight .c1 {
146
+ color: #586e75;
147
+ } // comment.single //
148
+ .highlight .cs {
149
+ color: #859900;
150
+ } // comment.special //
151
+ .highlight .gd {
152
+ color: #2aa198;
153
+ } // generic.deleted //
154
+ .highlight .ge {
155
+ font-style: italic;
156
+ color: #93a1a1;
157
+ } // generic.emph //
158
+ .highlight .gr {
159
+ color: #dc322f;
160
+ } // generic.error //
161
+ .highlight .gh {
162
+ color: #cb4b16;
163
+ } // generic.heading //
164
+ .highlight .gi {
165
+ color: #859900;
166
+ } // generic.inserted //
167
+ .highlight .go {
168
+ color: #93a1a1;
169
+ } // generic.output //
170
+ .highlight .gp {
171
+ color: #93a1a1;
172
+ } // generic.prompt //
173
+ .highlight .gs {
174
+ font-weight: bold;
175
+ color: #93a1a1;
176
+ } // generic.strong //
177
+ .highlight .gu {
178
+ color: #cb4b16;
179
+ } // generic.subheading //
180
+ .highlight .gt {
181
+ color: #93a1a1;
182
+ } // generic.traceback //
183
+ .highlight .kc {
184
+ color: #cb4b16;
185
+ } // keyword.constant //
186
+ .highlight .kd {
187
+ color: #268bd2;
188
+ } // keyword.declaration //
189
+ .highlight .kn {
190
+ color: #859900;
191
+ } // keyword.namespace //
192
+ .highlight .kp {
193
+ color: #859900;
194
+ } // keyword.pseudo //
195
+ .highlight .kr {
196
+ color: #268bd2;
197
+ } // keyword.reserved //
198
+ .highlight .kt {
199
+ color: #dc322f;
200
+ } // keyword.type //
201
+ .highlight .ld {
202
+ color: #93a1a1;
203
+ } // literal.date //
204
+ .highlight .m {
205
+ color: #2aa198;
206
+ } // literal.number //
207
+ .highlight .s {
208
+ color: #2aa198;
209
+ } // literal.string //
210
+ .highlight .na {
211
+ color: #555;
212
+ } // name.attribute //
213
+ .highlight .nb {
214
+ color: #b58900;
215
+ } // name.builtin //
216
+ .highlight .nc {
217
+ color: #268bd2;
218
+ } // name.class //
219
+ .highlight .no {
220
+ color: #cb4b16;
221
+ } // name.constant //
222
+ .highlight .nd {
223
+ color: #268bd2;
224
+ } // name.decorator //
225
+ .highlight .ni {
226
+ color: #cb4b16;
227
+ } // name.entity //
228
+ .highlight .ne {
229
+ color: #cb4b16;
230
+ } // name.exception //
231
+ .highlight .nf {
232
+ color: #268bd2;
233
+ } // name.function //
234
+ .highlight .nl {
235
+ color: #555;
236
+ } // name.label //
237
+ .highlight .nn {
238
+ color: #93a1a1;
239
+ } // name.namespace //
240
+ .highlight .nx {
241
+ color: #555;
242
+ } // name.other //
243
+ .highlight .py {
244
+ color: #93a1a1;
245
+ } // name.property //
246
+ .highlight .nt {
247
+ color: #268bd2;
248
+ } // name.tag //
249
+ .highlight .nv {
250
+ color: #268bd2;
251
+ } // name.variable //
252
+ .highlight .ow {
253
+ color: #859900;
254
+ } // operator.word //
255
+ .highlight .w {
256
+ color: #93a1a1;
257
+ } // text.whitespace //
258
+ .highlight .mf {
259
+ color: #2aa198;
260
+ } // literal.number.float //
261
+ .highlight .mh {
262
+ color: #2aa198;
263
+ } // literal.number.hex //
264
+ .highlight .mi {
265
+ color: #2aa198;
266
+ } // literal.number.integer //
267
+ .highlight .mo {
268
+ color: #2aa198;
269
+ } // literal.number.oct //
270
+ .highlight .sb {
271
+ color: #586e75;
272
+ } // literal.string.backtick //
273
+ .highlight .sc {
274
+ color: #2aa198;
275
+ } // literal.string.char //
276
+ .highlight .sd {
277
+ color: #93a1a1;
278
+ } // literal.string.doc //
279
+ .highlight .s2 {
280
+ color: #2aa198;
281
+ } // literal.string.double //
282
+ .highlight .se {
283
+ color: #cb4b16;
284
+ } // literal.string.escape //
285
+ .highlight .sh {
286
+ color: #93a1a1;
287
+ } // literal.string.heredoc //
288
+ .highlight .si {
289
+ color: #2aa198;
290
+ } // literal.string.interpol //
291
+ .highlight .sx {
292
+ color: #2aa198;
293
+ } // literal.string.other //
294
+ .highlight .sr {
295
+ color: #dc322f;
296
+ } // literal.string.regex //
297
+ .highlight .s1 {
298
+ color: #2aa198;
299
+ } // literal.string.single //
300
+ .highlight .ss {
301
+ color: #2aa198;
302
+ } // literal.string.symbol //
303
+ .highlight .bp {
304
+ color: #268bd2;
305
+ } // name.builtin.pseudo //
306
+ .highlight .vc {
307
+ color: #268bd2;
308
+ } // name.variable.class //
309
+ .highlight .vg {
310
+ color: #268bd2;
311
+ } // name.variable.global //
312
+ .highlight .vi {
313
+ color: #268bd2;
314
+ } // name.variable.instance //
315
+ .highlight .il {
316
+ color: #2aa198;
317
+ } // literal.number.integer.long //
318
+
319
+ //
320
+ // Code examples (rendered)
321
+ //
322
+
323
+ .code-example {
324
+ padding: $sp-3;
325
+ margin-bottom: $sp-3;
326
+ overflow: auto;
327
+ border: 1px solid $border-color;
328
+ border-radius: $border-radius;
329
+
330
+ + .highlighter-rouge,
331
+ + figure.highlight {
332
+ position: relative;
333
+ margin-top: -$sp-4;
334
+ border-right: 1px solid $border-color;
335
+ border-bottom: 1px solid $border-color;
336
+ border-left: 1px solid $border-color;
337
+ border-top-left-radius: 0;
338
+ border-top-right-radius: 0;
339
+ }
340
+ }
@@ -0,0 +1,17 @@
1
+ $body-background-color: $grey-dk-300;
2
+ $sidebar-color: $grey-dk-300;
3
+ $border-color: $grey-dk-200;
4
+
5
+ $body-text-color: $grey-lt-300;
6
+ $body-heading-color: $grey-lt-000;
7
+ $nav-child-link-color: $grey-dk-000;
8
+ $search-result-preview-color: $grey-dk-000;
9
+
10
+ $link-color: $blue-000;
11
+ $btn-primary-color: $blue-200;
12
+ $base-button-color: $grey-dk-250;
13
+
14
+ $code-background-color: $grey-dk-250;
15
+ $search-background-color: $grey-dk-250;
16
+ $table-background-color: $grey-dk-250;
17
+ $feedback-color: darken($sidebar-color, 3%);
File without changes