DocFX相对于' src'夹

时间:2017-04-24 13:18:27

标签: 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

我的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
  }
}

运行命令docfx build生成没有错误的文档,但导航到http://locahost:8080打开目录列表而不是index.html _site文件夹。我的意思是我看到一个只有文件夹列表的网页:     API /     apidoc /     文章/     图片/     _现场/     等等.. 甚至如果我进入_site文件夹并点击index.html - 它会打开docfx生成的页面,但点击“Api文档”#39;在顶部显示文字:TODO: Add .NET projects to the src folder and run docfx to generate REAL API Documentation!

  • 我应该在docfx.json中重新配置什么才能正确读取/ src文件夹而不是/ Documentation / src文件夹?
  • 这是从vendor/文件夹中排除src/文件夹的正确方法吗?

1 个答案:

答案 0 :(得分:4)

我的错误。一切正常。

我正在使用Github的代码下载并在本地编译。问题不在配置文件中(这按预期工作),而是在模板生成中。出于某种原因,来自Github的代码甚至没有默认&#39;模板。所以即使在我执行第一步之后:docfx.exe metadata - &gt;生成的元数据但它从未转换为上下文表(TOC),因为缺少模板引擎。因此,运行docfx.exe build + serve会显示空站点。这是一个单独的Github页面,用于&#39;默认&#39;模板