Относительный путь 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 для шаблона по умолчанию