just-the-docs 0.2.4 → 0.2.9

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 (45) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +2 -2
  3. data/_includes/css/custom.scss.liquid +1 -0
  4. data/_includes/css/just-the-docs.scss.liquid +7 -0
  5. data/_includes/head.html +25 -13
  6. data/_includes/head_custom.html +0 -0
  7. data/_includes/js/custom.js +0 -0
  8. data/_includes/nav.html +41 -34
  9. data/_includes/title.html +5 -0
  10. data/_includes/vendor/anchor_headings.html +100 -0
  11. data/_layouts/default.html +100 -39
  12. data/_layouts/table_wrappers.html +7 -0
  13. data/_layouts/vendor/compress.html +10 -0
  14. data/_sass/base.scss +16 -18
  15. data/_sass/buttons.scss +1 -1
  16. data/_sass/code.scss +209 -69
  17. data/_sass/color_schemes/dark.scss +3 -1
  18. data/_sass/color_schemes/light.scss +0 -0
  19. data/_sass/content.scss +79 -0
  20. data/_sass/custom/custom.scss +0 -120
  21. data/_sass/labels.scss +5 -4
  22. data/_sass/layout.scss +90 -29
  23. data/_sass/modules.scss +19 -0
  24. data/_sass/navigation.scss +4 -32
  25. data/_sass/search.scss +98 -45
  26. data/_sass/support/_functions.scss +2 -3
  27. data/_sass/support/_variables.scss +20 -20
  28. data/_sass/support/mixins/_layout.scss +1 -3
  29. data/_sass/support/mixins/_typography.scss +6 -1
  30. data/_sass/tables.scss +13 -33
  31. data/_sass/typography.scss +10 -8
  32. data/_sass/utilities/_layout.scss +75 -18
  33. data/_sass/utilities/_lists.scss +7 -1
  34. data/_sass/utilities/_spacing.scss +70 -26
  35. data/_sass/utilities/_typography.scss +1 -1
  36. data/assets/css/just-the-docs-dark.scss +3 -0
  37. data/assets/css/just-the-docs-default.scss +8 -0
  38. data/assets/css/just-the-docs-light.scss +3 -0
  39. data/assets/js/just-the-docs.js +240 -103
  40. data/assets/js/search-data.json +4 -4
  41. data/assets/js/vendor/lunr.min.js +3 -3
  42. data/lib/tasks/search.rake +4 -4
  43. metadata +47 -25
  44. data/assets/css/dark-mode-preview.scss +0 -41
  45. data/assets/css/just-the-docs.scss +0 -44
