Docfx 3.0.0 如何获取 Index.html 上的目录

Docfx 3.0.0 How to get the TOC on the Index.html

此题与相同。但是 OP 回答了他自己的问题,但对我没有帮助。

我正在尝试创建类似于 Docfx 站点的文档:

但是,当我构建项目时,我得到如下所示的 index.html:

我的配置是这样的:

我的文件夹配置是:

+MyApp.sln
 |-MyApp
   MyApp.csproj
   docfx.json
   toc.yml
   index.md
 |-_site
 |- api
   index.md
   toc.yml
 |-articles
   intro.md
   toc.md

我可以看到所有文件都在生成,但是 TOC 没有放到 index.html 上。 Docfx tutorial 不是很有用,因为它还没有升级到最新版本。比如docfx init没有运行,我就得用docfx new conceptual。我试过:

在我尝试做的所有事情中,我可能在一个地方升级了我的 docfx 版本,但在 Visual Studio 中没有,因为当 运行ning docfx serve 我得到以下内容根目录小路: 但我不确定如何还原或是否需要还原。

我肯定处于锁定的安全环境中,我怀疑这与它有关。有谁知道我可以如何更改哪些文件(如果有的话)以使 TOC 与 index.html 位于同一页面上?如果需要的话,我不介意手写这个,如果我只需要在配置文件中做一次的话。

我能做到这一点的唯一方法:

将articles/toc.md改为articles/toc.yml:

 - name: Home
   href: ../index.md (or wherever index.md relative to articles/ is)
 - name: Intro
   href: intro.md

将此添加到 docfx.json > 构建 > 内容 > 文件(包含文章的那个):

"**/*.yml",

从 toc.yml 中取出对 home 的引用(在根目录):

- name: Articles
  href: articles/
- name: API
  href: api/

我不是很清楚你的文件结构,但就是这个意思。

对我来说,有效的方法是更改​​根 toc.yml。具有类似 /index.md 文件名的 href 不起作用,但它可以用于文件夹。

错误: 根 toc.yml

- name: Articles
  href: articles/index.md
- name: API
  href: api/index.md

好: 根 toc.yml

- name: Articles
  href: articles/
- name: API
  href: api/
  topicHref: api/some.md

终于找到问题了。对我来说,问题是文件夹配置。我必须将我的 docfx.jsontoc.ymlindex.md 移动到我的 .sln 文件所在的顶层,因为它正在访问多个 .csproj 文件。我没有意识到顶级 toc.yml 只能访问其当前位置下的文件夹。

此外,顶级 toc.yml 只会在页面顶部创建菜单项。较低级别的目录文件将在页面左侧创建目录。

深入研究教程才弄明白这一点。