Hugo+Loveit优化记
此文中的LoveIt版本是v0.2.10。
1 本地调试时加载评论系统
使用hugo server
,会得到终端的提示:
Current environment is "development". The "comment system", "CDN" and "fingerprint" will be disabled.
当前运行环境是 "development". "评论系统", "CDN" 和 "fingerprint" 不会启用.
hugo server -e production
命令即可运行生产环境进行调试, 就能加载评论系统了。2 Console报错找不到site.webmanifest
到Favicon Generator处理自己的网站图标, 最后会下载一个压缩包, 包括生成的图标和browserconfig.xml
、site.webmanifest
等文件, 将这些文件放到blog\themes\LoveIt\static
中即可。
blog\themes\LoveIt\static
这个目录里的文件, 最后会出现在网站根目录中。3 LoveIt扩展Shortcodes
更多扩展Shortcodes的应用方法请查看LoveIt主题作者写的使用说明。
3.1 admonition
admonition比较常用, 有12个样式, 但是主题作者并没说明每种样式对应的type
是什么。我从源码中找到了它们的对应关系, 在此记录一下。
3.1.1 用法
{{< admonition type=tip title="This is a tip" open=true >}}
一个"技巧"横幅
{{< /admonition >}}
或者
{{< admonition tip "This is a tip" true >}}
一个"技巧"横幅
{{< /admonition >}}
3.1.2 示例
4 keywords不生效
参考Hugo系列(4) - 从Hexo迁移至Hugo以及使用LoveIt主题的踩坑记录。
在站点配置文件config.toml
中填好网站关键词:
# 网站关键词
keywords = "keyword1,keyword2"
虽然已经设置了keywords
, 但是F12查看网站源码后发现缺少keywords
这个meta
标签, 而且在站长工具里查询站点时发现页面TDK信息里的关键词KeyWords
为空。
4.1 解决方法
将blog\themes\LoveIt\layouts\partials\head\meta.html
复制到blog\layouts\partials\head\meta.html
, 打开该文件并在
<meta name="Description" content="{{ $params.description | default .Site.Params.description }}">
的上方添加如下代码:
<meta name="keywords" content="{{ $params.keywords | default .Site.Params.keywords }}">
- 上面两篇文章中的许多地方对于LoveIt_v0.2.10是不必要的。
- 大部分搜索引擎和网站都放弃使用meta keyword了, 参考Pull request, 所以这keywords不设置也罢。
5 换用twikoo评论系统
LoveIt主题没有适配适配twikoo评论系统, 所以需要手动设置一下。
5.1 解决方法
可以修改评论系统模板文件blog\themes\LoveIt\layouts\partials\comment.html
来手动添加对twikoo的支持, 在<div id="comments"></div>
中添加以下代码:
{{- /* twikoo Comment System */ -}}
{{- $twikoo := $comment.twikoo}}
{{- if $twikoo.enable -}}
<div id="tcomment"></div>
<script src="https://cdn.jsdelivr.net/[email protected]/dist/twikoo.all.min.js"></script>
<script>
twikoo.init({
envId: '',
// 此处填写您的环境id
el: '#tcomment',
// region: 'ap-guangzhou', // 环境地域, 默认为 ap-shanghai, 如果您的环境地域不是上海, 需传此参数
// path: 'window.location.pathname', // 用于区分不同文章的自定义 js 路径, 如果您的文章路径不是 location.pathname, 需传此参数
})
</script>
{{- end }}
然后在博客配置文件blog\config.toml
中的
# 评论系统设置
[params.page.comment]
enable = true
下面添加
# twikoo评论系统
[params.page.comment.twikoo]
enable = true
5.2 自定义邮件通知模板
5.2.1 博主通知邮件模板
适用场景:
- 当博客上有新的评论时 (博主自己发表的评论除外), 系统发送邮件通知博主。
- 当博主发表的评论收到回复时, 系统发送邮件通知博主。
5.2.1.1 效果图
5.2.1.2 代码
<div style="padding:10px;margin:30px auto">
<div
style="border-radius:10px;font-size:15px;color:#000;font-family:'Century Gothic','Trebuchet MS','Hiragino Sans GB','微软雅黑','Microsoft Yahei',Tahoma,Helvetica,Arial,SimSun,sans-serif;border:1px solid #eee;box-shadow:0 1px 5px #cbc5b5">
<div
style="border-radius:10px 10px 0 0;background:linear-gradient(90deg,rgba(67,198,184,.5),rgba(255,209,244,.5))">
<div style="border-radius:10px 10px 0 0;font-size:17px;color:#fff;word-break:break-all;padding:23px 32px">您在
<a href="${POST_URL}" style="text-decoration:none;color:#12addb"
;target="_blank"><strong>${SITE_NAME}</strong></a> 发表的文章有新评论</div>
</div>
<div style="margin:40px auto;width:90%">
<div><strong>${NICK}</strong>的评论如下: </div>
<div
style="border-radius:5px;background-color:#fafafa;background-image:repeating-linear-gradient(-45deg,#fff,#fff 15px,transparent 15px,transparent 30px);box-shadow:0 2px 5px #cbc5b5;margin:20px 0;padding:15px">
${COMMENT}</div>
<div>您可以查看<a style="text-decoration:none;color:#12addb" href="${POST_URL}" target="_blank">回复的完整內容</a>,
欢迎再次光临<a style="text-decoration:none;color:#12addb" href="${SITE_URL}" target="_blank">${SITE_NAME}</a>。
</div><br><br>
<div style="font-size:13px;color:#909090">请注意: 此邮件由 <a style="text-decoration:none;color:#12addb"
href="${SITE_URL}" target="_blank">${SITE_NAME}</a> 自动发送, 请勿直接回复。</div>
</div>
</div>
</div>
如果将上面的代码压缩后, 再粘贴到twikoo
管理面板中, 系统就不能发送邮件了, 不知道是哪里出了问题。
建议直接复制上面的代码粘贴使用。
5.2.2 普通通知邮件模板
适用场景:
- 当访问者发表的评论收到回复时, 系统发送邮件通知被回复的访问者。
5.2.2.1 效果图
5.2.2.2 代码
<div style="padding:10px;margin:30px auto">
<div
style="border-radius:10px;font-size:15px;color:#000;font-family:'Century Gothic','Trebuchet MS','Hiragino Sans GB','微软雅黑','Microsoft Yahei',Tahoma,Helvetica,Arial,SimSun,sans-serif;border:1px solid #eee;box-shadow:0 1px 5px #cbc5b5">
<div
style="border-radius:10px 10px 0 0;background:linear-gradient(90deg,rgba(67,198,184,.5),rgba(255,209,244,.5))">
<div style="border-radius:10px 10px 0 0;font-size:17px;color:#fff;word-break:break-all;padding:23px 32px">
您在
<a href="${POST_URL}" style="text-decoration:none;color:#12addb"
;target="_blank"><strong>${SITE_NAME}</strong></a> 的评论收到新的回复
</div>
</div>
<div style="margin:40px auto;width:90%">
<div><strong>${PARENT_NICK}</strong>, 您曾发表评论:</div>
<div
style="border-radius:5px;background-color:#fafafa;background-image:repeating-linear-gradient(-45deg,#fff,#fff 15px,transparent 15px,transparent 30px);box-shadow:0 2px 5px #cbc5b5;margin:20px 0;padding:15px">
${PARENT_COMMENT}</div>
<div><strong>${NICK}</strong>的回复如下: </div>
<div
style="border-radius:5px;background-color:#fafafa;background-image:repeating-linear-gradient(-45deg,#fff,#fff 15px,transparent 15px,transparent 30px);box-shadow:0 2px 5px #cbc5b5;margin:20px 0;padding:15px">
${COMMENT}</div>
<div>您可以查看<a style="text-decoration:none;color:#12addb" href="${POST_URL}" target="_blank">回复的完整內容</a>,
欢迎再次光临<a style="text-decoration:none;color:#12addb" href="${SITE_URL}" target="_blank">${SITE_NAME}</a>。
</div><br><br>
<div style="font-size:13px;color:#909090">请注意: 此邮件由 <a style="text-decoration:none;color:#12addb"
href="${SITE_URL}" target="_blank">${SITE_NAME}</a> 自动发送, 请勿直接回复。</div>
</div>
</div>
</div>
如果将上面的代码压缩后, 再粘贴到twikoo
管理面板中, 系统就不能发送邮件了, 不知道是哪里出了问题。
建议直接复制上面的代码粘贴使用。