我需要托管我的项目的多个版本(例如 1.0、2.0 和 3.0)的文档,并且所有版本都是活动(文档)分支,我们将继续对所有这些版本进行改进。 是否可以使用 GitHub 页面来实现此目的?
感谢对此的任何帮助。
使用 Github Actions 以及您选择的静态站点生成器 (SSG)(例如 VuePress、Gatsby、Jekyll 等)是可行的。
以最简单的形式,创建一个 GH 操作来生成分支/发布的静态站点文件夹,然后将该文件夹推送到 GH 页面指向的分支中的相应文件夹,例如 gh-pages。应将分支/版本之一推送到根目录。 GitHub Pages 部署操作 可能会有所帮助。最后将版本下拉列表添加到指向匹配文件夹的静态网站。可以使用 GitHub API 静态维护或动态填充项目列表。所选项目取决于当前 URL 路径。
示例:
为软件产品NotifyBC提供多版本文档,文档和代码在同一个repo中,
你可以看看gh-pages-multi。
这是我编写的一个小型nodejs工具,用于将不同版本的文档推送到gh-pages分支中的子目录。它还生成一个 index.html 文件,列出这些子目录。
如果您想自动构建和推送文档,那么集成到 CI 工作流程中相当容易。
另请注意“--no-history”选项,如果您的文档包含一些构建文件或二进制资产,该选项将防止 git 存储库膨胀。
这些其他答案使事情变得过于复杂。正如 @jhpratt 在评论中建议的那样,您只需将与要部署的站点版本相对应的代码复制到部署到 gh-pages 的目录中的目录(例如标记为
v1.0
)即可。然后您可以使用 https://your-name.github.io/your-repo/v1.0/
访问该版本。
当然,根据您正在构建的网站类型,您可能需要担心每个版本的
<base href="...">
标签等内容,但无论如何您都需要担心此标签,因为 github 页面确实如此不部署到 url 根目录。