@slidev/parser 0.27.16 → 0.27.20
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-4LEQMYU6.mjs +382 -0
- package/dist/chunk-VFP6MEJG.js +382 -0
- package/dist/core.js +2 -2
- package/dist/core.mjs +1 -1
- package/dist/fs.js +11 -13
- package/dist/fs.mjs +2 -2
- package/dist/index.js +2 -6
- package/dist/index.mjs +1 -1
- package/fs.d.ts +1 -0
- package/package.json +9 -6
- package/dist/chunk-4MLX4OSA.js +0 -727
- package/dist/chunk-W27AU6TD.mjs +0 -704
package/dist/chunk-4MLX4OSA.js
DELETED
|
@@ -1,727 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
-
var __spreadValues = (a, b) => {
|
|
13
|
-
for (var prop in b || (b = {}))
|
|
14
|
-
if (__hasOwnProp.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
if (__getOwnPropSymbols)
|
|
17
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
-
if (__propIsEnum.call(b, prop))
|
|
19
|
-
__defNormalProp(a, prop, b[prop]);
|
|
20
|
-
}
|
|
21
|
-
return a;
|
|
22
|
-
};
|
|
23
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
25
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
26
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
27
|
-
}) : x)(function(x) {
|
|
28
|
-
if (typeof require !== "undefined")
|
|
29
|
-
return require.apply(this, arguments);
|
|
30
|
-
throw new Error('Dynamic require of "' + x + '" is not supported');
|
|
31
|
-
});
|
|
32
|
-
var __esm = (fn, res) => function __init() {
|
|
33
|
-
return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
|
|
34
|
-
};
|
|
35
|
-
var __commonJS = (cb, mod) => function __require2() {
|
|
36
|
-
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
37
|
-
};
|
|
38
|
-
var __reExport = (target, module, desc) => {
|
|
39
|
-
if (module && typeof module === "object" || typeof module === "function") {
|
|
40
|
-
for (let key of __getOwnPropNames(module))
|
|
41
|
-
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
42
|
-
__defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
|
|
43
|
-
}
|
|
44
|
-
return target;
|
|
45
|
-
};
|
|
46
|
-
var __toModule = (module) => {
|
|
47
|
-
return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// ../../node_modules/.pnpm/tsup@5.4.2_typescript@4.4.4/node_modules/tsup/assets/cjs_shims.js
|
|
51
|
-
var importMetaUrlShim;
|
|
52
|
-
var init_cjs_shims = __esm({
|
|
53
|
-
"../../node_modules/.pnpm/tsup@5.4.2_typescript@4.4.4/node_modules/tsup/assets/cjs_shims.js"() {
|
|
54
|
-
importMetaUrlShim = typeof document === "undefined" ? new (__require("url")).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
// ../../node_modules/.pnpm/@antfu+utils@0.3.0/node_modules/@antfu/utils/dist/index.js
|
|
59
|
-
var require_dist = __commonJS({
|
|
60
|
-
"../../node_modules/.pnpm/@antfu+utils@0.3.0/node_modules/@antfu/utils/dist/index.js"(exports) {
|
|
61
|
-
init_cjs_shims();
|
|
62
|
-
"use strict";
|
|
63
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
-
function clamp(n, min, max) {
|
|
65
|
-
return Math.min(max, Math.max(min, n));
|
|
66
|
-
}
|
|
67
|
-
function sum(...args) {
|
|
68
|
-
return flattenArrayable(args).reduce((a, b) => a + b, 0);
|
|
69
|
-
}
|
|
70
|
-
function toArray2(array) {
|
|
71
|
-
array = array || [];
|
|
72
|
-
if (Array.isArray(array))
|
|
73
|
-
return array;
|
|
74
|
-
return [array];
|
|
75
|
-
}
|
|
76
|
-
function flattenArrayable(array) {
|
|
77
|
-
return toArray2(array).flat(1);
|
|
78
|
-
}
|
|
79
|
-
function mergeArrayable(...args) {
|
|
80
|
-
return args.flatMap((i) => toArray2(i));
|
|
81
|
-
}
|
|
82
|
-
function partition(array, ...filters) {
|
|
83
|
-
const result = new Array(filters.length + 1).fill(null).map(() => []);
|
|
84
|
-
array.forEach((e, idx, arr) => {
|
|
85
|
-
let i = 0;
|
|
86
|
-
for (const filter of filters) {
|
|
87
|
-
if (filter(e, idx, arr)) {
|
|
88
|
-
result[i].push(e);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
i += 1;
|
|
92
|
-
}
|
|
93
|
-
result[i].push(e);
|
|
94
|
-
});
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
|
-
function uniq3(array) {
|
|
98
|
-
return Array.from(new Set(array));
|
|
99
|
-
}
|
|
100
|
-
function last(array) {
|
|
101
|
-
return at(array, -1);
|
|
102
|
-
}
|
|
103
|
-
function remove(array, value) {
|
|
104
|
-
if (!array)
|
|
105
|
-
return false;
|
|
106
|
-
const index = array.indexOf(value);
|
|
107
|
-
if (index >= 0) {
|
|
108
|
-
array.splice(index, 1);
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
function at(array, index) {
|
|
114
|
-
const len = array.length;
|
|
115
|
-
if (!len)
|
|
116
|
-
return void 0;
|
|
117
|
-
if (index < 0)
|
|
118
|
-
index += len;
|
|
119
|
-
return array[index];
|
|
120
|
-
}
|
|
121
|
-
function range2(...args) {
|
|
122
|
-
let start, stop, step;
|
|
123
|
-
if (args.length === 1) {
|
|
124
|
-
start = 0;
|
|
125
|
-
step = 1;
|
|
126
|
-
[stop] = args;
|
|
127
|
-
} else {
|
|
128
|
-
[start, stop, step = 1] = args;
|
|
129
|
-
}
|
|
130
|
-
const arr = [];
|
|
131
|
-
let current = start;
|
|
132
|
-
while (current < stop) {
|
|
133
|
-
arr.push(current);
|
|
134
|
-
current += step || 1;
|
|
135
|
-
}
|
|
136
|
-
return arr;
|
|
137
|
-
}
|
|
138
|
-
function move(arr, from, to) {
|
|
139
|
-
arr.splice(to, 0, arr.splice(from, 1)[0]);
|
|
140
|
-
return arr;
|
|
141
|
-
}
|
|
142
|
-
function clampArrayRange(n, arr) {
|
|
143
|
-
return clamp(n, 0, arr.length - 1);
|
|
144
|
-
}
|
|
145
|
-
var assert = (condition, message) => {
|
|
146
|
-
if (!condition)
|
|
147
|
-
throw new Error(message);
|
|
148
|
-
};
|
|
149
|
-
var toString2 = (v) => Object.prototype.toString.call(v);
|
|
150
|
-
var noop = () => {
|
|
151
|
-
};
|
|
152
|
-
function notNullish(v) {
|
|
153
|
-
return v != null;
|
|
154
|
-
}
|
|
155
|
-
function noNull(v) {
|
|
156
|
-
return v !== null;
|
|
157
|
-
}
|
|
158
|
-
function notUndefined(v) {
|
|
159
|
-
return v !== void 0;
|
|
160
|
-
}
|
|
161
|
-
function isTruthy2(v) {
|
|
162
|
-
return Boolean(v);
|
|
163
|
-
}
|
|
164
|
-
var isBrowser = typeof window !== "undefined";
|
|
165
|
-
var isDef = (val) => typeof val !== "undefined";
|
|
166
|
-
var isBoolean = (val) => typeof val === "boolean";
|
|
167
|
-
var isFunction = (val) => typeof val === "function";
|
|
168
|
-
var isNumber2 = (val) => typeof val === "number";
|
|
169
|
-
var isString = (val) => typeof val === "string";
|
|
170
|
-
var isObject2 = (val) => toString.call(val) === "[object Object]";
|
|
171
|
-
var isWindow = (val) => typeof window !== "undefined" && toString.call(val) === "[object Window]";
|
|
172
|
-
function slash(str) {
|
|
173
|
-
return str.replace(/\\/g, "/");
|
|
174
|
-
}
|
|
175
|
-
function ensurePrefix(prefix, str) {
|
|
176
|
-
if (!str.startsWith(prefix))
|
|
177
|
-
return prefix + str;
|
|
178
|
-
return str;
|
|
179
|
-
}
|
|
180
|
-
function template(str, ...args) {
|
|
181
|
-
return str.replace(/{(\d+)}/g, (match, key) => {
|
|
182
|
-
const index = Number(key);
|
|
183
|
-
if (Number.isNaN(index))
|
|
184
|
-
return match;
|
|
185
|
-
return args[index];
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
var timestamp = () => +Date.now();
|
|
189
|
-
function batchInvoke(functions) {
|
|
190
|
-
functions.forEach((fn) => fn && fn());
|
|
191
|
-
}
|
|
192
|
-
function invoke(fn) {
|
|
193
|
-
return fn();
|
|
194
|
-
}
|
|
195
|
-
function tap(value, callback) {
|
|
196
|
-
callback(value);
|
|
197
|
-
return value;
|
|
198
|
-
}
|
|
199
|
-
function objectMap2(obj, fn) {
|
|
200
|
-
return Object.fromEntries(Object.entries(obj).map(([k, v]) => fn(k, v)).filter(notNullish));
|
|
201
|
-
}
|
|
202
|
-
function isKeyOf(obj, k) {
|
|
203
|
-
return k in obj;
|
|
204
|
-
}
|
|
205
|
-
function objectKeys(obj) {
|
|
206
|
-
return Object.keys(obj);
|
|
207
|
-
}
|
|
208
|
-
function objectEntries(obj) {
|
|
209
|
-
return Object.entries(obj);
|
|
210
|
-
}
|
|
211
|
-
function deepMerge(target, ...sources) {
|
|
212
|
-
if (!sources.length)
|
|
213
|
-
return target;
|
|
214
|
-
const source = sources.shift();
|
|
215
|
-
if (source === void 0)
|
|
216
|
-
return target;
|
|
217
|
-
if (isMergableObject(target) && isMergableObject(source)) {
|
|
218
|
-
objectKeys(source).forEach((key) => {
|
|
219
|
-
if (isMergableObject(source[key])) {
|
|
220
|
-
if (!target[key])
|
|
221
|
-
target[key] = {};
|
|
222
|
-
deepMerge(target[key], source[key]);
|
|
223
|
-
} else {
|
|
224
|
-
target[key] = source[key];
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
return deepMerge(target, ...sources);
|
|
229
|
-
}
|
|
230
|
-
function isMergableObject(item) {
|
|
231
|
-
return isObject2(item) && !Array.isArray(item);
|
|
232
|
-
}
|
|
233
|
-
function objectPick(obj, keys, omitUndefined = false) {
|
|
234
|
-
return keys.reduce((n, k) => {
|
|
235
|
-
if (k in obj) {
|
|
236
|
-
if (!omitUndefined || !obj[k] === void 0)
|
|
237
|
-
n[k] = obj[k];
|
|
238
|
-
}
|
|
239
|
-
return n;
|
|
240
|
-
}, {});
|
|
241
|
-
}
|
|
242
|
-
function clearUndefined(obj) {
|
|
243
|
-
Object.keys(obj).forEach((key) => obj[key] === void 0 ? delete obj[key] : {});
|
|
244
|
-
return obj;
|
|
245
|
-
}
|
|
246
|
-
function hasOwnProperty(obj, v) {
|
|
247
|
-
if (obj == null)
|
|
248
|
-
return false;
|
|
249
|
-
return Object.prototype.hasOwnProperty.call(obj, v);
|
|
250
|
-
}
|
|
251
|
-
function createSingletonPromise(fn) {
|
|
252
|
-
let _promise;
|
|
253
|
-
function wrapper() {
|
|
254
|
-
if (!_promise)
|
|
255
|
-
_promise = fn();
|
|
256
|
-
return _promise;
|
|
257
|
-
}
|
|
258
|
-
wrapper.reset = async () => {
|
|
259
|
-
const _prev = _promise;
|
|
260
|
-
_promise = void 0;
|
|
261
|
-
if (_prev)
|
|
262
|
-
await _prev;
|
|
263
|
-
};
|
|
264
|
-
return wrapper;
|
|
265
|
-
}
|
|
266
|
-
function sleep(ms, callback) {
|
|
267
|
-
return new Promise((resolve) => setTimeout(async () => {
|
|
268
|
-
await (callback == null ? void 0 : callback());
|
|
269
|
-
resolve();
|
|
270
|
-
}, ms));
|
|
271
|
-
}
|
|
272
|
-
function createPromiseLock() {
|
|
273
|
-
const locks = [];
|
|
274
|
-
return {
|
|
275
|
-
async run(fn) {
|
|
276
|
-
const p = fn();
|
|
277
|
-
locks.push(p);
|
|
278
|
-
try {
|
|
279
|
-
return await p;
|
|
280
|
-
} finally {
|
|
281
|
-
remove(locks, p);
|
|
282
|
-
}
|
|
283
|
-
},
|
|
284
|
-
async wait() {
|
|
285
|
-
await Promise.allSettled(locks);
|
|
286
|
-
},
|
|
287
|
-
isWaiting() {
|
|
288
|
-
return Boolean(locks.length);
|
|
289
|
-
},
|
|
290
|
-
clear() {
|
|
291
|
-
locks.length = 0;
|
|
292
|
-
}
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
function throttle(delay, noTrailing, callback, debounceMode) {
|
|
296
|
-
var timeoutID;
|
|
297
|
-
var cancelled = false;
|
|
298
|
-
var lastExec = 0;
|
|
299
|
-
function clearExistingTimeout() {
|
|
300
|
-
if (timeoutID) {
|
|
301
|
-
clearTimeout(timeoutID);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
function cancel() {
|
|
305
|
-
clearExistingTimeout();
|
|
306
|
-
cancelled = true;
|
|
307
|
-
}
|
|
308
|
-
if (typeof noTrailing !== "boolean") {
|
|
309
|
-
debounceMode = callback;
|
|
310
|
-
callback = noTrailing;
|
|
311
|
-
noTrailing = void 0;
|
|
312
|
-
}
|
|
313
|
-
function wrapper() {
|
|
314
|
-
for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
315
|
-
arguments_[_key] = arguments[_key];
|
|
316
|
-
}
|
|
317
|
-
var self = this;
|
|
318
|
-
var elapsed = Date.now() - lastExec;
|
|
319
|
-
if (cancelled) {
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
|
-
function exec() {
|
|
323
|
-
lastExec = Date.now();
|
|
324
|
-
callback.apply(self, arguments_);
|
|
325
|
-
}
|
|
326
|
-
function clear() {
|
|
327
|
-
timeoutID = void 0;
|
|
328
|
-
}
|
|
329
|
-
if (debounceMode && !timeoutID) {
|
|
330
|
-
exec();
|
|
331
|
-
}
|
|
332
|
-
clearExistingTimeout();
|
|
333
|
-
if (debounceMode === void 0 && elapsed > delay) {
|
|
334
|
-
exec();
|
|
335
|
-
} else if (noTrailing !== true) {
|
|
336
|
-
timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === void 0 ? delay - elapsed : delay);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
wrapper.cancel = cancel;
|
|
340
|
-
return wrapper;
|
|
341
|
-
}
|
|
342
|
-
function debounce(delay, atBegin, callback) {
|
|
343
|
-
return callback === void 0 ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);
|
|
344
|
-
}
|
|
345
|
-
exports.assert = assert;
|
|
346
|
-
exports.at = at;
|
|
347
|
-
exports.batchInvoke = batchInvoke;
|
|
348
|
-
exports.clamp = clamp;
|
|
349
|
-
exports.clampArrayRange = clampArrayRange;
|
|
350
|
-
exports.clearUndefined = clearUndefined;
|
|
351
|
-
exports.createPromiseLock = createPromiseLock;
|
|
352
|
-
exports.createSingletonPromise = createSingletonPromise;
|
|
353
|
-
exports.debounce = debounce;
|
|
354
|
-
exports.deepMerge = deepMerge;
|
|
355
|
-
exports.ensurePrefix = ensurePrefix;
|
|
356
|
-
exports.flattenArrayable = flattenArrayable;
|
|
357
|
-
exports.hasOwnProperty = hasOwnProperty;
|
|
358
|
-
exports.invoke = invoke;
|
|
359
|
-
exports.isBoolean = isBoolean;
|
|
360
|
-
exports.isBrowser = isBrowser;
|
|
361
|
-
exports.isDef = isDef;
|
|
362
|
-
exports.isFunction = isFunction;
|
|
363
|
-
exports.isKeyOf = isKeyOf;
|
|
364
|
-
exports.isNumber = isNumber2;
|
|
365
|
-
exports.isObject = isObject2;
|
|
366
|
-
exports.isString = isString;
|
|
367
|
-
exports.isTruthy = isTruthy2;
|
|
368
|
-
exports.isWindow = isWindow;
|
|
369
|
-
exports.last = last;
|
|
370
|
-
exports.mergeArrayable = mergeArrayable;
|
|
371
|
-
exports.move = move;
|
|
372
|
-
exports.noNull = noNull;
|
|
373
|
-
exports.noop = noop;
|
|
374
|
-
exports.notNullish = notNullish;
|
|
375
|
-
exports.notUndefined = notUndefined;
|
|
376
|
-
exports.objectEntries = objectEntries;
|
|
377
|
-
exports.objectKeys = objectKeys;
|
|
378
|
-
exports.objectMap = objectMap2;
|
|
379
|
-
exports.objectPick = objectPick;
|
|
380
|
-
exports.partition = partition;
|
|
381
|
-
exports.range = range2;
|
|
382
|
-
exports.remove = remove;
|
|
383
|
-
exports.slash = slash;
|
|
384
|
-
exports.sleep = sleep;
|
|
385
|
-
exports.sum = sum;
|
|
386
|
-
exports.tap = tap;
|
|
387
|
-
exports.template = template;
|
|
388
|
-
exports.throttle = throttle;
|
|
389
|
-
exports.timestamp = timestamp;
|
|
390
|
-
exports.toArray = toArray2;
|
|
391
|
-
exports.toString = toString2;
|
|
392
|
-
exports.uniq = uniq3;
|
|
393
|
-
}
|
|
394
|
-
});
|
|
395
|
-
|
|
396
|
-
// src/core.ts
|
|
397
|
-
init_cjs_shims();
|
|
398
|
-
var import_utils4 = __toModule(require_dist());
|
|
399
|
-
var _jsyaml = require('js-yaml'); var _jsyaml2 = _interopRequireDefault(_jsyaml);
|
|
400
|
-
|
|
401
|
-
// src/config.ts
|
|
402
|
-
init_cjs_shims();
|
|
403
|
-
var import_utils2 = __toModule(require_dist());
|
|
404
|
-
|
|
405
|
-
// src/utils.ts
|
|
406
|
-
init_cjs_shims();
|
|
407
|
-
var import_utils = __toModule(require_dist());
|
|
408
|
-
function parseRangeString(total, rangeStr) {
|
|
409
|
-
if (!rangeStr || rangeStr === "all" || rangeStr === "*")
|
|
410
|
-
return (0, import_utils.range)(1, total + 1);
|
|
411
|
-
const pages = [];
|
|
412
|
-
for (const part of rangeStr.split(/[,;]/g)) {
|
|
413
|
-
if (!part.includes("-")) {
|
|
414
|
-
pages.push(+part);
|
|
415
|
-
} else {
|
|
416
|
-
const [start, end] = part.split("-", 2);
|
|
417
|
-
pages.push(...(0, import_utils.range)(+start, !end ? total + 1 : +end + 1));
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
return (0, import_utils.uniq)(pages).filter((i) => i <= total).sort((a, b) => a - b);
|
|
421
|
-
}
|
|
422
|
-
function parseAspectRatio(str) {
|
|
423
|
-
if ((0, import_utils.isNumber)(str))
|
|
424
|
-
return str;
|
|
425
|
-
if (!isNaN(+str))
|
|
426
|
-
return +str;
|
|
427
|
-
const [wStr = "", hStr = ""] = str.split(/[:\/x\|]/);
|
|
428
|
-
const w = parseFloat(wStr.trim());
|
|
429
|
-
const h = parseFloat(hStr.trim());
|
|
430
|
-
if (isNaN(w) || isNaN(h) || h === 0)
|
|
431
|
-
throw new Error(`Invalid aspect ratio "${str}"`);
|
|
432
|
-
return w / h;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
// src/config.ts
|
|
436
|
-
function resolveConfig(headmatter, themeMeta = {}) {
|
|
437
|
-
var _a, _b;
|
|
438
|
-
const themeHightlighter = ["prism", "shiki"].includes(themeMeta.highlighter || "") ? themeMeta.highlighter : void 0;
|
|
439
|
-
const themeColorSchema = ["light", "dark"].includes(themeMeta.colorSchema || "") ? themeMeta.colorSchema : void 0;
|
|
440
|
-
const defaultConfig = {
|
|
441
|
-
theme: "default",
|
|
442
|
-
title: "Slidev",
|
|
443
|
-
titleTemplate: "%s - Slidev",
|
|
444
|
-
remoteAssets: false,
|
|
445
|
-
monaco: "dev",
|
|
446
|
-
download: false,
|
|
447
|
-
info: false,
|
|
448
|
-
highlighter: themeHightlighter || "prism",
|
|
449
|
-
lineNumbers: false,
|
|
450
|
-
colorSchema: themeColorSchema || "auto",
|
|
451
|
-
routerMode: "history",
|
|
452
|
-
aspectRatio: 16 / 9,
|
|
453
|
-
canvasWidth: 980,
|
|
454
|
-
selectable: false,
|
|
455
|
-
themeConfig: {},
|
|
456
|
-
fonts: {},
|
|
457
|
-
favicon: "https://cdn.jsdelivr.net/gh/slidevjs/slidev/assets/favicon.png",
|
|
458
|
-
drawings: {},
|
|
459
|
-
plantUmlServer: "https://www.plantuml.com/plantuml"
|
|
460
|
-
};
|
|
461
|
-
const config = __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, defaultConfig), themeMeta.defaults), headmatter.config), headmatter), {
|
|
462
|
-
fonts: resolveFonts(__spreadValues(__spreadValues(__spreadValues({}, (_a = themeMeta.defaults) == null ? void 0 : _a.fonts), (_b = headmatter.config) == null ? void 0 : _b.fonts), headmatter == null ? void 0 : headmatter.fonts)),
|
|
463
|
-
drawings: resolveDarwings(headmatter.drawings)
|
|
464
|
-
});
|
|
465
|
-
if (config.colorSchema !== "dark" && config.colorSchema !== "light")
|
|
466
|
-
config.colorSchema = "auto";
|
|
467
|
-
if (themeColorSchema && config.colorSchema === "auto")
|
|
468
|
-
config.colorSchema = themeColorSchema;
|
|
469
|
-
config.aspectRatio = parseAspectRatio(config.aspectRatio);
|
|
470
|
-
if (themeColorSchema && config.colorSchema !== themeColorSchema)
|
|
471
|
-
console.warn(`[slidev] Color schema "${config.colorSchema}" does not supported by the theme`);
|
|
472
|
-
if (themeHightlighter && config.highlighter !== themeHightlighter)
|
|
473
|
-
console.warn(`[slidev] Syntax highlighter "${config.highlighter}" does not supported by the theme`);
|
|
474
|
-
return config;
|
|
475
|
-
}
|
|
476
|
-
function resolveFonts(fonts = {}) {
|
|
477
|
-
const {
|
|
478
|
-
fallbacks = true,
|
|
479
|
-
italic = false,
|
|
480
|
-
provider = "google"
|
|
481
|
-
} = fonts;
|
|
482
|
-
let sans = (0, import_utils2.toArray)(fonts.sans).flatMap((i) => i.split(/,\s*/g)).map((i) => i.trim());
|
|
483
|
-
let serif = (0, import_utils2.toArray)(fonts.serif).flatMap((i) => i.split(/,\s*/g)).map((i) => i.trim());
|
|
484
|
-
let mono = (0, import_utils2.toArray)(fonts.mono).flatMap((i) => i.split(/,\s*/g)).map((i) => i.trim());
|
|
485
|
-
const weights = (0, import_utils2.toArray)(fonts.weights || "200,400,600").flatMap((i) => i.toString().split(/,\s*/g)).map((i) => i.trim());
|
|
486
|
-
const custom = (0, import_utils2.toArray)(fonts.custom).flatMap((i) => i.split(/,\s*/g)).map((i) => i.trim());
|
|
487
|
-
const local = (0, import_utils2.toArray)(fonts.local).flatMap((i) => i.split(/,\s*/g)).map((i) => i.trim());
|
|
488
|
-
const webfonts = fonts.webfonts ? fonts.webfonts : fallbacks ? (0, import_utils2.uniq)([...sans, ...serif, ...mono, ...custom]) : [];
|
|
489
|
-
webfonts.filter((i) => local.includes(i));
|
|
490
|
-
function toQuoted(font) {
|
|
491
|
-
if (/^(['"]).*\1$/.test(font))
|
|
492
|
-
return font;
|
|
493
|
-
return `"${font}"`;
|
|
494
|
-
}
|
|
495
|
-
if (fallbacks) {
|
|
496
|
-
sans = (0, import_utils2.uniq)([
|
|
497
|
-
...sans.map(toQuoted),
|
|
498
|
-
"ui-sans-serif",
|
|
499
|
-
"system-ui",
|
|
500
|
-
"-apple-system",
|
|
501
|
-
"BlinkMacSystemFont",
|
|
502
|
-
'"Segoe UI"',
|
|
503
|
-
"Roboto",
|
|
504
|
-
'"Helvetica Neue"',
|
|
505
|
-
"Arial",
|
|
506
|
-
'"Noto Sans"',
|
|
507
|
-
"sans-serif",
|
|
508
|
-
'"Apple Color Emoji"',
|
|
509
|
-
'"Segoe UI Emoji"',
|
|
510
|
-
'"Segoe UI Symbol"',
|
|
511
|
-
'"Noto Color Emoji"'
|
|
512
|
-
]);
|
|
513
|
-
serif = (0, import_utils2.uniq)([
|
|
514
|
-
...serif.map(toQuoted),
|
|
515
|
-
"ui-serif",
|
|
516
|
-
"Georgia",
|
|
517
|
-
"Cambria",
|
|
518
|
-
'"Times New Roman"',
|
|
519
|
-
"Times",
|
|
520
|
-
"serif"
|
|
521
|
-
]);
|
|
522
|
-
mono = (0, import_utils2.uniq)([
|
|
523
|
-
...mono.map(toQuoted),
|
|
524
|
-
"ui-monospace",
|
|
525
|
-
"SFMono-Regular",
|
|
526
|
-
"Menlo",
|
|
527
|
-
"Monaco",
|
|
528
|
-
"Consolas",
|
|
529
|
-
'"Liberation Mono"',
|
|
530
|
-
'"Courier New"',
|
|
531
|
-
"monospace"
|
|
532
|
-
]);
|
|
533
|
-
}
|
|
534
|
-
return {
|
|
535
|
-
sans,
|
|
536
|
-
serif,
|
|
537
|
-
mono,
|
|
538
|
-
webfonts,
|
|
539
|
-
provider,
|
|
540
|
-
local,
|
|
541
|
-
italic,
|
|
542
|
-
weights
|
|
543
|
-
};
|
|
544
|
-
}
|
|
545
|
-
function resolveDarwings(options = {}) {
|
|
546
|
-
const {
|
|
547
|
-
enabled = true,
|
|
548
|
-
persist = false,
|
|
549
|
-
presenterOnly = false,
|
|
550
|
-
syncAll = true
|
|
551
|
-
} = options;
|
|
552
|
-
const persistPath = typeof persist === "string" ? persist : persist ? ".slidev/drawings" : false;
|
|
553
|
-
return {
|
|
554
|
-
enabled,
|
|
555
|
-
persist: persistPath,
|
|
556
|
-
presenterOnly,
|
|
557
|
-
syncAll
|
|
558
|
-
};
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
// src/core.ts
|
|
562
|
-
function stringify(data) {
|
|
563
|
-
return `${data.slides.map((slide, idx) => stringifySlide(slide.inline || slide, idx)).join("\n").trim()}
|
|
564
|
-
`;
|
|
565
|
-
}
|
|
566
|
-
function filterDisabled(data) {
|
|
567
|
-
data.slides = data.slides.filter((i) => {
|
|
568
|
-
var _a;
|
|
569
|
-
return !((_a = i.frontmatter) == null ? void 0 : _a.disabled);
|
|
570
|
-
});
|
|
571
|
-
return data;
|
|
572
|
-
}
|
|
573
|
-
function stringifySlide(data, idx = 0) {
|
|
574
|
-
if (data.raw == null)
|
|
575
|
-
prettifySlide(data);
|
|
576
|
-
return data.raw.startsWith("---") || idx === 0 ? data.raw : `---
|
|
577
|
-
${data.raw.startsWith("\n") ? data.raw : `
|
|
578
|
-
${data.raw}`}`;
|
|
579
|
-
}
|
|
580
|
-
function prettifySlide(data) {
|
|
581
|
-
data.content = `
|
|
582
|
-
${data.content.trim()}
|
|
583
|
-
`;
|
|
584
|
-
data.raw = Object.keys(data.frontmatter || {}).length ? `---
|
|
585
|
-
${_jsyaml2.default.dump(data.frontmatter).trim()}
|
|
586
|
-
---
|
|
587
|
-
${data.content}` : data.content;
|
|
588
|
-
if (data.note)
|
|
589
|
-
data.raw += `
|
|
590
|
-
<!--
|
|
591
|
-
${data.note.trim()}
|
|
592
|
-
-->
|
|
593
|
-
`;
|
|
594
|
-
else
|
|
595
|
-
data.raw += "\n";
|
|
596
|
-
return data;
|
|
597
|
-
}
|
|
598
|
-
function prettify(data) {
|
|
599
|
-
data.slides.forEach(prettifySlide);
|
|
600
|
-
return data;
|
|
601
|
-
}
|
|
602
|
-
function matter(code) {
|
|
603
|
-
let data = {};
|
|
604
|
-
const content = code.replace(/^---.*\r?\n([\s\S]*?)---/, (_, d) => {
|
|
605
|
-
data = _jsyaml2.default.load(d);
|
|
606
|
-
if (!(0, import_utils4.isObject)(data))
|
|
607
|
-
data = {};
|
|
608
|
-
return "";
|
|
609
|
-
});
|
|
610
|
-
return { data, content };
|
|
611
|
-
}
|
|
612
|
-
function detectFeatures(code) {
|
|
613
|
-
return {
|
|
614
|
-
katex: !!code.match(/\$.*?\$/) || !!code.match(/$\$\$/),
|
|
615
|
-
monaco: !!code.match(/{monaco.*}/),
|
|
616
|
-
tweet: !!code.match(/<Tweet\b/),
|
|
617
|
-
mermaid: !!code.match(/^```mermaid/m)
|
|
618
|
-
};
|
|
619
|
-
}
|
|
620
|
-
function parseSlide(raw) {
|
|
621
|
-
var _a, _b;
|
|
622
|
-
const result = matter(raw);
|
|
623
|
-
let note;
|
|
624
|
-
const frontmatter = result.data || {};
|
|
625
|
-
let content = result.content.trim();
|
|
626
|
-
const comments = Array.from(content.matchAll(/<!--([\s\S]*?)-->/g));
|
|
627
|
-
if (comments.length) {
|
|
628
|
-
const last = comments[comments.length - 1];
|
|
629
|
-
if (last.index && last.index + last[0].length >= content.length) {
|
|
630
|
-
note = last[1].trim();
|
|
631
|
-
content = content.slice(0, last.index).trim();
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
const title = frontmatter.title || frontmatter.name || ((_b = (_a = content.match(/^#+ (.*)$/m)) == null ? void 0 : _a[1]) == null ? void 0 : _b.trim());
|
|
635
|
-
return {
|
|
636
|
-
raw,
|
|
637
|
-
title,
|
|
638
|
-
content,
|
|
639
|
-
frontmatter,
|
|
640
|
-
note
|
|
641
|
-
};
|
|
642
|
-
}
|
|
643
|
-
function parse(markdown, filepath, themeMeta) {
|
|
644
|
-
var _a, _b;
|
|
645
|
-
const lines = markdown.split(/\r?\n/g);
|
|
646
|
-
const slides = [];
|
|
647
|
-
let start = 0;
|
|
648
|
-
function slice(end) {
|
|
649
|
-
if (start === end)
|
|
650
|
-
return;
|
|
651
|
-
const raw = lines.slice(start, end).join("\n");
|
|
652
|
-
slides.push(__spreadProps(__spreadValues({}, parseSlide(raw)), {
|
|
653
|
-
index: slides.length,
|
|
654
|
-
start,
|
|
655
|
-
end
|
|
656
|
-
}));
|
|
657
|
-
start = end + 1;
|
|
658
|
-
}
|
|
659
|
-
for (let i = 0; i < lines.length; i++) {
|
|
660
|
-
const line = lines[i].trimRight();
|
|
661
|
-
if (line.match(/^---+/)) {
|
|
662
|
-
slice(i);
|
|
663
|
-
const next = lines[i + 1];
|
|
664
|
-
if (line.match(/^---([^-].*)?$/) && !(next == null ? void 0 : next.match(/^\s*$/))) {
|
|
665
|
-
start = i;
|
|
666
|
-
for (i += 1; i < lines.length; i++) {
|
|
667
|
-
if (lines[i].trimRight().match(/^---$/))
|
|
668
|
-
break;
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
} else if (line.startsWith("```")) {
|
|
672
|
-
for (i += 1; i < lines.length; i++) {
|
|
673
|
-
if (lines[i].startsWith("```"))
|
|
674
|
-
break;
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
if (start <= lines.length - 1)
|
|
679
|
-
slice(lines.length);
|
|
680
|
-
const headmatter = ((_a = slides[0]) == null ? void 0 : _a.frontmatter) || {};
|
|
681
|
-
headmatter.title = headmatter.title || ((_b = slides[0]) == null ? void 0 : _b.title);
|
|
682
|
-
const config = resolveConfig(headmatter, themeMeta);
|
|
683
|
-
const features = detectFeatures(markdown);
|
|
684
|
-
return {
|
|
685
|
-
raw: markdown,
|
|
686
|
-
filepath,
|
|
687
|
-
slides,
|
|
688
|
-
config,
|
|
689
|
-
features,
|
|
690
|
-
headmatter,
|
|
691
|
-
themeMeta
|
|
692
|
-
};
|
|
693
|
-
}
|
|
694
|
-
function mergeFeatureFlags(a, b) {
|
|
695
|
-
return (0, import_utils4.objectMap)(a, (k, v) => [k, v || b[k]]);
|
|
696
|
-
}
|
|
697
|
-
function scanMonacoModules(md) {
|
|
698
|
-
const typeModules = new Set();
|
|
699
|
-
md.replace(/^```(\w+?)\s*{monaco([\w:,-]*)}[\s\n]*([\s\S]+?)^```/mg, (full, lang = "ts", options, code) => {
|
|
700
|
-
options = options || "";
|
|
701
|
-
lang = lang.trim();
|
|
702
|
-
if (lang === "ts" || lang === "typescript") {
|
|
703
|
-
Array.from(code.matchAll(/\s+from\s+(["'])([\/\w@-]+)\1/g)).map((i) => i[2]).filter(import_utils4.isTruthy).map((i) => typeModules.add(i));
|
|
704
|
-
}
|
|
705
|
-
return "";
|
|
706
|
-
});
|
|
707
|
-
return Array.from(typeModules);
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
exports.__spreadValues = __spreadValues; exports.init_cjs_shims = init_cjs_shims; exports.parseRangeString = parseRangeString; exports.parseAspectRatio = parseAspectRatio; exports.resolveConfig = resolveConfig; exports.resolveFonts = resolveFonts; exports.stringify = stringify; exports.filterDisabled = filterDisabled; exports.stringifySlide = stringifySlide; exports.prettifySlide = prettifySlide; exports.prettify = prettify; exports.detectFeatures = detectFeatures; exports.parseSlide = parseSlide; exports.parse = parse; exports.mergeFeatureFlags = mergeFeatureFlags; exports.scanMonacoModules = scanMonacoModules;
|