我也遇到了同样的问题,通过写模板解决了。它唯一做的就是覆盖preTransform
你需要在一个名为toc.extension.js
. 在那里我去掉了长命名空间前缀。因为我有一个多层目录,所以我递归地这样做。您很可能可以将其硬编码为您需要的级别。我的代码如下所示:
exports.preTransform = function (model) {
// replace recursively the root namespace by ""
transformItem(model, 1);
return model;
function transformItem(item, level) {
if (item.name) {
item.name = item.name.replace("Some.Very.Long.Namespace.Prefix.", '');
} else {
item.name = null;
}
if (item.items && item.items.length > 0) {
var length = item.items.length;
for (var i = 0; i < length; i++) {
transformItem(item.items[i], level + 1);
};
}
}
}
docfx.json
之后,除了会调用钩子的默认模板之外,我只需指定自己的模板。其工作原理如下:
"build": {
"template": [
"default",
"/path/to/your/template/folder"
]
}
参考:Docfx:如何创建自定义模板