Geekdocs HUGO 模板与 blogdown 不兼容

问题描述

我正在尝试创建我自己版本的 [Geekdown HUGO 网站][1]。 我正在通过 RStudio 加载项开始一个新项目,并将thegeeklab/hugo-geekdoc作为一个主题。但是,当它全部加载完毕后,为站点提供服务将立即中断,并重复出现以下错误消息:

ERROR 2021/01/13 14:13:02 render of "page" Failed: execute of template Failed: template: _default/single.html:5:7: executing "_default/single.html" at <partial "head" .>: error calling partial: "D:\Stefan\Gradient\Repositories\handbook\themes\hugo-geekdoc\layouts\partials\head.html:18:29": execute of template Failed: template: partials/head.html:18:29: executing "partials/head.html" at <index .Site.Data.assets "main.min.css">: error calling index: index of untyped nil

要重现,这就是所需要的:

blogdown::new_site(theme = 'thegeeklab/hugo-geekdoc')

在使用 blogdown、hugo 等主题之前,我还没有遇到过这样的错误。 [1]:https://themes.gohugo.io/hugo-geekdoc/

解决方法

有两个问题。一份来自主题,一份来自blogdownThe blogdown bug was just fixed。主题的问题在于,Github repo 本身并不是一个完整的 Hugo 主题,还有一些额外的文件需要构建。根据 its documentation,您必须从其 Github 版本下载完整的主题,或自行构建(使用 gulp)。

使用blogdown的开发版,您可以通过

安装
remotes::install_github('rstudio/blogdown')

您可以从其 Github 版本安装此主题(请记住在安装 blogdown 后重新启动 R,然后再尝试以下代码):

blogdown::new_site(theme = 'https://github.com/thegeeklab/hugo-geekdoc/releases/latest/download/hugo-geekdoc.tar.gz')

不过,Github 版本中的主题存在一个小问题。也就是说,它不包含 exampleSite 文件夹。除非你熟悉主题,或者仔细阅读了它的文档,否则我建议你在运行blogdown::serve_site()预览之前将its exampleSite folder的文件和文件夹复制到新网站的根目录中网站。如果没有这一步,该网站可以正常运行,但它只会包含来自 blogdown 的单个示例帖子。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...