网站文件夹组织架构说明

网站文件夹组织架构说明

这是 algebratv.com 当前独立静态站点的结构说明。网站已经不再依赖 hugo.exe 或 Hugo Stack,页面由 Node.js 构建脚本生成,浏览器最终读取的是 public/ 中的 HTML、CSS、JavaScript、图片和 XML 文件。

根目录

new_algebratv/
├── content/       原始文章和普通页面,使用 Markdown 保存
├── assets/        项目资源,例如自定义 CSS、图片和图标
├── static/        不需要处理、直接复制到发布目录的静态资源
├── src/           独立网站的模板、样式和浏览器脚本
├── build/         Node.js 构建器和自动验收脚本
├── public/        最终生成的网站文件
├── docs/          重建记录、兼容基线和回归检查表
├── package.json   Node.js 项目配置和构建命令
└── .github/       GitHub Actions 独立构建与部署配置

content/

content/ 是网站的内容源文件,不是最终页面。文章位于 content/post/,每篇文章通常使用一个 page bundle 目录:

content/post/某篇文章/
├── index.md       文章正文和 front matter
└── image.jpg      文章专用图片或其他资源

普通页面位于 content/page/,例如关于页面、链接页面、搜索页面和本说明页面。文章中的标题、日期、分类、标签、系列、图片、alias 和 draft 等信息来自 Markdown 文件的 front matter。

src/

src/ 是独立网站的表现层:

  • src/templates/:文章页、首页、列表页、搜索页和普通页面的 HTML 模板。
  • src/styles/site.css:独立网站的全部主要样式,包括响应式布局、文章卡片、正文、分页和评论区样式。
  • src/scripts/search.js:浏览器端搜索脚本,读取静态搜索索引并显示结果。

这些文件不依赖 Hugo 的模板语法。构建器使用简单的占位符把数据填入 HTML 模板。

build/

build/build.mjs 是网站构建入口。它会:

  1. 读取文章和普通页面的 Markdown 文件。
  2. 解析 TOML 或 YAML front matter。
  3. 将 Markdown 转换为 HTML。
  4. 转换现有 shortcode、数学公式和嵌入内容。
  5. 生成文章、首页、分类、标签、系列、归档、搜索、RSS 和 sitemap 页面。
  6. 复制 page bundle 中的图片和其他资源。
  7. 生成 alias 跳转页面和 Giscus 评论脚本。

build/check.mjs 是独立验收脚本,用来确认文章数量、搜索索引、RSS、sitemap、Giscus 和 shortcode 输出没有明显缺失。

public/

public/ 是发布目录,不是手工编辑的源代码。运行下面的命令后,它会被重新生成:

npm ci
npm run build
npm run check

其中包括:

  • /index.html:首页
  • /p/.../index.html:文章页
  • /categories//tags//series/:分类索引
  • /archives/:归档页
  • /search/:搜索页面和 JSON 索引
  • /index.xml:RSS
  • /sitemap.xml:站点地图
  • /styles//scripts/:浏览器资源

assets/static/

assets/ 保存需要由项目代码引用或处理的资源;static/ 保存需要直接发布的资源。文章 page bundle 中的图片则会由构建器复制到对应的文章 URL 目录。

.github/

.github/workflows/static_deploy.yaml 是独立部署流程。它使用 Node.js 24,依次执行 npm cinpm run buildnpm run check,最后发布 public/。它不安装、不调用 Hugo,也不依赖 Stack 主题。

docs/

docs/ 保存迁移过程中的工程记录:

  • rebuild-baseline.md:旧站兼容基线。
  • regression-checklist.md:每次改版后的回归检查表。
  • template-overrides.md:旧 Hugo/Stack 模板覆盖关系记录。
  • final-hugo-removal-checklist.md:最终移除 Hugo 的门槛记录。
  • Explaining_Structure:当前独立网站结构说明。

旧 Hugo 文件的状态

最终独立化步骤已经删除 hugo.yamllayouts/themes/archetypes/resources/.hugo_build.lock 和旧 Hugo 部署脚本。content/ 中仍保留原有 Markdown 和 front matter,因为它们现在是独立 Node 构建器读取的内容数据;保留这些内容格式不等于运行时依赖 Hugo。

本文档的提出者与 AI 工具

这份 Explaining_Structure 文档是由本次对话中的当前用户指出并要求生成的。这里不虚构或推断用户的真实姓名或账号信息。

本网站的独立重建、代码分析和文档整理使用了 GitHub Copilot 这一 AI 编程工具完成;具体实现仍由项目中的 Node.js、Markdown 解析器、HTML、CSS 和 JavaScript 代码负责运行。