Hugo升级方法和遇到的问题
2020-02-18更新:去年七月我开始使用Hugo,版本是0.55.6,现在升级到0.64.1出现问题如下:
$ hugo server
Building sites … ERROR 2020/02/17 16:51:06 Transformation failed: TOCSS: failed to transform “styles/main-rendered.scss” (text/x-scss): this feature is not available in your current Hugo version, see https://goo.gl/YMrWcn 1 for more information
Built in 289 ms
Error: Error building site: logged 1 error(s)
原因是:The error most likely means you haven’t got the extended version of Hugo installed.
解决方法:
Hugo在win10平台有两个版本,一个是在下载列表靠前位置的:hugo_0.64.1_Windows-64bit.zip
一个是靠后的扩展版本:hugo_extended_0.64.1_Windows-64bit.zip
升级应该使用hugo扩展版本。
hugo升级方法:下载正确的新版本替换原来的hugo.exe文件即可。
升级hugo0.64.1后遇到的问题
1、主题nuo的首页不能正常显示,首页只有一个post.html链接,点击后才能进入首页。经过搜索找到nuo主题的讨论,解决方法如下:
编辑layouts/index.html 文件,找到如下这行代码:
{{ $paginator := .Paginate (where .Data.Pages "Type" "post") (index .Site.Params "paginate" | default 10) }}
修改成这行:
{{- $paginator := .Paginate (where site.RegularPages "Type" "in" site.Params.mainSections) -}}
其他主题,比如jane也遇到相同问题,按照这个方法修改即可。
ivy主题特别简洁,在layouts内没有index.html文件,修改的方法不同。通过变换关键词搜索,最终搜素Data.Pages,找到list.html文件,并替换如下:
<ul>{{ $paginator := .Paginate .Data.Pages }}{{ range $paginator.Pages }}替换成:
<ul>{{- $paginator := .Paginate (where site.RegularPages "Type" "in" site.Params.mainSections) -}}恢复正常
2、预览主题ivy出现错误提示If what you want is the front matter URL value, use .Params.url
Page.URL is deprecated and will be removed in a future release. Use .Permalink or .RelPermalink. If what you want is the front matter URL value, use .Params.url
搜索发现解决建议:if you used {{ .URL }} in range, change it to {{ .Permalink }}
用notepad搜索关键词URL,在ivy主题找到list.html的内容,修改后恢复正常:
<a href="{{ .URL }}">{{ .Title }}</a></li> 修改成:
<a href="{{ .Permalink }}">{{ .Title }}</a></li>
3、引用的图片不显示,被raw HTML omitted替代。搜索发现这是新版本的安全机制,在配置文件中加入以下内容即可:
[markup.goldmark.renderer]
unsafe= true