@@ -1,120 +0,0 @@
1
- // //
2
- // // Typography
3
- // //
4
- //
5
- // $body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif;
6
- // $mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace;
7
- // $root-font-size: 16px; // Base font-size for rems
8
- // $body-line-height: 1.4;
9
- // $body-heading-line-height: 1.15;
10
- //
11
- // //
12
- // // Colors
13
- // //
14
- //
15
- // $white: #fff;
16
- //
17
- // $grey-dk-000: #959396;
18
- // $grey-dk-100: #5c5962;
19
- // $grey-dk-200: #44434d;
20
- // $grey-dk-250: #302d36 !default;
21
- // $grey-dk-300: #27262b;
22
- //
23
- // $grey-lt-000: #f5f6fa;
24
- // $grey-lt-100: #eeebee;
25
- // $grey-lt-200: #ecebed;
26
- // $grey-lt-300: #e6e1e8;
27
- //
28
- // $purple-000: #7253ed;
29
- // $purple-100: #5e41d0;
30
- // $purple-200: #4e26af;
31
- // $purple-300: #381885;
32
- //
33
- // $blue-000: #2c84fa;
34
- // $blue-100: #2869e6;
35
- // $blue-200: #264caf;
36
- // $blue-300: #183385;
37
- //
38
- // $green-000: #41d693;
39
- // $green-100: #11b584;
40
- // $green-200: #009c7b;
41
- // $green-300: #026e57;
42
- //
43
- // $body-background-color: $white !default;
44
- // $sidebar-color: $grey-lt-000 !default;
45
- // $code-background-color: $grey-lt-000 !default;
46
-
47
- // $body-text-color: $grey-dk-100 !default;
48
- // $body-heading-color: $grey-dk-300 !default;
49
- // $nav-child-link-color: $grey-dk-100 !default;
50
- // $link-color: $purple-000 !default;
51
- // $btn-primary-color: $purple-100 !default;
52
- // $base-button-color: #f7f7f7 !default;
53
- //
54
- // //
55
- // // Media queries in pixels
56
- // //
57
- //
58
- // $media-queries: (
59
- // xs: 320px,
60
- // sm: 500px,
61
- // md: 740px,
62
- // lg: 1120px,
63
- // xl: 1400px
64
- // );
65
- //
66
- // //
67
- // // Spacing
68
- // //
69
- //
70
- // $spacing-unit: 1rem; // 1rem == 16px
71
- //
72
- // $spacers: (
73
- // sp-0: 0,
74
- // sp-1: $spacing-unit * 0.25,
75
- // sp-2: $spacing-unit * 0.5,
76
- // sp-3: $spacing-unit * 0.75,
77
- // sp-4: $spacing-unit,
78
- // sp-5: $spacing-unit * 1.5,
79
- // sp-6: $spacing-unit * 2,
80
- // sp-7: $spacing-unit * 2.5,
81
- // sp-8: $spacing-unit * 3,
82
- // sp-9: $spacing-unit * 3.5,
83
- // sp-10: $spacing-unit * 4
84
- // );
85
- //
86
- // $sp-1: map-get($spacers, sp-1); // 0.25 rem == 4px
87
- // $sp-2: map-get($spacers, sp-2); // 0.5 rem == 8px
88
- // $sp-3: map-get($spacers, sp-3); // 0.75 rem == 12px
89
- // $sp-4: map-get($spacers, sp-4); // 1 rem == 16px
90
- // $sp-5: map-get($spacers, sp-5); // 1.5 rem == 24px
91
- // $sp-6: map-get($spacers, sp-6); // 2 rem == 32px
92
- // $sp-7: map-get($spacers, sp-7); // 2.5 rem == 40px
93
- // $sp-8: map-get($spacers, sp-8); // 3 rem == 48px
94
- // $sp-9: map-get($spacers, sp-9); // 4 rem == 48px
95
- // $sp-10: map-get($spacers, sp-10); // 4.5 rem == 48px
96
- //
97
- // //
98
- // // Borders
99
- // //
100
- //
101
- // $border: 1px solid;
102
- // $border-radius: 4px;
103
- // $border-color: $grey-lt-100;
104
- //
105
- // //
106
- // // Grid system
107
- // //
108
- //
109
- // $gutter-spacing: $sp-6;
110
- // $gutter-spacing-sm: $sp-4;
111
- // $nav-width: 232px;
112
- // $content-width: 800px;
113
- //
114
- // $media-queries: (
115
- // xs: 320px,
116
- // sm: 500px,
117
- // md: 740px,
118
- // lg: 800px,
119
- // xl: 1316px
120
- // );
@@ -6,16 +6,17 @@
6
6
  .label-blue {
7
7
  display: inline-block;
8
8
  padding-top: 0.16em;
9
- padding-right: 0.42em;
9
+ padding-right: 0.56em;
10
10
  padding-bottom: 0.16em;
11
- padding-left: 0.42em;
12
- margin-right: $sp-1;
13
- margin-left: $sp-1;
11
+ padding-left: 0.56em;
12
+ margin-right: $sp-2;
13
+ margin-left: $sp-2;
14
14
  color: $white;
15
15
  text-transform: uppercase;
16
16
  vertical-align: middle;
17
17
  background-color: $blue-100;
18
18
  @include fs-2;
19
+ border-radius: 12px;
19
20
  }
20
21
 
