菜单

Docsify配置

相关源文件

目的与范围

本文档解释了在 Web Development for Beginners 课程仓库中使用的 Docsify 文档系统配置。它涵盖了技术设置、配置选项和文件结构,使课程能够作为交互式网站进行展示。有关从文档生成 PDF 的信息,请参阅 PDF 生成

Docsify 概述

Docsify 是一个轻量级的文档生成器,它动态地将 Markdown 文件渲染成网站,而无需构建静态 HTML 文件。在 Web-Dev-For-Beginners 仓库中,Docsify 将课程的 Markdown 内容转换为一个可导航、可搜索的文档网站,托管在 GitHub Pages 上。

Docsify 文档系统架构

来源:index.html1-43 docs/_navbar.md1-21

核心配置

Docsify 配置位于仓库根目录的 index.html 文件中。核心设置定义在 window.$docsify 对象中。

来源:index.html22-39

关键配置参数

window.$docsify 对象包含几个重要参数:

参数目的
loadNavbar'docs/_navbar.md'指定导航栏内容的文件的路径
名称'Web Development for Beginners: A Curriculum'设置文档标题
repo'https://github.com/microsoft/Web-Dev-For-Beginners'链接到 GitHub 仓库
relativePathtrue启用链接的相对路径
auto2topfalse禁用页面更改时自动滚动到顶部
notFoundPagetrue启用默认的 404 页面
alias(复杂对象)处理翻译的路径别名

来源:index.html22-39

翻译路径处理

Docsify 配置中最复杂的部分之一是 alias 参数,它实现了用于处理翻译的路径重写规则。此系统允许文档无缝地提供多语言内容。

别名规则说明

来源:index.html28-38

别名规则可分为两类:

  1. 翻译路径映射:将带有语言后缀的 URL(例如,西班牙语的 README.es)映射到翻译文件夹中的相应文件的规则。

  2. 英语回退映射:处理没有语言后缀的请求的规则,通过直接提供英语内容而无需经过翻译文件夹。

这个翻译系统允许用户通过导航栏在文档的不同语言版本之间进行导航。

导航栏配置为提供课程的语言选择选项。它从 loadNavbar 配置参数中指定的 docs/_navbar.md 文件加载。

来源:docs/_navbar.md1-21

导航栏旨在提供语言选择,其中包含指向主要 README 文件不同翻译版本的链接。每个链接都指向相同的内容,但具有不同的语言后缀,利用了 Docsify 配置中定义的别名规则。

样式和资源

文档使用最少的样式资源:

  1. 主题:来自 docsify-themeable 的 Docsify 简洁主题
  2. 自定义 CSS:一个小的自定义 CSS 文件(index.css),用于微调。
  3. Favicon:文档网站的自定义 Favicon 图标

CSS 自定义

index.css 中的自定义 CSS 非常少,仅调整导航栏元素的宽度。

这确保了语言选择下拉菜单能够正确显示不同长度的语言名称。

来源:index.html10-11 index.css1-3

脚本加载和页面结构

核心 Docsify 脚本是从 CDN 加载的,基本的 HTML 结构提供了 Docsify 运行所需的最少元素。

页面结构

来源:index.html1-43

HTML 文档遵循以下结构:

  1. 包含 meta 标签、标题和 CSS 链接的标准 HTML head 部分。
  2. body 仅包含一个 #app div 作为 Docsify 的挂载点。
  3. 定义 window.$docsify 对象的配置脚本。
  4. 从 CDN 加载的 Docsify 库脚本。

这种极简的结构允许 Docsify 控制 DOM 并动态渲染 Markdown 内容。

Analytics 集成

文档通过 HTML 文件中的脚本集成了 Microsoft Clarity 分析。

此脚本在 Docsify 配置之前加载,以确保整个文档网站都提供分析跟踪。

来源:index.html15-20

与整体课程的整合

Docsify 文档系统作为访问和导航 Web Development for Beginners 课程的主要界面。

来源:index.html1-43

Docsify 系统通过以下方式使课程易于访问和导航:

  1. 将 Markdown 内容渲染成可读的 HTML。
  2. 提供一致的导航结构。
  3. 通过翻译系统支持多种语言。
  4. 链接到补充材料,如测验和项目代码。

总结

Web Development for Beginners 仓库中的 Docsify 配置提供了一个轻量级、灵活的文档系统,该系统:

  1. 动态渲染 Markdown 课程内容,无需构建步骤。
  2. 通过基于别名的路径重写系统支持全面的国际化。
  3. 提供不同语言版本之间的直观导航。
  4. 维护一个干净、最小的界面,侧重于内容的可读性。
  5. 与 GitHub 集成以获取仓库信息和托管。

这种方法使得课程易于维护、扩展和翻译,同时为学习者提供了一个一致、易于访问的界面。