Jas*_*per 3 documentation-generation docfx
我在 DocFX 配置中缺少一些东西 - 所以它不会生成正确的文档。
我有以下文件夹结构:
+Documentation
|- _site
|- api
|- apidoc
|- articles
|- images
|- src <-- This folder is autogenerated by `docfx init` command as a folders above
docfx.json
index.md
toc.md
+packages
|- Microsoft.NETCore.Platforms.1.0.1
|- ... other nuget folders
+src
|- MyRealProject
|- assets
|- bin
|- Commands
|- obj
|- Properties
|- vendor <- This folder should be excluded for documentation
app.config
MyRealProject.csproj
MyRealProject.csproj.user
Program.cs
+test
|-MyRealProjext.XUnit
|- bin
|- obj
|- Properties
app.config
.gitattributes
.gitignore
.gitmodule
MyRealProject.sln
Run Code Online (Sandbox Code Playgroud)
我的 docfx.json:
{
"metadata": [
{
"src": [
{
"files": [
"**/*.csproj"
],
"exclude": [
"**/obj/**",
"**/bin/**",
"_site/**",
"vendor/**"
],
"src": "../src"
}
],
"dest": "api"
}
],
"build": {
"content": [
{
"files": [
"api/**.yml",
"api/index.md"
]
},
{
"files": [
"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": "_site",
"globalMetadataFiles": [],
"fileMetadataFiles": [],
"template": [
"default"
],
"postProcessors": [],
"noLangKeyword": false
}
}
Run Code Online (Sandbox Code Playgroud)
运行命令docfx build会生成没有错误的文档,但在导航到http://locahost:8080打开的目录列表而不是index.htmlfrom_site文件夹时。我的意思是我看到一个只有文件夹列表的网页: api/ apidoc/articles/images/_site/ 等等,即使我进入该_site文件夹并单击index.html- 它也会打开 docfx 生成的页面,但单击“Api 文档” ' 顶部显示文本:TODO: Add .NET projects to the src folder and run docfx to generate REAL API Documentation!
vendor/这是从文件夹内部排除文件夹的正确方法吗src/?我的错。一切正常。
我使用的是从Github下载的代码并在本地编译。问题不在配置文件中(这按预期工作),而是在模板生成中。由于某种原因,来自Github的代码甚至没有“默认”模板。因此,即使在我执行第一步之后:docfx.exe metadata-> 生成元数据,但它从未转换为上下文表(TOC),因为缺少模板引擎。所以运行docfx.exe build+serve显示空站点。“默认”模板有一个单独的Github页面