1

我需要一些帮助来确定正确的解决方案,以帮助我为我的朋友创建无缝文档。我们有几个存储库,其中将放置一个包含多个 .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 的东西来生成一个静态站点。如果有任何工具/框架可以轻松解决此问题。我将感激不尽

非常感谢您的任何回复,我们一定会低于我们所做的

4

2 回答 2

1

您可以使用MkDocs作为静态站点生成器和multirepo插件来完成此操作。以下是进行所有设置的步骤。我假设你已经安装了 Python 并且你创建了一个 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 serveor mkdocs build,它将在一个站点中构建一个包含所有文档的静态站点。

于 2022-01-10T14:13:24.087 回答
1

这是一个想法,

  1. 初始化一个存储库,让我们调用它TheRepo
  2. 将所有依赖的 repos(在我们的例子Repo1Repo2,,,Repo3)作为git 子模块添加到TheRepo

现在我们拥有从和into的所有内容Repo1,我认为这对于文档网站来说可能是不可取的。Repo2Repo3TheRepo

  1. 创建一个 bash 脚本(使用findgreprm类似的 bash 魅力)以保留所需的*.md文件并删除不需要的源文件。以下是有关操作方法的示例:
// remove everything else that is not markdown file
find . -type f ! -name '*.md' -delete
  1. 在's root初始化vuepressTheRepo并让 vuepress 生成合并文档。

如果您在第 3 步做得很好。您可以在生成的文档中为每个单独的依赖 Repo设置单独的部分/分类。

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

git submodule update && ./remove-undesirable-files.sh
于 2020-09-01T05:31:23.490 回答