Phase 0-2: Schema cleanup, typed relations, event-driven automation

- 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
This commit is contained in:
hehaiguang1123
2026-07-01 08:05:43 +08:00
parent e544d6e04a
commit a6f05ab2d5
1067 changed files with 522992 additions and 819 deletions
+140
View File
@@ -0,0 +1,140 @@
@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