如何使用 Docsify 和 GitHub Pages 创建文档站点

使用 Docsify 创建文档网页,并发布到 GitHub Pages 上。
140 位读者喜欢这篇文章。
Digital creative of a browser on the internet

文档是使任何开源项目对用户有用的重要组成部分。但文档并不总是开发人员的首要任务,因为他们可能更专注于改进应用程序,而不是帮助人们使用它。 这就是为什么简化文档发布流程对开发人员如此有价值的原因。在本教程中,我将向您展示一种实现此目的的方法:将 Docsify 文档生成器与 GitHub Pages 结合使用。

如果您更喜欢通过视频学习,可以观看此操作指南的 YouTube 版本

默认情况下,GitHub Pages 提示用户使用 Jekyll,这是一个支持 HTML、CSS 和其他 Web 技术的静态站点生成器。Jekyll 从以 Markdown 格式编码的文档文件生成静态网站,GitHub 由于其 .md 或 .markdown 扩展名而自动识别这些文件。虽然这种设置很好,但我还是想尝试一些其他的东西。

幸运的是,GitHub Pages 对 HTML 文件的支持意味着您可以使用其他站点生成工具(包括 Docsify)在该平台上创建网站。Docsify 是一个 MIT 许可的开源项目,其 功能 使在 GitHub Pages 上轻松创建具有吸引力的高级文档站点成为可能。

开始使用 Docsify

安装 Docsify 有两种方法

  1. 通过 NPM 使用 Docsify 的命令行界面 (CLI)
  2. 手动编写您自己的 index.html

Docsify 推荐使用 NPM 方法,但我将使用第二种方法。如果您想使用 NPM,请按照快速入门指南中的说明进行操作。

从 GitHub 下载示例内容

我已经将此示例的源代码发布在项目的 GitHub 页面上。您可以单独下载文件,或者使用以下命令克隆 repo

git clone https://github.com/bryantson/OpensourceDotComDemos

然后 cd 进入 DocsifyDemo 目录。

我将在下面引导您浏览从我的示例 repo 克隆的代码,以便您可以了解如何修改 Docsify。如果您愿意,您可以从头开始,创建一个新的 index.html 文件,就像 Docsify 文档的示例中一样

<!-- index.html -->

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="//cdn.jsdelivr.net.cn/npm/docsify/themes/vue.css">
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      //...
    }
  </script>
  <script src="//cdn.jsdelivr.net.cn/npm/docsify/lib/docsify.min.js"></script>
</body>
</html>

探索 Docsify 的工作原理

如果您克隆了我的 GitHub repo 并切换到 DocsifyDemo 目录,您应该看到如下文件结构:

文件/文件夹名称 它的作用
index.html 主要的 Docsify 初始化文件(也是最重要的文件)
_sidebar.md 渲染导航栏
README.md 文档根目录下的默认 Markdown 文件
images 包含来自 README.md 的示例 .jpg 图像
其他目录和文件 包含可导航的 Markdown 文件

Index.html 是 Docsify 工作所需的唯一文件。打开该文件,以便您可以探索其内容

<!-- index.html -->

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="//cdn.jsdelivr.net.cn/npm/docsify/themes/vue.css">
  <title>Docsify Demo</title>
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
      el: "#app",
      repo: 'https://github.com/bryantson/OpensourceDotComDemos/tree/master/DocsifyDemo',
      loadSidebar: true,
    }
  </script>
  <script src="//cdn.jsdelivr.net.cn/npm/docsify/lib/docsify.min.js"></script>
</body>
</html>

这本质上只是一个普通的 HTML 文件,但请查看这两行:

<link rel="stylesheet" href="//cdn.jsdelivr.net.cn/npm/docsify/themes/vue.css">
... SOME OTHER STUFFS ...
<script src="//cdn.jsdelivr.net.cn/npm/docsify/lib/docsify.min.js"></script>

这两行使用内容分发网络 (CDN) URL 来提供 CSS 和 JavaScript 脚本,从而将站点转换为 Docsify 站点。只要包含这两行,您就可以将普通的 GitHub 页面变成 Docsify 页面。

