Hugo主题LeaveIt优化
感谢作者liuzhichao.com提供的主题LeaveIt,这个主题可以选择不同的首页展示模式,还可以点击网站名称左侧的爱心按钮,切换黑白界面!这个主题已经比较完美,优化工作比较少:
1、加入归档页面遇到一个小问题:h4字体是默认的body字体,设置h4不起作用。解决:因为使用的是scss格式的样式,所以加个&即可,如下:
& h4 {font-size: 1em;font-weight: normal;}
2、【忽略】导航菜单,点击首页后,首页两字字体变粗,但是点击全部文章不变化。搜索首页中的active,找到一些端倪,但实在不想花太多时间研究这么细节了!
3、添加相关内容和最新文章功能,编辑single.html,添加以下内容:
<hr style=" margin: 10px 0;">
<h3>相关内容</h3>
{{ $.Scratch.Set "limit" 0 }}
{{ $currentPagePermalink := .Permalink }}
{{ $tags := .Params.tags }}
{{ range .Site.Pages }}
{{ $isMatchTags := intersect $tags .Params.tags | len | lt 0 }}
{{ if and $isMatchTags (ne .Permalink $currentPagePermalink) (lt ($.Scratch.Get "limit") 10) }}
<li><a href="{{ .Permalink }}">{{ .Title }}</a></li>
{{ $.Scratch.Add "limit" 1 }}
{{ end }}{{ end }}
<h3>最新文章</h3>
{{- $recent := where .Site.RegularPages "Section" "in" (.Site.Params.postSections | default (slice "post")) }}
{{- $recent_num := (.Site.Params.widgets.recent_num | default 5) }}
{{- if $recent }}
{{- range first $recent_num $recent }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{- end }}{{- end }}
注意:如果 hr 分割线效果不行,可以参考上文添加样式!
4、升级hugo后遇到的问题
2020年11月19日,升级hugo到0.78.2后首页不展示文章列表,只有一个posts的链接,点击后才是文章列表。我把post内的md文件放到content文件夹内首页正常,但是页面的相关内容和标签等功能失效。我重新把文件放到post文件夹中,相关内容等功能正常,但是首页还是不正常。解决过程:使用hugo server预览,提示错误:
WARN 2020/11/19 16:59:04 Page.RSSLink is deprecated and will be removed in a future release. Use the Output Format's link, e.g. something like:
{{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}
WARN 2020/11/19 16:59:04 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
经过搜索发现新版的hugo有几处变化,其中之一是.Page 发生变化,将 .Page 替换为 .Site.RegularPages 即可,但是具体怎么替换,网上并没有说,只给了一个参考文档:gohugo.io/variables/page/#pages-compared-to-sitepages
我搜索:.Page,找到leaveIt\layouts\partials文件夹内的home_post.html,修改其中的一段:
range (.Paginate .Page).Pages修改为:range (.Paginate .Site.RegularPages).Pages
然后就一切正常,但是网站文件还是必须放在post文件夹内!
另外一个问题:打开全部内容页面,发现和之前的首页一样,只展示一个posts的链接,解决方法和之前一样,打开leaveIt\layouts\archives内的single.html,修改内容:
{{ range (.Page.GroupByDate “2006”) }}修改为:{{ range (.Site.RegularPages.GroupByDate “2006”) }}
注意:升级hugo要下载带extended的那个版本。