@slidev/parser 0.49.17 → 0.49.18
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/dist/{chunk-ZR4UYCRF.mjs → chunk-3LX2JHFR.mjs} +68 -12
- package/dist/core.d.mts +8 -3
- package/dist/core.mjs +3 -1
- package/dist/fs.d.mts +1 -1
- package/dist/fs.mjs +3 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +3 -1
- package/package.json +2 -2
|
@@ -71,10 +71,12 @@ function getDefaultConfig() {
|
|
|
71
71
|
css: "unocss",
|
|
72
72
|
presenter: true,
|
|
73
73
|
htmlAttrs: {},
|
|
74
|
-
transition:
|
|
74
|
+
transition: null,
|
|
75
75
|
editor: true,
|
|
76
|
-
contextMenu:
|
|
77
|
-
wakeLock: true
|
|
76
|
+
contextMenu: null,
|
|
77
|
+
wakeLock: true,
|
|
78
|
+
remote: false,
|
|
79
|
+
mdc: false
|
|
78
80
|
};
|
|
79
81
|
}
|
|
80
82
|
function resolveConfig(headmatter, themeMeta = {}, filepath, verify = false) {
|
|
@@ -243,7 +245,7 @@ function prettify(data) {
|
|
|
243
245
|
data.slides.forEach(prettifySlide);
|
|
244
246
|
return data;
|
|
245
247
|
}
|
|
246
|
-
function matter(code) {
|
|
248
|
+
function matter(code, options) {
|
|
247
249
|
let type;
|
|
248
250
|
let raw;
|
|
249
251
|
let content = code.replace(/^---.*\r?\n([\s\S]*?)---/, (_, f) => {
|
|
@@ -258,12 +260,12 @@ function matter(code) {
|
|
|
258
260
|
return "";
|
|
259
261
|
});
|
|
260
262
|
}
|
|
261
|
-
const doc = YAML.parseDocument(raw
|
|
263
|
+
const doc = raw && !options.noParseYAML ? YAML.parseDocument(raw) : void 0;
|
|
262
264
|
return {
|
|
263
265
|
type,
|
|
264
266
|
raw,
|
|
265
267
|
doc,
|
|
266
|
-
data: doc
|
|
268
|
+
data: doc?.toJSON(),
|
|
267
269
|
content
|
|
268
270
|
};
|
|
269
271
|
}
|
|
@@ -275,8 +277,8 @@ function detectFeatures(code) {
|
|
|
275
277
|
mermaid: !!code.match(/^```mermaid/m)
|
|
276
278
|
};
|
|
277
279
|
}
|
|
278
|
-
function parseSlide(raw) {
|
|
279
|
-
const matterResult = matter(raw);
|
|
280
|
+
function parseSlide(raw, options = {}) {
|
|
281
|
+
const matterResult = matter(raw, options);
|
|
280
282
|
let note;
|
|
281
283
|
const frontmatter = matterResult.data || {};
|
|
282
284
|
let content = matterResult.content.trim();
|
|
@@ -311,8 +313,8 @@ function parseSlide(raw) {
|
|
|
311
313
|
note
|
|
312
314
|
};
|
|
313
315
|
}
|
|
314
|
-
async function parse(markdown, filepath, extensions) {
|
|
315
|
-
const lines = markdown.split(/\r?\n/g);
|
|
316
|
+
async function parse(markdown, filepath, extensions, options = {}) {
|
|
317
|
+
const lines = markdown.split(options.preserveCR ? "\n" : /\r?\n/g);
|
|
316
318
|
const slides = [];
|
|
317
319
|
let start = 0;
|
|
318
320
|
let contentStart = 0;
|
|
@@ -321,7 +323,7 @@ async function parse(markdown, filepath, extensions) {
|
|
|
321
323
|
return;
|
|
322
324
|
const raw = lines.slice(start, end).join("\n");
|
|
323
325
|
const slide = {
|
|
324
|
-
...parseSlide(raw),
|
|
326
|
+
...parseSlide(raw, options),
|
|
325
327
|
filepath,
|
|
326
328
|
index: slides.length,
|
|
327
329
|
start,
|
|
@@ -379,6 +381,59 @@ async function parse(markdown, filepath, extensions) {
|
|
|
379
381
|
slides
|
|
380
382
|
};
|
|
381
383
|
}
|
|
384
|
+
function parseSync(markdown, filepath, options = {}) {
|
|
385
|
+
const lines = markdown.split(options.preserveCR ? "\n" : /\r?\n/g);
|
|
386
|
+
const slides = [];
|
|
387
|
+
let start = 0;
|
|
388
|
+
let contentStart = 0;
|
|
389
|
+
function slice(end) {
|
|
390
|
+
if (start === end)
|
|
391
|
+
return;
|
|
392
|
+
const raw = lines.slice(start, end).join("\n");
|
|
393
|
+
const slide = {
|
|
394
|
+
...parseSlide(raw, options),
|
|
395
|
+
filepath,
|
|
396
|
+
index: slides.length,
|
|
397
|
+
start,
|
|
398
|
+
contentStart,
|
|
399
|
+
end
|
|
400
|
+
};
|
|
401
|
+
slides.push(slide);
|
|
402
|
+
start = end + 1;
|
|
403
|
+
contentStart = end + 1;
|
|
404
|
+
}
|
|
405
|
+
for (let i = 0; i < lines.length; i++) {
|
|
406
|
+
const line = lines[i].trimEnd();
|
|
407
|
+
if (line.startsWith("---")) {
|
|
408
|
+
slice(i);
|
|
409
|
+
const next = lines[i + 1];
|
|
410
|
+
if (line[3] !== "-" && next?.trim()) {
|
|
411
|
+
start = i;
|
|
412
|
+
for (i += 1; i < lines.length; i++) {
|
|
413
|
+
if (lines[i].trimEnd() === "---")
|
|
414
|
+
break;
|
|
415
|
+
}
|
|
416
|
+
contentStart = i + 1;
|
|
417
|
+
}
|
|
418
|
+
} else if (line.trimStart().startsWith("```")) {
|
|
419
|
+
const codeBlockLevel = line.match(/^\s*`+/)[0];
|
|
420
|
+
let j = i + 1;
|
|
421
|
+
for (; j < lines.length; j++) {
|
|
422
|
+
if (lines[j].startsWith(codeBlockLevel))
|
|
423
|
+
break;
|
|
424
|
+
}
|
|
425
|
+
if (j !== lines.length)
|
|
426
|
+
i = j;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
if (start <= lines.length - 1)
|
|
430
|
+
slice(lines.length);
|
|
431
|
+
return {
|
|
432
|
+
filepath,
|
|
433
|
+
raw: markdown,
|
|
434
|
+
slides
|
|
435
|
+
};
|
|
436
|
+
}
|
|
382
437
|
function scanMonacoReferencedMods(md) {
|
|
383
438
|
const types = /* @__PURE__ */ new Set();
|
|
384
439
|
const deps = /* @__PURE__ */ new Set();
|
|
@@ -419,5 +474,6 @@ export {
|
|
|
419
474
|
prettify,
|
|
420
475
|
detectFeatures,
|
|
421
476
|
parseSlide,
|
|
422
|
-
parse
|
|
477
|
+
parse,
|
|
478
|
+
parseSync
|
|
423
479
|
};
|
package/dist/core.d.mts
CHANGED
|
@@ -14,12 +14,17 @@ declare function resolveConfig(headmatter: any, themeMeta?: SlidevThemeMeta, fil
|
|
|
14
14
|
declare function verifyConfig(config: SlidevConfig, themeMeta?: SlidevThemeMeta, warn?: (v: string) => void): void;
|
|
15
15
|
declare function resolveFonts(fonts?: FontOptions): ResolvedFontOptions;
|
|
16
16
|
|
|
17
|
+
interface SlidevParserOptions {
|
|
18
|
+
noParseYAML?: boolean;
|
|
19
|
+
preserveCR?: boolean;
|
|
20
|
+
}
|
|
17
21
|
declare function stringify(data: SlidevMarkdown): string;
|
|
18
22
|
declare function stringifySlide(data: SourceSlideInfo, idx?: number): string;
|
|
19
23
|
declare function prettifySlide(data: SourceSlideInfo): SourceSlideInfo;
|
|
20
24
|
declare function prettify(data: SlidevMarkdown): SlidevMarkdown;
|
|
21
25
|
declare function detectFeatures(code: string): SlidevDetectedFeatures;
|
|
22
|
-
declare function parseSlide(raw: string): Omit<SourceSlideInfo, 'filepath' | 'index' | 'start' | 'contentStart' | 'end'>;
|
|
23
|
-
declare function parse(markdown: string, filepath: string, extensions?: SlidevPreparserExtension[]): Promise<SlidevMarkdown>;
|
|
26
|
+
declare function parseSlide(raw: string, options?: SlidevParserOptions): Omit<SourceSlideInfo, 'filepath' | 'index' | 'start' | 'contentStart' | 'end'>;
|
|
27
|
+
declare function parse(markdown: string, filepath: string, extensions?: SlidevPreparserExtension[], options?: SlidevParserOptions): Promise<SlidevMarkdown>;
|
|
28
|
+
declare function parseSync(markdown: string, filepath: string, options?: SlidevParserOptions): SlidevMarkdown;
|
|
24
29
|
|
|
25
|
-
export { detectFeatures, getDefaultConfig, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig };
|
|
30
|
+
export { type SlidevParserOptions, detectFeatures, getDefaultConfig, parse, parseAspectRatio, parseRangeString, parseSlide, parseSync, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig };
|
package/dist/core.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
parseAspectRatio,
|
|
6
6
|
parseRangeString,
|
|
7
7
|
parseSlide,
|
|
8
|
+
parseSync,
|
|
8
9
|
prettify,
|
|
9
10
|
prettifySlide,
|
|
10
11
|
resolveConfig,
|
|
@@ -12,7 +13,7 @@ import {
|
|
|
12
13
|
stringify,
|
|
13
14
|
stringifySlide,
|
|
14
15
|
verifyConfig
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3LX2JHFR.mjs";
|
|
16
17
|
export {
|
|
17
18
|
detectFeatures,
|
|
18
19
|
getDefaultConfig,
|
|
@@ -20,6 +21,7 @@ export {
|
|
|
20
21
|
parseAspectRatio,
|
|
21
22
|
parseRangeString,
|
|
22
23
|
parseSlide,
|
|
24
|
+
parseSync,
|
|
23
25
|
prettify,
|
|
24
26
|
prettifySlide,
|
|
25
27
|
resolveConfig,
|
package/dist/fs.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PreparserExtensionLoader, SlidevData, SlidevMarkdown } from '@slidev/types';
|
|
2
|
-
export { detectFeatures, getDefaultConfig, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig } from './core.mjs';
|
|
2
|
+
export { SlidevParserOptions, detectFeatures, getDefaultConfig, parse, parseAspectRatio, parseRangeString, parseSlide, parseSync, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig } from './core.mjs';
|
|
3
3
|
|
|
4
4
|
declare function injectPreparserExtensionLoader(fn: PreparserExtensionLoader): void;
|
|
5
5
|
/**
|
package/dist/fs.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
parseAspectRatio,
|
|
6
6
|
parseRangeString,
|
|
7
7
|
parseSlide,
|
|
8
|
+
parseSync,
|
|
8
9
|
prettify,
|
|
9
10
|
prettifySlide,
|
|
10
11
|
resolveConfig,
|
|
@@ -12,7 +13,7 @@ import {
|
|
|
12
13
|
stringify,
|
|
13
14
|
stringifySlide,
|
|
14
15
|
verifyConfig
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3LX2JHFR.mjs";
|
|
16
17
|
|
|
17
18
|
// src/fs.ts
|
|
18
19
|
import fs from "node:fs";
|
|
@@ -127,6 +128,7 @@ export {
|
|
|
127
128
|
parseAspectRatio,
|
|
128
129
|
parseRangeString,
|
|
129
130
|
parseSlide,
|
|
131
|
+
parseSync,
|
|
130
132
|
prettify,
|
|
131
133
|
prettifySlide,
|
|
132
134
|
resolveConfig,
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { detectFeatures, getDefaultConfig, parse, parseAspectRatio, parseRangeString, parseSlide, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig } from './core.mjs';
|
|
1
|
+
export { SlidevParserOptions, detectFeatures, getDefaultConfig, parse, parseAspectRatio, parseRangeString, parseSlide, parseSync, prettify, prettifySlide, resolveConfig, resolveFonts, stringify, stringifySlide, verifyConfig } from './core.mjs';
|
|
2
2
|
import '@slidev/types';
|
package/dist/index.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
parseAspectRatio,
|
|
6
6
|
parseRangeString,
|
|
7
7
|
parseSlide,
|
|
8
|
+
parseSync,
|
|
8
9
|
prettify,
|
|
9
10
|
prettifySlide,
|
|
10
11
|
resolveConfig,
|
|
@@ -12,7 +13,7 @@ import {
|
|
|
12
13
|
stringify,
|
|
13
14
|
stringifySlide,
|
|
14
15
|
verifyConfig
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3LX2JHFR.mjs";
|
|
16
17
|
export {
|
|
17
18
|
detectFeatures,
|
|
18
19
|
getDefaultConfig,
|
|
@@ -20,6 +21,7 @@ export {
|
|
|
20
21
|
parseAspectRatio,
|
|
21
22
|
parseRangeString,
|
|
22
23
|
parseSlide,
|
|
24
|
+
parseSync,
|
|
23
25
|
prettify,
|
|
24
26
|
prettifySlide,
|
|
25
27
|
resolveConfig,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slidev/parser",
|
|
3
|
-
"version": "0.49.
|
|
3
|
+
"version": "0.49.18",
|
|
4
4
|
"description": "Markdown parser for Slidev",
|
|
5
5
|
"author": "antfu <anthonyfu117@hotmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@antfu/utils": "^0.7.10",
|
|
40
40
|
"yaml": "^2.4.5",
|
|
41
|
-
"@slidev/types": "0.49.
|
|
41
|
+
"@slidev/types": "0.49.18"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "rimraf dist && tsup src/index.ts src/core.ts src/fs.ts",
|