This is the template to be used together with the Digital Garden Obsidian Plugin. See the README in the plugin repo for information on how to set it up.
Docs are available at dg-docs.ole.dev
请在提交变更前阅读仓库根目录的 AGENTS.md,其中包含项目结构、构建命令、编码规范、测试要求与 PR 审查要点。
- 主页与笔记页面共享新的三列网格骨架(
.page-layout__grid),左侧为导航/文档树,中间承载正文,右侧用于目录等辅助信息。整体视觉参考 动手学深度学习 的阅读体验,背景色与卡片阴影均在src/site/styles/custom-style.scss中维护。 - 顶部头部由
.site-header负责呈现站点名称与全局搜索入口;侧边导航若未启用文件树,会回退到.nav-panel渲染的概览卡片。 - 外层
.page-layout左、右与顶部全部为 0 padding/0 margin,仅保留底部 padding;若需额外留白请使用局部容器控制,避免改动外层布局。 - 为减少空白,中栏宽度已提升至 960px,列间距缩小至 1.1rem–1.6rem,并拉伸整体容器至
min(1380px, 100% - 40px);如需再次调优可直接修改.page-layout与.content相关样式。 - 默认不再渲染
Connected Pages与Pages mentioning this page卡片,可在sidebar.njk中重新启用或改造;侧栏仅保留Table Of Contents模块。 - 若需新增卡片或调整布局,请同步修改
src/site/_includes/layouts/index.njk、src/site/_includes/layouts/note.njk与配套的custom-style.scss,并保证.page-layout__nav、.page-layout__content与.page-layout__aside三个区域仍保持顺序。 - 更新布局后请执行
pytest test/test_layout_structure.py验证首页结构,确保导航、正文与侧栏均被渲染。
- 全局搜索与标签搜索依赖 Eleventy 构建产出的
searchIndex.json,请求地址通过url过滤器拼接,从而在 GitHub Pages 等子路径部署场景下保持可用。 - 浏览器端缓存键采用
searchIndex:<路径>格式,避免不同PATH_PREFIX共享同一份离线索引。
- 在仓库
Settings > Pages中选择 GitHub Actions 作为构建来源,工作流文件位于.github/workflows/pages.yml。 - 推送到
main分支会触发构建,首次成功后即可通过https://<GitHub 用户名>.github.io/访问站点。 - 若需自定义域名或部署到子路径,请同步更新
.env中的SITE_BASE_URL,并在 Pages 设置或工作流中覆写PATH_PREFIX环境变量。 - 如果仓库被 fork 到其他命名空间,可在运行工作流前显式设置
PATH_PREFIX,以匹配新的仓库名称或子目录。 - 已发布笔记的 URL 统一为
/<article_id>/(10 位 SHA-256 十六进制片段),来源于笔记在src/site/notes/下的相对路径;首页(gardenEntry)仍占用根路径/。