Относительный путь DocFX к папке 'src'

В конфигурации 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/ articles/ images/ _site/ etc.. и даже если я вхожу в _site папку и нажмите на index.html - он открывает страницу, сгенерированную в docfx, но при нажатии на "документацию Api" вверху отображается текст: TODO: Add .NET projects to the src folder and run docfx to generate REAL API Documentation!

  • Что мне следует перенастроить в docfx.json, чтобы он правильно читал папку / src, а не папку /Documentation/src?
  • Это правильный способ исключить vendor/ папка изнутри src/ папка?

1 ответ

Виноват. Все работает как обычно.

Я использовал код, загруженный с Github и скомпилированный локально. Проблема была не в файле конфигурации (это работает как положено), а в генерации шаблона. По какой-то причине код из Github поставляется без шаблона "по умолчанию". Так что даже после того, как я выполню первый шаг: docfx.exe metadata -> метаданные сгенерированы, но они никогда не преобразуются в таблицу контекста (TOC), потому что механизм шаблонов отсутствует. Так работает docfx.exe build + serve показать пустой сайт. Есть отдельная страница Github для шаблона по умолчанию

Другие вопросы по тегам