datalog-theme 0.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 (180) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +162 -0
  3. data/CITATION.cff +29 -0
  4. data/LICENSE +21 -0
  5. data/README.md +257 -0
  6. data/_data/academic.yml +217 -0
  7. data/_data/cdn-integrity.yml +51 -0
  8. data/_data/config/author.yml +121 -0
  9. data/_data/config/features.yml +262 -0
  10. data/_data/config/site.yml +42 -0
  11. data/_data/config/theme.yml +181 -0
  12. data/_data/datasets.yml +28 -0
  13. data/_data/i18n/en.yml +438 -0
  14. data/_data/i18n/es.yml +438 -0
  15. data/_data/i18n/pt.yml +438 -0
  16. data/_data/js_manifest.json +22 -0
  17. data/_data/js_meta.json +371 -0
  18. data/_data/navigation.yml +145 -0
  19. data/_data/projects.yml +41 -0
  20. data/_data/publications.yml +28 -0
  21. data/_data/social.yml +73 -0
  22. data/_data/visualizations.yml +51 -0
  23. data/_includes/analytics/dashboard.html +149 -0
  24. data/_includes/analytics.html +9 -0
  25. data/_includes/components/academic-dashboard.html +347 -0
  26. data/_includes/components/advanced-search.html +682 -0
  27. data/_includes/components/api-function.html +94 -0
  28. data/_includes/components/author-bio.html +166 -0
  29. data/_includes/components/bookmark-system.html +96 -0
  30. data/_includes/components/breadcrumbs.html +89 -0
  31. data/_includes/components/citation-tools.html +94 -0
  32. data/_includes/components/comments.html +244 -0
  33. data/_includes/components/content-provenance.html +43 -0
  34. data/_includes/components/content-recommendations.html +228 -0
  35. data/_includes/components/difficulty-badge.html +84 -0
  36. data/_includes/components/email-preferences.html +200 -0
  37. data/_includes/components/enhanced-code-block.html +212 -0
  38. data/_includes/components/enhanced-metadata.html +228 -0
  39. data/_includes/components/enhanced-toc.html +209 -0
  40. data/_includes/components/hero.html +15 -0
  41. data/_includes/components/language-switcher.html +396 -0
  42. data/_includes/components/math-fallback.html +19 -0
  43. data/_includes/components/navigation-enhancements.html +454 -0
  44. data/_includes/components/newsletter-signup.html +178 -0
  45. data/_includes/components/open-science-badges.html +16 -0
  46. data/_includes/components/package-install.html +194 -0
  47. data/_includes/components/performance-monitor.html +170 -0
  48. data/_includes/components/popular-posts.html +233 -0
  49. data/_includes/components/post-hero.html +62 -0
  50. data/_includes/components/reading-progress.html +133 -0
  51. data/_includes/components/reading-time.html +121 -0
  52. data/_includes/components/responsive-image.html +63 -0
  53. data/_includes/components/search-facets.html +307 -0
  54. data/_includes/components/series-navigation.html +124 -0
  55. data/_includes/components/social-proof.html +34 -0
  56. data/_includes/components/social-share.html +119 -0
  57. data/_includes/components/user-preferences.html +566 -0
  58. data/_includes/components/visualization-card.html +24 -0
  59. data/_includes/components/viz-table-fallback.html +19 -0
  60. data/_includes/critical-css/default.html +0 -0
  61. data/_includes/critical-css/home.html +0 -0
  62. data/_includes/critical-css/post.html +0 -0
  63. data/_includes/csp-meta.html +17 -0
  64. data/_includes/footer/nav-column.html +31 -0
  65. data/_includes/footer.html +76 -0
  66. data/_includes/head.html +337 -0
  67. data/_includes/header/navigation.html +48 -0
  68. data/_includes/header.html +70 -0
  69. data/_includes/helpers/array-to-sentence.html +21 -0
  70. data/_includes/helpers/date-format.html +16 -0
  71. data/_includes/helpers/link-with-icon.html +26 -0
  72. data/_includes/layouts/default/article.html +67 -0
  73. data/_includes/meta/language-attributes.html +25 -0
  74. data/_includes/meta/math-config.html +21 -0
  75. data/_includes/meta/schema.html +153 -0
  76. data/_includes/meta/scripts-loader.html +52 -0
  77. data/_includes/post/related-posts.html +63 -0
  78. data/_includes/scripts.html +72 -0
  79. data/_includes/skip-link.html +1 -0
  80. data/_includes/toc.html +2 -0
  81. data/_layouts/archive.html +282 -0
  82. data/_layouts/dataset.html +52 -0
  83. data/_layouts/default.html +33 -0
  84. data/_layouts/home.html +48 -0
  85. data/_layouts/notebook.html +173 -0
  86. data/_layouts/package.html +238 -0
  87. data/_layouts/page.html +16 -0
  88. data/_layouts/portfolio.html +41 -0
  89. data/_layouts/post-sidebar.html +183 -0
  90. data/_layouts/post.html +338 -0
  91. data/_layouts/project.html +252 -0
  92. data/_layouts/research.html +504 -0
  93. data/_plugins/analytics_dashboard.rb +315 -0
  94. data/_plugins/config_validator.rb +397 -0
  95. data/_plugins/csp_generator.rb +115 -0
  96. data/_plugins/datalog_bibliography.rb +19 -0
  97. data/_plugins/datalog_comments.rb +18 -0
  98. data/_plugins/datalog_slides.rb +20 -0
  99. data/_plugins/front_matter_compat.rb +109 -0
  100. data/_plugins/i18n.rb +160 -0
  101. data/_plugins/image_optimizer.rb +445 -0
  102. data/_plugins/math_preprocessor.rb +185 -0
  103. data/_plugins/notebook_converter.rb +1107 -0
  104. data/_plugins/plugin_loader.rb +185 -0
  105. data/_plugins/publications_generator.rb +234 -0
  106. data/_plugins/reading_time.rb +15 -0
  107. data/_plugins/search_normalizer.rb +74 -0
  108. data/_plugins/sri_filter.rb +18 -0
  109. data/_plugins/toc_filter.rb +68 -0
  110. data/_plugins/warning_filter.rb +3 -0
  111. data/_sass/_base.scss +142 -0
  112. data/_sass/_components.scss +2380 -0
  113. data/_sass/_header.scss +470 -0
  114. data/_sass/_interactive.scss +344 -0
  115. data/_sass/_layout.scss +1760 -0
  116. data/_sass/_mathematical.scss +368 -0
  117. data/_sass/_mixins.scss +99 -0
  118. data/_sass/_package-docs.scss +715 -0
  119. data/_sass/_phase1-enhancements.scss +721 -0
  120. data/_sass/_phase3-enhancements.scss +874 -0
  121. data/_sass/_phase4-enhancements.scss +1214 -0
  122. data/_sass/_phase5-enhancements.scss +414 -0
  123. data/_sass/_search.scss +654 -0
  124. data/_sass/_syntax-highlighting.scss +128 -0
  125. data/_sass/_theme.scss +79 -0
  126. data/_sass/_typography.scss +148 -0
  127. data/_sass/_utilities.scss +334 -0
  128. data/_sass/_variables.scss +153 -0
  129. data/_sass/_visualizations.scss +242 -0
  130. data/assets/css/main.scss +4 -0
  131. data/assets/img/20220607123041_detail.001.png +0 -0
  132. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  133. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  134. data/assets/img/favicons/apple-touch-icon.png +0 -0
  135. data/assets/img/favicons/favicon-16x16.png +0 -0
  136. data/assets/img/favicons/favicon-32x32.png +0 -0
  137. data/assets/img/favicons/favicon.ico +0 -0
  138. data/assets/img/favicons/site.webmanifest +21 -0
  139. data/assets/img/portfolio-placeholder.svg +20 -0
  140. data/assets/js/academic.js +262 -0
  141. data/assets/js/analytics-dashboard.js +382 -0
  142. data/assets/js/core/dark-mode.js +79 -0
  143. data/assets/js/core/github-cards.js +123 -0
  144. data/assets/js/core/language-filter.js +69 -0
  145. data/assets/js/core/navigation.js +184 -0
  146. data/assets/js/core/scroll-progress.js +45 -0
  147. data/assets/js/core/search-hotkeys.js +62 -0
  148. data/assets/js/core/skip-links.js +62 -0
  149. data/assets/js/loader.js +163 -0
  150. data/assets/js/main.js +23 -0
  151. data/assets/js/math.js +818 -0
  152. data/assets/js/notebook.js +158 -0
  153. data/assets/js/search/analytics.js +91 -0
  154. data/assets/js/search/app.js +271 -0
  155. data/assets/js/search/autocomplete.js +120 -0
  156. data/assets/js/search/engine.js +260 -0
  157. data/assets/js/search/filters.js +38 -0
  158. data/assets/js/search/render.js +217 -0
  159. data/assets/js/search/utils.js +99 -0
  160. data/assets/js/search.js +354 -0
  161. data/assets/js/visualizations.js +816 -0
  162. data/assets/publications/datalog-publications.bib +8 -0
  163. data/assets/publications/datalog-publications.ris +9 -0
  164. data/assets/publications/publications.bib +30 -0
  165. data/assets/templates/diogo-ribeiro-cv.md +31 -0
  166. data/assets/templates/diogo-ribeiro-cv.tex +32 -0
  167. data/bin/datalog +26 -0
  168. data/datalog-theme.gemspec +72 -0
  169. data/lib/datalog/cli.rb +563 -0
  170. data/lib/datalog/plugin_system/dependency_resolver.rb +223 -0
  171. data/lib/datalog/plugin_system.rb +237 -0
  172. data/lib/datalog/plugins/citations.rb +182 -0
  173. data/lib/datalog/plugins/comments.rb +183 -0
  174. data/lib/datalog/plugins/search.rb +45 -0
  175. data/lib/datalog/plugins/slides.rb +121 -0
  176. data/lib/datalog/theme/theme.rb +18 -0
  177. data/lib/datalog/theme/version.rb +7 -0
  178. data/lib/datalog/warning_filter.rb +28 -0
  179. data/lib/datalog-theme.rb +17 -0
  180. metadata +555 -0
