参照其他的优秀方案对even主题进行部分自定义修改。

修改主题配色

even主题的样式文件位于${Hugo-Site}/themes/even/assets/sass/_variables.scss

修改其中的whiteglobal-font-color结果如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
...
// ========== Color ========== //
$black: #002a35 !default;
$white: #fdf6e3 !default;
$light-gray: #e6e6e6 !default;
$gray: #cacaca !default;
$dark-gray: #8a8a8a !default;


// ========== Global ========== //
// Text color of the body.
$global-font-color: #657b83 !default;
...

添加搜索菜单

lryongissues#289中提到添加搜索功能的方案hugo-search-fuse-js.

  1. 下载hugo-search-fuse-jstheme目录
  2. 添加"hugo-search-fuse-js"至config.toml
  3. 新建一个content/search.md文件,用于配置search页面

上述步骤参照官方的说明文档进行即可。

由于站点的layouts目录优先级高于主题的layouts目录。因此,我们可以将自定义的内容放置于站点的layouts目录,而不用修改主题的内容,避免主题升级时出现问题。

${Hugo-sites}\themes\even\layouts\_default\baseof.html拷至${Hugo-sites}\layouts\_default目录中。然后在合适的位置插入mainfooterblock. 修改后的baseof.html如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
...
    <main id="main" class="main">
      <div class="content-wrapper">
        <div id="content" class="content">
            {{ block "main" . }}{{ end }}
			{{ block "content" . }}{{ end }}
        </div>
        {{ partial "comments.html" . }}
      </div>
    </main>

    {{ if not .Params.hideHeaderAndFooter -}}
    <footer id="footer" class="footer">
      {{ partial "footer.html" . }}
      {{ block "footer" . }}{{ end }}
    </footer>
    {{- end }}
...

在站点的配置文件config.toml中添加Search菜单

1
2
3
4
5
[[menu.main]]
  name = "搜索"
  weight = 50
  identifier = "search"
  url = "/search/"

添加评论区

even主题现已加入utterances支持,参照文档,其已经设定为GitHub App安装非常方便,步骤如下:

  1. 在GitHub中新建一个repo (sr-c/blog-comment)用于存放评论
  2. 在GitHub中一键安装utterances app
  3. 在设置页面选择 repo: sr-c/blog-comment
  4. 在站点config.toml中的[params.utterances]字段中填入owner = "sr-c"repo = "blog-comment"

查看themes/even/layouts/paritals/comments.html, 可以看到其中已经集成了utterances的script字段,无需再做修改。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  <!-- utterances -->
  {{- if .Site.Params.utterances.owner}}
    <script src="https://utteranc.es/client.js"
            repo="{{ .Site.Params.utterances.owner }}/{{ .Site.Params.utterances.repo }}"
            issue-term="pathname"
            theme="github-light"
            crossorigin="anonymous"
            async>
    </script>
    <noscript>Please enable JavaScript to view the <a href="https://github.com/utterance">comments powered by utterances.</a></noscript>
  {{- end }}

添加RSS订阅

参考官方文档,添加/layouts/rss.xml文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}</title>
    <link>{{ .Permalink }}</link>
    <description>Recent content {{ with .Title }}in {{.}} {{ end }}on {{ .Site.Title }}</description>
    <generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
    <language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
    <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
    <webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
    <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
    <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
    <atom:link href="{{.URL}}" rel="self" type="application/rss+xml" />
    {{ range first 15 .Data.Pages }}
    <item>
      <title>{{ .Title }}</title>
      <link>{{ .Permalink }}</link>
      <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
      {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
      <guid>{{ .Permalink }}</guid>
      <description>{{ .Content | html }}</description>
    </item>
    {{ end }}
  </channel>
</rss>

参考来源

http://www.herbert.top:18080/2020/07/09/how_change_hugo_even_font/

https://github.com/olOwOlo/hugo-theme-even/issues/289#issuecomment-657229431

https://www.dazhuanlan.com/2019/12/05/5de8934e6f081/