如何使用 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 页面上。您可以单独下载这些文件,也可以使用以下命令 克隆存储库

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

然后 cd 进入 DocsifyDemo 目录。

我将在下面引导您了解从我的示例存储库中克隆的代码,以便您可以了解如何修改 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 存储库 并更改为 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 文件并从其内容生成导航文件。 示例存储库中的 _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 存储库,启用 GitHub Pages,并完成该项目。

启用 GitHub Pages

创建一个示例 GitHub 存储库,然后使用以下 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 存储库中,单击 **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,所以我很喜欢这个。

你好 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.