1

这个问题和这个问题一样。但是OP回答了他自己的问题,但对我没有帮助。

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

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

我的配置是这样的:

  • 在 Visual Studio 2017 中为项目安装了 docfx.console 作为 nuget 包。
  • docfx 的版本是 2.58.0。
  • 我正在 Visual Studio 中构建项目,它会生成 docfx 输出。

我的文件夹配置是:

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

我可以看到所有文件都在生成,但是目录没有放到 index.html 中。Docfx教程不是很有帮助,因为它还没有升级到最新版本。例如,docfx init不运行,我必须使用docfx new conceptual. 我努力了:

  • docfx new conceptual从与 docfx.json 相同的目录中的命令提示符运行
  • docfx build从与 docfx.json 相同的目录中的命令提示符运行
  • docfx serve _site --port 8182从同一目录运行。但是,完成此操作后,我的浏览器会告诉我检查代理设置。

在我尝试做的所有事情中,我可能已经在一个地方升级了我的 docfx 版本,但不是在 Visual Studio 中,因为运行时docfx serve我得到以下内容根路径: 内容根路径 但我不确定如何恢复或是否需要。

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

4

3 回答 3

1

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

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

花了一些时间研究教程来解决这个问题。

于 2021-12-06T18:53:51.490 回答
0

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

将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 > build > content > files(包括文章的那个):

"**/*.yml",

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

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

我对您的文件结构并不完全清楚,但这就是想法。

于 2021-09-01T01:10:52.017 回答
0

对我来说,有效的是对根 toc.yml 的更改。文件名如 /index.md 的 href 不起作用,但对文件夹起作用。

错误:root toc.yml

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

好:root toc.yml

- name: Articles
  href: articles/
- name: API
  href: api/
  topicHref: api/some.md
于 2021-09-23T14:52:36.040 回答