Files
easy-slides/scripts/cli.ts
T
2026-08-29 18:59:33 +08:00

61 lines
1.3 KiB
JavaScript

#!/usr/bin/env node
import path from 'node:path'
const rawArgs = process.argv.slice(2)
const command = rawArgs.shift()
const rootIndex = rawArgs.indexOf('--root')
if (rootIndex >= 0) {
const root = rawArgs[rootIndex + 1]
if (!root)
throw new Error('--root 需要一个目录')
rawArgs.splice(rootIndex, 2)
process.chdir(path.resolve(root))
}
process.argv = [process.argv[0], process.argv[1], ...rawArgs]
switch (command) {
case 'dev':
await import('./dev.ts')
break
case 'present':
await import('./present.ts')
break
case 'build':
await import('./build.ts')
break
case 'check':
await (await import('./check.ts')).runCheck()
break
case 'export':
await import('./export.ts')
break
case 'init':
await import('./init.ts')
break
case undefined:
case 'help':
case '--help':
case '-h':
printHelp()
break
default:
console.error(`未知命令:${command}`)
printHelp()
process.exitCode = 1
}
function printHelp() {
console.log(`easy-slides
用法:
easy-slides init [directory] [--engine <package-spec>]
easy-slides dev [slug|slides.md]
easy-slides present <slug>
easy-slides build
easy-slides check
easy-slides export <slug> --format pdf|png|pptx
全局选项:
--root <directory> 在指定内容项目中运行`)
}