@docmd/themes 0.5.1 → 0.5.3

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