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