【问题标题】:TOC not displaying in Blogdown post (Hugo theme Even)目录未显示在 Blogdown 帖子中(Hugo 主题偶数)
【发布时间】:2021-05-06 01:06:14
【问题描述】:

我在我的网站上添加了一个使用blogdown 制作的新帖子。尽管在我的 YAML 中存在 toc: yes,但目录并未显示在呈现的网页上。我也试过添加:

output:
  blogdown::html_page:
    toc: yes

这也不能解决问题。我目前正在使用 Even 主题 (Hugo),并且在 .config 文件中,我也有 toc: yes 存在。

我查看了this post,但找不到他们引用的文件,也找不到那些特定的代码行。我的问题还在于新帖子,而不是主页。

有人知道问题出在哪里吗?

编辑:我可以在我的 index.html 文件(从 index.Rmd 生成)中看到目录代码存在。由于某种原因,它没有在页面上呈现?

【问题讨论】:

  • 如果你能提供一个可重现的例子,其他人会更方便地帮助你。
  • 您好,易慧,感谢您的回复。我找到了一种解决方法。我承认这并不能确定核心问题是什么,但是它确实提供了预期的结果而没有太多问题。

标签: r r-markdown themes hugo blogdown


【解决方案1】:

TL;DR 解决方案:要让目录显示在 Even 主题中,您的帖子必须呈现为 .markdown 格式而不是 .html 格式。为了实现这一点,您只需在创建帖子时使用 .Rmarkdown 文件扩展名而不是 .Rmd。现在,当您使用blogdown::serve_site() 时,您的帖子将使用输出格式 .markdown 而不是 .html。您的帖子现在将呈现精美的目录。

给 Latex 数学模式用户的注意事项:在您的 .Rmarkdown 文档中输入时,您现在必须转义您的 $ 和 \。例如,$\le 0.2$ 必须输入为\$\\le 0.2\$。

我希望这个过于复杂的问题和解决方案对某人有所帮助!


我想出了一个解决方法。

首先,我不确定如何在这种情况下提供可重现的示例,但我可以说,如果您打开一个 RStudio 项目,运行 blogdown::new_site(theme = "olOwOlo/hugo-theme-even"),使用 Addin 下拉菜单添加一个新帖子,添加一些标题在您的帖子中,制作toc:true,使用插件菜单中的服务站点。您会看到您的帖子在各个方面都运行良好 - 只是缺少目录。

解决方法: 我不知道为什么,但是如果我以 .md 格式保留帖子的副本并删除 .html 文档,目录似乎会显示。默认行为似乎使用 .html 文档(如果存在);否则,它将使用 .md 文档。

要保留 .md 格式的帖子副本,请在 .Rmd 文档的 YAML 中使用以下代码:

output:
  blogdown::html_page:
    keep_md: yes

服务该站点,删除 .html 文档(但保留 .md 文档),然后目录就出现在它的所有荣耀中(您可能必须实际编织文件才能获得 .md)。

我不知道为什么会这样...我在其他地方看到过(尽管我似乎无法再次找到该帖子)某些 hugo 主题不能很好地与 .html 文件配合使用,并且更喜欢 .md文件,Even theme 似乎就是这种情况。

总之:我现在的解决方法是处理我的帖子,当我完成后,使用上面的选项编织文档,删除 .html 文件,然后继续。

警告: blogdown 在使用服务站点时似乎会自动重新呈现所有旧帖子。根据this stack answer,Serve Site 应该只呈现发生变化的文档。无论如何,旧帖子肯定会被重新渲染,即使是在处理不相关的帖子时也是如此。我不确定这种行为是否归因于 blogdown 本身或 RStudio 项目。

我尝试转到工具 -> 项目选项 -> 构建工具,然后取消选中“构建时预览站点”框,但行为仍然存在。这意味着每次更改任何其他文件时,我都必须不断删除所有旧帖子的这些新 .html 文件。目前我只有一个帖子,所以没什么大不了的......但是。

如果有人知道此警告的解决方案,我将不胜感激。如果我找到了,我会编辑这个问题并添加它。

编辑:如果不存在 .html 文档,blogdown 似乎会重新呈现旧帖子。否则,它不会重新渲染它。

编辑 2:啊哈!根据question 的回答,只需将博文的文件扩展名从 .Rmd 更改为 .Rmarkdown 即可生成 .markdown 文档,而不是 .html 文档。

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 2020-08-16
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    相关资源
    最近更新 更多