@@ -0,0 +1,715 @@
1
+ // ============================================================================
2
+ // Package Documentation Styles
3
+ // ReadTheDocs / R Documentation inspired styling
4
+ // ============================================================================
5
+
6
+ @use 'sass:color';
7
+ @use 'mixins' as *;
8
+
9
+ // Color scheme - ReadTheDocs inspired
10
+ $pkg-primary: #2980b9;
11
+ $pkg-success: #27ae60;
12
+ $pkg-warning: #f39c12;
13
+ $pkg-danger: #e74c3c;
14
+ $pkg-sidebar-bg: #343131;
15
+ $pkg-sidebar-text: #b3b3b3;
16
+ $pkg-sidebar-link: #9b9b9b;
17
+ $pkg-sidebar-link-hover: #fff;
18
+ $pkg-code-bg: #f8f8f8;
19
+ $pkg-border: #e1e4e5;
20
+
21
+ // Package Docs Container
22
+ .package-docs {
23
+ min-height: 100vh;
24
+
25
+ &__header {
26
+ background: linear-gradient(135deg, $pkg-primary 0%, color.adjust($pkg-primary, $lightness: -10%) 100%);
27
+ color: white;
28
+ padding: 2rem 0;
29
+ border-bottom: 3px solid color.adjust($pkg-primary, $lightness: -15%);
30
+ }
31
+
32
+ &__header-content {
33
+ max-width: 1200px;
34
+ margin: 0 auto;
35
+ padding: 0 2rem;
36
+ }
37
+
38
+ &__title-area {
39
+ margin-bottom: 1rem;
40
+ }
41
+
42
+ &__title {
43
+ display: flex;
44
+ align-items: center;
45
+ gap: 0.75rem;
46
+ margin: 0 0 0.5rem;
47
+ font-size: 2.5rem;
48
+ font-weight: 600;
49
+ color: white;
50
+ }
51
+
52
+ &__icon {
53
+ font-size: 2rem;
54
+ }
55
+
56
+ &__tagline {
57
+ margin: 0;
58
+ font-size: 1.125rem;
59
+ opacity: 0.95;
60
+ }
61
+
62
+ &__meta {
63
+ display: flex;
64
+ gap: 1.5rem;
65
+ flex-wrap: wrap;
66
+ margin-bottom: 1.5rem;
67
+
68
+ > div {
69
+ display: flex;
70
+ align-items: center;
71
+ gap: 0.5rem;
72
+ font-size: 0.9375rem;
73
+ opacity: 0.9;
74
+
75
+ svg {
76
+ opacity: 0.8;
77
+ }
78
+ }
79
+ }
80
+
81
+ &__actions {
82
+ display: flex;
83
+ gap: 1rem;
84
+ flex-wrap: wrap;
85
+ }
86
+
87
+ &__action-btn {
88
+ display: inline-flex;
89
+ align-items: center;
90
+ gap: 0.5rem;
91
+ padding: 0.625rem 1.25rem;
92
+ background: rgba(255, 255, 255, 0.2);
93
+ border: 1px solid rgba(255, 255, 255, 0.3);
94
+ border-radius: 4px;
95
+ color: white;
96
+ text-decoration: none;
97
+ font-weight: 500;
98
+ transition: all 0.2s ease;
99
+
100
+ &:hover {
101
+ background: rgba(255, 255, 255, 0.3);
102
+ border-color: rgba(255, 255, 255, 0.5);
103
+ }
104
+ }
105
+
106
+ &__container {
107
+ display: flex;
108
+ max-width: 1400px;
109
+ margin: 0 auto;
110
+ }
111
+
112
+ // Sidebar
113
+ &__sidebar {
114
+ width: 300px;
115
+ flex-shrink: 0;
116
+ background: $pkg-sidebar-bg;
117
+ color: $pkg-sidebar-text;
118
+ min-height: calc(100vh - 200px);
119
+ position: sticky;
120
+ top: 0;
121
+ overflow-y: auto;
122
+ max-height: 100vh;
123
+ }
124
+
125
+ // Main Content
126
+ &__main {
127
+ flex: 1;
128
+ padding: 2rem 3rem;
129
+ background: white;
130
+ min-width: 0;
131
+ }
132
+
133
+ &__content {
134
+ max-width: 900px;
135
+
136
+ h1, h2, h3, h4, h5, h6 {
137
+ margin-top: 2rem;
138
+ margin-bottom: 1rem;
139
+ font-weight: 600;
140
+ line-height: 1.3;
141
+
142
+ &:first-child {
143
+ margin-top: 0;
144
+ }
145
+
146
+ code {
147
+ background: $pkg-code-bg;
148
+ padding: 0.125rem 0.375rem;
149
+ border-radius: 3px;
150
+ font-size: 0.9em;
151
+ }
152
+ }
153
+
154
+ h2 {
155
+ font-size: 1.875rem;
156
+ padding-bottom: 0.5rem;
157
+ border-bottom: 1px solid $pkg-border;
158
+ }
159
+
160
+ h3 {
161
+ font-size: 1.5rem;
162
+ }
163
+
164
+ h4 {
165
+ font-size: 1.25rem;
166
+ }
167
+
168
+ p {
169
+ line-height: 1.7;
170
+ margin-bottom: 1rem;
171
+ }
172
+
173
+ code {
174
+ background: $pkg-code-bg;
175
+ padding: 0.125rem 0.375rem;
176
+ border-radius: 3px;
177
+ font-size: 0.9em;
178
+ color: #c7254e;
179
+ }
180
+
181
+ pre {
182
+ background: #f8f8f8;
183
+ border: 1px solid $pkg-border;
184
+ border-radius: 4px;
185
+ padding: 1rem;
186
+ overflow-x: auto;
187
+ margin: 1rem 0;
188
+
189
+ code {
190
+ background: none;
191
+ padding: 0;
192
+ color: inherit;
193
+ font-size: 0.875rem;
194
+ line-height: 1.6;
195
+ }
196
+ }
197
+
198
+ .admonition {
199
+ padding: 1rem;
200
+ margin: 1rem 0;
201
+ border-left: 4px solid;
202
+ border-radius: 4px;
203
+
204
+ &.note {
205
+ background: #e7f2fa;
206
+ border-color: $pkg-primary;
207
+ }
208
+
209
+ &.tip {
210
+ background: #dbf5e8;
211
+ border-color: $pkg-success;
212
+ }
213
+
214
+ &.warning {
215
+ background: #fff3cd;
216
+ border-color: $pkg-warning;
217
+ }
218
+
219
+ &.danger {
220
+ background: #f8d7da;
221
+ border-color: $pkg-danger;
222
+ }
223
+
224
+ .admonition-title {
225
+ font-weight: 600;
226
+ margin-bottom: 0.5rem;
227
+ }
228
+ }
229
+ }
230
+
231
+ &__footer-nav {
232
+ display: flex;
233
+ justify-content: space-between;
234
+ gap: 2rem;
235
+ margin-top: 3rem;
236
+ padding-top: 2rem;
237
+ border-top: 1px solid $pkg-border;
238
+ }
239
+
240
+ &__footer-nav-link {
241
+ display: flex;
242
+ align-items: center;
243
+ gap: 1rem;
244
+ padding: 1rem;
245
+ background: #f8f9fa;
246
+ border: 1px solid $pkg-border;
247
+ border-radius: 6px;
248
+ text-decoration: none;
249
+ color: inherit;
250
+ transition: all 0.2s ease;
251
+ flex: 1;
252
+
253
+ &:hover {
254
+ background: #e9ecef;
255
+ border-color: $pkg-primary;
256
+ }
257
+
258
+ &--prev {
259
+ justify-content: flex-start;
260
+ }
261
+
262
+ &--next {
263
+ justify-content: flex-end;
264
+ text-align: right;
265
+ }
266
+
267
+ div {
268
+ display: flex;
269
+ flex-direction: column;
270
+ gap: 0.25rem;
271
+ }
272
+ }
273
+
274
+ &__footer-nav-label {
275
+ font-size: 0.8125rem;
276
+ color: #6c757d;
277
+ text-transform: uppercase;
278
+ letter-spacing: 0.05em;
279
+ }
280
+
281
+ &__footer-nav-title {
282
+ font-weight: 600;
283
+ color: #212529;
284
+ }
285
+ }
286
+
287
+ // Package Navigation
288
+ .package-nav {
289
+ padding: 1.5rem 0;
290
+
291
+ &__section {
292
+ margin-bottom: 1.5rem;
293
+ padding: 0 1.5rem;
294
+
295
+ &--versions {
296
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
297
+ padding-top: 1.5rem;
298
+ }
299
+ }
300
+
301
+ &__section-title {
302
+ margin: 0 0 0.75rem;
303
+ font-size: 0.875rem;
304
+ font-weight: 600;
305
+ text-transform: uppercase;
306
+ letter-spacing: 0.05em;
307
+ color: rgba(255, 255, 255, 0.6);
308
+ }
309
+
310
+ &__list {
311
+ list-style: none;
312
+ padding: 0;
313
+ margin: 0;
314
+ }
315
+
316
+ &__item {
317
+ margin-bottom: 0.25rem;
318
+ }
319
+
320
+ &__link {
321
+ display: block;
322
+ padding: 0.5rem 0.75rem;
323
+ color: $pkg-sidebar-link;
324
+ text-decoration: none;
325
+ border-radius: 3px;
326
+ font-size: 0.9375rem;
327
+ transition: all 0.2s ease;
328
+
329
+ &:hover {
330
+ color: $pkg-sidebar-link-hover;
331
+ background: rgba(255, 255, 255, 0.05);
332
+ }
333
+
334
+ &--active {
335
+ color: white;
336
+ background: rgba(255, 255, 255, 0.1);
337
+ font-weight: 500;
338
+ }
339
+ }
340
+
341
+ &__version-select {
342
+ width: 100%;
343
+ padding: 0.5rem;
344
+ background: rgba(255, 255, 255, 0.1);
345
+ border: 1px solid rgba(255, 255, 255, 0.2);
346
+ border-radius: 4px;
347
+ color: white;
348
+ cursor: pointer;
349
+ font-size: 0.9375rem;
350
+
351
+ &:hover {
352
+ background: rgba(255, 255, 255, 0.15);
353
+ }
354
+
355
+ &:focus {
356
+ outline: none;
357
+ border-color: rgba(255, 255, 255, 0.4);
358
+ }
359
+
360
+ option {
361
+ background: $pkg-sidebar-bg;
362
+ color: white;
363
+ }
364
+ }
365
+ }
366
+
367
+ // Package Installation Component
368
+ .package-install {
369
+ margin: 2rem 0;
370
+ padding: 1.5rem;
371
+ background: #f8f9fa;
372
+ border: 1px solid $pkg-border;
373
+ border-radius: 6px;
374
+
375
+ &__title {
376
+ margin-top: 0;
377
+ margin-bottom: 1rem;
378
+ font-size: 1.5rem;
379
+ }
380
+
381
+ &__tab-buttons {
382
+ display: flex;
383
+ gap: 0.5rem;
384
+ margin-bottom: 1rem;
385
+ border-bottom: 2px solid $pkg-border;
386
+ }
387
+
388
+ &__tab-btn {
389
+ padding: 0.625rem 1.25rem;
390
+ background: transparent;
391
+ border: none;
392
+ border-bottom: 2px solid transparent;
393
+ margin-bottom: -2px;
394
+ cursor: pointer;
395
+ font-weight: 500;
396
+ color: #6c757d;
397
+ transition: all 0.2s ease;
398
+
399
+ &:hover {
400
+ color: $pkg-primary;
401
+ }
402
+
403
+ &--active {
404
+ color: $pkg-primary;
405
+ border-bottom-color: $pkg-primary;
406
+ }
407
+ }
408
+
409
+ &__code-block {
410
+ position: relative;
411
+ background: #2d2d2d;
412
+ border-radius: 6px;
413
+ overflow: hidden;
414
+ }
415
+
416
+ &__code-header {
417
+ display: flex;
418
+ justify-content: space-between;
419
+ align-items: center;
420
+ padding: 0.75rem 1rem;
421
+ background: #1e1e1e;
422
+ border-bottom: 1px solid #3d3d3d;
423
+ }
424
+
425
+ &__code-label {
426
+ font-size: 0.8125rem;
427
+ color: #9d9d9d;
428
+ font-weight: 500;
429
+ }
430
+
431
+ &__copy-btn {
432
+ display: flex;
433
+ align-items: center;
434
+ gap: 0.375rem;
435
+ padding: 0.375rem 0.75rem;
436
+ background: rgba(255, 255, 255, 0.1);
437
+ border: 1px solid rgba(255, 255, 255, 0.2);
438
+ border-radius: 4px;
439
+ color: #fff;
440
+ font-size: 0.8125rem;
441
+ cursor: pointer;
442
+ transition: all 0.2s ease;
443
+
444
+ &:hover {
445
+ background: rgba(255, 255, 255, 0.15);
446
+ }
447
+
448
+ &--success {
449
+ background: $pkg-success;
450
+ border-color: $pkg-success;
451
+ }
452
+ }
453
+
454
+ &__code-block pre {
455
+ margin: 0;
456
+ padding: 1rem;
457
+ background: transparent;
458
+ border: none;
459
+
460
+ code {
461
+ color: #e6e6e6;
462
+ font-size: 0.875rem;
463
+ line-height: 1.6;
464
+ }
465
+ }
466
+ }
467
+
468
+ // API Function Documentation
469
+ .api-function {
470
+ margin: 2rem 0;
471
+ padding: 1.5rem;
472
+ background: #f8f9fa;
473
+ border: 1px solid $pkg-border;
474
+ border-left: 4px solid $pkg-primary;
475
+ border-radius: 4px;
476
+
477
+ &__header {
478
+ margin-bottom: 1rem;
479
+ }
480
+
481
+ &__name {
482
+ margin: 0 0 0.75rem;
483
+ font-size: 1.5rem;
484
+ color: $pkg-primary;
485
+
486
+ code {
487
+ background: none;
488
+ color: inherit;
489
+ font-size: inherit;
490
+ }
491
+ }
492
+
493
+ &__signature {
494
+ background: #2d2d2d;
495
+ padding: 1rem;
496
+ border-radius: 4px;
497
+ margin: 0;
498
+
499
+ code {
500
+ color: #e6e6e6;
501
+ font-size: 0.9375rem;
502
+ }
503
+ }
504
+
505
+ &__description {
506
+ margin: 1rem 0;
507
+ line-height: 1.6;
508
+
509
+ p:last-child {
510
+ margin-bottom: 0;
511
+ }
512
+ }
513
+
514
+ &__section {
515
+ margin-top: 1.5rem;
516
+ }
517
+
518
+ &__section-title {
519
+ margin: 0 0 0.75rem;
520
+ font-size: 1.125rem;
521
+ font-weight: 600;
522
+ color: #343a40;
523
+ }
524
+
525
+ &__params {
526
+ margin: 0;
527
+ }
528
+
529
+ &__param {
530
+ margin-bottom: 1.25rem;
531
+
532
+ &:last-child {
533
+ margin-bottom: 0;
534
+ }
535
+ }
536
+
537
+ &__param-name {
538
+ display: flex;
539
+ align-items: center;
540
+ flex-wrap: wrap;
541
+ gap: 0.5rem;
542
+ margin: 0 0 0.5rem;
543
+ font-weight: 600;
544
+
545
+ code {
546
+ font-size: 1em;
547
+ font-weight: 600;
548
+ }
549
+ }
550
+
551
+ &__param-type {
552
+ font-size: 0.875rem;
553
+ color: #6c757d;
554
+ font-style: italic;
555
+ font-weight: normal;
556
+ }
557
+
558
+ &__param-default {
559
+ font-size: 0.875rem;
560
+ color: $pkg-success;
561
+ font-weight: normal;
562
+ }
563
+
564
+ &__param-badge {
565
+ display: inline-block;
566
+ padding: 0.125rem 0.5rem;
567
+ background: #e9ecef;
568
+ border-radius: 3px;
569
+ font-size: 0.75rem;
570
+ font-weight: 500;
571
+ text-transform: uppercase;
572
+ color: #6c757d;
573
+ }
574
+
575
+ &__param-desc {
576
+ margin: 0;
577
+ padding-left: 1rem;
578
+ color: #495057;
579
+ line-height: 1.6;
580
+
581
+ p:last-child {
582
+ margin-bottom: 0;
583
+ }
584
+ }
585
+
586
+ &__returns {
587
+ padding: 1rem;
588
+ background: white;
589
+ border-radius: 4px;
590
+ }
591
+
592
+ &__return-type {
593
+ display: inline-block;
594
+ padding: 0.25rem 0.625rem;
595
+ background: #e7f2fa;
596
+ border-radius: 3px;
597
+ color: $pkg-primary;
598
+ font-weight: 600;
599
+ font-size: 0.9375rem;
600
+ margin-bottom: 0.5rem;
601
+ }
602
+
603
+ &__examples {
604
+ pre {
605
+ background: #2d2d2d;
606
+ border: none;
607
+
608
+ code {
609
+ color: #e6e6e6;
610
+ }
611
+ }
612
+ }
613
+
614
+ &__see-also {
615
+ list-style: none;
616
+ padding: 0;
617
+ margin: 0;
618
+ display: flex;
619
+ flex-wrap: wrap;
620
+ gap: 0.75rem;
621
+
622
+ li {
623
+ margin: 0;
624
+ }
625
+
626
+ a {
627
+ color: $pkg-primary;
628
+ text-decoration: none;
629
+
630
+ &:hover {
631
+ text-decoration: underline;
632
+ }
633
+ }
634
+ }
635
+ }
636
+
637
+ // Responsive
638
+ @include respond-below(lg) {
639
+ .package-docs {
640
+ &__container {
641
+ flex-direction: column;
642
+ }
643
+
644
+ &__sidebar {
645
+ width: 100%;
646
+ position: static;
647
+ max-height: none;
648
+ }
649
+
650
+ &__main {
651
+ padding: 1.5rem;
652
+ }
653
+ }
654
+
655
+ .package-nav {
656
+ max-height: 400px;
657
+ overflow-y: auto;
658
+ }
659
+ }
660
+
661
+ @include respond-below(md) {
662
+ .package-docs {
663
+ &__header-content {
664
+ padding: 0 1rem;
665
+ }
666
+
667
+ &__title {
668
+ font-size: 2rem;
669
+ }
670
+
671
+ &__main {
672
+ padding: 1rem;
673
+ }
674
+
675
+ &__footer-nav {
676
+ flex-direction: column;
677
+ }
678
+ }
679
+
680
+ .package-install {
681
+ padding: 1rem;
682
+
683
+ &__tab-buttons {
684
+ overflow-x: auto;
685
+ flex-wrap: nowrap;
686
+ }
687
+ }
688
+ }
689
+
690
+ // Print
691
+ @media print {
692
+ .package-docs {
693
+ &__header {
694
+ background: none;
695
+ color: black;
696
+ border-bottom: 2px solid black;
697
+ }
698
+
699
+ &__sidebar {
700
+ display: none;
701
+ }
702
+
703
+ &__action-btn {
704
+ display: none;
705
+ }
706
+
707
+ &__footer-nav {
708
+ display: none;
709
+ }
710
+ }
711
+
712
+ .package-install__copy-btn {
713
+ display: none;
714
+ }
715
+ }