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