@docmd/themes 0.4.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.
@@ -0,0 +1,617 @@
1
+ /* Source file from the docmd project — https://github.com/docmd-io/docmd */
2
+
3
+ /*
4
+ * Sky Theme
5
+ * Inspired by the clear blue sky
6
+ * Features: Blue tones, clean lines, subtle gradients
7
+ */
8
+
9
+ :root {
10
+ --sky-primary: #0097ff
11
+ }
12
+
13
+ :root[data-theme=light] {
14
+ --font-family-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
15
+ --font-family-mono: 'JetBrains Mono', SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
16
+ --accent-color: #0097ff;
17
+ --sky-primary: #0097ff;
18
+ --sky-primary-light: #e5f4ff;
19
+ --sky-primary-dark: #0078cc;
20
+ --sky-text: #1a1f36;
21
+ --sky-text-light: #4a5568;
22
+ --sky-text-lightest: #718096;
23
+ --sky-background: #fff;
24
+ --sky-background-alt: #f9fafb;
25
+ --sky-border: #e2e8f0;
26
+ --sky-border-light: #edf2f7;
27
+ --bg-color: var(--sky-background);
28
+ --text-color: var(--sky-text);
29
+ --sidebar-bg: #f7fafc;
30
+ --sidebar-text: var(--sky-text-light);
31
+ --sidebar-link-active-bg: #e5f4ff;
32
+ --sidebar-link-active-text: var(--sky-primary);
33
+ --link-color: var(--sky-primary);
34
+ --border-color: var(--sky-border);
35
+ --code-bg: var(--sky-primary-light);
36
+ --code-text: var(--sky-primary-dark);
37
+ --header-bg: var(--sky-background);
38
+ --header-border: var(--sky-border);
39
+ --shadow-sm: 0 1px 2px 0 #0000000d;
40
+ --shadow-md: 0 4px 6px -1px #0000001a 0 2px 4px -1px #0000000f;
41
+ --shadow-lg: 0 10px 15px -3px #0000001a 0 4px 6px -2px #0000000d;
42
+ --image-border-color: var(--sky-border);
43
+ --image-shadow: var(--shadow-md);
44
+ --image-caption-bg: var(--sky-background-alt);
45
+ --image-caption-text: var(--sky-text-light);
46
+ --image-hover-transform: translateY(-2px);
47
+ --image-hover-shadow: var(--shadow-lg);
48
+ --image-border-radius: 8px;
49
+ --image-transition: all .3s ease
50
+ }
51
+
52
+ :root[data-theme=dark] {
53
+ --sky-primary: #3b82f6;
54
+ --sky-primary-light: #1e293b;
55
+ --sky-primary-dark: #60a5fa;
56
+ --sky-text: #f1f5f9;
57
+ --sky-text-light: #cbd5e1;
58
+ --sky-text-lightest: #94a3b8;
59
+ --sky-background: #0f172a;
60
+ --sky-background-alt: #1e293b;
61
+ --sky-border: #334155;
62
+ --sky-border-light: #1e293b;
63
+ --bg-color: var(--sky-background);
64
+ --text-color: var(--sky-text);
65
+ --sidebar-bg: #0f172a;
66
+ --sidebar-text: var(--sky-text-light);
67
+ --sidebar-link-active-bg: #1e293b;
68
+ --sidebar-link-active-text: var(--sky-primary);
69
+ --link-color: var(--sky-primary);
70
+ --border-color: var(--sky-border);
71
+ --code-bg: var(--sky-primary-light);
72
+ --code-text: var(--sky-text);
73
+ --header-bg: var(--sky-background);
74
+ --header-border: var(--sky-border);
75
+ --shadow-sm: 0 1px 2px 0 #0000004d;
76
+ --shadow-md: 0 4px 6px -1px #0000004d 0 2px 4px -1px #0003;
77
+ --shadow-lg: 0 10px 15px -3px #0000004d 0 4px 6px -2px #0003;
78
+ --image-border-color: var(--sky-border);
79
+ --image-shadow: 0 4px 8px #00000080;
80
+ --image-caption-bg: var(--sky-background-alt);
81
+ --image-caption-text: var(--sky-text-light);
82
+ --image-hover-transform: translateY(-2px);
83
+ --image-hover-shadow: 0 6px 12px #000000b3;
84
+ --image-border-radius: 8px;
85
+ --image-transition: all .3s ease
86
+ }
87
+
88
+ body {
89
+ font-feature-settings: salt, ss01, ss02;
90
+ letter-spacing: -.01em
91
+ }
92
+
93
+ h1,
94
+ h2,
95
+ h3,
96
+ h4,
97
+ h5,
98
+ h6 {
99
+ font-weight: 600;
100
+ line-height: 1.3;
101
+ margin-top: 2em;
102
+ margin-bottom: .5em;
103
+ color: var(--sky-text)
104
+ }
105
+
106
+ .sidebar nav li a.active,
107
+ .sidebar nav li a:hover {
108
+ background-color: var(--sidebar-link-active-bg);
109
+ color: var(--sidebar-link-active-text)
110
+ }
111
+
112
+ pre,
113
+ table {
114
+ margin: 1.5em 0;
115
+ border-radius: 8px;
116
+ box-shadow: var(--shadow-sm)
117
+ }
118
+
119
+ td,
120
+ th {
121
+ padding: .75rem 1rem
122
+ }
123
+
124
+ th,
125
+ tr:hover {
126
+ background-color: var(--sky-background-alt)
127
+ }
128
+
129
+ .callout,
130
+ .steps {
131
+ position: relative
132
+ }
133
+
134
+ .card,
135
+ figure,
136
+ table {
137
+ overflow: hidden
138
+ }
139
+
140
+ .docmd-container,
141
+ .sidebar,
142
+ figure,
143
+ pre,
144
+ table {
145
+ box-shadow: var(--shadow-sm)
146
+ }
147
+
148
+ .card .card-content>:last-child,
149
+ figure img {
150
+ margin-bottom: 0
151
+ }
152
+
153
+ .card .card-content>:first-child,
154
+ h1 {
155
+ margin-top: 0
156
+ }
157
+
158
+ h1 {
159
+ font-size: 2.25rem;
160
+ font-weight: 700
161
+ }
162
+
163
+ h2 {
164
+ font-size: 1.75rem;
165
+ border-bottom: 1px solid var(--sky-border-light);
166
+ padding-bottom: .5rem
167
+ }
168
+
169
+ h3 {
170
+ font-size: 1.5rem
171
+ }
172
+
173
+ h4 {
174
+ font-size: 1.25rem
175
+ }
176
+
177
+ a {
178
+ color: var(--link-color);
179
+ text-decoration: none;
180
+ transition: color .2s
181
+ }
182
+
183
+ a:hover {
184
+ text-decoration: underline
185
+ }
186
+
187
+ p {
188
+ margin: .5em 0;
189
+ padding: .5em 0;
190
+ line-height: 1.7
191
+ }
192
+
193
+ .sidebar nav li a {
194
+ border-radius: 6px;
195
+ margin-bottom: 2px;
196
+ transition: .2s
197
+ }
198
+
199
+ .sidebar nav li a.active {
200
+ font-weight: 500
201
+ }
202
+
203
+ .content-area {
204
+ padding: 2.5rem 5%
205
+ }
206
+
207
+ pre {
208
+ background-color: var(--code-bg);
209
+ padding: 1.25em
210
+ }
211
+
212
+ code {
213
+ font-size: .9em;
214
+ border-radius: 4px;
215
+ padding: .2em .4em
216
+ }
217
+
218
+ table {
219
+ width: 100%;
220
+ border-collapse: separate;
221
+ border-spacing: 0
222
+ }
223
+
224
+ th {
225
+ text-align: left;
226
+ font-weight: 600
227
+ }
228
+
229
+ td {
230
+ border-top: 1px solid var(--sky-border-light)
231
+ }
232
+
233
+ .docmd-container {
234
+ padding: .5rem 1.5rem;
235
+ margin: 1.75rem 0;
236
+ border-radius: 10px;
237
+ border: 1px solid var(--sky-border-light);
238
+ background-color: var(--sky-background)
239
+ }
240
+
241
+ .callout,
242
+ .card {
243
+ background-color: var(--card-bg)
244
+ }
245
+
246
+ .callout {
247
+ border: none;
248
+ border-left: 5px solid
249
+ }
250
+
251
+ .callout-title {
252
+ font-weight: 600;
253
+ margin-bottom: .75em;
254
+ display: flex;
255
+ align-items: center
256
+ }
257
+
258
+ .callout-title::before {
259
+ margin-right: .5rem;
260
+ font-size: 1.1em
261
+ }
262
+
263
+ .callout-info {
264
+ border-left-color: var(--sky-primary)
265
+ }
266
+
267
+ .callout-info .callout-title::before {
268
+ content: "ℹ️"
269
+ }
270
+
271
+ .callout-warning {
272
+ border-left-color: #f59e0b
273
+ }
274
+
275
+ .callout-warning .callout-title::before {
276
+ content: "⚠️"
277
+ }
278
+
279
+ .callout-success,
280
+ .callout-tip {
281
+ border-left-color: #10b981
282
+ }
283
+
284
+ .callout-tip .callout-title::before {
285
+ content: "💡"
286
+ }
287
+
288
+ .callout-danger {
289
+ border-left-color: #ef4444
290
+ }
291
+
292
+ .callout-danger .callout-title::before {
293
+ content: "🚨"
294
+ }
295
+
296
+ .callout-success .callout-title::before {
297
+ content: "✅"
298
+ }
299
+
300
+ .card {
301
+ border: 1px solid var(--sky-border);
302
+ box-shadow: var(--text-color);
303
+ transition: transform .2s, box-shadow .2s;
304
+ display: flex;
305
+ flex-direction: column
306
+ }
307
+
308
+ .card:hover {
309
+ transform: translateY(-2px);
310
+ box-shadow: var(--shadow-lg)
311
+ }
312
+
313
+ .card .card-title {
314
+ padding: .5rem 1.5rem 1rem;
315
+ border-bottom: 1px solid var(--sky-border);
316
+ font-weight: 600;
317
+ margin-top: 0
318
+ }
319
+
320
+ .card .card-content {
321
+ flex: 1;
322
+ padding: .25rem
323
+ }
324
+
325
+ .steps {
326
+ counter-reset: step-counter;
327
+ border: none;
328
+ background-color: transparent;
329
+ box-shadow: none;
330
+ padding: 0;
331
+ margin-left: 1rem
332
+ }
333
+
334
+ .steps::before {
335
+ content: '';
336
+ position: absolute;
337
+ top: 0;
338
+ bottom: 0 !important;
339
+ left: 1.5rem !important;
340
+ width: 3px !important;
341
+ background-color: var(--sky-border);
342
+ transform: translateX(-50%);
343
+ z-index: 0
344
+ }
345
+
346
+ .steps .step {
347
+ position: relative;
348
+ padding: .5rem 2.5em;
349
+ border-radius: 10px;
350
+ margin-bottom: 1em;
351
+ display: block;
352
+ background-color: var(--card-bg)
353
+ }
354
+
355
+ .steps .step:last-child {
356
+ padding-bottom: 0
357
+ }
358
+
359
+ .steps h4,
360
+ .steps ol li strong:first-child,
361
+ .steps ol li:first-child {
362
+ position: relative;
363
+ counter-increment: step-counter;
364
+ margin-bottom: 1rem;
365
+ font-weight: 600;
366
+ font-size: 1.1rem;
367
+ display: block
368
+ }
369
+
370
+ .steps h4::before,
371
+ .steps ol li::before {
372
+ content: counter(list-counter) !important;
373
+ position: absolute;
374
+ left: -2.55rem;
375
+ top: .5rem;
376
+ width: 2rem;
377
+ height: 2rem;
378
+ background-color: var(--sky-primary);
379
+ color: #fff !important;
380
+ border-radius: 50%;
381
+ display: flex;
382
+ align-items: center;
383
+ justify-content: center;
384
+ font-size: 1rem !important;
385
+ font-weight: 500 !important;
386
+ z-index: 1
387
+ }
388
+
389
+ .steps .step h4,
390
+ .steps .step ol,
391
+ .steps .step>div,
392
+ .steps .step>p,
393
+ .steps .step>pre,
394
+ .steps ol,
395
+ .steps ol li {
396
+ display: block
397
+ }
398
+
399
+ .step-content,
400
+ .step-content>div,
401
+ .step-content>p,
402
+ .step-content>pre {
403
+ display: block;
404
+ margin-top: .5rem;
405
+ margin-bottom: 1rem
406
+ }
407
+
408
+ .steps ol+*,
409
+ .steps pre {
410
+ margin-top: 1rem
411
+ }
412
+
413
+ .steps ol {
414
+ list-style: none;
415
+ padding-left: 0;
416
+ margin-left: 0
417
+ }
418
+
419
+ .steps ol li {
420
+ position: relative;
421
+ margin-bottom: 1rem
422
+ }
423
+
424
+ .steps .step h4 {
425
+ font-weight: 600;
426
+ margin-bottom: 1rem
427
+ }
428
+
429
+ .steps .step ol {
430
+ counter-reset: none;
431
+ list-style: decimal;
432
+ padding-left: 1.5rem;
433
+ margin-top: .5rem
434
+ }
435
+
436
+ .steps .step ol li {
437
+ padding-left: 0;
438
+ margin-bottom: .5rem;
439
+ display: list-item
440
+ }
441
+
442
+ .steps .step ol li::before {
443
+ display: none
444
+ }
445
+
446
+ .steps pre {
447
+ margin-bottom: 1rem
448
+ }
449
+
450
+ .button,
451
+ button {
452
+ padding: .5rem 1rem;
453
+ background-color: var(--sky-primary);
454
+ color: #fff;
455
+ border: none;
456
+ border-radius: 6px;
457
+ font-weight: 500;
458
+ cursor: pointer;
459
+ transition: background-color .2s
460
+ }
461
+
462
+ .image-gallery figure,
463
+ figure,
464
+ img {
465
+ transition: var(--image-transition)
466
+ }
467
+
468
+ .button:hover,
469
+ button:hover {
470
+ background-color: var(--sky-primary-dark)
471
+ }
472
+
473
+ .docmd-search-trigger,
474
+ .theme-toggle-button {
475
+ background-color: var(--sky-background-alt);
476
+ border-color: var(--sky-border-light);
477
+ border-radius: 6px;
478
+ transition: .2s
479
+ }
480
+
481
+ .docmd-search-trigger:hover,
482
+ .theme-toggle-button:hover {
483
+ background-color: var(--sky-primary-light)
484
+ }
485
+
486
+ img {
487
+ border-radius: var(--image-border-radius)
488
+ }
489
+
490
+ img.with-border {
491
+ border: 1px solid var(--image-border-color);
492
+ padding: 8px;
493
+ background-color: var(--bg-color)
494
+ }
495
+
496
+ img.with-shadow {
497
+ box-shadow: var(--image-shadow)
498
+ }
499
+
500
+ img.with-shadow:hover {
501
+ box-shadow: var(--image-hover-shadow)
502
+ }
503
+
504
+ figure {
505
+ border-radius: var(--image-border-radius)
506
+ }
507
+
508
+ figure:hover {
509
+ box-shadow: var(--shadow-md)
510
+ }
511
+
512
+ figure img {
513
+ border-radius: var(--image-border-radius) var(--image-border-radius) 0 0
514
+ }
515
+
516
+ figcaption {
517
+ background-color: var(--image-caption-bg);
518
+ color: var(--image-caption-text);
519
+ padding: .75rem 1rem;
520
+ font-size: .9rem;
521
+ font-weight: 500
522
+ }
523
+
524
+ .image-gallery {
525
+ display: grid;
526
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
527
+ gap: 1.5rem;
528
+ margin: 2rem 0
529
+ }
530
+
531
+ .image-gallery figure {
532
+ height: 100%;
533
+ display: flex;
534
+ flex-direction: column;
535
+ margin: 0
536
+ }
537
+
538
+ .image-gallery figure:hover {
539
+ transform: var(--image-hover-transform)
540
+ }
541
+
542
+ .image-gallery img {
543
+ height: 200px;
544
+ width: 100%;
545
+ object-fit: cover;
546
+ margin: 0
547
+ }
548
+
549
+ .image-gallery figcaption {
550
+ flex: 1;
551
+ display: flex;
552
+ align-items: center;
553
+ justify-content: center;
554
+ text-align: center
555
+ }
556
+
557
+ .image-gallery.zoom img {
558
+ transition: transform .5s
559
+ }
560
+
561
+ .image-gallery.zoom figure:hover img {
562
+ transform: scale(1.05)
563
+ }
564
+
565
+ img.lightbox {
566
+ cursor: zoom-in
567
+ }
568
+
569
+ img.framed {
570
+ border: 8px solid #fff;
571
+ box-shadow: 0 0 0 1px var(--image-border-color), var(--image-shadow);
572
+ box-sizing: border-box
573
+ }
574
+
575
+ figure.polaroid {
576
+ background: #fff;
577
+ padding: 10px 10px 30px;
578
+ box-shadow: var(--shadow-md)
579
+ }
580
+
581
+ figure.polaroid img {
582
+ border-radius: 0;
583
+ box-shadow: none
584
+ }
585
+
586
+ figure.polaroid figcaption {
587
+ background: #fff;
588
+ color: var(--sky-text);
589
+ font-family: Caveat, cursive, var(--font-family-sans);
590
+ font-size: 1.1rem
591
+ }
592
+
593
+ @media (max-width:768px) {
594
+ .content-area {
595
+ padding: 1.5rem 1rem
596
+ }
597
+
598
+ h1 {
599
+ font-size: 1.75rem
600
+ }
601
+
602
+ h2 {
603
+ font-size: 1.5rem
604
+ }
605
+
606
+ h3 {
607
+ font-size: 1.25rem
608
+ }
609
+
610
+ .image-gallery {
611
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))
612
+ }
613
+
614
+ .image-gallery img {
615
+ height: 150px
616
+ }
617
+ }