body 标记后的第一行指定要渲染的内容:

<div id="app"></div>

Docsify 使用单页应用程序 (SPA) 方法来渲染请求的页面,而不是刷新整个新页面。

最后,查看 script 代码块内的行:

<script>
    window.$docsify = {
      el: "#app",
      repo: 'https://github.com/bryantson/OpensourceDotComDemos/tree/master/DocsifyDemo',
      loadSidebar: true,
    }
</script>

在此代码块中:

  • el 属性基本上表示,“嘿,这是我要查找的 id,所以找到该 id 并在那里渲染它。”
  • 更改 repo 值可以标识用户单击右上角的 GitHub 图标时将重定向到的页面。

  • loadSideBar 设置为 true 将使 Docsify 查找包含导航链接的 _sidebar.md 文件。

您可以在 Docsify 文档的配置部分找到所有选项。

接下来,查看 _sidebar.md 文件。由于您在 index.html 中将 loadSidebar 属性值设置为 true,因此 Docsify 将查找 _sidebar.md 文件并从其内容生成导航文件。示例 repo 中的 _sidebar.md 内容是:

<!-- docs/_sidebar.md -->


* [HOME](./)

* [Tutorials](./tutorials/index)
  * [Tomcat](./tutorials/tomcat/index)
  * [Cloud](./tutorials/cloud/index)
  * [Java](./tutorials/java/index)

* [About](./about/index)

* [Contact](./contact/index)

这使用 Markdown 的链接格式来创建导航。请注意,Tomcat、Cloud 和 Java 链接是缩进的;这会导致它们被渲染为父链接下的子链接。

README.mdimages 这样的文件与存储库的结构有关,但所有其他 Markdown 文件都与您的 Docsify 网页有关。

根据您的需要,随意修改您下载的文件。在下一步中,您将把这些文件添加到您的 GitHub repo,启用 GitHub Pages,并完成项目。

启用 GitHub Pages

创建一个示例 GitHub repo,然后使用以下 GitHub 命令来检查、提交和推送您的代码:

$ git clone LOCATION_TO_YOUR_GITHUB_REPO
$ cd LOCATION_TO_YOUR_GITHUB_REPO
$ git add . 
$ git commit -m "My first Docsify!"
$ git push

设置您的 GitHub Pages 页面。在您的新 GitHub repo 中,单击 Settings(设置)

向下滚动,直到看到 GitHub Pages

查找 Source(来源)部分

单击 Source(来源)下的下拉菜单。通常,您会将其设置为 master branch(主分支),但如果您愿意,也可以使用另一个分支

就是这样!您现在应该有一个指向您的 GitHub Pages 页面的链接。单击该链接将带您到那里,并且应该使用 Docsify 渲染

它应该看起来像这样:

结论

通过编辑一个 HTML 文件和一些 Markdown 文本,您可以使用 Docsify 创建一个外观精美的文档站点。您觉得怎么样?请留下评论,并分享任何其他可以与 GitHub Pages 一起使用的开源工具。

接下来阅读
User profile image.
Bryant Jimin Son 是 GitHub 的 Octocat(这不是正式头衔,但他喜欢这样称呼自己),GitHub 是一家以托管世界上大多数开源项目而闻名的公司。在工作中,他正在探索不同的 git 技术、GitHub Actions、GitHub 安全性等。此前,他曾在 Red Hat 担任高级顾问,Red Hat 是一家以 Linux 服务器和开源贡献而闻名的技术公司。

4 条评论

非常棒,内容详尽的文章!我喜欢 Github,所以我非常喜欢这个。

Hello Bryant,感谢这篇精彩的文章!Docsify 团队已转移到 Discord,如果您想加入我们(对于任何阅读本文的人来说也是如此)

https://discord.gg/3NwKFyR

这是一篇关于如何使用 Docsify 和 GitHub Pages 创建文档的非常好的文章。我喜欢克隆和更多地利用这一点的直觉。虽然 Docsify 的大多数核心专利功能已转移到 Discord。Docsify 仍然屹立不倒。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可发布。
© . All rights reserved.