Hugo中加入Valine评论功能
Hugo搭建的博客网站如何引入Valine的第三方评论插件。
使用Valine的第三方评论插件功能,需要开通LeanCloud账号,并进行配置。可以参考https://valine.js.org/quickstart.html。
比较容易有问题的是在哪里插入Valine的HTML代码。在Hugo中如果使用了Theme主题,一般会有这样一个文件
/themes/(你的theme名)/layouts/partials/comments.html
在comments.html中增加以下代码
{{- if .Site.Params.valine.enable }}
<span id="{{ .URL | relURL }}" class="leancloud_visitors" data-flag-title="{{ .Title }}">
<p></p>
</span>
<div id="vcomments"></div>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src='//unpkg.com/valine/dist/Valine.min.js'></script>
<script type="text/javascript">
new Valine({
el: '#vcomments' ,
appId: '{{ .Site.Params.valine.appId }}',
appKey: '{{ .Site.Params.valine.appKey }}',
notify: {{ .Site.Params.valine.notify }},
verify: {{ .Site.Params.valine.verify }},
avatar:'{{ .Site.Params.valine.avatar }}',
placeholder: '{{ .Site.Params.valine.placeholder }}',
visitor: {{ .Site.Params.valine.visitor }}
});
</script>
{{- end }}
因为使用了Site的配置,所以将Valine相关的配置在hugo的config.toml中增加。
[Params.valine]
enable = true
appId = '在LeanCloud账号中找到对应appid'
appKey = '在leanCloud账号中找到对应的appKey'
notify = false
verify = false
avatar = 'mm'
placeholder = '说点什么吧...'
visitor = true
这样hugo就可以有评论功能了。
但有些人遇到问题,会尝试在LeanCloud账号的存储中自己新建Class,比如新建Comment。其实不需要,增加的js代码会自动调用API新建Comment Class,不用手动创建。