svelte-streamdown 0.0.1
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/README.md +58 -0
- package/dist/Block.svelte +34 -0
- package/dist/Block.svelte.d.ts +6 -0
- package/dist/Elements/A.svelte +48 -0
- package/dist/Elements/A.svelte.d.ts +4 -0
- package/dist/Elements/Alert.svelte +78 -0
- package/dist/Elements/Alert.svelte.d.ts +4 -0
- package/dist/Elements/Blockquote.svelte +26 -0
- package/dist/Elements/Blockquote.svelte.d.ts +4 -0
- package/dist/Elements/Code.svelte +123 -0
- package/dist/Elements/Code.svelte.d.ts +4 -0
- package/dist/Elements/Del.svelte +24 -0
- package/dist/Elements/Del.svelte.d.ts +4 -0
- package/dist/Elements/Element.svelte +122 -0
- package/dist/Elements/Element.svelte.d.ts +12 -0
- package/dist/Elements/Em.svelte +23 -0
- package/dist/Elements/Em.svelte.d.ts +4 -0
- package/dist/Elements/H1.svelte +23 -0
- package/dist/Elements/H1.svelte.d.ts +4 -0
- package/dist/Elements/H2.svelte +23 -0
- package/dist/Elements/H2.svelte.d.ts +4 -0
- package/dist/Elements/H3.svelte +23 -0
- package/dist/Elements/H3.svelte.d.ts +4 -0
- package/dist/Elements/H4.svelte +23 -0
- package/dist/Elements/H4.svelte.d.ts +4 -0
- package/dist/Elements/H5.svelte +23 -0
- package/dist/Elements/H5.svelte.d.ts +4 -0
- package/dist/Elements/H6.svelte +23 -0
- package/dist/Elements/H6.svelte.d.ts +4 -0
- package/dist/Elements/Hr.svelte +20 -0
- package/dist/Elements/Hr.svelte.d.ts +4 -0
- package/dist/Elements/Image.svelte +49 -0
- package/dist/Elements/Image.svelte.d.ts +4 -0
- package/dist/Elements/InlineCode.svelte +23 -0
- package/dist/Elements/InlineCode.svelte.d.ts +4 -0
- package/dist/Elements/Li.svelte +23 -0
- package/dist/Elements/Li.svelte.d.ts +4 -0
- package/dist/Elements/Math.svelte +73 -0
- package/dist/Elements/Math.svelte.d.ts +5 -0
- package/dist/Elements/Mermaid.svelte +80 -0
- package/dist/Elements/Mermaid.svelte.d.ts +4 -0
- package/dist/Elements/Ol.svelte +23 -0
- package/dist/Elements/Ol.svelte.d.ts +4 -0
- package/dist/Elements/P.svelte +23 -0
- package/dist/Elements/P.svelte.d.ts +4 -0
- package/dist/Elements/Slot.svelte +19 -0
- package/dist/Elements/Slot.svelte.d.ts +9 -0
- package/dist/Elements/Strong.svelte +23 -0
- package/dist/Elements/Strong.svelte.d.ts +4 -0
- package/dist/Elements/Sub.svelte +23 -0
- package/dist/Elements/Sub.svelte.d.ts +4 -0
- package/dist/Elements/Sup.svelte +23 -0
- package/dist/Elements/Sup.svelte.d.ts +4 -0
- package/dist/Elements/Table.svelte +25 -0
- package/dist/Elements/Table.svelte.d.ts +4 -0
- package/dist/Elements/Tbody.svelte +23 -0
- package/dist/Elements/Tbody.svelte.d.ts +4 -0
- package/dist/Elements/Td.svelte +23 -0
- package/dist/Elements/Td.svelte.d.ts +4 -0
- package/dist/Elements/Th.svelte +23 -0
- package/dist/Elements/Th.svelte.d.ts +4 -0
- package/dist/Elements/Thead.svelte +23 -0
- package/dist/Elements/Thead.svelte.d.ts +4 -0
- package/dist/Elements/Tr.svelte +23 -0
- package/dist/Elements/Tr.svelte.d.ts +4 -0
- package/dist/Elements/Ul.svelte +23 -0
- package/dist/Elements/Ul.svelte.d.ts +4 -0
- package/dist/Elements/element.d.ts +8 -0
- package/dist/Elements/element.js +1 -0
- package/dist/Elements/index.d.ts +34 -0
- package/dist/Elements/index.js +34 -0
- package/dist/Streamdown.d.ts +83 -0
- package/dist/Streamdown.js +1 -0
- package/dist/Streamdown.svelte +128 -0
- package/dist/Streamdown.svelte.d.ts +18 -0
- package/dist/hightlighter.svelte.d.ts +25 -0
- package/dist/hightlighter.svelte.js +413 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/theme.d.ts +247 -0
- package/dist/theme.js +138 -0
- package/dist/utils/alerts.d.ts +12 -0
- package/dist/utils/alerts.js +207 -0
- package/dist/utils/bind.d.ts +1 -0
- package/dist/utils/bind.js +6 -0
- package/dist/utils/copy.svelte.d.ts +7 -0
- package/dist/utils/copy.svelte.js +35 -0
- package/dist/utils/parse-blocks.d.ts +1 -0
- package/dist/utils/parse-blocks.js +40 -0
- package/dist/utils/parse-incomplete-markdown.d.ts +1 -0
- package/dist/utils/parse-incomplete-markdown.js +442 -0
- package/dist/utils/parse.d.ts +3 -0
- package/dist/utils/parse.js +144 -0
- package/dist/utils/save.d.ts +1 -0
- package/dist/utils/save.js +11 -0
- package/dist/utils/url.d.ts +2 -0
- package/dist/utils/url.js +71 -0
- package/package.json +92 -0
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
import { createJavaScriptRegexEngine } from 'shiki/engine/javascript';
|
|
2
|
+
import { createHighlighter } from 'shiki';
|
|
3
|
+
// Remove background styles from <pre> tags (inline style)
|
|
4
|
+
const removePreBackground = (html) => {
|
|
5
|
+
return html.replace(/<pre[^>]*style="[^"]*background[^";]*;?[^"]*"[^>]*>/g, (match) => match.replace(/style="[^"]*background[^";]*;?[^"]*"/, ''));
|
|
6
|
+
};
|
|
7
|
+
class HighlighterManager {
|
|
8
|
+
initialized = $state(false);
|
|
9
|
+
initializedPromise = $state(null);
|
|
10
|
+
highlighter = null;
|
|
11
|
+
theme = null;
|
|
12
|
+
loadedLanguages = new Set();
|
|
13
|
+
initializationPromise = null;
|
|
14
|
+
readyStates = new Map();
|
|
15
|
+
getReadyKey(theme, language) {
|
|
16
|
+
return `${theme}-${language}`;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Prepares the highlighter for the given themes and language.
|
|
20
|
+
* This method must be called and awaited before using highlightCode.
|
|
21
|
+
*/
|
|
22
|
+
async isReady(theme, language) {
|
|
23
|
+
const readyKey = this.getReadyKey(theme, language);
|
|
24
|
+
// If already ready for this combination, return immediately
|
|
25
|
+
if (this.readyStates.get(readyKey)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Ensure only one initialization happens at a time
|
|
29
|
+
if (this.initializationPromise) {
|
|
30
|
+
await this.initializationPromise;
|
|
31
|
+
}
|
|
32
|
+
// Check again after waiting, in case another call initialized it
|
|
33
|
+
if (this.readyStates.get(readyKey)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
// Initialize for this combination
|
|
37
|
+
this.initializationPromise = this.ensureHighlightersInitialized(theme, language);
|
|
38
|
+
await this.initializationPromise;
|
|
39
|
+
this.initializationPromise = null;
|
|
40
|
+
// Mark as ready
|
|
41
|
+
this.readyStates.set(readyKey, true);
|
|
42
|
+
this.initialized = true;
|
|
43
|
+
}
|
|
44
|
+
async ensureHighlightersInitialized(theme, language) {
|
|
45
|
+
const jsEngine = createJavaScriptRegexEngine({ forgiving: true });
|
|
46
|
+
// Check if we need to recreate highlighters due to theme change
|
|
47
|
+
const needsLightRecreation = !this.highlighter || this.theme !== theme;
|
|
48
|
+
if (needsLightRecreation) {
|
|
49
|
+
// If themes changed, reset loaded languages and ready states
|
|
50
|
+
this.loadedLanguages.clear();
|
|
51
|
+
this.readyStates.clear();
|
|
52
|
+
}
|
|
53
|
+
// Check if we need to load the language
|
|
54
|
+
const needsLanguageLoad = !this.loadedLanguages.has(language);
|
|
55
|
+
// Create or recreate light highlighter if needed
|
|
56
|
+
if (needsLightRecreation) {
|
|
57
|
+
this.highlighter = await createHighlighter({
|
|
58
|
+
themes: [theme],
|
|
59
|
+
langs: [language],
|
|
60
|
+
engine: jsEngine
|
|
61
|
+
});
|
|
62
|
+
this.theme = theme;
|
|
63
|
+
this.loadedLanguages.add(language);
|
|
64
|
+
}
|
|
65
|
+
else if (needsLanguageLoad) {
|
|
66
|
+
// Load the language if not already loaded
|
|
67
|
+
await this.highlighter?.loadLanguage(language);
|
|
68
|
+
}
|
|
69
|
+
// Mark language as loaded after both highlighters have it
|
|
70
|
+
if (needsLanguageLoad) {
|
|
71
|
+
this.loadedLanguages.add(language);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Synchronously highlights code. Must call isReady() first for the same themes and language.
|
|
76
|
+
* @throws {Error} If isReady() hasn't been called for this combination of themes and language
|
|
77
|
+
*/
|
|
78
|
+
highlightCode(code, language, theme, preClassName) {
|
|
79
|
+
const readyKey = this.getReadyKey(theme, language);
|
|
80
|
+
// Ensure isReady was called first
|
|
81
|
+
if (!this.readyStates.get(readyKey)) {
|
|
82
|
+
throw new Error(`Highlighter not ready for themes [${theme}] and language "${language}". ` +
|
|
83
|
+
`Call await highlighter.isReady(theme, language) first.`);
|
|
84
|
+
}
|
|
85
|
+
// Ensure highlighters exist
|
|
86
|
+
if (!this.highlighter) {
|
|
87
|
+
throw new Error('Highlighters not initialized. This should not happen after calling isReady().');
|
|
88
|
+
}
|
|
89
|
+
const addPreClass = (html) => {
|
|
90
|
+
if (!preClassName) {
|
|
91
|
+
return html;
|
|
92
|
+
}
|
|
93
|
+
return html.replace(/<pre(\s|>)/, `<pre class="${preClassName}"$1`);
|
|
94
|
+
};
|
|
95
|
+
const light = this.highlighter.codeToHtml(code, {
|
|
96
|
+
lang: language,
|
|
97
|
+
theme: theme
|
|
98
|
+
});
|
|
99
|
+
return removePreBackground(addPreClass(light));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Export the class for those who want to create their own instances
|
|
103
|
+
export { HighlighterManager };
|
|
104
|
+
// Create and export a singleton instance
|
|
105
|
+
export const highlighter = new HighlighterManager();
|
|
106
|
+
export const languageExtensionMap = {
|
|
107
|
+
'1c': '1c',
|
|
108
|
+
'1c-query': '1cq',
|
|
109
|
+
abap: 'abap',
|
|
110
|
+
'actionscript-3': 'as',
|
|
111
|
+
ada: 'ada',
|
|
112
|
+
adoc: 'adoc',
|
|
113
|
+
'angular-html': 'html',
|
|
114
|
+
'angular-ts': 'ts',
|
|
115
|
+
apache: 'conf',
|
|
116
|
+
apex: 'cls',
|
|
117
|
+
apl: 'apl',
|
|
118
|
+
applescript: 'applescript',
|
|
119
|
+
ara: 'ara',
|
|
120
|
+
asciidoc: 'adoc',
|
|
121
|
+
asm: 'asm',
|
|
122
|
+
astro: 'astro',
|
|
123
|
+
awk: 'awk',
|
|
124
|
+
ballerina: 'bal',
|
|
125
|
+
bash: 'sh',
|
|
126
|
+
bat: 'bat',
|
|
127
|
+
batch: 'bat',
|
|
128
|
+
be: 'be',
|
|
129
|
+
beancount: 'beancount',
|
|
130
|
+
berry: 'berry',
|
|
131
|
+
bibtex: 'bib',
|
|
132
|
+
bicep: 'bicep',
|
|
133
|
+
blade: 'blade.php',
|
|
134
|
+
bsl: 'bsl',
|
|
135
|
+
c: 'c',
|
|
136
|
+
'c#': 'cs',
|
|
137
|
+
'c++': 'cpp',
|
|
138
|
+
cadence: 'cdc',
|
|
139
|
+
cairo: 'cairo',
|
|
140
|
+
cdc: 'cdc',
|
|
141
|
+
clarity: 'clar',
|
|
142
|
+
clj: 'clj',
|
|
143
|
+
clojure: 'clj',
|
|
144
|
+
'closure-templates': 'soy',
|
|
145
|
+
cmake: 'cmake',
|
|
146
|
+
cmd: 'cmd',
|
|
147
|
+
cobol: 'cob',
|
|
148
|
+
codeowners: 'CODEOWNERS',
|
|
149
|
+
codeql: 'ql',
|
|
150
|
+
coffee: 'coffee',
|
|
151
|
+
coffeescript: 'coffee',
|
|
152
|
+
'common-lisp': 'lisp',
|
|
153
|
+
console: 'sh',
|
|
154
|
+
coq: 'v',
|
|
155
|
+
cpp: 'cpp',
|
|
156
|
+
cql: 'cql',
|
|
157
|
+
crystal: 'cr',
|
|
158
|
+
cs: 'cs',
|
|
159
|
+
csharp: 'cs',
|
|
160
|
+
css: 'css',
|
|
161
|
+
csv: 'csv',
|
|
162
|
+
cue: 'cue',
|
|
163
|
+
cypher: 'cql',
|
|
164
|
+
d: 'd',
|
|
165
|
+
dart: 'dart',
|
|
166
|
+
dax: 'dax',
|
|
167
|
+
desktop: 'desktop',
|
|
168
|
+
diff: 'diff',
|
|
169
|
+
docker: 'dockerfile',
|
|
170
|
+
dockerfile: 'dockerfile',
|
|
171
|
+
dotenv: 'env',
|
|
172
|
+
'dream-maker': 'dm',
|
|
173
|
+
edge: 'edge',
|
|
174
|
+
elisp: 'el',
|
|
175
|
+
elixir: 'ex',
|
|
176
|
+
elm: 'elm',
|
|
177
|
+
'emacs-lisp': 'el',
|
|
178
|
+
erb: 'erb',
|
|
179
|
+
erl: 'erl',
|
|
180
|
+
erlang: 'erl',
|
|
181
|
+
f: 'f',
|
|
182
|
+
'f#': 'fs',
|
|
183
|
+
f03: 'f03',
|
|
184
|
+
f08: 'f08',
|
|
185
|
+
f18: 'f18',
|
|
186
|
+
f77: 'f77',
|
|
187
|
+
f90: 'f90',
|
|
188
|
+
f95: 'f95',
|
|
189
|
+
fennel: 'fnl',
|
|
190
|
+
fish: 'fish',
|
|
191
|
+
fluent: 'ftl',
|
|
192
|
+
for: 'for',
|
|
193
|
+
'fortran-fixed-form': 'f',
|
|
194
|
+
'fortran-free-form': 'f90',
|
|
195
|
+
fs: 'fs',
|
|
196
|
+
fsharp: 'fs',
|
|
197
|
+
fsl: 'fsl',
|
|
198
|
+
ftl: 'ftl',
|
|
199
|
+
gdresource: 'tres',
|
|
200
|
+
gdscript: 'gd',
|
|
201
|
+
gdshader: 'gdshader',
|
|
202
|
+
genie: 'gs',
|
|
203
|
+
gherkin: 'feature',
|
|
204
|
+
'git-commit': 'gitcommit',
|
|
205
|
+
'git-rebase': 'gitrebase',
|
|
206
|
+
gjs: 'js',
|
|
207
|
+
gleam: 'gleam',
|
|
208
|
+
'glimmer-js': 'js',
|
|
209
|
+
'glimmer-ts': 'ts',
|
|
210
|
+
glsl: 'glsl',
|
|
211
|
+
gnuplot: 'plt',
|
|
212
|
+
go: 'go',
|
|
213
|
+
gql: 'gql',
|
|
214
|
+
graphql: 'graphql',
|
|
215
|
+
groovy: 'groovy',
|
|
216
|
+
gts: 'gts',
|
|
217
|
+
hack: 'hack',
|
|
218
|
+
haml: 'haml',
|
|
219
|
+
handlebars: 'hbs',
|
|
220
|
+
haskell: 'hs',
|
|
221
|
+
haxe: 'hx',
|
|
222
|
+
hbs: 'hbs',
|
|
223
|
+
hcl: 'hcl',
|
|
224
|
+
hjson: 'hjson',
|
|
225
|
+
hlsl: 'hlsl',
|
|
226
|
+
hs: 'hs',
|
|
227
|
+
html: 'html',
|
|
228
|
+
'html-derivative': 'html',
|
|
229
|
+
http: 'http',
|
|
230
|
+
hxml: 'hxml',
|
|
231
|
+
hy: 'hy',
|
|
232
|
+
imba: 'imba',
|
|
233
|
+
ini: 'ini',
|
|
234
|
+
jade: 'jade',
|
|
235
|
+
java: 'java',
|
|
236
|
+
javascript: 'js',
|
|
237
|
+
jinja: 'jinja',
|
|
238
|
+
jison: 'jison',
|
|
239
|
+
jl: 'jl',
|
|
240
|
+
js: 'js',
|
|
241
|
+
json: 'json',
|
|
242
|
+
json5: 'json5',
|
|
243
|
+
jsonc: 'jsonc',
|
|
244
|
+
jsonl: 'jsonl',
|
|
245
|
+
jsonnet: 'jsonnet',
|
|
246
|
+
jssm: 'jssm',
|
|
247
|
+
jsx: 'jsx',
|
|
248
|
+
julia: 'jl',
|
|
249
|
+
kotlin: 'kt',
|
|
250
|
+
kql: 'kql',
|
|
251
|
+
kt: 'kt',
|
|
252
|
+
kts: 'kts',
|
|
253
|
+
kusto: 'kql',
|
|
254
|
+
latex: 'tex',
|
|
255
|
+
lean: 'lean',
|
|
256
|
+
lean4: 'lean',
|
|
257
|
+
less: 'less',
|
|
258
|
+
liquid: 'liquid',
|
|
259
|
+
lisp: 'lisp',
|
|
260
|
+
lit: 'lit',
|
|
261
|
+
llvm: 'll',
|
|
262
|
+
log: 'log',
|
|
263
|
+
logo: 'logo',
|
|
264
|
+
lua: 'lua',
|
|
265
|
+
luau: 'luau',
|
|
266
|
+
make: 'mak',
|
|
267
|
+
makefile: 'mak',
|
|
268
|
+
markdown: 'md',
|
|
269
|
+
marko: 'marko',
|
|
270
|
+
matlab: 'm',
|
|
271
|
+
md: 'md',
|
|
272
|
+
mdc: 'mdc',
|
|
273
|
+
mdx: 'mdx',
|
|
274
|
+
mediawiki: 'wiki',
|
|
275
|
+
mermaid: 'mmd',
|
|
276
|
+
mips: 's',
|
|
277
|
+
mipsasm: 's',
|
|
278
|
+
mmd: 'mmd',
|
|
279
|
+
mojo: 'mojo',
|
|
280
|
+
move: 'move',
|
|
281
|
+
nar: 'nar',
|
|
282
|
+
narrat: 'narrat',
|
|
283
|
+
nextflow: 'nf',
|
|
284
|
+
nf: 'nf',
|
|
285
|
+
nginx: 'conf',
|
|
286
|
+
nim: 'nim',
|
|
287
|
+
nix: 'nix',
|
|
288
|
+
nu: 'nu',
|
|
289
|
+
nushell: 'nu',
|
|
290
|
+
objc: 'm',
|
|
291
|
+
'objective-c': 'm',
|
|
292
|
+
'objective-cpp': 'mm',
|
|
293
|
+
ocaml: 'ml',
|
|
294
|
+
pascal: 'pas',
|
|
295
|
+
perl: 'pl',
|
|
296
|
+
perl6: 'p6',
|
|
297
|
+
php: 'php',
|
|
298
|
+
plsql: 'pls',
|
|
299
|
+
po: 'po',
|
|
300
|
+
polar: 'polar',
|
|
301
|
+
postcss: 'pcss',
|
|
302
|
+
pot: 'pot',
|
|
303
|
+
potx: 'potx',
|
|
304
|
+
powerquery: 'pq',
|
|
305
|
+
powershell: 'ps1',
|
|
306
|
+
prisma: 'prisma',
|
|
307
|
+
prolog: 'pl',
|
|
308
|
+
properties: 'properties',
|
|
309
|
+
proto: 'proto',
|
|
310
|
+
protobuf: 'proto',
|
|
311
|
+
ps: 'ps',
|
|
312
|
+
ps1: 'ps1',
|
|
313
|
+
pug: 'pug',
|
|
314
|
+
puppet: 'pp',
|
|
315
|
+
purescript: 'purs',
|
|
316
|
+
py: 'py',
|
|
317
|
+
python: 'py',
|
|
318
|
+
ql: 'ql',
|
|
319
|
+
qml: 'qml',
|
|
320
|
+
qmldir: 'qmldir',
|
|
321
|
+
qss: 'qss',
|
|
322
|
+
r: 'r',
|
|
323
|
+
racket: 'rkt',
|
|
324
|
+
raku: 'raku',
|
|
325
|
+
razor: 'cshtml',
|
|
326
|
+
rb: 'rb',
|
|
327
|
+
reg: 'reg',
|
|
328
|
+
regex: 'regex',
|
|
329
|
+
regexp: 'regexp',
|
|
330
|
+
rel: 'rel',
|
|
331
|
+
riscv: 's',
|
|
332
|
+
rs: 'rs',
|
|
333
|
+
rst: 'rst',
|
|
334
|
+
ruby: 'rb',
|
|
335
|
+
rust: 'rs',
|
|
336
|
+
sas: 'sas',
|
|
337
|
+
sass: 'sass',
|
|
338
|
+
scala: 'scala',
|
|
339
|
+
scheme: 'scm',
|
|
340
|
+
scss: 'scss',
|
|
341
|
+
sdbl: 'sdbl',
|
|
342
|
+
sh: 'sh',
|
|
343
|
+
shader: 'shader',
|
|
344
|
+
shaderlab: 'shader',
|
|
345
|
+
shell: 'sh',
|
|
346
|
+
shellscript: 'sh',
|
|
347
|
+
shellsession: 'sh',
|
|
348
|
+
smalltalk: 'st',
|
|
349
|
+
solidity: 'sol',
|
|
350
|
+
soy: 'soy',
|
|
351
|
+
sparql: 'rq',
|
|
352
|
+
spl: 'spl',
|
|
353
|
+
splunk: 'spl',
|
|
354
|
+
sql: 'sql',
|
|
355
|
+
'ssh-config': 'config',
|
|
356
|
+
stata: 'do',
|
|
357
|
+
styl: 'styl',
|
|
358
|
+
stylus: 'styl',
|
|
359
|
+
svelte: 'svelte',
|
|
360
|
+
swift: 'swift',
|
|
361
|
+
'system-verilog': 'sv',
|
|
362
|
+
systemd: 'service',
|
|
363
|
+
talon: 'talon',
|
|
364
|
+
talonscript: 'talon',
|
|
365
|
+
tasl: 'tasl',
|
|
366
|
+
tcl: 'tcl',
|
|
367
|
+
templ: 'templ',
|
|
368
|
+
terraform: 'tf',
|
|
369
|
+
tex: 'tex',
|
|
370
|
+
tf: 'tf',
|
|
371
|
+
tfvars: 'tfvars',
|
|
372
|
+
toml: 'toml',
|
|
373
|
+
ts: 'ts',
|
|
374
|
+
'ts-tags': 'ts',
|
|
375
|
+
tsp: 'tsp',
|
|
376
|
+
tsv: 'tsv',
|
|
377
|
+
tsx: 'tsx',
|
|
378
|
+
turtle: 'ttl',
|
|
379
|
+
twig: 'twig',
|
|
380
|
+
typ: 'typ',
|
|
381
|
+
typescript: 'ts',
|
|
382
|
+
typespec: 'tsp',
|
|
383
|
+
typst: 'typ',
|
|
384
|
+
v: 'v',
|
|
385
|
+
vala: 'vala',
|
|
386
|
+
vb: 'vb',
|
|
387
|
+
verilog: 'v',
|
|
388
|
+
vhdl: 'vhdl',
|
|
389
|
+
vim: 'vim',
|
|
390
|
+
viml: 'vim',
|
|
391
|
+
vimscript: 'vim',
|
|
392
|
+
vue: 'vue',
|
|
393
|
+
'vue-html': 'html',
|
|
394
|
+
'vue-vine': 'vine',
|
|
395
|
+
vy: 'vy',
|
|
396
|
+
vyper: 'vy',
|
|
397
|
+
wasm: 'wasm',
|
|
398
|
+
wenyan: 'wy',
|
|
399
|
+
wgsl: 'wgsl',
|
|
400
|
+
wiki: 'wiki',
|
|
401
|
+
wikitext: 'wiki',
|
|
402
|
+
wit: 'wit',
|
|
403
|
+
wl: 'wl',
|
|
404
|
+
wolfram: 'wl',
|
|
405
|
+
xml: 'xml',
|
|
406
|
+
xsl: 'xsl',
|
|
407
|
+
yaml: 'yaml',
|
|
408
|
+
yml: 'yml',
|
|
409
|
+
zenscript: 'zs',
|
|
410
|
+
zig: 'zig',
|
|
411
|
+
zsh: 'zsh',
|
|
412
|
+
文言: 'wy'
|
|
413
|
+
};
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
package/dist/theme.d.ts
ADDED
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { type ClassValue } from 'clsx';
|
|
2
|
+
export declare const cn: (...inputs: ClassValue[]) => string;
|
|
3
|
+
export declare const theme: {
|
|
4
|
+
a: {
|
|
5
|
+
base: string;
|
|
6
|
+
blocked: string;
|
|
7
|
+
};
|
|
8
|
+
h1: {
|
|
9
|
+
base: string;
|
|
10
|
+
};
|
|
11
|
+
h2: {
|
|
12
|
+
base: string;
|
|
13
|
+
};
|
|
14
|
+
h3: {
|
|
15
|
+
base: string;
|
|
16
|
+
};
|
|
17
|
+
h4: {
|
|
18
|
+
base: string;
|
|
19
|
+
};
|
|
20
|
+
h5: {
|
|
21
|
+
base: string;
|
|
22
|
+
};
|
|
23
|
+
h6: {
|
|
24
|
+
base: string;
|
|
25
|
+
};
|
|
26
|
+
p: {
|
|
27
|
+
base: string;
|
|
28
|
+
};
|
|
29
|
+
ul: {
|
|
30
|
+
base: string;
|
|
31
|
+
};
|
|
32
|
+
ol: {
|
|
33
|
+
base: string;
|
|
34
|
+
};
|
|
35
|
+
li: {
|
|
36
|
+
base: string;
|
|
37
|
+
};
|
|
38
|
+
code: {
|
|
39
|
+
base: string;
|
|
40
|
+
container: string;
|
|
41
|
+
header: string;
|
|
42
|
+
button: string;
|
|
43
|
+
language: string;
|
|
44
|
+
skeleton: string;
|
|
45
|
+
pre: string;
|
|
46
|
+
};
|
|
47
|
+
inlineCode: {
|
|
48
|
+
base: string;
|
|
49
|
+
};
|
|
50
|
+
img: {
|
|
51
|
+
container: string;
|
|
52
|
+
base: string;
|
|
53
|
+
downloadButton: string;
|
|
54
|
+
};
|
|
55
|
+
pre: {
|
|
56
|
+
base: string;
|
|
57
|
+
};
|
|
58
|
+
blockquote: {
|
|
59
|
+
base: string;
|
|
60
|
+
};
|
|
61
|
+
alert: {
|
|
62
|
+
base: string;
|
|
63
|
+
title: string;
|
|
64
|
+
icon: string;
|
|
65
|
+
note: string;
|
|
66
|
+
tip: string;
|
|
67
|
+
warning: string;
|
|
68
|
+
caution: string;
|
|
69
|
+
important: string;
|
|
70
|
+
};
|
|
71
|
+
table: {
|
|
72
|
+
base: string;
|
|
73
|
+
container: string;
|
|
74
|
+
};
|
|
75
|
+
thead: {
|
|
76
|
+
base: string;
|
|
77
|
+
};
|
|
78
|
+
tbody: {
|
|
79
|
+
base: string;
|
|
80
|
+
};
|
|
81
|
+
tr: {
|
|
82
|
+
base: string;
|
|
83
|
+
};
|
|
84
|
+
th: {
|
|
85
|
+
base: string;
|
|
86
|
+
};
|
|
87
|
+
td: {
|
|
88
|
+
base: string;
|
|
89
|
+
};
|
|
90
|
+
sup: {
|
|
91
|
+
base: string;
|
|
92
|
+
};
|
|
93
|
+
sub: {
|
|
94
|
+
base: string;
|
|
95
|
+
};
|
|
96
|
+
hr: {
|
|
97
|
+
base: string;
|
|
98
|
+
};
|
|
99
|
+
strong: {
|
|
100
|
+
base: string;
|
|
101
|
+
};
|
|
102
|
+
mermaid: {
|
|
103
|
+
base: string;
|
|
104
|
+
downloadButton: string;
|
|
105
|
+
};
|
|
106
|
+
math: {
|
|
107
|
+
base: string;
|
|
108
|
+
};
|
|
109
|
+
inlineMath: {
|
|
110
|
+
base: string;
|
|
111
|
+
};
|
|
112
|
+
em: {
|
|
113
|
+
base: string;
|
|
114
|
+
};
|
|
115
|
+
ins: {
|
|
116
|
+
base: string;
|
|
117
|
+
};
|
|
118
|
+
del: {
|
|
119
|
+
base: string;
|
|
120
|
+
};
|
|
121
|
+
small: {
|
|
122
|
+
base: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
export type Theme = typeof theme;
|
|
126
|
+
export declare const mergeTheme: (customTheme?: Partial<Theme>) => {
|
|
127
|
+
a: {
|
|
128
|
+
base: string;
|
|
129
|
+
blocked: string;
|
|
130
|
+
};
|
|
131
|
+
h1: {
|
|
132
|
+
base: string;
|
|
133
|
+
};
|
|
134
|
+
h2: {
|
|
135
|
+
base: string;
|
|
136
|
+
};
|
|
137
|
+
h3: {
|
|
138
|
+
base: string;
|
|
139
|
+
};
|
|
140
|
+
h4: {
|
|
141
|
+
base: string;
|
|
142
|
+
};
|
|
143
|
+
h5: {
|
|
144
|
+
base: string;
|
|
145
|
+
};
|
|
146
|
+
h6: {
|
|
147
|
+
base: string;
|
|
148
|
+
};
|
|
149
|
+
p: {
|
|
150
|
+
base: string;
|
|
151
|
+
};
|
|
152
|
+
ul: {
|
|
153
|
+
base: string;
|
|
154
|
+
};
|
|
155
|
+
ol: {
|
|
156
|
+
base: string;
|
|
157
|
+
};
|
|
158
|
+
li: {
|
|
159
|
+
base: string;
|
|
160
|
+
};
|
|
161
|
+
code: {
|
|
162
|
+
base: string;
|
|
163
|
+
container: string;
|
|
164
|
+
header: string;
|
|
165
|
+
button: string;
|
|
166
|
+
language: string;
|
|
167
|
+
skeleton: string;
|
|
168
|
+
pre: string;
|
|
169
|
+
};
|
|
170
|
+
inlineCode: {
|
|
171
|
+
base: string;
|
|
172
|
+
};
|
|
173
|
+
img: {
|
|
174
|
+
container: string;
|
|
175
|
+
base: string;
|
|
176
|
+
downloadButton: string;
|
|
177
|
+
};
|
|
178
|
+
pre: {
|
|
179
|
+
base: string;
|
|
180
|
+
};
|
|
181
|
+
blockquote: {
|
|
182
|
+
base: string;
|
|
183
|
+
};
|
|
184
|
+
alert: {
|
|
185
|
+
base: string;
|
|
186
|
+
title: string;
|
|
187
|
+
icon: string;
|
|
188
|
+
note: string;
|
|
189
|
+
tip: string;
|
|
190
|
+
warning: string;
|
|
191
|
+
caution: string;
|
|
192
|
+
important: string;
|
|
193
|
+
};
|
|
194
|
+
table: {
|
|
195
|
+
base: string;
|
|
196
|
+
container: string;
|
|
197
|
+
};
|
|
198
|
+
thead: {
|
|
199
|
+
base: string;
|
|
200
|
+
};
|
|
201
|
+
tbody: {
|
|
202
|
+
base: string;
|
|
203
|
+
};
|
|
204
|
+
tr: {
|
|
205
|
+
base: string;
|
|
206
|
+
};
|
|
207
|
+
th: {
|
|
208
|
+
base: string;
|
|
209
|
+
};
|
|
210
|
+
td: {
|
|
211
|
+
base: string;
|
|
212
|
+
};
|
|
213
|
+
sup: {
|
|
214
|
+
base: string;
|
|
215
|
+
};
|
|
216
|
+
sub: {
|
|
217
|
+
base: string;
|
|
218
|
+
};
|
|
219
|
+
hr: {
|
|
220
|
+
base: string;
|
|
221
|
+
};
|
|
222
|
+
strong: {
|
|
223
|
+
base: string;
|
|
224
|
+
};
|
|
225
|
+
mermaid: {
|
|
226
|
+
base: string;
|
|
227
|
+
downloadButton: string;
|
|
228
|
+
};
|
|
229
|
+
math: {
|
|
230
|
+
base: string;
|
|
231
|
+
};
|
|
232
|
+
inlineMath: {
|
|
233
|
+
base: string;
|
|
234
|
+
};
|
|
235
|
+
em: {
|
|
236
|
+
base: string;
|
|
237
|
+
};
|
|
238
|
+
ins: {
|
|
239
|
+
base: string;
|
|
240
|
+
};
|
|
241
|
+
del: {
|
|
242
|
+
base: string;
|
|
243
|
+
};
|
|
244
|
+
small: {
|
|
245
|
+
base: string;
|
|
246
|
+
};
|
|
247
|
+
};
|