Web-Presentation-site 是 web-presentation 的独立项目主页、案例展示中心与文档站。
- 线上主站:https://presentation.inputloom.com/
- GitHub Pages 镜像:https://llmxpm.github.io/web-presentation-site/
- 主平台仓库:web-presentation
- 外部 Agent 接入仓库:web-presentation-agent-kit
站点使用 VitePress 构建,通过自动同步脚本从同级主仓(../web-presentation)读取 Markdown 文档与静态资源,并结合 site/showcases/ 中的案例源码自动生成案例展示页与下载包。
pnpm install
pnpm run sync:docs
pnpm run check:links
pnpm run check:assets
pnpm run build
pnpm run preview开发预览:
pnpm run dev将模板包解压到 site/showcases/<name>/,目录内容需要进入 Git;同步脚本会在 site/.generated/ 中重新生成供用户下载的 <name>.wptemplate.zip。生成目录和 site/.vitepress/dist/ 都不提交。
本地开发链路:
pnpm run sync:docs
pnpm run dev
pnpm run buildpnpm run sync:docs 会解析 site/showcases/*/,生成案例列表、详情页、截图资源和下载文件到 site/.generated/。案例 URL 的 slug 来自案例目录名,目录命名应保持稳定。
解析规则:
project/project.json是案例展示主数据源,读取name、page_width、page_height、base_font_size、style_spec_markdown,并辅助读取description、theme_key、menu_mode。project/routes.json提供页面顺序,脚本递归展开routes,只取route_type === "page"且存在source_page_code的路由。metadata/screenshots.json只提供截图路径、标题和尺寸;截图按路由顺序匹配,路由引用页面缺截图会同步失败,路由外截图放到末尾。manifest.json校验包类型、schema、必要路径字段和计数字段,并读取themes[].name用于案例详情展示。metadata/template.json只校验存在且为对象,不作为主要展示数据源。- 可在案例目录根部添加
showcase.json补充站点展示字段;该文件不会写入下载包。
Git 提交时提交 site/showcases/<name>/ 下的模板源文件、解析脚本和页面样式改动;不要提交构建生成的 .wptemplate.zip、site/.generated/ 或 site/.vitepress/dist/。
仓库使用 Git LFS 管理视频、音频、压缩包、PDF 和演示文稿,具体扩展名见 .gitattributes。开发环境首次拉取前需安装并初始化 Git LFS:
git lfs install
git lfs pullpnpm run check:assets 会检查已跟踪文件及未忽略的新文件。默认情况下,5 MiB 及以上的文件必须匹配 Git LFS 规则;临时调整阈值可设置 LARGE_FILE_LIMIT_MB。新增其他类型的大文件时,应先补充 .gitattributes,再执行:
git add --renormalize <文件路径>
git lfs ls-files
pnpm run check:assetsGit LFS 只优化后续提交,已经进入历史的二进制对象仍会保留。若需要缩小完整克隆体积,可在团队协调停写和强推窗口后另行执行 git lfs migrate import;该操作会重写提交历史,不应在日常开发中直接运行。
| 变量 | 默认值 | 说明 |
|---|---|---|
SOURCE_REPO_PATH |
../Web-Presentation |
本地或 CI 中的源项目路径 |
SOURCE_REPO |
LLMxPM/Web-Presentation |
GitHub Actions 拉取的源仓库 |
SOURCE_REF |
main |
GitHub Actions 拉取的源分支 |
SITE_BASE |
/web-presentation-site/ |
GitHub Pages 站点 base |
GitHub Pages 通过 .github/workflows/pages.yml 发布。workflow 在 master push、手动触发和每天定时任务时执行:checkout 站点仓库和源文档仓库,安装依赖,运行 pnpm run sync:docs 解析案例目录、生成下载包并同步文档,再运行 pnpm run build 生成 site/.vitepress/dist 并上传到 Pages。