slidev-theme-measurelab 0.1.0 → 0.2.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.
- package/global.css +87 -0
- package/layouts/default.vue +58 -0
- package/package.json +3 -2
- package/setup/mermaid.ts +48 -0
- package/setup/shiki-theme.json +96 -0
- package/setup/shiki.ts +11 -0
package/global.css
CHANGED
|
@@ -644,3 +644,90 @@ button:disabled,
|
|
|
644
644
|
.dark .recharts-rectangle.recharts-tooltip-cursor {
|
|
645
645
|
fill: oklch(0.7879 0.1991 139.5227 / 0.1) !important;
|
|
646
646
|
}
|
|
647
|
+
|
|
648
|
+
/* Slidev layout content safe area - keep content away from footer */
|
|
649
|
+
.slidev-layout {
|
|
650
|
+
padding-bottom: 5.5rem !important;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
/* For PDF export - reduce padding since nav buttons are hidden */
|
|
654
|
+
@media print {
|
|
655
|
+
.slidev-layout {
|
|
656
|
+
padding-bottom: 1rem !important;
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
/* Slidev inline code styling - use brand green */
|
|
661
|
+
.slidev-layout code {
|
|
662
|
+
color: #6dd750 !important;
|
|
663
|
+
background-color: #081f30 !important;
|
|
664
|
+
padding: 0.125rem 0.375rem;
|
|
665
|
+
border-radius: 0.25rem;
|
|
666
|
+
font-family: var(--font-mono);
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
/* Dark mode inline code */
|
|
670
|
+
.dark .slidev-layout code,
|
|
671
|
+
.slidev-layout.is-dark code {
|
|
672
|
+
color: #6dd750 !important;
|
|
673
|
+
background-color: rgba(255, 255, 255, 0.1) !important;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
/* Mermaid diagram styling */
|
|
677
|
+
.mermaid {
|
|
678
|
+
font-family: var(--font-sans) !important;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
.mermaid .node rect,
|
|
682
|
+
.mermaid .node circle,
|
|
683
|
+
.mermaid .node polygon {
|
|
684
|
+
fill: #f9f9f9 !important;
|
|
685
|
+
stroke: #6dd750 !important;
|
|
686
|
+
stroke-width: 2px !important;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
.mermaid .node .label {
|
|
690
|
+
color: #081f30 !important;
|
|
691
|
+
fill: #081f30 !important;
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
.mermaid .edgePath .path {
|
|
695
|
+
stroke: #f97316 !important;
|
|
696
|
+
stroke-width: 2px !important;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
.mermaid .arrowheadPath {
|
|
700
|
+
fill: #f97316 !important;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
.mermaid .edgeLabel {
|
|
704
|
+
background-color: #ffffff !important;
|
|
705
|
+
color: #081f30 !important;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
/* Dark mode Mermaid */
|
|
709
|
+
.dark .mermaid .node rect,
|
|
710
|
+
.dark .mermaid .node circle,
|
|
711
|
+
.dark .mermaid .node polygon {
|
|
712
|
+
fill: #2a3a4a !important;
|
|
713
|
+
stroke: #6dd750 !important;
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
.dark .mermaid .node .label {
|
|
717
|
+
color: #f9f9f9 !important;
|
|
718
|
+
fill: #f9f9f9 !important;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
.dark .mermaid .edgePath .path {
|
|
722
|
+
stroke: #f97316 !important;
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
.dark .mermaid .arrowheadPath {
|
|
726
|
+
fill: #f97316 !important;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
.dark .mermaid .edgeLabel {
|
|
730
|
+
background-color: #081f30 !important;
|
|
731
|
+
color: #f9f9f9 !important;
|
|
732
|
+
}
|
|
733
|
+
|
package/layouts/default.vue
CHANGED
|
@@ -225,6 +225,54 @@ const isDark = computed(() => {
|
|
|
225
225
|
opacity: 0.8;
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
+
/* Tables */
|
|
229
|
+
.slide-content :deep(table) {
|
|
230
|
+
width: 100%;
|
|
231
|
+
border-collapse: collapse;
|
|
232
|
+
margin: 1rem 0;
|
|
233
|
+
border: 1px solid #f0f0f0;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.default.is-dark .slide-content :deep(table) {
|
|
237
|
+
border-color: #2a3a4a;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.slide-content :deep(th) {
|
|
241
|
+
background-color: #f9f9f9;
|
|
242
|
+
color: #081f30;
|
|
243
|
+
font-weight: 500;
|
|
244
|
+
text-align: left;
|
|
245
|
+
padding: 0.75rem 1rem;
|
|
246
|
+
border-bottom: 1px solid #f0f0f0;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.slide-content :deep(td) {
|
|
250
|
+
background-color: #ffffff;
|
|
251
|
+
color: #081f30;
|
|
252
|
+
padding: 0.75rem 1rem;
|
|
253
|
+
border-bottom: 1px solid #f0f0f0;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.slide-content :deep(tr:last-child td) {
|
|
257
|
+
border-bottom: none;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* Dark mode tables */
|
|
261
|
+
.default.is-dark .slide-content :deep(th) {
|
|
262
|
+
background-color: #2a3a4a;
|
|
263
|
+
color: #f9f9f9;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.default.is-dark .slide-content :deep(td) {
|
|
267
|
+
background-color: #081f30;
|
|
268
|
+
color: #f9f9f9;
|
|
269
|
+
border-bottom-color: #2a3a4a;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.default.is-dark .slide-content :deep(th) {
|
|
273
|
+
border-bottom-color: #2a3a4a;
|
|
274
|
+
}
|
|
275
|
+
|
|
228
276
|
/* Footer */
|
|
229
277
|
.slide-footer {
|
|
230
278
|
display: flex;
|
|
@@ -251,4 +299,14 @@ const isDark = computed(() => {
|
|
|
251
299
|
font-size: 0.75rem;
|
|
252
300
|
color: inherit;
|
|
253
301
|
}
|
|
302
|
+
|
|
303
|
+
/* Dark mode footer */
|
|
304
|
+
.default.is-dark .slide-footer,
|
|
305
|
+
.default.is-dark .footer-left,
|
|
306
|
+
.default.is-dark .footer-right,
|
|
307
|
+
.default.is-dark .copyright,
|
|
308
|
+
.default.is-dark .confidential,
|
|
309
|
+
.default.is-dark .page-number {
|
|
310
|
+
color: #f9f9f9;
|
|
311
|
+
}
|
|
254
312
|
</style>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slidev-theme-measurelab",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Measurelab branded theme for Slidev presentations",
|
|
6
6
|
"author": "Measurelab",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"export": "slidev export slides.md"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@iconify-json/lucide": "^1.1.0"
|
|
46
|
+
"@iconify-json/lucide": "^1.1.0",
|
|
47
|
+
"slidev-theme-measurelab": "^0.1.0"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
50
|
"@slidev/cli": "^0.50.0",
|
package/setup/mermaid.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { defineMermaidSetup } from '@slidev/types'
|
|
2
|
+
|
|
3
|
+
export default defineMermaidSetup(() => {
|
|
4
|
+
return {
|
|
5
|
+
theme: 'base',
|
|
6
|
+
themeVariables: {
|
|
7
|
+
// Primary colors - light grey nodes with green border
|
|
8
|
+
primaryColor: '#f9f9f9',
|
|
9
|
+
primaryTextColor: '#081f30',
|
|
10
|
+
primaryBorderColor: '#6dd750',
|
|
11
|
+
|
|
12
|
+
// Secondary colors
|
|
13
|
+
secondaryColor: '#e8e8e8',
|
|
14
|
+
secondaryTextColor: '#081f30',
|
|
15
|
+
secondaryBorderColor: '#6dd750',
|
|
16
|
+
|
|
17
|
+
// Tertiary colors
|
|
18
|
+
tertiaryColor: '#f5f5f5',
|
|
19
|
+
tertiaryTextColor: '#081f30',
|
|
20
|
+
tertiaryBorderColor: '#6dd750',
|
|
21
|
+
|
|
22
|
+
// Background
|
|
23
|
+
background: '#ffffff',
|
|
24
|
+
mainBkg: '#f9f9f9',
|
|
25
|
+
|
|
26
|
+
// Lines and arrows - coral orange
|
|
27
|
+
lineColor: '#f97316',
|
|
28
|
+
arrowheadColor: '#f97316',
|
|
29
|
+
|
|
30
|
+
// Text
|
|
31
|
+
textColor: '#081f30',
|
|
32
|
+
|
|
33
|
+
// Flowchart specific
|
|
34
|
+
nodeBorder: '#6dd750',
|
|
35
|
+
nodeTextColor: '#081f30',
|
|
36
|
+
|
|
37
|
+
// Sequence diagram
|
|
38
|
+
actorBkg: '#f9f9f9',
|
|
39
|
+
actorBorder: '#6dd750',
|
|
40
|
+
actorTextColor: '#081f30',
|
|
41
|
+
signalColor: '#f97316',
|
|
42
|
+
signalTextColor: '#081f30',
|
|
43
|
+
|
|
44
|
+
// Fonts
|
|
45
|
+
fontFamily: 'Poppins, sans-serif',
|
|
46
|
+
},
|
|
47
|
+
}
|
|
48
|
+
})
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "measurelab",
|
|
3
|
+
"type": "dark",
|
|
4
|
+
"colors": {
|
|
5
|
+
"editor.background": "#081f30",
|
|
6
|
+
"editor.foreground": "#f9f9f9"
|
|
7
|
+
},
|
|
8
|
+
"tokenColors": [
|
|
9
|
+
{
|
|
10
|
+
"scope": ["comment", "punctuation.definition.comment"],
|
|
11
|
+
"settings": {
|
|
12
|
+
"foreground": "#7ddaee",
|
|
13
|
+
"fontStyle": "italic"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"scope": ["string", "string.quoted", "string.template"],
|
|
18
|
+
"settings": {
|
|
19
|
+
"foreground": "#40faa3"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"scope": ["constant.numeric", "constant.language", "constant.character"],
|
|
24
|
+
"settings": {
|
|
25
|
+
"foreground": "#f97316"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"scope": ["keyword", "storage.type", "storage.modifier"],
|
|
30
|
+
"settings": {
|
|
31
|
+
"foreground": "#fbbc02"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"scope": ["entity.name.function", "support.function", "meta.function-call"],
|
|
36
|
+
"settings": {
|
|
37
|
+
"foreground": "#7ddaee"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"scope": ["entity.name.type", "entity.name.class", "support.type", "support.class"],
|
|
42
|
+
"settings": {
|
|
43
|
+
"foreground": "#cdfe0c"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"scope": ["variable", "variable.other", "variable.parameter"],
|
|
48
|
+
"settings": {
|
|
49
|
+
"foreground": "#f9f9f9"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"scope": ["entity.name.tag", "punctuation.definition.tag"],
|
|
54
|
+
"settings": {
|
|
55
|
+
"foreground": "#fbbc02"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"scope": ["entity.other.attribute-name"],
|
|
60
|
+
"settings": {
|
|
61
|
+
"foreground": "#40faa3"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"scope": ["punctuation", "meta.brace"],
|
|
66
|
+
"settings": {
|
|
67
|
+
"foreground": "#f9f9f9"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"scope": ["markup.heading"],
|
|
72
|
+
"settings": {
|
|
73
|
+
"foreground": "#40faa3",
|
|
74
|
+
"fontStyle": "bold"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"scope": ["markup.bold"],
|
|
79
|
+
"settings": {
|
|
80
|
+
"fontStyle": "bold"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"scope": ["markup.italic"],
|
|
85
|
+
"settings": {
|
|
86
|
+
"fontStyle": "italic"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"scope": ["markup.list"],
|
|
91
|
+
"settings": {
|
|
92
|
+
"foreground": "#f97316"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
package/setup/shiki.ts
ADDED