21
22
  .label-green {
@@ -19,17 +19,13 @@
19
19
  z-index: 100;
20
20
  display: flex;
21
21
  flex-wrap: wrap;
22
- padding-top: $gutter-spacing-sm;
23
- padding-bottom: $gutter-spacing-sm;
24
22
  background-color: $sidebar-color;
25
23
 
26
24
  @include mq(md) {
27
25
  flex-wrap: nowrap;
28
26
  position: absolute;
29
- width: $nav-width + 16px;
27
+ width: $nav-width-md;
30
28
  height: 100%;
31
- padding-top: $gutter-spacing * 2;
32
- padding-bottom: 0;
33
29
  flex-direction: column;
34
30
  border-right: $border $border-color;
35
31
  align-items: flex-end;
@@ -48,7 +44,6 @@
48
44
  left: 0;
49
45
  width: 100%;
50
46
  height: 100%;
51
- min-height: 600px;
52
47
  -webkit-overflow-scrolling: touch;
53
48
  overflow-x: hidden;
54
49
  overflow-y: scroll;
@@ -56,21 +51,16 @@
56
51
  }
57
52
 
58
53
  .main-content {
59
- padding-top: $gutter-spacing-sm;
60
- @include container;
61
-
62
54
  @include mq(md) {
63
55
  position: relative;
64
56
  max-width: $content-width;
65
- padding-top: $gutter-spacing;
66
- padding-bottom: $gutter-spacing;
67
- padding-left: $gutter-spacing * 1.5;
68
- margin-left: $nav-width;
57
+ margin-left: $nav-width-md;
69
58
  }
70
59
 
71
60
  @include mq(lg) {
72
- padding-left: $gutter-spacing;
73
- margin-left: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});
61
+ margin-left: calc(
62
+ (100% - #{$nav-width + $content-width}) / 2 + #{$nav-width}
63
+ );
74
64
  }
75
65
  }
76
66
 
@@ -78,48 +68,119 @@
78
68
  outline: none;
79
69
  }
80
70
 
