@sp-days-framework/docusaurus-plugin-slidev 1.1.0-beta2 → 1.1.0-beta3
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/docs/advanced-configuration.mdx +103 -24
- package/docs/changelog.mdx +52 -0
- package/docs/install.mdx +27 -18
- package/docs/slide-directory.mdx +184 -0
- package/docs/slidev-link.mdx +40 -0
- package/lib/plugin/builder.d.ts +9 -3
- package/lib/plugin/builder.d.ts.map +1 -1
- package/lib/plugin/builder.js +122 -39
- package/lib/plugin/builder.js.map +1 -1
- package/lib/plugin/index.d.ts.map +1 -1
- package/lib/plugin/index.js +108 -26
- package/lib/plugin/index.js.map +1 -1
- package/lib/plugin/scanner.d.ts +9 -2
- package/lib/plugin/scanner.d.ts.map +1 -1
- package/lib/plugin/scanner.js +180 -29
- package/lib/plugin/scanner.js.map +1 -1
- package/lib/theme/SlidevCard/index.d.ts.map +1 -1
- package/lib/theme/SlidevCard/index.js +1 -2
- package/lib/theme/SlidevCard/index.js.map +1 -1
- package/lib/theme/SlidevCard/styles.module.css +6 -2
- package/lib/theme/SlidevCategoryCard/index.d.ts +11 -0
- package/lib/theme/SlidevCategoryCard/index.d.ts.map +1 -0
- package/lib/theme/SlidevCategoryCard/index.js +31 -0
- package/lib/theme/SlidevCategoryCard/index.js.map +1 -0
- package/lib/theme/SlidevCategoryCard/styles.module.css +158 -0
- package/lib/theme/SlidevLink/index.d.ts +32 -0
- package/lib/theme/SlidevLink/index.d.ts.map +1 -0
- package/lib/theme/SlidevLink/index.js +139 -0
- package/lib/theme/SlidevLink/index.js.map +1 -0
- package/lib/theme/SlidevLink/styles.module.css +228 -0
- package/lib/theme/SlidevListItem/index.d.ts +18 -0
- package/lib/theme/SlidevListItem/index.d.ts.map +1 -0
- package/lib/theme/SlidevListItem/index.js +44 -0
- package/lib/theme/SlidevListItem/index.js.map +1 -0
- package/lib/theme/SlidevListItem/styles.module.css +128 -0
- package/lib/theme/SlidevOverview/index.d.ts +1 -0
- package/lib/theme/SlidevOverview/index.d.ts.map +1 -1
- package/lib/theme/SlidevOverview/index.js +156 -71
- package/lib/theme/SlidevOverview/index.js.map +1 -1
- package/lib/theme/SlidevOverview/styles.module.css +176 -147
- package/lib/types/index.d.ts +85 -6
- package/lib/types/index.d.ts.map +1 -1
- package/lib/utils/fileSystem.d.ts +53 -0
- package/lib/utils/fileSystem.d.ts.map +1 -1
- package/lib/utils/fileSystem.js +151 -0
- package/lib/utils/fileSystem.js.map +1 -1
- package/lib/utils/icons.d.ts +34 -0
- package/lib/utils/icons.d.ts.map +1 -1
- package/lib/utils/icons.js +60 -0
- package/lib/utils/icons.js.map +1 -1
- package/lib/utils/logger.d.ts +11 -2
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/logger.js +64 -8
- package/lib/utils/logger.js.map +1 -1
- package/package.json +2 -1
- package/publish-package-docs.js +11 -3
package/lib/plugin/builder.js
CHANGED
|
@@ -14,8 +14,21 @@ const child_process_1 = require("child_process");
|
|
|
14
14
|
const util_1 = require("util");
|
|
15
15
|
const path_1 = __importDefault(require("path"));
|
|
16
16
|
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const os_1 = __importDefault(require("os"));
|
|
17
18
|
const logger_1 = require("../utils/logger");
|
|
19
|
+
const fileSystem_1 = require("../utils/fileSystem");
|
|
18
20
|
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
21
|
+
/**
|
|
22
|
+
* Derives the URL path from the path option
|
|
23
|
+
* e.g., './slidev' -> 'slidev', './presentations' -> 'presentations'
|
|
24
|
+
*/
|
|
25
|
+
function getUrlPathFromPath(pathOption) {
|
|
26
|
+
// Remove leading ./ or / and trailing /
|
|
27
|
+
const normalized = pathOption.replace(/^\.?\//, "").replace(/\/$/, "");
|
|
28
|
+
// Get the last segment (folder name)
|
|
29
|
+
const segments = normalized.split("/");
|
|
30
|
+
return segments[segments.length - 1] || "slidev";
|
|
31
|
+
}
|
|
19
32
|
/**
|
|
20
33
|
* Validates a presentation file before building
|
|
21
34
|
*/
|
|
@@ -104,12 +117,16 @@ function checkThemeInstalled(themeName, siteDir) {
|
|
|
104
117
|
}
|
|
105
118
|
/**
|
|
106
119
|
* Builds a single Slidev presentation with real-time output streaming
|
|
120
|
+
* Uses isolated build directories to prevent race conditions during parallel builds
|
|
107
121
|
*/
|
|
108
122
|
/**
|
|
109
123
|
* Builds a single Slidev presentation with real-time output streaming
|
|
124
|
+
* Uses isolated build directories to prevent race conditions during parallel builds
|
|
110
125
|
*/
|
|
111
|
-
async function buildPresentation(presentation, options, context) {
|
|
126
|
+
async function buildPresentation(presentation, options, context, cacheDir) {
|
|
112
127
|
const startTime = Date.now();
|
|
128
|
+
let isolatedSourcePath;
|
|
129
|
+
let isolatedDir;
|
|
113
130
|
try {
|
|
114
131
|
// Validate presentation before building
|
|
115
132
|
const validation = validatePresentation(presentation);
|
|
@@ -121,19 +138,34 @@ async function buildPresentation(presentation, options, context) {
|
|
|
121
138
|
// Check if theme is installed
|
|
122
139
|
const themeCheck = checkThemeInstalled(theme, context.siteDir);
|
|
123
140
|
if (!themeCheck.installed && theme) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
141
|
+
const installCommand = theme === "default" ? "@slidev/theme-default" : theme;
|
|
142
|
+
throw new Error(`Theme '${theme}' not found in package.json\n` +
|
|
143
|
+
`Install with: npm install ${installCommand}\n\n` +
|
|
144
|
+
`Slidev will hang indefinitely when a theme is missing.\n` +
|
|
145
|
+
`Ensure the theme is listed in your package.json dependencies.`);
|
|
127
146
|
}
|
|
128
147
|
// Build the base URL for the presentation
|
|
129
148
|
const baseUrl = context.baseUrl.endsWith("/")
|
|
130
149
|
? context.baseUrl.slice(0, -1)
|
|
131
150
|
: context.baseUrl;
|
|
132
|
-
const
|
|
151
|
+
const urlPath = getUrlPathFromPath(options.path);
|
|
152
|
+
const base = `${baseUrl}/${urlPath}/${presentation.id}/`;
|
|
153
|
+
// Create isolated build directory to prevent race conditions
|
|
154
|
+
// Slidev creates index.html in the source directory during build,
|
|
155
|
+
// which causes conflicts when building multiple files from the same directory in parallel
|
|
156
|
+
let sourcePath = presentation.sourceAbsolutePath;
|
|
157
|
+
if (cacheDir) {
|
|
158
|
+
isolatedSourcePath = (0, fileSystem_1.createIsolatedBuildDir)(presentation.sourceAbsolutePath, presentation.id, cacheDir);
|
|
159
|
+
isolatedDir = path_1.default.dirname(isolatedSourcePath);
|
|
160
|
+
sourcePath = isolatedSourcePath;
|
|
161
|
+
if (options.verbose) {
|
|
162
|
+
(0, logger_1.logInfo)(`Using isolated build dir: ${(0, logger_1.formatPath)(isolatedDir)}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
133
165
|
// Construct the slidev build command arguments
|
|
134
166
|
const args = [
|
|
135
167
|
"build",
|
|
136
|
-
|
|
168
|
+
sourcePath,
|
|
137
169
|
"--out",
|
|
138
170
|
presentation.outputPath,
|
|
139
171
|
"--base",
|
|
@@ -198,30 +230,25 @@ async function buildPresentation(presentation, options, context) {
|
|
|
198
230
|
output.includes("building")) {
|
|
199
231
|
hasSeenBuildStart = true;
|
|
200
232
|
}
|
|
201
|
-
//
|
|
202
|
-
|
|
203
|
-
output.includes("Building") ||
|
|
204
|
-
output.includes("Rendering") ||
|
|
205
|
-
output.includes("transforming")) {
|
|
206
|
-
process.stdout.write(` ${output.trim()}\n`);
|
|
207
|
-
}
|
|
233
|
+
// In non-verbose mode, suppress ALL Slidev output
|
|
234
|
+
// We show our own completion messages in buildAllPresentations
|
|
208
235
|
});
|
|
209
236
|
child.stderr?.on("data", (data) => {
|
|
210
237
|
const output = data.toString();
|
|
211
238
|
stderr += output;
|
|
212
239
|
lastOutput = Date.now();
|
|
213
|
-
//
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
output.includes("Failed") ||
|
|
240
|
+
// Only show critical build failures, not warnings
|
|
241
|
+
// Avoid false positives like "parse5 error code" which are non-fatal warnings
|
|
242
|
+
const isCriticalError = (output.includes("Failed") && !output.includes("parse5")) ||
|
|
217
243
|
output.includes("Cannot find module") ||
|
|
218
|
-
output.includes("ENOENT")
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
if (
|
|
224
|
-
|
|
244
|
+
output.includes("ENOENT") ||
|
|
245
|
+
output.includes("Build failed") ||
|
|
246
|
+
output.includes("SyntaxError") ||
|
|
247
|
+
output.includes("ReferenceError") ||
|
|
248
|
+
output.includes("TypeError");
|
|
249
|
+
if (isCriticalError) {
|
|
250
|
+
(0, logger_1.logError)(`Error in ${(0, logger_1.formatCode)(presentation.sourcePath)}:`);
|
|
251
|
+
process.stderr.write(` ${output.trim()}\n`);
|
|
225
252
|
}
|
|
226
253
|
});
|
|
227
254
|
}
|
|
@@ -271,6 +298,10 @@ async function buildPresentation(presentation, options, context) {
|
|
|
271
298
|
if (!result.success) {
|
|
272
299
|
throw new Error(result.error);
|
|
273
300
|
}
|
|
301
|
+
// Clean up isolated build directory after successful build
|
|
302
|
+
if (isolatedDir) {
|
|
303
|
+
(0, fileSystem_1.cleanupIsolatedBuildDir)(isolatedDir);
|
|
304
|
+
}
|
|
274
305
|
return {
|
|
275
306
|
id: presentation.id,
|
|
276
307
|
success: true,
|
|
@@ -280,6 +311,10 @@ async function buildPresentation(presentation, options, context) {
|
|
|
280
311
|
catch (error) {
|
|
281
312
|
const duration = (Date.now() - startTime) / 1000;
|
|
282
313
|
const errorMessage = error.message || String(error);
|
|
314
|
+
// Clean up isolated build directory even on error
|
|
315
|
+
if (isolatedDir) {
|
|
316
|
+
(0, fileSystem_1.cleanupIsolatedBuildDir)(isolatedDir);
|
|
317
|
+
}
|
|
283
318
|
(0, logger_1.logError)(`Error building presentation ${(0, logger_1.formatCode)(presentation.id)}: ${errorMessage}`);
|
|
284
319
|
// Show diagnostics for failed builds
|
|
285
320
|
const issues = diagnosePresentationIssues(presentation, context.siteDir);
|
|
@@ -296,29 +331,77 @@ async function buildPresentation(presentation, options, context) {
|
|
|
296
331
|
}
|
|
297
332
|
}
|
|
298
333
|
/**
|
|
299
|
-
*
|
|
300
|
-
*
|
|
334
|
+
* Calculates the effective concurrency limit
|
|
335
|
+
* @param maxParallelBuilds User-configured max parallel builds
|
|
336
|
+
* @returns Effective concurrency (capped at CPU count)
|
|
337
|
+
*/
|
|
338
|
+
function getEffectiveConcurrency(maxParallelBuilds) {
|
|
339
|
+
const cpuCount = os_1.default.cpus().length;
|
|
340
|
+
const requested = maxParallelBuilds ?? 4;
|
|
341
|
+
return Math.max(1, Math.min(requested, cpuCount));
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Builds all presentations with parallel execution using a worker pool pattern.
|
|
345
|
+
* Uses dynamic slot allocation - as soon as a build completes, a new one starts.
|
|
346
|
+
* This is more efficient than batch processing when build times vary.
|
|
347
|
+
*
|
|
348
|
+
* Each presentation is built in an isolated directory within .docusaurus
|
|
349
|
+
* to prevent race conditions from Slidev creating index.html in the source directory.
|
|
301
350
|
*/
|
|
302
351
|
async function buildAllPresentations(presentations, options, context) {
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
352
|
+
const totalStartTime = Date.now();
|
|
353
|
+
const total = presentations.length;
|
|
354
|
+
const concurrency = getEffectiveConcurrency(options.maxParallelBuilds);
|
|
355
|
+
// Get cache directory for isolated builds
|
|
356
|
+
const cacheDir = (0, fileSystem_1.getSlidevCacheDir)(context.siteDir, options.id);
|
|
357
|
+
// Results array indexed by original position for ordered output
|
|
358
|
+
const results = new Array(total);
|
|
359
|
+
let completedCount = 0;
|
|
360
|
+
// Log build start with concurrency info
|
|
361
|
+
if (concurrency > 1) {
|
|
362
|
+
(0, logger_1.logInfo)(`Building ${total} presentation(s) with ${concurrency} parallel workers...`);
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
(0, logger_1.logInfo)(`Building ${total} presentation(s) sequentially...`);
|
|
366
|
+
}
|
|
367
|
+
// Create a queue of work items with their original indices
|
|
368
|
+
const queue = presentations.map((presentation, index) => ({ presentation, index }));
|
|
369
|
+
// Worker function that processes items from the queue
|
|
370
|
+
async function worker() {
|
|
371
|
+
while (queue.length > 0) {
|
|
372
|
+
const item = queue.shift();
|
|
373
|
+
if (!item)
|
|
374
|
+
break;
|
|
375
|
+
const { presentation, index } = item;
|
|
376
|
+
// Build the presentation in isolated directory (no "Building:" log, only completion)
|
|
377
|
+
const result = await buildPresentation(presentation, options, context, cacheDir);
|
|
378
|
+
results[index] = result;
|
|
379
|
+
completedCount++;
|
|
380
|
+
// Log completion immediately
|
|
381
|
+
if (result.success) {
|
|
382
|
+
(0, logger_1.logSuccess)(`[${completedCount}/${total}] ${presentation.sourcePath} (${result.duration?.toFixed(2)}s)`);
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
(0, logger_1.logError)(`[${completedCount}/${total}] ${presentation.sourcePath} - FAILED`);
|
|
386
|
+
}
|
|
313
387
|
}
|
|
314
388
|
}
|
|
389
|
+
// Start workers up to the concurrency limit
|
|
390
|
+
// Each worker will keep pulling from the queue until it's empty
|
|
391
|
+
const workers = [];
|
|
392
|
+
const workerCount = Math.min(concurrency, total);
|
|
393
|
+
for (let i = 0; i < workerCount; i++) {
|
|
394
|
+
workers.push(worker());
|
|
395
|
+
}
|
|
396
|
+
// Wait for all workers to complete
|
|
397
|
+
await Promise.all(workers);
|
|
315
398
|
// Summary
|
|
316
399
|
const successful = results.filter((r) => r.success).length;
|
|
317
400
|
const failed = results.filter((r) => !r.success).length;
|
|
318
|
-
const totalTime =
|
|
401
|
+
const totalTime = (Date.now() - totalStartTime) / 1000;
|
|
319
402
|
if (failed > 0) {
|
|
320
403
|
(0, logger_1.logWarn)(`Build complete: ${successful} successful, ${failed} failed (total: ${totalTime.toFixed(2)}s)`);
|
|
321
|
-
// Log individual failures
|
|
404
|
+
// Log individual failures with details
|
|
322
405
|
results
|
|
323
406
|
.filter((r) => !r.success)
|
|
324
407
|
.forEach((result) => {
|
|
@@ -326,7 +409,7 @@ async function buildAllPresentations(presentations, options, context) {
|
|
|
326
409
|
});
|
|
327
410
|
}
|
|
328
411
|
else {
|
|
329
|
-
(0, logger_1.logSuccess)(`All presentations built successfully in ${totalTime.toFixed(2)}s!`);
|
|
412
|
+
(0, logger_1.logSuccess)(`All ${total} presentations built successfully in ${totalTime.toFixed(2)}s!`);
|
|
330
413
|
}
|
|
331
414
|
return results;
|
|
332
415
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/plugin/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/plugin/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EAEb,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EAEb,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAqFlB;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,MAAM,CAAC,iBAAiB,CAAC,CAuJ3B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,QAAQ,EAAE,OAAO,GAAG,CAAC;CACtB,GAAG,aAAa,CAkChB"}
|
package/lib/plugin/index.js
CHANGED
|
@@ -16,26 +16,72 @@ const logger_1 = require("../utils/logger");
|
|
|
16
16
|
const fileSystem_1 = require("../utils/fileSystem");
|
|
17
17
|
// Default plugin options
|
|
18
18
|
const DEFAULT_OPTIONS = {
|
|
19
|
-
|
|
20
|
-
outputDir: "slides",
|
|
19
|
+
path: "./slidev",
|
|
21
20
|
download: false,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
routeBasePath: "/slidev",
|
|
22
|
+
pageTitle: "Slidev Presentations",
|
|
23
|
+
pageTagline: "Interactive presentation overview",
|
|
25
24
|
id: "default",
|
|
26
|
-
buildTimeout:
|
|
25
|
+
buildTimeout: 120, // Increased from 60s for large presentations
|
|
27
26
|
verbose: false,
|
|
27
|
+
maxParallelBuilds: 4, // Parallel builds for faster build times
|
|
28
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* Derives the URL path from the path option
|
|
31
|
+
* e.g., './slidev' -> 'slidev', './presentations' -> 'presentations'
|
|
32
|
+
*/
|
|
33
|
+
function getUrlPathFromPath(pathOption) {
|
|
34
|
+
// Remove leading ./ or / and trailing /
|
|
35
|
+
const normalized = pathOption.replace(/^\.?\//, "").replace(/\/$/, "");
|
|
36
|
+
// Get the last segment (folder name)
|
|
37
|
+
const segments = normalized.split("/");
|
|
38
|
+
return segments[segments.length - 1] || "slidev";
|
|
39
|
+
}
|
|
40
|
+
const DEPRECATED_OPTIONS = {
|
|
41
|
+
sourceDir: {
|
|
42
|
+
newName: "path",
|
|
43
|
+
message: 'Use "path" instead of "sourceDir"',
|
|
44
|
+
},
|
|
45
|
+
overviewPath: {
|
|
46
|
+
newName: "routeBasePath",
|
|
47
|
+
message: 'Use "routeBasePath" instead of "overviewPath"',
|
|
48
|
+
},
|
|
49
|
+
overviewTitle: {
|
|
50
|
+
newName: "pageTitle",
|
|
51
|
+
message: 'Use "pageTitle" instead of "overviewTitle"',
|
|
52
|
+
},
|
|
53
|
+
overviewTagline: {
|
|
54
|
+
newName: "pageTagline",
|
|
55
|
+
message: 'Use "pageTagline" instead of "overviewTagline"',
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Process options and handle deprecated names
|
|
60
|
+
*/
|
|
61
|
+
function processDeprecatedOptions(options) {
|
|
62
|
+
const processed = { ...options };
|
|
63
|
+
for (const [oldName, { newName, message }] of Object.entries(DEPRECATED_OPTIONS)) {
|
|
64
|
+
if (oldName in processed && !(newName in processed)) {
|
|
65
|
+
(0, logger_1.logWarn)(`Deprecated option "${oldName}": ${message}`);
|
|
66
|
+
processed[newName] = processed[oldName];
|
|
67
|
+
delete processed[oldName];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return processed;
|
|
71
|
+
}
|
|
29
72
|
/**
|
|
30
73
|
* Main plugin function
|
|
31
74
|
*/
|
|
32
75
|
function pluginSlidev(context, options) {
|
|
76
|
+
// Process deprecated options first
|
|
77
|
+
const processedOptions = processDeprecatedOptions(options);
|
|
33
78
|
// Merge user options with defaults
|
|
34
79
|
const pluginOptions = {
|
|
35
80
|
...DEFAULT_OPTIONS,
|
|
36
|
-
...
|
|
81
|
+
...processedOptions,
|
|
37
82
|
};
|
|
38
83
|
let presentations = [];
|
|
84
|
+
let categories = [];
|
|
39
85
|
const isDev = process.env.NODE_ENV === "development";
|
|
40
86
|
return {
|
|
41
87
|
name: "docusaurus-plugin-slidev",
|
|
@@ -43,31 +89,32 @@ function pluginSlidev(context, options) {
|
|
|
43
89
|
* Load content phase: Scan for Slidev presentations and build them in production
|
|
44
90
|
*/
|
|
45
91
|
async loadContent() {
|
|
46
|
-
|
|
92
|
+
const scanResult = await (0, scanner_1.scanPresentations)(pluginOptions, {
|
|
47
93
|
siteDir: context.siteDir,
|
|
48
94
|
baseUrl: context.baseUrl,
|
|
49
95
|
});
|
|
96
|
+
presentations = scanResult.presentations;
|
|
97
|
+
categories = scanResult.categories;
|
|
50
98
|
if (isDev && presentations.length > 0) {
|
|
51
99
|
(0, logger_1.logInfo)("Presentations will be available after running 'npm run build'");
|
|
52
100
|
}
|
|
53
101
|
else if (!isDev && presentations.length > 0) {
|
|
54
|
-
// Build presentations
|
|
55
|
-
//
|
|
102
|
+
// Build presentations to hidden cache directory
|
|
103
|
+
// They will be copied to final output in postBuild hook
|
|
56
104
|
// Check if Slidev is installed
|
|
57
105
|
const slidevInstalled = await (0, builder_1.checkSlidevInstalled)();
|
|
58
106
|
if (!slidevInstalled) {
|
|
59
107
|
throw new Error("Slidev CLI is not installed. Run: npm install @slidev/cli");
|
|
60
108
|
}
|
|
61
|
-
// Prepare output directory
|
|
62
|
-
const outputPath = path_1.default.join(context.siteDir, "static", pluginOptions.outputDir);
|
|
63
|
-
// Clean up old presentations in output directory
|
|
64
|
-
(0, fileSystem_1.cleanupOutputDirectory)(outputPath);
|
|
65
109
|
// Clean up Slidev artifacts in source directory
|
|
66
|
-
const sourcePath = path_1.default.join(context.siteDir, pluginOptions.
|
|
110
|
+
const sourcePath = path_1.default.join(context.siteDir, pluginOptions.path);
|
|
67
111
|
(0, fileSystem_1.cleanupSourceDirectory)(sourcePath);
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
112
|
+
// Clean up the Slidev cache directory (.docusaurus/docusaurus-plugin-slidev)
|
|
113
|
+
// This ensures a clean build state and prevents stale artifacts
|
|
114
|
+
const cacheDir = (0, fileSystem_1.getSlidevCacheDir)(context.siteDir, pluginOptions.id);
|
|
115
|
+
(0, fileSystem_1.cleanupSlidevCache)(cacheDir);
|
|
116
|
+
// Build all presentations to cache directory
|
|
117
|
+
// (each in an isolated directory to prevent race conditions)
|
|
71
118
|
await (0, builder_1.buildAllPresentations)(presentations, pluginOptions, {
|
|
72
119
|
siteDir: context.siteDir,
|
|
73
120
|
baseUrl: context.baseUrl,
|
|
@@ -75,6 +122,7 @@ function pluginSlidev(context, options) {
|
|
|
75
122
|
}
|
|
76
123
|
return {
|
|
77
124
|
presentations,
|
|
125
|
+
categories,
|
|
78
126
|
config: pluginOptions,
|
|
79
127
|
isDev,
|
|
80
128
|
};
|
|
@@ -86,12 +134,20 @@ function pluginSlidev(context, options) {
|
|
|
86
134
|
const { setGlobalData, addRoute } = actions;
|
|
87
135
|
// Make presentation data available globally
|
|
88
136
|
setGlobalData(content);
|
|
89
|
-
// Add the overview page route
|
|
137
|
+
// Add the overview page route (root)
|
|
90
138
|
addRoute({
|
|
91
|
-
path: pluginOptions.
|
|
139
|
+
path: pluginOptions.routeBasePath,
|
|
92
140
|
component: "@theme/SlidevOverview",
|
|
93
141
|
exact: true,
|
|
94
142
|
});
|
|
143
|
+
// Add routes for each category (nested views)
|
|
144
|
+
categories.forEach((category) => {
|
|
145
|
+
addRoute({
|
|
146
|
+
path: category.url,
|
|
147
|
+
component: "@theme/SlidevOverview",
|
|
148
|
+
exact: true,
|
|
149
|
+
});
|
|
150
|
+
});
|
|
95
151
|
// Add routes for each individual presentation
|
|
96
152
|
presentations.forEach((presentation) => {
|
|
97
153
|
// Strip trailing slash from URL for route path
|
|
@@ -105,6 +161,26 @@ function pluginSlidev(context, options) {
|
|
|
105
161
|
});
|
|
106
162
|
});
|
|
107
163
|
},
|
|
164
|
+
/**
|
|
165
|
+
* Post-build phase: Copy built presentations from cache to final output
|
|
166
|
+
* This keeps build artifacts hidden from the user's workspace (no static/slides/ directory)
|
|
167
|
+
*/
|
|
168
|
+
async postBuild({ outDir }) {
|
|
169
|
+
// Skip in development mode - presentations aren't built
|
|
170
|
+
if (isDev) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
// Skip if no presentations were found
|
|
174
|
+
if (presentations.length === 0) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
// Copy built presentations from cache to final output
|
|
178
|
+
const cacheOutputDir = (0, fileSystem_1.getSlidevBuildOutputDir)(context.siteDir, pluginOptions.id);
|
|
179
|
+
const urlPath = getUrlPathFromPath(pluginOptions.path);
|
|
180
|
+
const finalOutputDir = path_1.default.join(outDir, urlPath);
|
|
181
|
+
(0, fileSystem_1.copyBuiltPresentationsToOutput)(cacheOutputDir, finalOutputDir);
|
|
182
|
+
(0, logger_1.logInfo)(`Copied ${presentations.length} presentation(s) to final output`);
|
|
183
|
+
},
|
|
108
184
|
/**
|
|
109
185
|
* Provide theme components
|
|
110
186
|
*/
|
|
@@ -123,23 +199,29 @@ function pluginSlidev(context, options) {
|
|
|
123
199
|
* Validate plugin options using Docusaurus validation schema
|
|
124
200
|
*/
|
|
125
201
|
function validateOptions({ options, validate, }) {
|
|
202
|
+
// Process deprecated options and aliases first
|
|
203
|
+
const processedOptions = processDeprecatedOptions(options);
|
|
126
204
|
// Create schema using Joi from @docusaurus/utils-validation
|
|
127
205
|
const schema = utils_validation_1.Joi.object({
|
|
128
|
-
|
|
129
|
-
|
|
206
|
+
path: utils_validation_1.Joi.string().default(DEFAULT_OPTIONS.path),
|
|
207
|
+
sourceDir: utils_validation_1.Joi.string().optional(), // Deprecated alias
|
|
130
208
|
theme: utils_validation_1.Joi.string().optional(),
|
|
131
209
|
download: utils_validation_1.Joi.boolean().default(DEFAULT_OPTIONS.download),
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
210
|
+
routeBasePath: utils_validation_1.Joi.string().default(DEFAULT_OPTIONS.routeBasePath),
|
|
211
|
+
overviewPath: utils_validation_1.Joi.string().optional(), // Deprecated alias
|
|
212
|
+
pageTitle: utils_validation_1.Joi.string().default(DEFAULT_OPTIONS.pageTitle),
|
|
213
|
+
overviewTitle: utils_validation_1.Joi.string().optional(), // Deprecated alias
|
|
214
|
+
pageTagline: utils_validation_1.Joi.string().default(DEFAULT_OPTIONS.pageTagline),
|
|
215
|
+
overviewTagline: utils_validation_1.Joi.string().optional(), // Deprecated alias
|
|
135
216
|
id: utils_validation_1.Joi.string().default(DEFAULT_OPTIONS.id),
|
|
136
217
|
buildTimeout: utils_validation_1.Joi.number()
|
|
137
218
|
.min(10)
|
|
138
219
|
.max(600)
|
|
139
220
|
.default(DEFAULT_OPTIONS.buildTimeout),
|
|
140
221
|
verbose: utils_validation_1.Joi.boolean().default(DEFAULT_OPTIONS.verbose),
|
|
222
|
+
maxParallelBuilds: utils_validation_1.Joi.number().min(1).default(DEFAULT_OPTIONS.maxParallelBuilds),
|
|
141
223
|
});
|
|
142
|
-
const { value, error } = schema.validate(
|
|
224
|
+
const { value, error } = schema.validate(processedOptions);
|
|
143
225
|
if (error) {
|
|
144
226
|
throw error;
|
|
145
227
|
}
|
package/lib/plugin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
|
package/lib/plugin/scanner.d.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Scanner utility for discovering Slidev presentations
|
|
3
3
|
*/
|
|
4
|
-
import type { PresentationMetadata, PluginOptions } from "../types";
|
|
4
|
+
import type { PresentationMetadata, PluginOptions, CategoryMetadata } from "../types";
|
|
5
|
+
/**
|
|
6
|
+
* Result from scanning presentations
|
|
7
|
+
*/
|
|
8
|
+
export interface ScanResult {
|
|
9
|
+
presentations: PresentationMetadata[];
|
|
10
|
+
categories: CategoryMetadata[];
|
|
11
|
+
}
|
|
5
12
|
/**
|
|
6
13
|
* Scans for Slidev presentations and extracts metadata
|
|
7
14
|
*/
|
|
8
15
|
export declare function scanPresentations(options: PluginOptions, context: {
|
|
9
16
|
siteDir: string;
|
|
10
17
|
baseUrl: string;
|
|
11
|
-
}): Promise<
|
|
18
|
+
}): Promise<ScanResult>;
|
|
12
19
|
//# sourceMappingURL=scanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/plugin/scanner.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/plugin/scanner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,oBAAoB,EAEpB,aAAa,EACb,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAsPlB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,UAAU,CAAC,CA6FrB"}
|