Skip to content

Commit 2176594

Browse files
committed
fix(shiki): dual theme
1 parent a1d4c4d commit 2176594

9 files changed

Lines changed: 258 additions & 72 deletions
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
---
2+
timeout:
3+
parse: 150ms
4+
html: 5ms
5+
markdown: 5ms
6+
options:
7+
highlight:
8+
themes:
9+
light: 'min-light'
10+
dark: 'nord'
11+
---
12+
13+
## Input
14+
15+
```md
16+
```typescript
17+
const greeting: string = "Hello, World!"
18+
console.log(greeting)
19+
```
20+
```
21+
22+
## AST
23+
24+
```json
25+
{
26+
"type": "minimark",
27+
"value": [
28+
[
29+
"pre",
30+
{
31+
"language": "typescript",
32+
"class": "shiki github-dark",
33+
"tabindex": "0",
34+
"style": "background-color:#ffffff;--shiki-dark-bg:#2e3440ff;color:#24292eff;--shiki-dark:#d8dee9ff"
35+
},
36+
[
37+
"code",
38+
{
39+
"class": "language-typescript"
40+
},
41+
[
42+
"span",
43+
{
44+
"class": "line"
45+
},
46+
[
47+
"span",
48+
{
49+
"style": "color:#D32F2F;--shiki-dark:#81A1C1"
50+
},
51+
"const"
52+
],
53+
[
54+
"span",
55+
{
56+
"style": "color:#24292EFF;--shiki-dark:#D8DEE9FF"
57+
},
58+
" "
59+
],
60+
[
61+
"span",
62+
{
63+
"style": "color:#1976D2;--shiki-dark:#D8DEE9"
64+
},
65+
"greeting"
66+
],
67+
[
68+
"span",
69+
{
70+
"style": "color:#D32F2F;--shiki-dark:#81A1C1"
71+
},
72+
":"
73+
],
74+
[
75+
"span",
76+
{
77+
"style": "color:#24292EFF;--shiki-dark:#D8DEE9FF"
78+
},
79+
" "
80+
],
81+
[
82+
"span",
83+
{
84+
"style": "color:#1976D2;--shiki-dark:#8FBCBB"
85+
},
86+
"string"
87+
],
88+
[
89+
"span",
90+
{
91+
"style": "color:#24292EFF;--shiki-dark:#D8DEE9FF"
92+
},
93+
" "
94+
],
95+
[
96+
"span",
97+
{
98+
"style": "color:#D32F2F;--shiki-dark:#81A1C1"
99+
},
100+
"="
101+
],
102+
[
103+
"span",
104+
{
105+
"style": "color:#24292EFF;--shiki-dark:#D8DEE9FF"
106+
},
107+
" "
108+
],
109+
[
110+
"span",
111+
{
112+
"style": "color:#22863A;--shiki-dark:#ECEFF4"
113+
},
114+
"\""
115+
],
116+
[
117+
"span",
118+
{
119+
"style": "color:#22863A;--shiki-dark:#A3BE8C"
120+
},
121+
"Hello, World!"
122+
],
123+
[
124+
"span",
125+
{
126+
"style": "color:#22863A;--shiki-dark:#ECEFF4"
127+
},
128+
"\""
129+
]
130+
],
131+
"\n",
132+
[
133+
"span",
134+
{
135+
"class": "line"
136+
},
137+
[
138+
"span",
139+
{
140+
"style": "color:#1976D2;--shiki-dark:#D8DEE9"
141+
},
142+
"console"
143+
],
144+
[
145+
"span",
146+
{
147+
"style": "color:#6F42C1;--shiki-dark:#ECEFF4"
148+
},
149+
"."
150+
],
151+
[
152+
"span",
153+
{
154+
"style": "color:#6F42C1;--shiki-dark:#88C0D0"
155+
},
156+
"log"
157+
],
158+
[
159+
"span",
160+
{
161+
"style": "color:#24292EFF;--shiki-dark:#D8DEE9FF"
162+
},
163+
"("
164+
],
165+
[
166+
"span",
167+
{
168+
"style": "color:#24292EFF;--shiki-dark:#D8DEE9"
169+
},
170+
"greeting"
171+
],
172+
[
173+
"span",
174+
{
175+
"style": "color:#24292EFF;--shiki-dark:#D8DEE9FF"
176+
},
177+
")"
178+
]
179+
]
180+
]
181+
]
182+
]
183+
}
184+
```
185+
186+
## HTML
187+
188+
```html
189+
<pre language="typescript" class="shiki github-dark" tabindex="0" style="background-color:#ffffff;--shiki-dark-bg:#2e3440ff;color:#24292eff;--shiki-dark:#d8dee9ff"><code class="language-typescript"><span class="line"><span style="color:#D32F2F;--shiki-dark:#81A1C1">const</span><span style="color:#24292EFF;--shiki-dark:#D8DEE9FF"> </span><span style="color:#1976D2;--shiki-dark:#D8DEE9">greeting</span><span style="color:#D32F2F;--shiki-dark:#81A1C1">:</span><span style="color:#24292EFF;--shiki-dark:#D8DEE9FF"> </span><span style="color:#1976D2;--shiki-dark:#8FBCBB">string</span><span style="color:#24292EFF;--shiki-dark:#D8DEE9FF"> </span><span style="color:#D32F2F;--shiki-dark:#81A1C1">=</span><span style="color:#24292EFF;--shiki-dark:#D8DEE9FF"> </span><span style="color:#22863A;--shiki-dark:#ECEFF4">"</span><span style="color:#22863A;--shiki-dark:#A3BE8C">Hello, World!</span><span style="color:#22863A;--shiki-dark:#ECEFF4">"</span></span>
190+
<span class="line"><span style="color:#1976D2;--shiki-dark:#D8DEE9">console</span><span style="color:#6F42C1;--shiki-dark:#ECEFF4">.</span><span style="color:#6F42C1;--shiki-dark:#88C0D0">log</span><span style="color:#24292EFF;--shiki-dark:#D8DEE9FF">(</span><span style="color:#24292EFF;--shiki-dark:#D8DEE9">greeting</span><span style="color:#24292EFF;--shiki-dark:#D8DEE9FF">)</span></span></code></pre>
191+
```
192+
193+
## Markdown
194+
195+
```md
196+
```typescript
197+
const greeting: string = "Hello, World!"
198+
console.log(greeting)
199+
```
200+
```

