a6f05ab2d5
- Phase 0: AGENTS.md cleanup (dedup quotes, renumber sections, merge qmd) - Phase 1: typed relations (manage-relations.py, graph-search.py, check-staleness.py, detect-conflicts.py) - Phase 2: frontmatter validator, weekly lint, knowledge promotion, git hooks - Fix .gitignore to track tools/ and .githooks/ - Fix git remote URL (remove plaintext token) - New wiki pages: 504 pages, 34 raw sources
141 lines
3.9 KiB
Batchfile
141 lines
3.9 KiB
Batchfile
@echo off
|
|
REM ====================================================
|
|
REM Marp 演示批量导出脚本 (Windows)
|
|
REM ====================================================
|
|
REM 用途:一键导出 Active 目录下所有演示
|
|
REM 使用方法:
|
|
REM 1. 确保已安装 Marp CLI: npm install -g @marp-team/marp-cli
|
|
REM 2. 双击运行此脚本
|
|
REM 3. 导出结果在 Export 目录
|
|
REM ====================================================
|
|
|
|
setlocal EnableDelayedExpansion
|
|
|
|
REM 配置
|
|
set "PRESENTATIONS_DIR=%~dp0Active"
|
|
set "EXPORT_DIR=%~dp0Export"
|
|
set "TIMESTAMP=%date:~0,4%-%date:~5,2%-%date:~8,2%"
|
|
|
|
REM 创建导出目录
|
|
if not exist "%EXPORT_DIR%" mkdir "%EXPORT_DIR%"
|
|
if not exist "%EXPORT_DIR%\PDF" mkdir "%EXPORT_DIR%\PDF"
|
|
if not exist "%EXPORT_DIR%\PPTX" mkdir "%EXPORT_DIR%\PPTX"
|
|
if not exist "%EXPORT_DIR%\HTML" mkdir "%EXPORT_DIR%\HTML"
|
|
|
|
echo ====================================================
|
|
echo Marp 演示批量导出脚本
|
|
echo ====================================================
|
|
echo.
|
|
echo 源目录: %PRESENTATIONS_DIR%
|
|
echo 导出目录: %EXPORT_DIR%
|
|
echo 时间戳: %TIMESTAMP%
|
|
echo ====================================================
|
|
echo.
|
|
|
|
REM 检查源目录是否存在
|
|
if not exist "%PRESENTATIONS_DIR%" (
|
|
echo [错误] 源目录不存在: %PRESENTATIONS_DIR%
|
|
echo 请先在 Active 目录中创建演示文件
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
REM 检查是否安装了 Marp CLI
|
|
where marp >nul 2>nul
|
|
if %errorlevel% neq 0 (
|
|
echo [警告] 未检测到 Marp CLI
|
|
echo 正在尝试安装...
|
|
echo.
|
|
call npm install -g @marp-team/marp-cli
|
|
if %errorlevel% neq 0 (
|
|
echo [错误] Marp CLI 安装失败
|
|
echo 请手动运行: npm install -g @marp-team/marp-cli
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [成功] Marp CLI 安装完成
|
|
echo.
|
|
)
|
|
|
|
REM 计算文件数量
|
|
set count=0
|
|
for %%f in ("%PRESENTATIONS_DIR%\*.md") do set /a count+=1
|
|
|
|
if %count% equ 0 (
|
|
echo [提示] Active 目录中没有 .md 文件
|
|
echo 请先创建演示文件
|
|
pause
|
|
exit /b 0
|
|
)
|
|
|
|
echo 找到 %count% 个演示文件
|
|
echo 开始导出...
|
|
echo.
|
|
|
|
REM 导出 PDF
|
|
echo [1/3] 导出 PDF...
|
|
for %%f in ("%PRESENTATIONS_DIR%\*.md") do (
|
|
set "filename=%%~nf"
|
|
echo - !filename!...
|
|
marp "%%f" --theme-set-dir "%~dp0Themes" --pdf --allow-local-files -o "%EXPORT_DIR%\PDF\!filename:.md!.pdf"
|
|
if !errorlevel! neq 0 (
|
|
echo [失败] !filename!
|
|
) else (
|
|
echo [完成] !filename!
|
|
)
|
|
)
|
|
|
|
REM 导出 PPTX
|
|
echo.
|
|
echo [2/3] 导出 PPTX...
|
|
for %%f in ("%PRESENTATIONS_DIR%\*.md") do (
|
|
set "filename=%%~nf"
|
|
echo - !filename!...
|
|
marp "%%f" --theme-set-dir "%~dp0Themes" --pptx --allow-local-files -o "%EXPORT_DIR%\PPTX\!filename:.md!.pptx"
|
|
if !errorlevel! neq 0 (
|
|
echo [失败] !filename!
|
|
) else (
|
|
echo [完成] !filename!
|
|
)
|
|
)
|
|
|
|
REM 导出 HTML
|
|
echo.
|
|
echo [3/3] 导出 HTML...
|
|
for %%f in ("%PRESENTATIONS_DIR%\*.md") do (
|
|
set "filename=%%~nf"
|
|
echo - !filename!...
|
|
marp "%%f" --theme-set-dir "%~dp0Themes" --html --allow-local-files -o "%EXPORT_DIR%\HTML\!filename:.md!.html"
|
|
if !errorlevel! neq 0 (
|
|
echo [失败] !filename!
|
|
) else (
|
|
echo [完成] !filename!
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo ====================================================
|
|
echo 导出完成!
|
|
echo ====================================================
|
|
echo.
|
|
echo 导出目录: %EXPORT_DIR%
|
|
echo.
|
|
echo 文件统计:
|
|
if exist "%EXPORT_DIR%\PDF" (
|
|
for /f %%a in ('dir /b "%EXPORT_DIR%\PDF\*.pdf" 2^>nul ^| find /c /v ""') do echo PDF: %%a 个
|
|
)
|
|
if exist "%EXPORT_DIR%\PPTX" (
|
|
for /f %%a in ('dir /b "%EXPORT_DIR%\PPTX\*.pptx" 2^>nul ^| find /c /v ""') do echo PPTX: %%a 个
|
|
)
|
|
if exist "%EXPORT_DIR%\HTML" (
|
|
for /f %%a in ('dir /b "%EXPORT_DIR%\HTML\*.html" 2^>nul ^| find /c /v ""') do echo HTML: %%a 个
|
|
)
|
|
echo.
|
|
echo 打开导出目录? (Y/N)
|
|
choice /c yn /n /m "请选择"
|
|
if %errorlevel% equ 1 (
|
|
start "" "%EXPORT_DIR%"
|
|
)
|
|
echo.
|
|
pause
|