面向初学者的 Web 开发文档系统是一个框架,它将课程的 Markdown 内容渲染成一个可访问的多语言网站,同时还支持 PDF 生成。本文档将解释文档是如何实现、配置和维护的。有关翻译框架本身的更多信息,请参阅 翻译框架。
面向初学者的 Web 开发课程使用 Docsify 作为其文档系统,以用户友好的格式呈现教学内容。Docsify 是一个轻量级的、由 Vue 驱动的文档生成器,它在客户端动态渲染 Markdown 文件为 HTML。这种方法消除了构建静态 HTML 文件的需要,从而实现了更简单的内容管理工作流。
该文档系统提供了几个关键功能:
来源:index.html1-43 package.json1-28
来源:index.html1-43 docs/_navbar.md1-21 docs/_sidebar.md1-37 index.css1-3 docsifytopdf.js1-10
来源:index.html1-43 docs/_navbar.md1-21 docs/_sidebar.md1-37 index.css1-3 docsifytopdf.js1-10
文档系统的核心配置在 index.html 文件中。该文件包含控制 Docsify 如何渲染内容和功能的设置。
这些设置控制:
别名模式对于处理多语言内容尤其重要,允许英语(默认)和翻译版本都能得到妥善提供。
HTML 结构非常简洁,因为 Docsify 大部分内容是动态生成的。
文档内容在 Docsify 的 <div id="app"></div> 元素内渲染。
该存储库包含一个最小的自定义 CSS 文件(index.css),它提供了样式调整。
这确保了导航菜单项的正确格式。
来源:index.css1-3
该文档系统使用两个主要文件进行导航:
导航栏主要处理语言选择,提供多种语言的翻译。
此下拉菜单允许用户在课程的不同语言版本之间切换。
侧边栏提供了课程的目录,按章节和单独的课程进行组织。
侧边栏将课程按逻辑章节组织,每门课程按顺序编号。这种结构在存储库的文件夹组织中也有体现。
该文档系统包括生成课程 PDF 版本的功能,使其可以以离线格式访问或用于打印。
PDF 生成通过 docsifytopdf.js 配置文件进行控制。
此配置
pdf/readme.pdf来源:docsifytopdf.js1-10 package-lock.json1-149
PDF 生成过程:
npm run convert 来触发。docsify-to-pdf 包读取侧边栏文件以确定内容结构。来源:package.json6-8 docsifytopdf.js1-10 package-lock.json670-690
文档系统通过文件结构约定和 Docsify 配置设置的组合来处理翻译。
翻译遵循命名约定:
README.mdREADME.[language-code].md例如
README.mdREADME.es.mdREADME.fr.mdDocsify 配置包含处理翻译 URL 模式的别名规则。
这些规则会将对翻译内容的请求路由到适当的文件。
translations 文件夹中。来源:index.html29-38 docs/_navbar.md1-21
该文档托管在 GitHub Pages 上,利用 GitHub 对开源项目的免费托管。
GitHub Pages 自动提供存储库中的内容。设置很流畅,因为:
这种方法简化了部署,因为推送到存储库的任何更改都会立即反映在实时网站上。
| 组件 | 文件 | 目的 |
|---|---|---|
| Docsify配置 | index.html | 配置文档系统设置 |
| 自定义样式 | index.css | 提供次要样式调整 |
| 导航栏 | docs/_navbar.md | 提供语言选择选项 |
| 侧边栏/TOC | docs/_sidebar.md | 组织课程内容 |
| PDF 配置 | docsifytopdf.js | 配置 PDF 生成设置 |
| PDF 脚本 | package.json | 包含 PDF 生成的 npm 脚本 |
| 内容 | 各种 .md 文件 | 实际的课程内容 |
| 翻译 | README.[lang].md 文件 | 内容的翻译版本 |
来源: index.html1-43 index.css1-3 docs/_navbar.md1-21 docs/_sidebar.md1-37 docsifytopdf.js1-10 package.json1-28
要为课程添加新内容
docs/_sidebar.md),以包含新内容要添加新的翻译
README.[语言代码].md 的文件docs/_navbar.md)要生成文档的 PDF 版本
npm install 确保依赖项已安装npm run convertpdf/readme.pdf 提供《Web Development for Beginners》的文档系统提供了一种轻量级、多功能的课程内容展示方式。通过利用 Docsify,该系统提供了动态内容渲染、多语言支持和 PDF 生成功能,而无需复杂的构建过程。这种方法非常符合课程的教学目标,使其能够以多种格式和语言供广大学习者访问。