@sp-days-framework/docusaurus-plugin-slidev 1.1.0-beta2 → 1.1.0
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 +41 -9
- package/docs/install.mdx +28 -19
- 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 +130 -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",
|
|
@@ -152,9 +184,17 @@ async function buildPresentation(presentation, options, context) {
|
|
|
152
184
|
}
|
|
153
185
|
// Execute with spawn for real-time output and better control
|
|
154
186
|
const result = await new Promise((resolve) => {
|
|
187
|
+
// Set environment variables to help theme locate source files
|
|
188
|
+
const env = {
|
|
189
|
+
...process.env,
|
|
190
|
+
SLIDEV_ORIGINAL_SOURCE: presentation.sourceAbsolutePath,
|
|
191
|
+
SLIDEV_ORIGINAL_SOURCE_DIR: path_1.default.dirname(presentation.sourceAbsolutePath),
|
|
192
|
+
SLIDEV_SITE_DIR: context.siteDir,
|
|
193
|
+
};
|
|
155
194
|
const child = (0, child_process_1.spawn)("slidev", args, {
|
|
156
195
|
cwd: context.siteDir,
|
|
157
196
|
stdio: options.verbose ? "inherit" : "pipe",
|
|
197
|
+
env,
|
|
158
198
|
});
|
|
159
199
|
let stdout = "";
|
|
160
200
|
let stderr = "";
|
|
@@ -198,30 +238,25 @@ async function buildPresentation(presentation, options, context) {
|
|
|
198
238
|
output.includes("building")) {
|
|
199
239
|
hasSeenBuildStart = true;
|
|
200
240
|
}
|
|
201
|
-
//
|
|
202
|
-
|
|
203
|
-
output.includes("Building") ||
|
|
204
|
-
output.includes("Rendering") ||
|
|
205
|
-
output.includes("transforming")) {
|
|
206
|
-
process.stdout.write(` ${output.trim()}\n`);
|
|
207
|
-
}
|
|
241
|
+
// In non-verbose mode, suppress ALL Slidev output
|
|
242
|
+
// We show our own completion messages in buildAllPresentations
|
|
208
243
|
});
|
|
209
244
|
child.stderr?.on("data", (data) => {
|
|
210
245
|
const output = data.toString();
|
|
211
246
|
stderr += output;
|
|
212
247
|
lastOutput = Date.now();
|
|
213
|
-
//
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
output.includes("Failed") ||
|
|
248
|
+
// Only show critical build failures, not warnings
|
|
249
|
+
// Avoid false positives like "parse5 error code" which are non-fatal warnings
|
|
250
|
+
const isCriticalError = (output.includes("Failed") && !output.includes("parse5")) ||
|
|
217
251
|
output.includes("Cannot find module") ||
|
|
218
|
-
output.includes("ENOENT")
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
if (
|
|
224
|
-
|
|
252
|
+
output.includes("ENOENT") ||
|
|
253
|
+
output.includes("Build failed") ||
|
|
254
|
+
output.includes("SyntaxError") ||
|
|
255
|
+
output.includes("ReferenceError") ||
|
|
256
|
+
output.includes("TypeError");
|
|
257
|
+
if (isCriticalError) {
|
|
258
|
+
(0, logger_1.logError)(`Error in ${(0, logger_1.formatCode)(presentation.sourcePath)}:`);
|
|
259
|
+
process.stderr.write(` ${output.trim()}\n`);
|
|
225
260
|
}
|
|
226
261
|
});
|
|
227
262
|
}
|
|
@@ -271,6 +306,10 @@ async function buildPresentation(presentation, options, context) {
|
|
|
271
306
|
if (!result.success) {
|
|
272
307
|
throw new Error(result.error);
|
|
273
308
|
}
|
|
309
|
+
// Clean up isolated build directory after successful build
|
|
310
|
+
if (isolatedDir) {
|
|
311
|
+
(0, fileSystem_1.cleanupIsolatedBuildDir)(isolatedDir);
|
|
312
|
+
}
|
|
274
313
|
return {
|
|
275
314
|
id: presentation.id,
|
|
276
315
|
success: true,
|
|
@@ -280,6 +319,10 @@ async function buildPresentation(presentation, options, context) {
|
|
|
280
319
|
catch (error) {
|
|
281
320
|
const duration = (Date.now() - startTime) / 1000;
|
|
282
321
|
const errorMessage = error.message || String(error);
|
|
322
|
+
// Clean up isolated build directory even on error
|
|
323
|
+
if (isolatedDir) {
|
|
324
|
+
(0, fileSystem_1.cleanupIsolatedBuildDir)(isolatedDir);
|
|
325
|
+
}
|
|
283
326
|
(0, logger_1.logError)(`Error building presentation ${(0, logger_1.formatCode)(presentation.id)}: ${errorMessage}`);
|
|
284
327
|
// Show diagnostics for failed builds
|
|
285
328
|
const issues = diagnosePresentationIssues(presentation, context.siteDir);
|
|
@@ -296,29 +339,77 @@ async function buildPresentation(presentation, options, context) {
|
|
|
296
339
|
}
|
|
297
340
|
}
|
|
298
341
|
/**
|
|
299
|
-
*
|
|
300
|
-
*
|
|
342
|
+
* Calculates the effective concurrency limit
|
|
343
|
+
* @param maxParallelBuilds User-configured max parallel builds
|
|
344
|
+
* @returns Effective concurrency (capped at CPU count)
|
|
345
|
+
*/
|
|
346
|
+
function getEffectiveConcurrency(maxParallelBuilds) {
|
|
347
|
+
const cpuCount = os_1.default.cpus().length;
|
|
348
|
+
const requested = maxParallelBuilds ?? 4;
|
|
349
|
+
return Math.max(1, Math.min(requested, cpuCount));
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Builds all presentations with parallel execution using a worker pool pattern.
|
|
353
|
+
* Uses dynamic slot allocation - as soon as a build completes, a new one starts.
|
|
354
|
+
* This is more efficient than batch processing when build times vary.
|
|
355
|
+
*
|
|
356
|
+
* Each presentation is built in an isolated directory within .docusaurus
|
|
357
|
+
* to prevent race conditions from Slidev creating index.html in the source directory.
|
|
301
358
|
*/
|
|
302
359
|
async function buildAllPresentations(presentations, options, context) {
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
360
|
+
const totalStartTime = Date.now();
|
|
361
|
+
const total = presentations.length;
|
|
362
|
+
const concurrency = getEffectiveConcurrency(options.maxParallelBuilds);
|
|
363
|
+
// Get cache directory for isolated builds
|
|
364
|
+
const cacheDir = (0, fileSystem_1.getSlidevCacheDir)(context.siteDir, options.id);
|
|
365
|
+
// Results array indexed by original position for ordered output
|
|
366
|
+
const results = new Array(total);
|
|
367
|
+
let completedCount = 0;
|
|
368
|
+
// Log build start with concurrency info
|
|
369
|
+
if (concurrency > 1) {
|
|
370
|
+
(0, logger_1.logInfo)(`Building ${total} presentation(s) with ${concurrency} parallel workers...`);
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
(0, logger_1.logInfo)(`Building ${total} presentation(s) sequentially...`);
|
|
374
|
+
}
|
|
375
|
+
// Create a queue of work items with their original indices
|
|
376
|
+
const queue = presentations.map((presentation, index) => ({ presentation, index }));
|
|
377
|
+
// Worker function that processes items from the queue
|
|
378
|
+
async function worker() {
|
|
379
|
+
while (queue.length > 0) {
|
|
380
|
+
const item = queue.shift();
|
|
381
|
+
if (!item)
|
|
382
|
+
break;
|
|
383
|
+
const { presentation, index } = item;
|
|
384
|
+
// Build the presentation in isolated directory (no "Building:" log, only completion)
|
|
385
|
+
const result = await buildPresentation(presentation, options, context, cacheDir);
|
|
386
|
+
results[index] = result;
|
|
387
|
+
completedCount++;
|
|
388
|
+
// Log completion immediately
|
|
389
|
+
if (result.success) {
|
|
390
|
+
(0, logger_1.logSuccess)(`[${completedCount}/${total}] ${presentation.sourcePath} (${result.duration?.toFixed(2)}s)`);
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
(0, logger_1.logError)(`[${completedCount}/${total}] ${presentation.sourcePath} - FAILED`);
|
|
394
|
+
}
|
|
313
395
|
}
|
|
314
396
|
}
|
|
397
|
+
// Start workers up to the concurrency limit
|
|
398
|
+
// Each worker will keep pulling from the queue until it's empty
|
|
399
|
+
const workers = [];
|
|
400
|
+
const workerCount = Math.min(concurrency, total);
|
|
401
|
+
for (let i = 0; i < workerCount; i++) {
|
|
402
|
+
workers.push(worker());
|
|
403
|
+
}
|
|
404
|
+
// Wait for all workers to complete
|
|
405
|
+
await Promise.all(workers);
|
|
315
406
|
// Summary
|
|
316
407
|
const successful = results.filter((r) => r.success).length;
|
|
317
408
|
const failed = results.filter((r) => !r.success).length;
|
|
318
|
-
const totalTime =
|
|
409
|
+
const totalTime = (Date.now() - totalStartTime) / 1000;
|
|
319
410
|
if (failed > 0) {
|
|
320
411
|
(0, logger_1.logWarn)(`Build complete: ${successful} successful, ${failed} failed (total: ${totalTime.toFixed(2)}s)`);
|
|
321
|
-
// Log individual failures
|
|
412
|
+
// Log individual failures with details
|
|
322
413
|
results
|
|
323
414
|
.filter((r) => !r.success)
|
|
324
415
|
.forEach((result) => {
|
|
@@ -326,7 +417,7 @@ async function buildAllPresentations(presentations, options, context) {
|
|
|
326
417
|
});
|
|
327
418
|
}
|
|
328
419
|
else {
|
|
329
|
-
(0, logger_1.logSuccess)(`All presentations built successfully in ${totalTime.toFixed(2)}s!`);
|
|
420
|
+
(0, logger_1.logSuccess)(`All ${total} presentations built successfully in ${totalTime.toFixed(2)}s!`);
|
|
330
421
|
}
|
|
331
422
|
return results;
|
|
332
423
|
}
|
|
@@ -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"}
|