0

我正在寻找一种解决方案,在该解决方案中,我可以在构建期间根据一些参数更改生成的 docfx 构建输出。我已经看到docfx.json 中有一个过滤器属性,我可以在其中过滤掉一些api 的东西。但我想更改从 toc.yml 文件生成的网站的结构/内容。

我想要这个功能的原因是我为我们拥有的每个客户生成特定的文档。根据客户在我们产品上注册的功能,必须显示静态文档的某些页面,而某些页面不应该可供该客户使用。

4

1 回答 1

0

这可能是一个开始:

文件结构

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 的自定义登录页面和目录

于 2021-07-16T19:51:46.473 回答