来自几个 github 个存储库的文档到一个静态站点

Documentation from several github repositories into a static site

我需要一些帮助来确定正确的解决方案,以帮助我为我的朋友创建无缝文档。 我们有几个存储库,其中将放置一个包含多个 .MD 文件的 doc 文件夹

Repo1
|- Readme.MD
|-docs
  |- Installation.MD
  |- Usage.MD

Repo2
|- Readme.MD
|-docs
  |- Installation.MD
  |- Usage.MD

Repo3
|- Readme.MD
|-docs
  |- Installation.MD
  |- Usage.MD

我们想使用类似 vuepress 的东西来生成静态站点。 如果有tool/framework可以轻松解决这个问题。我将不胜感激

非常感谢您的任何回复,我们一定会把我们所做的放在下面

这是一个想法,

  1. 初始化存储库,我们称之为 TheRepo
  2. 将所有依赖的回购(在我们的例子中 Repo1Repo2Repo3)添加为 git submodulesTheRepo

现在我们拥有从 Repo1Repo2Repo3TheRepo 的所有内容,我认为这可能不适合文档网站。

  1. 创建一个 bash 脚本(使用 findgreprm 或类似的 bash 魅力)以保留所需的 *.md文件并删除不需要的源文件。这是 how-to 上的示例:
// remove everything else that is not markdown file
find . -type f ! -name '*.md' -delete
  1. TheRepo 的根目录初始化 vuepress 并让 vuepress 生成联合文档。

如果您在第 3 步做得很好。您可以在生成的文档中为每个单独的依赖项 Repo 单独 section/classification

要刷新内容,只需使用 git submodule update 更新文档,然后将其与步骤 3 中创建的脚本链接起来,以自动执行刷新过程。

git submodule update && ./remove-undesirable-files.sh

您可以使用 MkDocs as your static site generator and the multirepo plugin. Below are the steps to get it all setup. I assume you have Python installed and you created a Python venv 来完成此操作。

  1. python -m pip install git+https://github.com/jdoiro3/mkdocs-multirepo-plugin
  2. mkdocs new my-project
  3. cd my-project
  4. 将以下内容添加到您新创建的 mkdocs.yml。这将配置插件。
plugins:
  - multirepo:
      repos:
        - section: Repo1
          import_url: {Repo1 url}
        - section: Repo2
          import_url: {Repo2 url}
        - section: Repo3
          import_url: {Repo3 url}

现在,您可以 运行 mkdocs servemkdocs build,这将在一个站点中构建一个包含所有文档的静态站点。