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