HowToCook 仓库中的文档系统负责生成和维护所有文档构件,包括 README.md 文件、星级评定系统分类以及静态文档网站。该系统确保食谱得到妥善组织、易于发现并以一致的方式呈现给用户。
本文档侧重于文档生成和部署过程的技术架构。有关食谱格式标准的信息,请参阅 食谱格式标准。
文档系统包含三个主要组件:
这些组件协同工作,为用户提供全面的文档体验。
来源: .github/readme-generate.js Dockerfile .github/templates/readme_template.md .github/templates/mkdocs_template.yml
文档生成过程通过 CI/CD 工作流自动触发。该过程读取所有食谱 Markdown 文件,并根据类别和难度级别进行组织。
来源: .github/readme-generate.js Dockerfile12-17
README 生成由 readme-generate.js 脚本处理,该脚本接收食谱 Markdown 文件并将其组织成一个结构化的 README.md 文件。这为用户提供了一种直接从 GitHub 仓库轻松浏览食谱的方式。
该脚本执行几项关键操作:
来源: .github/readme-generate.js65-246 .github/templates/readme_template.md
星级系统通过难度级别对食谱进行分类,使用户更容易找到符合其技能水平的食谱。该脚本读取每个食谱中的星号符号 (★) 并为每个难度级别创建索引文件。
来源: .github/readme-generate.js65-123 starsystem/1Star.md starsystem/2Star.md starsystem/3Star.md starsystem/4Star.md starsystem/5Star.md
MkDocs 的配置由 readme-generate.js 脚本生成,并用于构建静态文档网站。该配置定义了文档网站使用的站点结构、主题和插件。
MkDocs 模板配置包括:
来源: .github/templates/mkdocs_template.yml .github/readme-generate.js164-201
网站生成过程发生在 Docker 构建过程中。
生成的网站包括:
来源: Dockerfile requirements.txt
文档系统提供了多种访问文档的方式:
Docker 容器部署提供了一个完整的文档 Web 界面,包括搜索功能和 GitHub 界面中未提供的其他功能。
可以使用以下命令通过 Docker 在本地部署文档:
部署后,文档可通过 http://:5000 访问。PDF 版本可通过 http://:5000/document.pdf 访问。
文档系统依赖于特定的文件组织和代码结构才能正常运行。
| 文件路径 | 目的 |
|---|---|
.github/readme-generate.js | 用于生成文档的主脚本 |
.github/templates/readme_template.md | README.md 的模板 |
.github/templates/mkdocs_template.yml | MkDocs 配置的模板 |
starsystem/*.md | 按难度划分的食谱索引文件 |
mkdocs.yml | 生成的 MkDocs 配置 |
Dockerfile | 用于构建和提供文档的容器定义 |
requirements.txt | MkDocs 的 Python 依赖项 |
食谱按类别组织在 dishes 目录中。
dishes/
├── aquatic/ # Seafood dishes
├── breakfast/ # Breakfast items
├── condiment/ # Sauces and condiments
├── dessert/ # Desserts and sweets
├── drink/ # Beverages
├── meat_dish/ # Meat-based dishes
├── semi-finished/ # Semi-prepared foods
├── soup/ # Soups and porridges
├── staple/ # Main course dishes
├── template/ # Template for new recipes
└── vegetable_dish/ # Vegetable-based dishes
来源: .github/readme-generate.js8-62 README.md59-363
文档系统已集成到项目 CI/CD 管道中,该管道会在仓库发生更改时自动构建和部署文档。
集成确保文档始终与最新的食谱和仓库更改保持同步。
HowToCook 仓库中的文档系统为管理食谱文档提供了一种全面的方法。通过自动生成 README.md、按难度级别组织食谱以及创建可搜索的文档网站,该系统确保用户能够轻松找到并遵循符合其技能水平和兴趣的食谱。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(d608f0)