首页 > 解决方案 > 将生成的 TOC.yml 替换为自定义 TOC.yml

问题描述

我正在使用 docfx 为我的 .Net 项目生成 API 文档。我需要向不同类型的客户展示不同风格的内容。生成元数据时,也会生成 TOC.YML,这很好。但是,在生成 html 文件时,此 TOC 用于在每个 HTML 页面的侧面创建导航栏。问题是对于某些观众,完整的侧边栏不应该可用,而应该只显示自定义 toc.yml 提供的导航。我可以在自定义文件夹中创建一个新的自定义 TOC 并导航到页面,但是当加载 html 页面时(当然)会显示完整生成的 TOC.yml 的导航栏。

阅读文档。创建了自己的 TOC 文件(正在工作),但我没有找到使用自定义 TOC.yml 生成的 iso 的选项。试图排除docfx.json中的toc.yml。

{
    "metadata": [
        {
          "src": [
            {
              "files": [
                  "LIB/myassembly.dll"                  
                ],
            "include": [""],
            "exclude": [
              "**/toc.yml"
            ],
            "cwd": "../output/Debug/"
            },
            {
                "files": [
                    "**.cs"
                ],
                "exclude": [
                ],
                "cwd": "../../../TestScripting/Scripts"
            }
        ],
        "dest": "api",    
        "force": true
        }
    ],
    "build": {
        "content": [{
                "files": [
                    "api/**.yml"
                    ]
            },
            {
                "files": [
                    "scripting/index.md",
                    "scripting/toc.yml",
                    "articles/**.md",
                    "articles/**/toc.yml",
                    "toc.yml",
                    "*.md"
                ],
                "exclude": [
                    "obj/**",
                    "_site/**"
                ]
            }
        ],
        "resource": [{
            "files": [
                "images/**"
            ],
            "exclude": [
                "obj/**",
                "_site/**"
            ]
        }],
        "overwrite": [{
            "files": [
                "apidoc/**.md"
            ],
            "exclude": [
                "obj/**",
                "_site/**"
            ]
        }],
        "dest": "../Doc",
        "globalMetadataFiles": [],
        "fileMetadataFiles": [],
        "template": [
            "default","darkfx/darkfx"
        ],
        "postProcessors": [],
        "noLangKeyword": false,
        "keepFileLink": false,
        "cleanupCacheHistory": false
    }
}

预期的结果是:每个生成的html文件显示的导航栏都应该基于自定义的toc.yml。

标签: yamlnavigationbartableofcontentsdocfx

解决方案


推荐阅读