71
+ .page {
72
+ @include container;
73
+ padding-top: $gutter-spacing-sm;
74
+ padding-bottom: $gutter-spacing-sm;
75
+
76
+ @include mq(md) {
77
+ padding-top: $gutter-spacing;
78
+ padding-bottom: $gutter-spacing;
79
+ }
80
+ }
81
+
81
82
  .page-header {
83
+ @include container;
84
+ display: none;
85
+ padding-top: $gutter-spacing-sm;
86
+ padding-bottom: $gutter-spacing-sm;
82
87
  background-color: $sidebar-color;
83
88
 
84
89
  @include mq(md) {
90
+ display: flex;
91
+ justify-content: flex-end;
92
+ height: $header-height;
85
93
  background-color: $body-background-color;
94
+ border-bottom: $border $border-color;
86
95
  }
87
96
 
88
- .main-content {
89
- padding-top: 0;
97
+ &.nav-open {
98
+ display: block;
90
99
 
91
100
  @include mq(md) {
92
101
  display: flex;
93
- justify-content: flex-end;
94
- height: 60px;
95
- padding-top: $sp-4;
96
- padding-bottom: $sp-4;
97
- border-bottom: $border $border-color;
98
102
  }
99
103
  }
100
104
  }
101
105
 
102
106
  .navigation,
103
- .site-title,
107
+ .site-header,
104
108
  .site-footer {
105
-
106
- @include container;
107
-
108
109
  width: 100%;
109
110
 
110
111
  @include mq(lg) {
111
- width: $nav-width + 32px;
112
+ width: $nav-width;
112
113
  }
113
114
  }
114
115
 
115
116
  .navigation {
117
+ @include container;
118
+
116
119
  @include mq(md) {
117
120
  padding-top: $sp-8;
121
+ padding-bottom: $gutter-spacing-sm;
118
122
  overflow-y: auto;
119
123
  flex: 1 1 auto;
120
124
  }
121
125
  }
122
126
 
127
+ .site-header {
128
+ display: flex;
129
+ min-height: $header-height;
130
+ align-items: center;
131
+
132
+ @include mq(md) {
133
+ z-index: 101;
134
+ height: $header-height;
135
+ max-height: $header-height;
136
+ border-bottom: $border $border-color;
137
+ }
138
+ }
139
+
140
+ .site-title {
141
+ @include container;
142
+ flex-grow: 1;
143
+ display: flex;
144
+ height: 100%;
145
+ align-items: center;
146
+ padding-top: $sp-3;
147
+ padding-bottom: $sp-3;
148
+ color: $body-heading-color;
149
+ @include fs-6;
150
+
151
+ @include mq(md) {
152
+ padding-top: $sp-2;
153
+ padding-bottom: $sp-2;
154
+ }
155
+ }
156
+
157
+ @if variable-exists(logo) {
158
+ .site-logo {
159
+ width: 100%;
160
+ height: 100%;
161
+ background-image: url($logo);
162
+ background-repeat: no-repeat;
163
+ background-position: left center;
164
+ background-size: contain;
165
+ }
166
+ }
167
+
168
+ .menu-button {
169
+ appearance: none;
170
+ display: flex;
171
+ height: 100%;
172
+ padding: $gutter-spacing-sm;
173
+ align-items: center;
174
+ color: $link-color;
175
+ text-transform: uppercase;
176
+ background: transparent;
177
+ border: 0;
178
+
179
+ @include mq(md) {
180
+ display: none;
181
+ }
182
+ }
183
+
123
184
  // stylelint-disable selector-max-type
124
185
 
125
186
  body {
@@ -135,15 +196,15 @@ body {
135
196
  // stylelint-enable selector-max-type
136
197
 
137
198
  .site-footer {
199
+ @include container;
138
200
  position: absolute;
139
201
  bottom: 0;
202
+ left: 0;
140
203
  padding-top: $sp-4;
141
204
  padding-bottom: $sp-4;
142
205
 
143
206
  @include mq(md) {
144
207
  position: static;
145
- align-self: flex-end;
146
208
  justify-self: end;
147
- background-color: $sidebar-color;
148
209
  }
149
210
  }
@@ -0,0 +1,19 @@
1
+ //
2
+ // Import external dependencies
3
+ //
4
+ @import "./vendor/normalize.scss/normalize.scss";
5
+
6
+ //
7
+ // Modules
8
+ //
9
+ @import "./base";
10
+ @import "./layout";
11
+ @import "./content";
12
+ @import "./navigation";
13
+ @import "./typography";
14
+ @import "./labels";
15
+ @import "./buttons";
16
+ @import "./search";
17
+ @import "./tables";
18
+ @import "./code";
19
+ @import "./utilities/utilities";
@@ -1,33 +1,11 @@
1
1
  //
2
2
  // Main nav, breadcrumb, etc...
3
3
  //
4
-
5
- .site-title {
6
- display: block;
7
- flex: 1 1 auto;
8
- color: $body-heading-color;
9
- background-color: $sidebar-color;
10
-
11
- @include mq(md) {
12
- position: absolute;
13
- top: 0;
14
- right: 0;
15
- z-index: 101;
16
- height: 60px;
17
- padding-top: $sp-4;
18
- border-bottom: $border $border-color;
19
- }
20
- }
21
-
22
4
  .navigation-list {
23
5
  padding: 0;
24
- margin-top: $sp-4;
6
+ margin-top: 0;
25
7
  margin-bottom: 0;
26
8
  list-style: none;
27
-
28
- @include mq(md) {
29
- margin-top: 0;
30
- }
31
9
  }
32
10
 
33
11
  .navigation-list-child-list {
@@ -90,8 +68,7 @@
90
68
 
91
69
  // Small screen nav
92
70
 
93
- .main-nav,
94
- .aux-nav {
71
+ .main-nav {
95
72
  display: none;
96
73
 
97
74
  &.nav-open {
@@ -102,13 +79,8 @@
102
79
  }
103
80
  }
104
81
 
105
- .navigation-list-toggle {
106
- position: absolute;
107
- right: $sp-4;
108
-
109
- @include mq(md) {
110
- display: none !important;
111
- }
82
+ .aux-nav {
83
+ align-self: center;
112
84
  }
113
85
 
114
86
  // Breadcrumb nav
@@ -5,60 +5,46 @@
5
5
  .search {
6
6
  position: relative;
7
7
  z-index: 99;
8
- display: none;
9
8
  flex-grow: 1;
10
- padding: $sp-2;
9
+ height: 100%;
11
10
  margin-bottom: $sp-3;
12
- background-color: $white;
13
- border-radius: 3px;
14
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 3px 10px rgba(0, 0, 0, 0.05);
15
11
 
16
12
  @include mq(md) {
17
- display: block;
18
- padding-top: $sp-1;
19
- padding-right: 0;
20
- padding-bottom: 0;
21
- padding-left: 0;
22
13
  margin-bottom: 0;
23
- background-color: transparent;
24
- box-shadow: none;
25
- }
26
-
27
- &.nav-open {
28
- display: block;
29
- }
30
- }
31
-
32
- .search-results-wrap {
33
- display: none;
34
-
35
- &.active {
36
- position: absolute;
37
- top: $sp-1;
38
- z-index: 100;
39
- display: block;
40
- width: 300px;
41
- margin-top: $gutter-spacing;
42
- background: lighten($body-background-color, 1%);
43
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07), 0 4px 14px rgba(0, 0, 0, 0.05);
44
14
  }
45
15
  }
46
16
 
47
17
  .search-input-wrap {
48
18
  display: flex;
49
- background-color: $body-background-color;
19
+ height: 100%;
20
+ padding: $sp-2;
21
+ background-color: $search-background-color;
22
+ border-radius: $border-radius;
23
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
24
+
25
+ @include mq(md) {
26
+ padding-top: 0;
27
+ padding-right: 0;
28
+ padding-bottom: 0;
29
+ padding-left: 0;
30
+ background-color: $body-background-color;
31
+ border-radius: 0;
32
+ box-shadow: none;
33
+ }
50
34
  }
51
35
 
52
36
  .search-input {
37
+ align-self: center;
53
38
  width: 100%;
54
39
  padding-top: $sp-1;
55
40
  padding-bottom: $sp-1;
56
- background-color: $body-background-color;
41
+ background-color: $search-background-color;
57
42
  border-top: 0;
58
43
  border-right: 0;
59
44
  border-bottom: 0;
60
45
  border-left: 0;
61
46
  order: 2;
47
+ @include fs-4;
62
48
 
63
49
  &:focus {
64
50
  outline: 0;
@@ -69,14 +55,9 @@
69
55
  }
70
56
  }
71
57
 
72
- @include fs-5;
73
-
74
- @include mq(sm) {
75
- @include fs-3;
76
- }
77
-
78
58
  @include mq(md) {
79
- @include fs-2;
59
+ background-color: $body-background-color;
60
+ @include fs-3;
80
61
  }
81
62
  }
82
63
 
@@ -87,12 +68,34 @@
87
68
  order: 1;
88
69
  }
89
70
 
71
+ .search-results-wrap {
72
+ position: absolute;
73
+ z-index: 100;
74
+ display: none;
75
+ width: 100%;
76
+ background: $search-background-color;
77
+ border-radius: $border-radius;
78
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
79
+
80
+ &.active {
81
+ display: block;
82
+ }
83
+
84
+ @include mq(md) {
85
+ width: $search-results-width;
86
+ }
87
+ }
88
+
90
89
  .search-results-list {
91
90
  padding-left: 0;
92
91
  margin-top: $sp-1;
93
92
  margin-bottom: $sp-1;
94
93
  list-style: none;
95
- @include fs-3;
94
+ @include fs-4;
95
+
96
+ @include mq(md) {
97
+ @include fs-3;
98
+ }
96
99
  }
97
100
 
98
101
  .search-results-list-item {
@@ -100,15 +103,65 @@
100
103
  margin: 0;
101
104
  }
102
105
 
103
- .search-results-link {
106
+ .search-result {
104
107
  display: block;
105
108
  padding-top: $sp-1;
106
109
  padding-right: $sp-3;
107
110
  padding-bottom: $sp-1;
108
111
  padding-left: $sp-3;
109
112
 
110
- &:hover {
111
- color: $body-heading-color;
112
- background-color: darken($body-background-color, 2%);
113
+ &:hover,
114
+ &.active {
115
+ background-color: $sidebar-color;
116
+ }
117
+
118
+ @include mq(md) {
119
+ padding-right: $sp-4;
120
+ padding-left: $sp-4;
113
121
  }
114
122
  }
123
+
124
+ .search-result-title {
125
+ display: block;
126
+ padding-top: $sp-2;
127
+ padding-right: $sp-4;
128
+ padding-bottom: $sp-2;
129
+
130
+ @include mq(sm) {
131
+ display: inline-block;
132
+ width: 40%;
133
+ word-wrap: break-word;
134
+ vertical-align: top;
135
+ }
136
+ }
137
+
138
+ .search-result-rel-url {
139
+ display: block;
140
+ overflow: hidden;
141
+ color: $search-result-preview-color;
142
+ text-overflow: ellipsis;
143
+ white-space: nowrap;
144
+ @include fs-1;
145
+ }
146
+
147
+ .search-result-preview {
148
+ display: block;
149
+ padding-top: $sp-2;
150
+ padding-bottom: $sp-2;
151
+ padding-left: $sp-4;
152
+ color: $search-result-preview-color;
153
+ border-left: $border;
154
+ border-left-color: $border-color;
155
+ @include fs-2;
156
+
157
+ @include mq(sm) {
158
+ display: inline-block;
159
+ width: 60%;
160
+ vertical-align: top;
161
+ }
162
+ }
163
+
164
+ .search-result-highlight {
165
+ font-weight: bold;
166
+ color: $link-color;
167
+ }