documentation - 可以从多个存储库发布 docusaurus 交叉存储库,以将文档聚合在一起吗?
问题描述
我的问题:是否有任何开箱即用的 docusaurus 功能(除了https://github.com/facebook/docusaurus/pull/764)可以使以下操作更容易?(我在这里问过这个问题,因为他们的 github 问题模板告诉我这种类型的问题将被关闭,而是在这里问他们)。
在我的公司,我们有几个不同的存储库,其中包含 markdown 文档以及从各种不同编码语言的源代码文档生成的 markdown。
我想探索使用 docusaurus 来定义一个中心站点,但从许多不同的存储库中提取文档。
我想这样做:
- 得到一个集中的搜索索引
- 帮助可发现性
- 获得集中拥有的一致主题/UX
- 继续发布到融合中,以便非技术用户可以找到和浏览内容,如果这成为公司使用的政策(:()
- 保留 docs-close-to-code 的所有优点
这是 docusaurus 所期望的结构:
docs/ # all documentation should be placed here
website/
blog/
build/ # on yarn run build
core/
Footer.js
package.json
pages/
sidebars.json
siteConfig.js
static/
这是我想最终得到的已发布网站的结构:
/v1/products/{product}/{version}/{language}/{content as from docs/}
# e.g.
/v1/products/spanner/{version}/en-GB/readme.html
/v1/internal/{gh-org}/{gh-repo}/{language}/{content as from docs/}
#e.g.
/v1/my-org/my-repo/{version}/en-GB/readme.html
/v1/my-org/my-repo/{version}/en-GB/proto-generated.html
(v1
是不是因为我预测我会忘记一些东西,它让我可以对冲这一点,并使以后的重大更改重定向更容易)
我认为因此这是我需要将事物聚合成的中间结构:
docs/
product/
language/
prose|generated-lang
gh-org/
repo/
language/
prose|generated-lang
website/
blog/
product/
language/
prose|generated-lang
gh-org/
repo/
language/
prose|generated-lang
core/
Footer.js
package.json
pages/
product/
language/
prose|generated-lang
gh-org/
repo/
language/
prose|generated-lang
sidebars.json
siteConfig.js
static/
product/
language/
prose|generated-lang
gh-org/
repo/
language/
prose|generated-lang
……这能连在一起吗?
我可以很容易地通过 bash 或子模块 git clone 来安排它;这不是一个特别的问题。我想知道是否已经存在一些东西可以让我避免需要这样做 - 例如文档站点工具的本机功能、bazel 规则等等。
解决方案
您可以使用脚本来提取这些 md 文件,将它们放在正确的位置,然后构建 docusaurus。您可以使用 Github 的操作来自动更改您的源代码库之一
推荐阅读
- mongodb - 如何使用 mongoDB 和 spring 数据在嵌入式文档中创建一个 id
- amazon-ec2 - 无法使用 kubeadm 在 Kubernetes v1.15 中设置外部 etcd 集群
- javascript - 如何设置队列输出的过期时间 - Azure function js
- c++ - 如何将 Opencv Mat 转换为 JPEG 字符数据
- jquery - 如何使用 jquery 删除元素中的双文本?
- postgresql - Postgres 查询错误:“,”或附近的语法错误
- java - 为什么 Spring @Transactional 停止从阻塞队列中获取元素?
- .net - 如何在登录过程 API 中将 TenantId 分配给 abpsession?
- c - 以下依赖循环的时间复杂度是多少?
- android - Android Studio 在代码自动完成时崩溃