SPEC/MDC/shiki-codeblock-highlight-complex.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ timeout:
44
html: 5ms
55
markdown: 5ms
66
options:
7-
highlight: true
7+
highlight:
8+
themes:
9+
light: 'github-dark'
810
---
911

1012
## Input
@@ -55,7 +57,7 @@ func main() {
5557
[
5658
"span",
5759
{
58-
"class": "line"
60+
"class": "line highlight"
5961
},
6062
[
6163
"span",
@@ -90,7 +92,7 @@ func main() {
9092
[
9193
"span",
9294
{
93-
"class": "line"
95+
"class": "line highlight"
9496
},
9597
[
9698
"span",
@@ -139,7 +141,7 @@ func main() {
139141
[
140142
"span",
141143
{
142-
"class": "line"
144+
"class": "line highlight"
143145
},
144146
[
145147
"span",
@@ -174,7 +176,7 @@ func main() {
174176
[
175177
"span",
176178
{
177-
"class": "line"
179+
"class": "line highlight"
178180
},
179181
[
180182
"span",
@@ -216,7 +218,7 @@ func main() {
216218
[
217219
"span",
218220
{
219-
"class": "line"
221+
"class": "line highlight"
220222
},
221223
[
222224
"span",
@@ -342,7 +344,7 @@ func main() {
342344
[
343345
"span",
344346
{
345-
"class": "line"
347+
"class": "line highlight"
346348
},
347349
[
348350
"span",
@@ -403,16 +405,16 @@ func main() {
403405
## HTML
404406

405407
```html
406-
<pre language="go" highlights="[1,3,5,6,7,10]" class="shiki github-dark" tabindex="0" style="background-color:#24292e;color:#e1e4e8"><code class="language-go"><span class="line"><span style="color:#F97583">package</span><span style="color:#E1E4E8"> </span><span style="color:#B392F0">main</span></span>
408+
<pre language="go" highlights="[1,3,5,6,7,10]" class="shiki github-dark" tabindex="0" style="background-color:#24292e;color:#e1e4e8"><code class="language-go"><span class="line highlight"><span style="color:#F97583">package</span><span style="color:#E1E4E8"> </span><span style="color:#B392F0">main</span></span>
407409
<span class="line"></span>
408-
<span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> </span><span style="color:#9ECBFF">"</span><span style="color:#B392F0">fmt</span><span style="color:#9ECBFF">"</span></span>
410+
<span class="line highlight"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> </span><span style="color:#9ECBFF">"</span><span style="color:#B392F0">fmt</span><span style="color:#9ECBFF">"</span></span>
409411
<span class="line"></span>
410-
<span class="line"><span style="color:#F97583">func</span><span style="color:#E1E4E8"> </span><span style="color:#B392F0">main</span><span style="color:#E1E4E8">() {</span></span>
411-
<span class="line"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 6"</span><span style="color:#E1E4E8">)</span></span>
412-
<span class="line"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 7"</span><span style="color:#E1E4E8">)</span></span>
412+
<span class="line highlight"><span style="color:#F97583">func</span><span style="color:#E1E4E8"> </span><span style="color:#B392F0">main</span><span style="color:#E1E4E8">() {</span></span>
413+
<span class="line highlight"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 6"</span><span style="color:#E1E4E8">)</span></span>
414+
<span class="line highlight"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 7"</span><span style="color:#E1E4E8">)</span></span>
413415
<span class="line"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 8"</span><span style="color:#E1E4E8">)</span></span>
414416
<span class="line"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 9"</span><span style="color:#E1E4E8">)</span></span>
415-
<span class="line"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 10"</span><span style="color:#E1E4E8">)</span></span>
417+
<span class="line highlight"><span style="color:#E1E4E8"> fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Line 10"</span><span style="color:#E1E4E8">)</span></span>
416418
<span class="line"><span style="color:#E1E4E8">}</span></span></code></pre>
417419
```
418420

SPEC/MDC/shiki-codeblock-language-only.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ timeout:
44
html: 5ms
55
markdown: 5ms
66
options:
7-
highlight: true
7+
highlight:
8+
themes:
9+
light: 'github-dark'
810
---
911

1012
## Input

SPEC/MDC/shiki-codeblock-no-language.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ timeout:
44
html: 5ms
55
markdown: 5ms
66
options:
7-
highlight: true
7+
highlight:
8+
themes:
9+
light: 'github-dark'
810
---
911

1012
## Input

SPEC/MDC/shiki-codeblock-rust-example.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ timeout:
44
html: 5ms
55
markdown: 5ms
66
options:
7-
highlight: true
7+
highlight:
8+
themes:
9+
light: 'github-dark'
810
---
911

1012
## Input
@@ -48,7 +50,7 @@ fn main() {
4850
[
4951
"span",
5052
{
51-
"class": "line"
53+
"class": "line highlight"
5254
},
5355
[
5456
"span",
@@ -83,7 +85,7 @@ fn main() {
8385
[
8486
"span",
8587
{
86-
"class": "line"
88+
"class": "line highlight"
8789
},
8890
[
8991
"span",
@@ -139,7 +141,7 @@ fn main() {
139141
[
140142
"span",
141143
{
142-
"class": "line"
144+
"class": "line highlight"
143145
},
144146
[
145147
"span",
@@ -195,7 +197,7 @@ fn main() {
195197
[
196198
"span",
197199
{
198-
"class": "line"
200+
"class": "line highlight"
199201
},
200202
[
201203
"span",
@@ -270,10 +272,10 @@ fn main() {
270272
## HTML
271273

272274
```html
273-
<pre language="rust" filename="main.rs" highlights="[1,2,3,4]" class="shiki github-dark" tabindex="0" style="background-color:#24292e;color:#e1e4e8"><code class="language-rust"><span class="line"><span style="color:#F97583">fn</span><span style="color:#E1E4E8"> </span><span style="color:#B392F0">main</span><span style="color:#E1E4E8">() {</span></span>
274-
<span class="line"><span style="color:#E1E4E8"> </span><span style="color:#F97583">let</span><span style="color:#E1E4E8"> x </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> </span><span style="color:#79B8FF">5</span><span style="color:#E1E4E8">;</span></span>
275-
<span class="line"><span style="color:#E1E4E8"> </span><span style="color:#F97583">let</span><span style="color:#E1E4E8"> y </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> </span><span style="color:#79B8FF">10</span><span style="color:#E1E4E8">;</span></span>
276-
<span class="line"><span style="color:#E1E4E8"> </span><span style="color:#B392F0">println!</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Sum: {}"</span><span style="color:#E1E4E8">, x </span><span style="color:#F97583">+</span><span style="color:#E1E4E8"> y);</span></span>
275+
<pre language="rust" filename="main.rs" highlights="[1,2,3,4]" class="shiki github-dark" tabindex="0" style="background-color:#24292e;color:#e1e4e8"><code class="language-rust"><span class="line highlight"><span style="color:#F97583">fn</span><span style="color:#E1E4E8"> </span><span style="color:#B392F0">main</span><span style="color:#E1E4E8">() {</span></span>
276+
<span class="line highlight"><span style="color:#E1E4E8"> </span><span style="color:#F97583">let</span><span style="color:#E1E4E8"> x </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> </span><span style="color:#79B8FF">5</span><span style="color:#E1E4E8">;</span></span>
277+
<span class="line highlight"><span style="color:#E1E4E8"> </span><span style="color:#F97583">let</span><span style="color:#E1E4E8"> y </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> </span><span style="color:#79B8FF">10</span><span style="color:#E1E4E8">;</span></span>
278+
<span class="line highlight"><span style="color:#E1E4E8"> </span><span style="color:#B392F0">println!</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Sum: {}"</span><span style="color:#E1E4E8">, x </span><span style="color:#F97583">+</span><span style="color:#E1E4E8"> y);</span></span>
277279
<span class="line"><span style="color:#E1E4E8">}</span></span></code></pre>
278280
```
279281

SPEC/MDC/shiki-codeblock-special-chars.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ timeout:
44
html: 5ms
55
markdown: 5ms
66
options:
7-
highlight: true
7+
highlight:
8+
themes:
9+
light: 'github-dark'
810
---
911

1012
## Input

0 commit comments

Comments
 (0)