@slidev/cli 0.30.0 → 0.30.3
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/{build-C73NWEPF.mjs → build-6SGXHSD5.mjs} +9 -6
- package/dist/{build-ZQJFWYTE.js → build-RLDXLLAM.js} +11 -8
- package/dist/{chunk-KZHGLGA5.mjs → chunk-42RALHAU.mjs} +8 -12
- package/dist/{chunk-4AVLCCHB.mjs → chunk-4YPIBI4G.mjs} +32 -7
- package/dist/{chunk-HBDQZUZK.js → chunk-CIB2BRE3.js} +2 -2
- package/dist/{chunk-46RYGQQC.mjs → chunk-LCOJZNZW.mjs} +1 -1
- package/dist/{chunk-ZDBME6IC.js → chunk-PL62CCCK.js} +8 -12
- package/dist/{chunk-7FQD47HM.js → chunk-RBYAPROQ.js} +32 -7
- package/dist/cli.js +26 -26
- package/dist/cli.mjs +8 -8
- package/dist/{export-OZQCWKXN.mjs → export-DGMIRITW.mjs} +4 -4
- package/dist/{export-SQVJKP3A.js → export-PXKH5FVD.js} +5 -5
- package/dist/index.js +4 -4
- package/dist/index.mjs +3 -3
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ViteSlidevPlugin,
|
|
3
3
|
getIndexHtml
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4YPIBI4G.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__require,
|
|
7
7
|
__spreadValues,
|
|
@@ -659,6 +659,7 @@ async function build(options, viteConfig = {}) {
|
|
|
659
659
|
let config = void 0;
|
|
660
660
|
try {
|
|
661
661
|
const inlineConfig = mergeConfig(viteConfig, {
|
|
662
|
+
root: options.userRoot,
|
|
662
663
|
plugins: [
|
|
663
664
|
await ViteSlidevPlugin(options, pluginOptions),
|
|
664
665
|
{
|
|
@@ -704,17 +705,19 @@ async function build(options, viteConfig = {}) {
|
|
|
704
705
|
else
|
|
705
706
|
await fs2.unlink(indexPath);
|
|
706
707
|
}
|
|
707
|
-
|
|
708
|
-
const
|
|
708
|
+
const outDir = resolve3(options.userRoot, config.build.outDir);
|
|
709
|
+
const outFilename = options.data.config.exportFilename || "slidev-exported.pdf";
|
|
710
|
+
await fs2.copyFile(resolve3(outDir, "index.html"), resolve3(outDir, "404.html"));
|
|
711
|
+
const redirectsPath = resolve3(outDir, "_redirects");
|
|
709
712
|
if (!fs2.existsSync(redirectsPath))
|
|
710
713
|
await fs2.writeFile(redirectsPath, `${config.base}* ${config.base}index.html 200
|
|
711
714
|
`, "utf-8");
|
|
712
715
|
if ([true, "true", "auto"].includes(options.data.config.download)) {
|
|
713
|
-
const { exportSlides } = await Promise.resolve().then(() => __toESM(__require("./export-
|
|
716
|
+
const { exportSlides } = await Promise.resolve().then(() => __toESM(__require("./export-DGMIRITW.mjs")));
|
|
714
717
|
const port = 12445;
|
|
715
718
|
const app = connect();
|
|
716
719
|
const server = http.createServer(app);
|
|
717
|
-
app.use(config.base, build_default(
|
|
720
|
+
app.use(config.base, build_default(outDir, {
|
|
718
721
|
etag: true,
|
|
719
722
|
single: true,
|
|
720
723
|
dev: true
|
|
@@ -724,7 +727,7 @@ async function build(options, viteConfig = {}) {
|
|
|
724
727
|
port,
|
|
725
728
|
total: options.data.slides.length,
|
|
726
729
|
format: "pdf",
|
|
727
|
-
output: join3(
|
|
730
|
+
output: join3(outDir, outFilename),
|
|
728
731
|
base: config.base,
|
|
729
732
|
dark: options.data.config.colorSchema === "dark",
|
|
730
733
|
width: 1920,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkRBYAPROQjs = require('./chunk-RBYAPROQ.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -655,12 +655,13 @@ async function build(options, viteConfig = {}) {
|
|
|
655
655
|
let originalIndexHTML;
|
|
656
656
|
if (_fsextra2.default.existsSync(indexPath))
|
|
657
657
|
originalIndexHTML = await _fsextra2.default.readFile(indexPath, "utf-8");
|
|
658
|
-
await _fsextra2.default.writeFile(indexPath, await
|
|
658
|
+
await _fsextra2.default.writeFile(indexPath, await _chunkRBYAPROQjs.getIndexHtml.call(void 0, options), "utf-8");
|
|
659
659
|
let config = void 0;
|
|
660
660
|
try {
|
|
661
661
|
const inlineConfig = _vite.mergeConfig.call(void 0, viteConfig, {
|
|
662
|
+
root: options.userRoot,
|
|
662
663
|
plugins: [
|
|
663
|
-
await
|
|
664
|
+
await _chunkRBYAPROQjs.ViteSlidevPlugin.call(void 0, options, pluginOptions),
|
|
664
665
|
{
|
|
665
666
|
name: "resolve-config",
|
|
666
667
|
configResolved(_config) {
|
|
@@ -704,17 +705,19 @@ async function build(options, viteConfig = {}) {
|
|
|
704
705
|
else
|
|
705
706
|
await _fsextra2.default.unlink(indexPath);
|
|
706
707
|
}
|
|
707
|
-
|
|
708
|
-
const
|
|
708
|
+
const outDir = _path.resolve.call(void 0, options.userRoot, config.build.outDir);
|
|
709
|
+
const outFilename = options.data.config.exportFilename || "slidev-exported.pdf";
|
|
710
|
+
await _fsextra2.default.copyFile(_path.resolve.call(void 0, outDir, "index.html"), _path.resolve.call(void 0, outDir, "404.html"));
|
|
711
|
+
const redirectsPath = _path.resolve.call(void 0, outDir, "_redirects");
|
|
709
712
|
if (!_fsextra2.default.existsSync(redirectsPath))
|
|
710
713
|
await _fsextra2.default.writeFile(redirectsPath, `${config.base}* ${config.base}index.html 200
|
|
711
714
|
`, "utf-8");
|
|
712
715
|
if ([true, "true", "auto"].includes(options.data.config.download)) {
|
|
713
|
-
const { exportSlides } = await Promise.resolve().then(() => _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkIXNT7VMKjs.__require.call(void 0, "./export-
|
|
716
|
+
const { exportSlides } = await Promise.resolve().then(() => _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkIXNT7VMKjs.__require.call(void 0, "./export-PXKH5FVD.js")));
|
|
714
717
|
const port = 12445;
|
|
715
718
|
const app = _connect2.default.call(void 0, );
|
|
716
719
|
const server = _http2.default.createServer(app);
|
|
717
|
-
app.use(config.base, build_default(
|
|
720
|
+
app.use(config.base, build_default(outDir, {
|
|
718
721
|
etag: true,
|
|
719
722
|
single: true,
|
|
720
723
|
dev: true
|
|
@@ -724,7 +727,7 @@ async function build(options, viteConfig = {}) {
|
|
|
724
727
|
port,
|
|
725
728
|
total: options.data.slides.length,
|
|
726
729
|
format: "pdf",
|
|
727
|
-
output: _path.join.call(void 0,
|
|
730
|
+
output: _path.join.call(void 0, outDir, outFilename),
|
|
728
731
|
base: config.base,
|
|
729
732
|
dark: options.data.config.colorSchema === "dark",
|
|
730
733
|
width: 1920,
|
|
@@ -2392,7 +2392,6 @@ __export(fs_exports, {
|
|
|
2392
2392
|
init_esm_shims();
|
|
2393
2393
|
import { promises as fs } from "fs";
|
|
2394
2394
|
import { dirname, resolve } from "path";
|
|
2395
|
-
import Markdown from "markdown-it";
|
|
2396
2395
|
|
|
2397
2396
|
// ../parser/src/core.ts
|
|
2398
2397
|
init_esm_shims();
|
|
@@ -5105,16 +5104,18 @@ function resolveConfig(headmatter, themeMeta = {}) {
|
|
|
5105
5104
|
routerMode: "history",
|
|
5106
5105
|
aspectRatio: 16 / 9,
|
|
5107
5106
|
canvasWidth: 980,
|
|
5107
|
+
exportFilename: "",
|
|
5108
5108
|
selectable: false,
|
|
5109
5109
|
themeConfig: {},
|
|
5110
5110
|
fonts: {},
|
|
5111
5111
|
favicon: "https://cdn.jsdelivr.net/gh/slidevjs/slidev/assets/favicon.png",
|
|
5112
5112
|
drawings: {},
|
|
5113
|
-
plantUmlServer: "https://www.plantuml.com/plantuml"
|
|
5113
|
+
plantUmlServer: "https://www.plantuml.com/plantuml",
|
|
5114
|
+
record: "dev"
|
|
5114
5115
|
};
|
|
5115
5116
|
const config2 = __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, defaultConfig2), themeMeta.defaults), headmatter.config), headmatter), {
|
|
5116
5117
|
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)),
|
|
5117
|
-
drawings:
|
|
5118
|
+
drawings: resolveDrawings(headmatter.drawings)
|
|
5118
5119
|
});
|
|
5119
5120
|
if (config2.colorSchema !== "dark" && config2.colorSchema !== "light")
|
|
5120
5121
|
config2.colorSchema = "auto";
|
|
@@ -5196,7 +5197,7 @@ function resolveFonts(fonts = {}) {
|
|
|
5196
5197
|
weights
|
|
5197
5198
|
};
|
|
5198
5199
|
}
|
|
5199
|
-
function
|
|
5200
|
+
function resolveDrawings(options = {}) {
|
|
5200
5201
|
const {
|
|
5201
5202
|
enabled = true,
|
|
5202
5203
|
persist = false,
|
|
@@ -5358,9 +5359,9 @@ function parse(markdown, filepath, themeMeta) {
|
|
|
5358
5359
|
function mergeFeatureFlags(a, b) {
|
|
5359
5360
|
return objectMap(a, (k, v) => [k, v || b[k]]);
|
|
5360
5361
|
}
|
|
5361
|
-
function scanMonacoModules(
|
|
5362
|
+
function scanMonacoModules(md) {
|
|
5362
5363
|
const typeModules = /* @__PURE__ */ new Set();
|
|
5363
|
-
|
|
5364
|
+
md.replace(/^```(\w+?)\s*{monaco([\w:,-]*)}[\s\n]*([\s\S]+?)^```/mg, (full, lang = "ts", options, code) => {
|
|
5364
5365
|
options = options || "";
|
|
5365
5366
|
lang = lang.trim();
|
|
5366
5367
|
if (lang === "ts" || lang === "typescript") {
|
|
@@ -5372,7 +5373,6 @@ function scanMonacoModules(md2) {
|
|
|
5372
5373
|
}
|
|
5373
5374
|
|
|
5374
5375
|
// ../parser/src/fs.ts
|
|
5375
|
-
var md = Markdown({ html: true });
|
|
5376
5376
|
async function load2(filepath, themeMeta, content) {
|
|
5377
5377
|
const dir = dirname(filepath);
|
|
5378
5378
|
const markdown = content != null ? content : await fs.readFile(filepath, "utf-8");
|
|
@@ -5413,10 +5413,6 @@ async function load2(filepath, themeMeta, content) {
|
|
|
5413
5413
|
data.slides.splice(iSlide + offset, 0, slide);
|
|
5414
5414
|
}
|
|
5415
5415
|
}
|
|
5416
|
-
for (const slide of data.slides) {
|
|
5417
|
-
if (slide.title)
|
|
5418
|
-
slide.title = md.render(slide.title).trim().replace(/^<p>/, "").replace(/<\/p>$/, "");
|
|
5419
|
-
}
|
|
5420
5416
|
for (let iSlide = 0; iSlide < data.slides.length; iSlide++)
|
|
5421
5417
|
data.slides[iSlide].index = iSlide === 0 ? 0 : 1 + data.slides[iSlide - 1].index;
|
|
5422
5418
|
data.entries = Array.from(entries);
|
|
@@ -5434,7 +5430,7 @@ async function saveExternalSlide(slide) {
|
|
|
5434
5430
|
init_esm_shims();
|
|
5435
5431
|
|
|
5436
5432
|
// package.json
|
|
5437
|
-
var version = "0.30.
|
|
5433
|
+
var version = "0.30.3";
|
|
5438
5434
|
|
|
5439
5435
|
// node/themes.ts
|
|
5440
5436
|
init_esm_shims();
|
|
@@ -388,6 +388,7 @@ function getDefine(options) {
|
|
|
388
388
|
__SLIDEV_HASH_ROUTE__: JSON.stringify(options.data.config.routerMode === "hash"),
|
|
389
389
|
__SLIDEV_FEATURE_DRAWINGS__: JSON.stringify(options.data.config.drawings.enabled === true || options.data.config.drawings.enabled === options.mode),
|
|
390
390
|
__SLIDEV_FEATURE_DRAWINGS_PERSIST__: JSON.stringify(!!options.data.config.drawings.persist === true),
|
|
391
|
+
__SLIDEV_FEATURE_RECORD__: JSON.stringify(options.data.config.record === true || options.data.config.record === options.mode),
|
|
391
392
|
__DEV__: options.mode === "dev" ? "true" : "false"
|
|
392
393
|
};
|
|
393
394
|
}
|
|
@@ -472,7 +473,7 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
472
473
|
});
|
|
473
474
|
},
|
|
474
475
|
async handleHotUpdate(ctx) {
|
|
475
|
-
var _a;
|
|
476
|
+
var _a, _b, _c;
|
|
476
477
|
if (!data.entries.some((i) => slash2(i) === ctx.file))
|
|
477
478
|
return;
|
|
478
479
|
const newData = await parser.load(entry, data.themeMeta);
|
|
@@ -496,7 +497,7 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
496
497
|
for (let i = 0; i < length; i++) {
|
|
497
498
|
const a = data.slides[i];
|
|
498
499
|
const b = newData.slides[i];
|
|
499
|
-
if ((a == null ? void 0 : a.content.trim()) === (b == null ? void 0 : b.content.trim()) && (a == null ? void 0 : a.note) === (b == null ? void 0 : b.note) && (0, import_fast_deep_equal.default)(a.frontmatter, b.frontmatter))
|
|
500
|
+
if ((a == null ? void 0 : a.content.trim()) === (b == null ? void 0 : b.content.trim()) && ((_a = a == null ? void 0 : a.title) == null ? void 0 : _a.trim()) === ((_b = b == null ? void 0 : b.title) == null ? void 0 : _b.trim()) && (a == null ? void 0 : a.note) === (b == null ? void 0 : b.note) && (0, import_fast_deep_equal.default)(a.frontmatter, b.frontmatter))
|
|
500
501
|
continue;
|
|
501
502
|
ctx.server.ws.send({
|
|
502
503
|
type: "custom",
|
|
@@ -508,13 +509,15 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
508
509
|
});
|
|
509
510
|
hmrPages.add(i);
|
|
510
511
|
}
|
|
511
|
-
(
|
|
512
|
+
(_c = serverOptions.onDataReload) == null ? void 0 : _c.call(serverOptions, newData, data);
|
|
512
513
|
Object.assign(data, newData);
|
|
514
|
+
if (hmrPages.size > 0)
|
|
515
|
+
moduleIds.add("/@slidev/titles.md");
|
|
513
516
|
const vueModules = (await Promise.all(Array.from(hmrPages).map(async (i) => {
|
|
514
517
|
var _a2;
|
|
515
518
|
const file = `${slidePrefix}${i + 1}.md`;
|
|
516
519
|
try {
|
|
517
|
-
const md2 = await transformMarkdown(MarkdownPlugin.transform((_a2 = newData.slides[i]) == null ? void 0 : _a2.content, file), i, newData);
|
|
520
|
+
const md2 = await transformMarkdown(await MarkdownPlugin.transform((_a2 = newData.slides[i]) == null ? void 0 : _a2.content, file), i, newData);
|
|
518
521
|
return await VuePlugin.handleHotUpdate(__spreadProps(__spreadValues({}, ctx), {
|
|
519
522
|
modules: Array.from(ctx.server.moduleGraph.getModulesByFile(file) || []),
|
|
520
523
|
file,
|
|
@@ -559,6 +562,14 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
559
562
|
return generateGlobalComponents("bottom");
|
|
560
563
|
if (id === "/@slidev/custom-nav-controls")
|
|
561
564
|
return generateCustomNavControls();
|
|
565
|
+
if (id === "/@slidev/titles.md") {
|
|
566
|
+
return {
|
|
567
|
+
code: data.slides.map(({ title }, i) => {
|
|
568
|
+
return `<template ${i === 0 ? "v-if" : "v-else-if"}="+no === ${i + 1}">${title}</template>`;
|
|
569
|
+
}).join(""),
|
|
570
|
+
map: {}
|
|
571
|
+
};
|
|
572
|
+
}
|
|
562
573
|
if (id.startsWith(slidePrefix)) {
|
|
563
574
|
const remaning = id.slice(slidePrefix.length);
|
|
564
575
|
const match = remaning.match(regexIdQuery);
|
|
@@ -604,6 +615,15 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
604
615
|
return;
|
|
605
616
|
return transformVue(code);
|
|
606
617
|
}
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
name: "slidev:title-transform:pre",
|
|
621
|
+
enforce: "pre",
|
|
622
|
+
transform(code, id) {
|
|
623
|
+
if (id !== "/@slidev/titles.md")
|
|
624
|
+
return;
|
|
625
|
+
return transformTitles(code);
|
|
626
|
+
}
|
|
607
627
|
}
|
|
608
628
|
];
|
|
609
629
|
function updateServerWatcher() {
|
|
@@ -694,6 +714,10 @@ ${code.slice(injectIndex)}`;
|
|
|
694
714
|
${imports.join("\n")}
|
|
695
715
|
<\/script>
|
|
696
716
|
${code}`;
|
|
717
|
+
}
|
|
718
|
+
function transformTitles(code) {
|
|
719
|
+
return code.replace(/<template>\s*<div>\s*<p>/, "<template>").replace(/<\/p>\s*<\/div>\s*<\/template>/, "</template>").replace(/<script\ssetup>/, `<script setup lang="ts">
|
|
720
|
+
defineProps<{ no: number | string }>()`);
|
|
697
721
|
}
|
|
698
722
|
async function getLayouts() {
|
|
699
723
|
const now = Date.now();
|
|
@@ -773,7 +797,7 @@ ${Object.entries(layouts).map(([k, v]) => `"${k}": ${v}`).join(",\n")}
|
|
|
773
797
|
let no = 1;
|
|
774
798
|
const routes = [
|
|
775
799
|
...data.slides.map((i, idx) => {
|
|
776
|
-
var _a, _b;
|
|
800
|
+
var _a, _b, _c, _d;
|
|
777
801
|
if ((_a = i.frontmatter) == null ? void 0 : _a.disabled)
|
|
778
802
|
return void 0;
|
|
779
803
|
imports.push(`import n${no} from '${slidePrefix}${idx + 1}.md'`);
|
|
@@ -793,9 +817,10 @@ ${Object.entries(layouts).map(([k, v]) => `"${k}": ${v}`).join(",\n")}
|
|
|
793
817
|
};
|
|
794
818
|
const meta = Object.assign({}, i.frontmatter, additions);
|
|
795
819
|
const route = `{ path: '${no}', name: 'page-${no}', component: n${no}, meta: ${JSON.stringify(meta)} }`;
|
|
820
|
+
const redirect = ((_c = i.frontmatter) == null ? void 0 : _c.routeAlias) ? `{ path: '${(_d = i.frontmatter) == null ? void 0 : _d.routeAlias}', redirect: { path: '${no}' } }` : null;
|
|
796
821
|
no += 1;
|
|
797
|
-
return route;
|
|
798
|
-
}).filter(notNullish),
|
|
822
|
+
return [route, redirect];
|
|
823
|
+
}).flat().filter(notNullish),
|
|
799
824
|
`{ path: "${no}", component: __layout__end, meta: { layout: "end" } }`
|
|
800
825
|
];
|
|
801
826
|
const routesStr = `export default [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkRBYAPROQjs = require('./chunk-RBYAPROQ.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkIXNT7VMKjs = require('./chunk-IXNT7VMK.js');
|
|
@@ -20,7 +20,7 @@ async function createServer(options, viteConfig = {}, serverOptions = {}) {
|
|
|
20
20
|
]
|
|
21
21
|
},
|
|
22
22
|
plugins: [
|
|
23
|
-
await
|
|
23
|
+
await _chunkRBYAPROQjs.ViteSlidevPlugin.call(void 0, options, pluginOptions, serverOptions)
|
|
24
24
|
]
|
|
25
25
|
}));
|
|
26
26
|
return server;
|
|
@@ -2392,7 +2392,6 @@ _chunkIXNT7VMKjs.__export.call(void 0, fs_exports, {
|
|
|
2392
2392
|
_chunkIXNT7VMKjs.init_cjs_shims.call(void 0, );
|
|
2393
2393
|
var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
|
|
2394
2394
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
2395
|
-
var _markdownit = require('markdown-it'); var _markdownit2 = _interopRequireDefault(_markdownit);
|
|
2396
2395
|
|
|
2397
2396
|
// ../parser/src/core.ts
|
|
2398
2397
|
_chunkIXNT7VMKjs.init_cjs_shims.call(void 0, );
|
|
@@ -5105,16 +5104,18 @@ function resolveConfig(headmatter, themeMeta = {}) {
|
|
|
5105
5104
|
routerMode: "history",
|
|
5106
5105
|
aspectRatio: 16 / 9,
|
|
5107
5106
|
canvasWidth: 980,
|
|
5107
|
+
exportFilename: "",
|
|
5108
5108
|
selectable: false,
|
|
5109
5109
|
themeConfig: {},
|
|
5110
5110
|
fonts: {},
|
|
5111
5111
|
favicon: "https://cdn.jsdelivr.net/gh/slidevjs/slidev/assets/favicon.png",
|
|
5112
5112
|
drawings: {},
|
|
5113
|
-
plantUmlServer: "https://www.plantuml.com/plantuml"
|
|
5113
|
+
plantUmlServer: "https://www.plantuml.com/plantuml",
|
|
5114
|
+
record: "dev"
|
|
5114
5115
|
};
|
|
5115
5116
|
const config2 = _chunkIXNT7VMKjs.__spreadProps.call(void 0, _chunkIXNT7VMKjs.__spreadValues.call(void 0, _chunkIXNT7VMKjs.__spreadValues.call(void 0, _chunkIXNT7VMKjs.__spreadValues.call(void 0, _chunkIXNT7VMKjs.__spreadValues.call(void 0, {}, defaultConfig2), themeMeta.defaults), headmatter.config), headmatter), {
|
|
5116
5117
|
fonts: resolveFonts(_chunkIXNT7VMKjs.__spreadValues.call(void 0, _chunkIXNT7VMKjs.__spreadValues.call(void 0, _chunkIXNT7VMKjs.__spreadValues.call(void 0, {}, (_a = themeMeta.defaults) == null ? void 0 : _a.fonts), (_b = headmatter.config) == null ? void 0 : _b.fonts), headmatter == null ? void 0 : headmatter.fonts)),
|
|
5117
|
-
drawings:
|
|
5118
|
+
drawings: resolveDrawings(headmatter.drawings)
|
|
5118
5119
|
});
|
|
5119
5120
|
if (config2.colorSchema !== "dark" && config2.colorSchema !== "light")
|
|
5120
5121
|
config2.colorSchema = "auto";
|
|
@@ -5196,7 +5197,7 @@ function resolveFonts(fonts = {}) {
|
|
|
5196
5197
|
weights
|
|
5197
5198
|
};
|
|
5198
5199
|
}
|
|
5199
|
-
function
|
|
5200
|
+
function resolveDrawings(options = {}) {
|
|
5200
5201
|
const {
|
|
5201
5202
|
enabled = true,
|
|
5202
5203
|
persist = false,
|
|
@@ -5358,9 +5359,9 @@ function parse(markdown, filepath, themeMeta) {
|
|
|
5358
5359
|
function mergeFeatureFlags(a, b) {
|
|
5359
5360
|
return _utils.objectMap.call(void 0, a, (k, v) => [k, v || b[k]]);
|
|
5360
5361
|
}
|
|
5361
|
-
function scanMonacoModules(
|
|
5362
|
+
function scanMonacoModules(md) {
|
|
5362
5363
|
const typeModules = /* @__PURE__ */ new Set();
|
|
5363
|
-
|
|
5364
|
+
md.replace(/^```(\w+?)\s*{monaco([\w:,-]*)}[\s\n]*([\s\S]+?)^```/mg, (full, lang = "ts", options, code) => {
|
|
5364
5365
|
options = options || "";
|
|
5365
5366
|
lang = lang.trim();
|
|
5366
5367
|
if (lang === "ts" || lang === "typescript") {
|
|
@@ -5372,7 +5373,6 @@ function scanMonacoModules(md2) {
|
|
|
5372
5373
|
}
|
|
5373
5374
|
|
|
5374
5375
|
// ../parser/src/fs.ts
|
|
5375
|
-
var md = _markdownit2.default.call(void 0, { html: true });
|
|
5376
5376
|
async function load2(filepath, themeMeta, content) {
|
|
5377
5377
|
const dir = _path.dirname.call(void 0, filepath);
|
|
5378
5378
|
const markdown = content != null ? content : await _fs.promises.readFile(filepath, "utf-8");
|
|
@@ -5413,10 +5413,6 @@ async function load2(filepath, themeMeta, content) {
|
|
|
5413
5413
|
data.slides.splice(iSlide + offset, 0, slide);
|
|
5414
5414
|
}
|
|
5415
5415
|
}
|
|
5416
|
-
for (const slide of data.slides) {
|
|
5417
|
-
if (slide.title)
|
|
5418
|
-
slide.title = md.render(slide.title).trim().replace(/^<p>/, "").replace(/<\/p>$/, "");
|
|
5419
|
-
}
|
|
5420
5416
|
for (let iSlide = 0; iSlide < data.slides.length; iSlide++)
|
|
5421
5417
|
data.slides[iSlide].index = iSlide === 0 ? 0 : 1 + data.slides[iSlide - 1].index;
|
|
5422
5418
|
data.entries = Array.from(entries);
|
|
@@ -5434,7 +5430,7 @@ async function saveExternalSlide(slide) {
|
|
|
5434
5430
|
_chunkIXNT7VMKjs.init_cjs_shims.call(void 0, );
|
|
5435
5431
|
|
|
5436
5432
|
// package.json
|
|
5437
|
-
var version = "0.30.
|
|
5433
|
+
var version = "0.30.3";
|
|
5438
5434
|
|
|
5439
5435
|
// node/themes.ts
|
|
5440
5436
|
_chunkIXNT7VMKjs.init_cjs_shims.call(void 0, );
|
|
@@ -387,6 +387,7 @@ function getDefine(options) {
|
|
|
387
387
|
__SLIDEV_HASH_ROUTE__: JSON.stringify(options.data.config.routerMode === "hash"),
|
|
388
388
|
__SLIDEV_FEATURE_DRAWINGS__: JSON.stringify(options.data.config.drawings.enabled === true || options.data.config.drawings.enabled === options.mode),
|
|
389
389
|
__SLIDEV_FEATURE_DRAWINGS_PERSIST__: JSON.stringify(!!options.data.config.drawings.persist === true),
|
|
390
|
+
__SLIDEV_FEATURE_RECORD__: JSON.stringify(options.data.config.record === true || options.data.config.record === options.mode),
|
|
390
391
|
__DEV__: options.mode === "dev" ? "true" : "false"
|
|
391
392
|
};
|
|
392
393
|
}
|
|
@@ -471,7 +472,7 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
471
472
|
});
|
|
472
473
|
},
|
|
473
474
|
async handleHotUpdate(ctx) {
|
|
474
|
-
var _a;
|
|
475
|
+
var _a, _b, _c;
|
|
475
476
|
if (!data.entries.some((i) => _utils.slash.call(void 0, i) === ctx.file))
|
|
476
477
|
return;
|
|
477
478
|
const newData = await parser.load(entry, data.themeMeta);
|
|
@@ -495,7 +496,7 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
495
496
|
for (let i = 0; i < length; i++) {
|
|
496
497
|
const a = data.slides[i];
|
|
497
498
|
const b = newData.slides[i];
|
|
498
|
-
if ((a == null ? void 0 : a.content.trim()) === (b == null ? void 0 : b.content.trim()) && (a == null ? void 0 : a.note) === (b == null ? void 0 : b.note) && (0, import_fast_deep_equal.default)(a.frontmatter, b.frontmatter))
|
|
499
|
+
if ((a == null ? void 0 : a.content.trim()) === (b == null ? void 0 : b.content.trim()) && ((_a = a == null ? void 0 : a.title) == null ? void 0 : _a.trim()) === ((_b = b == null ? void 0 : b.title) == null ? void 0 : _b.trim()) && (a == null ? void 0 : a.note) === (b == null ? void 0 : b.note) && (0, import_fast_deep_equal.default)(a.frontmatter, b.frontmatter))
|
|
499
500
|
continue;
|
|
500
501
|
ctx.server.ws.send({
|
|
501
502
|
type: "custom",
|
|
@@ -507,13 +508,15 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
507
508
|
});
|
|
508
509
|
hmrPages.add(i);
|
|
509
510
|
}
|
|
510
|
-
(
|
|
511
|
+
(_c = serverOptions.onDataReload) == null ? void 0 : _c.call(serverOptions, newData, data);
|
|
511
512
|
Object.assign(data, newData);
|
|
513
|
+
if (hmrPages.size > 0)
|
|
514
|
+
moduleIds.add("/@slidev/titles.md");
|
|
512
515
|
const vueModules = (await Promise.all(Array.from(hmrPages).map(async (i) => {
|
|
513
516
|
var _a2;
|
|
514
517
|
const file = `${slidePrefix}${i + 1}.md`;
|
|
515
518
|
try {
|
|
516
|
-
const md2 = await transformMarkdown(MarkdownPlugin.transform((_a2 = newData.slides[i]) == null ? void 0 : _a2.content, file), i, newData);
|
|
519
|
+
const md2 = await transformMarkdown(await MarkdownPlugin.transform((_a2 = newData.slides[i]) == null ? void 0 : _a2.content, file), i, newData);
|
|
517
520
|
return await VuePlugin.handleHotUpdate(_chunkIXNT7VMKjs.__spreadProps.call(void 0, _chunkIXNT7VMKjs.__spreadValues.call(void 0, {}, ctx), {
|
|
518
521
|
modules: Array.from(ctx.server.moduleGraph.getModulesByFile(file) || []),
|
|
519
522
|
file,
|
|
@@ -558,6 +561,14 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
558
561
|
return generateGlobalComponents("bottom");
|
|
559
562
|
if (id === "/@slidev/custom-nav-controls")
|
|
560
563
|
return generateCustomNavControls();
|
|
564
|
+
if (id === "/@slidev/titles.md") {
|
|
565
|
+
return {
|
|
566
|
+
code: data.slides.map(({ title }, i) => {
|
|
567
|
+
return `<template ${i === 0 ? "v-if" : "v-else-if"}="+no === ${i + 1}">${title}</template>`;
|
|
568
|
+
}).join(""),
|
|
569
|
+
map: {}
|
|
570
|
+
};
|
|
571
|
+
}
|
|
561
572
|
if (id.startsWith(slidePrefix)) {
|
|
562
573
|
const remaning = id.slice(slidePrefix.length);
|
|
563
574
|
const match = remaning.match(regexIdQuery);
|
|
@@ -603,6 +614,15 @@ function createSlidesLoader({ data, entry, clientRoot, themeRoots, userRoot, roo
|
|
|
603
614
|
return;
|
|
604
615
|
return transformVue(code);
|
|
605
616
|
}
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
name: "slidev:title-transform:pre",
|
|
620
|
+
enforce: "pre",
|
|
621
|
+
transform(code, id) {
|
|
622
|
+
if (id !== "/@slidev/titles.md")
|
|
623
|
+
return;
|
|
624
|
+
return transformTitles(code);
|
|
625
|
+
}
|
|
606
626
|
}
|
|
607
627
|
];
|
|
608
628
|
function updateServerWatcher() {
|
|
@@ -693,6 +713,10 @@ ${code.slice(injectIndex)}`;
|
|
|
693
713
|
${imports.join("\n")}
|
|
694
714
|
<\/script>
|
|
695
715
|
${code}`;
|
|
716
|
+
}
|
|
717
|
+
function transformTitles(code) {
|
|
718
|
+
return code.replace(/<template>\s*<div>\s*<p>/, "<template>").replace(/<\/p>\s*<\/div>\s*<\/template>/, "</template>").replace(/<script\ssetup>/, `<script setup lang="ts">
|
|
719
|
+
defineProps<{ no: number | string }>()`);
|
|
696
720
|
}
|
|
697
721
|
async function getLayouts() {
|
|
698
722
|
const now = Date.now();
|
|
@@ -772,7 +796,7 @@ ${Object.entries(layouts).map(([k, v]) => `"${k}": ${v}`).join(",\n")}
|
|
|
772
796
|
let no = 1;
|
|
773
797
|
const routes = [
|
|
774
798
|
...data.slides.map((i, idx) => {
|
|
775
|
-
var _a, _b;
|
|
799
|
+
var _a, _b, _c, _d;
|
|
776
800
|
if ((_a = i.frontmatter) == null ? void 0 : _a.disabled)
|
|
777
801
|
return void 0;
|
|
778
802
|
imports.push(`import n${no} from '${slidePrefix}${idx + 1}.md'`);
|
|
@@ -792,9 +816,10 @@ ${Object.entries(layouts).map(([k, v]) => `"${k}": ${v}`).join(",\n")}
|
|
|
792
816
|
};
|
|
793
817
|
const meta = Object.assign({}, i.frontmatter, additions);
|
|
794
818
|
const route = `{ path: '${no}', name: 'page-${no}', component: n${no}, meta: ${JSON.stringify(meta)} }`;
|
|
819
|
+
const redirect = ((_c = i.frontmatter) == null ? void 0 : _c.routeAlias) ? `{ path: '${(_d = i.frontmatter) == null ? void 0 : _d.routeAlias}', redirect: { path: '${no}' } }` : null;
|
|
795
820
|
no += 1;
|
|
796
|
-
return route;
|
|
797
|
-
}).filter(_utils.notNullish),
|
|
821
|
+
return [route, redirect];
|
|
822
|
+
}).flat().filter(_utils.notNullish),
|
|
798
823
|
`{ path: "${no}", component: __layout__end, meta: { layout: "end" } }`
|
|
799
824
|
];
|
|
800
825
|
const routesStr = `export default [
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict"; function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkCIB2BRE3js = require('./chunk-CIB2BRE3.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -8,10 +8,10 @@ var _chunkHBDQZUZKjs = require('./chunk-HBDQZUZK.js');
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkPL62CCCKjs = require('./chunk-PL62CCCK.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkRBYAPROQjs = require('./chunk-RBYAPROQ.js');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
@@ -20,7 +20,7 @@ var _chunkIXNT7VMKjs = require('./chunk-IXNT7VMK.js');
|
|
|
20
20
|
|
|
21
21
|
// node/cli.ts
|
|
22
22
|
_chunkIXNT7VMKjs.init_cjs_shims.call(void 0, );
|
|
23
|
-
var import_fast_deep_equal = _chunkIXNT7VMKjs.__toESM.call(void 0,
|
|
23
|
+
var import_fast_deep_equal = _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkRBYAPROQjs.require_fast_deep_equal.call(void 0, ));
|
|
24
24
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
25
25
|
var _net = require('net'); var _net2 = _interopRequireDefault(_net);
|
|
26
26
|
var _os = require('os'); var _os2 = _interopRequireDefault(_os);
|
|
@@ -38,7 +38,7 @@ var CONFIG_RESTART_FIELDS = [
|
|
|
38
38
|
"routerMode",
|
|
39
39
|
"fonts"
|
|
40
40
|
];
|
|
41
|
-
var cli = _yargs2.default.scriptName("slidev").usage("$0 [args]").version(
|
|
41
|
+
var cli = _yargs2.default.scriptName("slidev").usage("$0 [args]").version(_chunkPL62CCCKjs.version).strict().showHelpOnFail(false).alias("h", "help").alias("v", "version");
|
|
42
42
|
cli.command("* [entry]", "Start a local server for Slidev", (args) => commonOptions(args).option("port", {
|
|
43
43
|
alias: "p",
|
|
44
44
|
type: "number",
|
|
@@ -82,9 +82,9 @@ cli.command("* [entry]", "Start a local server for Slidev", (args) => commonOpti
|
|
|
82
82
|
async function initServer() {
|
|
83
83
|
if (server)
|
|
84
84
|
await server.close();
|
|
85
|
-
const options = await
|
|
85
|
+
const options = await _chunkPL62CCCKjs.resolveOptions.call(void 0, { entry, theme }, "dev");
|
|
86
86
|
port = userPort || await findFreePort(3030);
|
|
87
|
-
server = await
|
|
87
|
+
server = await _chunkCIB2BRE3js.createServer.call(void 0, options, {
|
|
88
88
|
server: {
|
|
89
89
|
port,
|
|
90
90
|
strictPort: true,
|
|
@@ -95,7 +95,7 @@ cli.command("* [entry]", "Start a local server for Slidev", (args) => commonOpti
|
|
|
95
95
|
logLevel: log
|
|
96
96
|
}, {
|
|
97
97
|
onDataReload(newData, data) {
|
|
98
|
-
if (!theme &&
|
|
98
|
+
if (!theme && _chunkPL62CCCKjs.resolveThemeName.call(void 0, newData.config.theme) !== _chunkPL62CCCKjs.resolveThemeName.call(void 0, data.config.theme)) {
|
|
99
99
|
console.log(_kolorist.yellow.call(void 0, "\n restarting on theme change\n"));
|
|
100
100
|
initServer();
|
|
101
101
|
} else if (CONFIG_RESTART_FIELDS.some((i) => !(0, import_fast_deep_equal.default)(newData.config[i], data.config[i]))) {
|
|
@@ -171,8 +171,8 @@ cli.command("build [entry]", "Build hostable SPA", (args) => commonOptions(args)
|
|
|
171
171
|
type: "boolean",
|
|
172
172
|
describe: "allow download as PDF"
|
|
173
173
|
}).strict().help(), async ({ entry, theme, watch, base, download, out }) => {
|
|
174
|
-
const { build } = await Promise.resolve().then(() => _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkIXNT7VMKjs.__require.call(void 0, "./build-
|
|
175
|
-
const options = await
|
|
174
|
+
const { build } = await Promise.resolve().then(() => _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkIXNT7VMKjs.__require.call(void 0, "./build-RLDXLLAM.js")));
|
|
175
|
+
const options = await _chunkPL62CCCKjs.resolveOptions.call(void 0, { entry, theme }, "build");
|
|
176
176
|
if (download && !options.data.config.download)
|
|
177
177
|
options.data.config.download = download;
|
|
178
178
|
printInfo(options);
|
|
@@ -185,26 +185,26 @@ cli.command("build [entry]", "Build hostable SPA", (args) => commonOptions(args)
|
|
|
185
185
|
});
|
|
186
186
|
});
|
|
187
187
|
cli.command("format [entry]", "Format the markdown file", (args) => commonOptions(args).strict().help(), async ({ entry }) => {
|
|
188
|
-
const data = await
|
|
189
|
-
|
|
190
|
-
await
|
|
188
|
+
const data = await _chunkPL62CCCKjs.fs_exports.load(entry);
|
|
189
|
+
_chunkPL62CCCKjs.fs_exports.prettify(data);
|
|
190
|
+
await _chunkPL62CCCKjs.fs_exports.save(data);
|
|
191
191
|
});
|
|
192
192
|
cli.command("theme [subcommand]", "Theme related operations", (command) => {
|
|
193
193
|
return command.command("eject", "Eject current theme into local file system", (args) => commonOptions(args).option("dir", {
|
|
194
194
|
type: "string",
|
|
195
195
|
default: "theme"
|
|
196
196
|
}), async ({ entry, dir, theme: themeInput }) => {
|
|
197
|
-
const data = await
|
|
198
|
-
const theme =
|
|
197
|
+
const data = await _chunkPL62CCCKjs.fs_exports.load(entry);
|
|
198
|
+
const theme = _chunkPL62CCCKjs.resolveThemeName.call(void 0, themeInput || data.config.theme);
|
|
199
199
|
if (theme === "none") {
|
|
200
200
|
console.error('Can not eject theme "none"');
|
|
201
201
|
process.exit(1);
|
|
202
202
|
}
|
|
203
|
-
if (
|
|
203
|
+
if (_chunkPL62CCCKjs.isPath.call(void 0, theme)) {
|
|
204
204
|
console.error("Theme is already ejected");
|
|
205
205
|
process.exit(1);
|
|
206
206
|
}
|
|
207
|
-
const roots =
|
|
207
|
+
const roots = _chunkPL62CCCKjs.getThemeRoots.call(void 0, theme, entry);
|
|
208
208
|
if (!roots.length) {
|
|
209
209
|
console.error(`Does not found theme "${theme}"`);
|
|
210
210
|
process.exit(1);
|
|
@@ -216,7 +216,7 @@ cli.command("theme [subcommand]", "Theme related operations", (command) => {
|
|
|
216
216
|
const dirPath = `./${dir}`;
|
|
217
217
|
data.slides[0].frontmatter.theme = dirPath;
|
|
218
218
|
data.slides[0].raw = null;
|
|
219
|
-
await
|
|
219
|
+
await _chunkPL62CCCKjs.fs_exports.save(data);
|
|
220
220
|
console.log(`Theme "${theme}" ejected successfully to "${dirPath}"`);
|
|
221
221
|
});
|
|
222
222
|
}, () => {
|
|
@@ -232,9 +232,9 @@ cli.command("export [entry]", "Export slides to PDF", (args) => commonOptions(ar
|
|
|
232
232
|
choices: ["pdf", "png", "md"],
|
|
233
233
|
describe: "output format"
|
|
234
234
|
}).option("timeout", {
|
|
235
|
-
default:
|
|
235
|
+
default: 3e4,
|
|
236
236
|
type: "number",
|
|
237
|
-
describe: "timeout for rendering
|
|
237
|
+
describe: "timeout for rendering the print page"
|
|
238
238
|
}).option("range", {
|
|
239
239
|
type: "string",
|
|
240
240
|
describe: 'page ranges to export, for example "1,4-5,6"'
|
|
@@ -257,18 +257,18 @@ cli.command("export [entry]", "Export slides to PDF", (args) => commonOptions(ar
|
|
|
257
257
|
dark,
|
|
258
258
|
"with-clicks": withClicks
|
|
259
259
|
}) => {
|
|
260
|
-
output = output || `${_path2.default.basename(entry, ".md")}-export`;
|
|
261
260
|
process.env.NODE_ENV = "production";
|
|
262
|
-
const { exportSlides } = await Promise.resolve().then(() => _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkIXNT7VMKjs.__require.call(void 0, "./export-
|
|
261
|
+
const { exportSlides } = await Promise.resolve().then(() => _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkIXNT7VMKjs.__require.call(void 0, "./export-PXKH5FVD.js")));
|
|
263
262
|
const port = await findFreePort(12445);
|
|
264
|
-
const options = await
|
|
265
|
-
|
|
263
|
+
const options = await _chunkPL62CCCKjs.resolveOptions.call(void 0, { entry, theme }, "build");
|
|
264
|
+
output = output || options.data.config.exportFilename || `${_path2.default.basename(entry, ".md")}-export`;
|
|
265
|
+
const server = await _chunkCIB2BRE3js.createServer.call(void 0, options, {
|
|
266
266
|
server: { port },
|
|
267
267
|
clearScreen: false
|
|
268
268
|
});
|
|
269
269
|
await server.listen(port);
|
|
270
270
|
printInfo(options);
|
|
271
|
-
|
|
271
|
+
_chunkPL62CCCKjs.fs_exports.filterDisabled(options.data);
|
|
272
272
|
const width = options.data.config.canvasWidth;
|
|
273
273
|
const height = Math.round(width / options.data.config.aspectRatio);
|
|
274
274
|
output = await exportSlides({
|
|
@@ -306,7 +306,7 @@ function printInfo(options, port, remote) {
|
|
|
306
306
|
console.log();
|
|
307
307
|
console.log();
|
|
308
308
|
console.log(` ${_kolorist.cyan.call(void 0, "\u25CF") + _kolorist.blue.call(void 0, "\u25A0") + _kolorist.yellow.call(void 0, "\u25B2")}`);
|
|
309
|
-
console.log(`${_kolorist.bold.call(void 0, " Slidev")} ${_kolorist.blue.call(void 0, `v${
|
|
309
|
+
console.log(`${_kolorist.bold.call(void 0, " Slidev")} ${_kolorist.blue.call(void 0, `v${_chunkPL62CCCKjs.version}`)} ${_isinstalledglobally2.default ? _kolorist.yellow.call(void 0, "(global)") : ""}`);
|
|
310
310
|
console.log();
|
|
311
311
|
console.log(_kolorist.dim.call(void 0, " theme ") + (options.theme ? _kolorist.green.call(void 0, options.theme) : _kolorist.gray.call(void 0, "none")));
|
|
312
312
|
console.log(_kolorist.dim.call(void 0, " entry ") + _kolorist.dim.call(void 0, _path2.default.dirname(options.entry) + _path2.default.sep) + _path2.default.basename(options.entry));
|
package/dist/cli.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LCOJZNZW.mjs";
|
|
4
4
|
import {
|
|
5
5
|
fs_exports,
|
|
6
6
|
getThemeRoots,
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
resolveOptions,
|
|
9
9
|
resolveThemeName,
|
|
10
10
|
version
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-42RALHAU.mjs";
|
|
12
12
|
import {
|
|
13
13
|
require_fast_deep_equal
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4YPIBI4G.mjs";
|
|
15
15
|
import {
|
|
16
16
|
__dirname,
|
|
17
17
|
__require,
|
|
@@ -172,7 +172,7 @@ cli.command("build [entry]", "Build hostable SPA", (args) => commonOptions(args)
|
|
|
172
172
|
type: "boolean",
|
|
173
173
|
describe: "allow download as PDF"
|
|
174
174
|
}).strict().help(), async ({ entry, theme, watch, base, download, out }) => {
|
|
175
|
-
const { build } = await Promise.resolve().then(() => __toESM(__require("./build-
|
|
175
|
+
const { build } = await Promise.resolve().then(() => __toESM(__require("./build-6SGXHSD5.mjs")));
|
|
176
176
|
const options = await resolveOptions({ entry, theme }, "build");
|
|
177
177
|
if (download && !options.data.config.download)
|
|
178
178
|
options.data.config.download = download;
|
|
@@ -233,9 +233,9 @@ cli.command("export [entry]", "Export slides to PDF", (args) => commonOptions(ar
|
|
|
233
233
|
choices: ["pdf", "png", "md"],
|
|
234
234
|
describe: "output format"
|
|
235
235
|
}).option("timeout", {
|
|
236
|
-
default:
|
|
236
|
+
default: 3e4,
|
|
237
237
|
type: "number",
|
|
238
|
-
describe: "timeout for rendering
|
|
238
|
+
describe: "timeout for rendering the print page"
|
|
239
239
|
}).option("range", {
|
|
240
240
|
type: "string",
|
|
241
241
|
describe: 'page ranges to export, for example "1,4-5,6"'
|
|
@@ -258,11 +258,11 @@ cli.command("export [entry]", "Export slides to PDF", (args) => commonOptions(ar
|
|
|
258
258
|
dark,
|
|
259
259
|
"with-clicks": withClicks
|
|
260
260
|
}) => {
|
|
261
|
-
output = output || `${path.basename(entry, ".md")}-export`;
|
|
262
261
|
process.env.NODE_ENV = "production";
|
|
263
|
-
const { exportSlides } = await Promise.resolve().then(() => __toESM(__require("./export-
|
|
262
|
+
const { exportSlides } = await Promise.resolve().then(() => __toESM(__require("./export-DGMIRITW.mjs")));
|
|
264
263
|
const port = await findFreePort(12445);
|
|
265
264
|
const options = await resolveOptions({ entry, theme }, "build");
|
|
265
|
+
output = output || options.data.config.exportFilename || `${path.basename(entry, ".md")}-export`;
|
|
266
266
|
const server = await createServer(options, {
|
|
267
267
|
server: { port },
|
|
268
268
|
clearScreen: false
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
packageExists
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-42RALHAU.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__require,
|
|
6
6
|
__toESM,
|
|
@@ -55,7 +55,7 @@ async function exportSlides({
|
|
|
55
55
|
output = "slides",
|
|
56
56
|
slides,
|
|
57
57
|
base = "/",
|
|
58
|
-
timeout =
|
|
58
|
+
timeout = 3e4,
|
|
59
59
|
dark = false,
|
|
60
60
|
routerMode = "history",
|
|
61
61
|
width = 1920,
|
|
@@ -80,7 +80,8 @@ async function exportSlides({
|
|
|
80
80
|
const path2 = `${no}?print${withClicks ? "=clicks" : ""}${clicks ? `&clicks=${clicks}` : ""}`;
|
|
81
81
|
const url = routerMode === "hash" ? `http://localhost:${port}${base}#${path2}` : `http://localhost:${port}${base}${path2}`;
|
|
82
82
|
await page.goto(url, {
|
|
83
|
-
waitUntil: "networkidle"
|
|
83
|
+
waitUntil: "networkidle",
|
|
84
|
+
timeout
|
|
84
85
|
});
|
|
85
86
|
await page.waitForLoadState("networkidle");
|
|
86
87
|
await page.emulateMedia({ colorScheme: dark ? "dark" : "light", media: "screen" });
|
|
@@ -94,7 +95,6 @@ async function exportSlides({
|
|
|
94
95
|
}
|
|
95
96
|
const frames = await page.frames();
|
|
96
97
|
await Promise.all(frames.map((frame) => frame.waitForLoadState()));
|
|
97
|
-
await page.waitForTimeout(timeout);
|
|
98
98
|
}
|
|
99
99
|
async function genPagePdf() {
|
|
100
100
|
if (!output.endsWith(".pdf"))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkPL62CCCKjs = require('./chunk-PL62CCCK.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -55,14 +55,14 @@ async function exportSlides({
|
|
|
55
55
|
output = "slides",
|
|
56
56
|
slides,
|
|
57
57
|
base = "/",
|
|
58
|
-
timeout =
|
|
58
|
+
timeout = 3e4,
|
|
59
59
|
dark = false,
|
|
60
60
|
routerMode = "history",
|
|
61
61
|
width = 1920,
|
|
62
62
|
height = 1080,
|
|
63
63
|
withClicks = false
|
|
64
64
|
}) {
|
|
65
|
-
if (!
|
|
65
|
+
if (!_chunkPL62CCCKjs.packageExists.call(void 0, "playwright-chromium"))
|
|
66
66
|
throw new Error("The exporting for Slidev is powered by Playwright, please installed it via `npm i -D playwright-chromium`");
|
|
67
67
|
const pages = _core.parseRangeString.call(void 0, total, range);
|
|
68
68
|
const { chromium } = await Promise.resolve().then(() => _chunkIXNT7VMKjs.__toESM.call(void 0, _chunkIXNT7VMKjs.__require.call(void 0, "playwright-chromium")));
|
|
@@ -80,7 +80,8 @@ async function exportSlides({
|
|
|
80
80
|
const path2 = `${no}?print${withClicks ? "=clicks" : ""}${clicks ? `&clicks=${clicks}` : ""}`;
|
|
81
81
|
const url = routerMode === "hash" ? `http://localhost:${port}${base}#${path2}` : `http://localhost:${port}${base}${path2}`;
|
|
82
82
|
await page.goto(url, {
|
|
83
|
-
waitUntil: "networkidle"
|
|
83
|
+
waitUntil: "networkidle",
|
|
84
|
+
timeout
|
|
84
85
|
});
|
|
85
86
|
await page.waitForLoadState("networkidle");
|
|
86
87
|
await page.emulateMedia({ colorScheme: dark ? "dark" : "light", media: "screen" });
|
|
@@ -94,7 +95,6 @@ async function exportSlides({
|
|
|
94
95
|
}
|
|
95
96
|
const frames = await page.frames();
|
|
96
97
|
await Promise.all(frames.map((frame) => frame.waitForLoadState()));
|
|
97
|
-
await page.waitForTimeout(timeout);
|
|
98
98
|
}
|
|
99
99
|
async function genPagePdf() {
|
|
100
100
|
if (!output.endsWith(".pdf"))
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkCIB2BRE3js = require('./chunk-CIB2BRE3.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -9,11 +9,11 @@ var _chunkHBDQZUZKjs = require('./chunk-HBDQZUZK.js');
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkPL62CCCKjs = require('./chunk-PL62CCCK.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkRBYAPROQjs = require('./chunk-RBYAPROQ.js');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
var _chunkIXNT7VMKjs = require('./chunk-IXNT7VMK.js');
|
|
@@ -34,4 +34,4 @@ _chunkIXNT7VMKjs.init_cjs_shims.call(void 0, );
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
exports.ViteSlidevPlugin =
|
|
37
|
+
exports.ViteSlidevPlugin = _chunkRBYAPROQjs.ViteSlidevPlugin; exports.createServer = _chunkCIB2BRE3js.createServer; exports.createWindiCSSPlugin = _chunkRBYAPROQjs.createWindiCSSPlugin; exports.getCLIRoot = _chunkPL62CCCKjs.getCLIRoot; exports.getClientRoot = _chunkPL62CCCKjs.getClientRoot; exports.getThemeRoots = _chunkPL62CCCKjs.getThemeRoots; exports.getUserRoot = _chunkPL62CCCKjs.getUserRoot; exports.isPath = _chunkPL62CCCKjs.isPath; exports.parser = _chunkPL62CCCKjs.fs_exports; exports.resolveOptions = _chunkPL62CCCKjs.resolveOptions;
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LCOJZNZW.mjs";
|
|
4
4
|
import {
|
|
5
5
|
fs_exports,
|
|
6
6
|
getCLIRoot,
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
getUserRoot,
|
|
10
10
|
isPath,
|
|
11
11
|
resolveOptions
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-42RALHAU.mjs";
|
|
13
13
|
import {
|
|
14
14
|
ViteSlidevPlugin,
|
|
15
15
|
createWindiCSSPlugin
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-4YPIBI4G.mjs";
|
|
17
17
|
import {
|
|
18
18
|
init_esm_shims
|
|
19
19
|
} from "./chunk-XMETW2MS.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slidev/cli",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.3",
|
|
4
4
|
"description": "Presentation slides for developers",
|
|
5
5
|
"homepage": "https://sli.dev",
|
|
6
6
|
"bugs": "https://github.com/slidevjs/slidev/issues",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"@antfu/utils": "^0.5.1",
|
|
43
43
|
"@iconify-json/carbon": "^1.1.3",
|
|
44
44
|
"@iconify-json/ph": "^1.1.1",
|
|
45
|
-
"@slidev/client": "0.30.
|
|
46
|
-
"@slidev/parser": "0.30.
|
|
47
|
-
"@slidev/types": "0.30.
|
|
45
|
+
"@slidev/client": "0.30.3",
|
|
46
|
+
"@slidev/parser": "0.30.3",
|
|
47
|
+
"@slidev/types": "0.30.3",
|
|
48
48
|
"@vitejs/plugin-vue": "^2.3.1",
|
|
49
49
|
"@vue/compiler-sfc": "^3.2.32",
|
|
50
50
|
"cli-progress": "^3.10.0",
|