我正在寻找一种解决方案,在该解决方案中,我可以在构建期间根据一些参数更改生成的 docfx 构建输出。我已经看到docfx.json 中有一个过滤器属性,我可以在其中过滤掉一些api 的东西。但我想更改从 toc.yml 文件生成的网站的结构/内容。
我想要这个功能的原因是我为我们拥有的每个客户生成特定的文档。根据客户在我们产品上注册的功能,必须显示静态文档的某些页面,而某些页面不应该可供该客户使用。
我正在寻找一种解决方案,在该解决方案中,我可以在构建期间根据一些参数更改生成的 docfx 构建输出。我已经看到docfx.json 中有一个过滤器属性,我可以在其中过滤掉一些api 的东西。但我想更改从 toc.yml 文件生成的网站的结构/内容。
我想要这个功能的原因是我为我们拥有的每个客户生成特定的文档。根据客户在我们产品上注册的功能,必须显示静态文档的某些页面,而某些页面不应该可供该客户使用。
这可能是一个开始:
文件结构
articles
--topic1.md
--topic2.md
--topic3.md
--topic4.md
customer1
--index.md
--toc.yml
customer2
--index.md
--toc.yml
customer1/toc.yml
- name: Customer 1 home
homepage: index.md
- name: Topic 1
href: ../articles/topic1.md
- name: Topic 2
href: ../articles/topic2.md
customer2/toc.yml
- name: Customer 2 home
homepage: index.md
- name: Topic 1
href: ../articles/topic1.md
- name: Topic 2
href: ../articles/topic2.md
- name: Topic 3
href: ../articles/topic1.md
- name: Topic 4
href: ../articles/topic2.md
docfx.json
{
"build": {
"content": [
{
"files": [
"articles/*.md",
"customer1/**",
"customer2/**"
]
}
],
"dest": "_site"
}
}
输出站点结构
articles
--topic1.html
--topic2.html
--topic3.html
--topic4.html
customer1
--index.html
--toc.html
customer2
--index.html
--toc.html
结果
site/customer1
是客户 1 的自定义登录页面和目录
site/customer2
是客户 2 的自定义登录页面和目录