Valine,是一款基于LeanCloud的快速、简洁且高效的无后端评论系统,经多方对比选择使用Valine作为博客的评论系统。
获取LeanCloud APP ID 和 APP Key
首先需要注册一个 LeanCloud 账号,然后进入控制台,点击左下角创建应用。
随便起个名字,选择开发版,然后创建就可以了。创建完成之后,进入刚刚创建的应用,选择设置->应用凭证,然后你就能找到 APP ID 和 APP Key 了。
主题 _config.yml 文件内增加配置
在主题目录下的 _config.yml 的文件中添加 valine 配置:
- valine:
- appid: aaaaaaaaa #Leancloud应用的appId
- appkey: bbbbbbbb #Leancloud应用的appKey
- verify: true #验证码
- notify: true #评论回复提醒
- placeholder: 到这里留言吧 #评论框占位符
- visitor: true #阅读量统计
- pageSize: '10'
- avatar: 'robohash' #评论列表头像样式:https://valine.js.org/avatar
- lang: 'zh-cn'
其中Valine 会自动检测
leancloud 应用中是否存在Counter
类,如果不存在会自动创建
,无需手动创建~
添加 valine.ejs 文件
然后添加 valine.ejs 文件,我放到了 layout/_plugins/ 文件夹下,文件的内容:
- <div class="valine_comment"></div>
- <!--载入js,在</body>之前插入即可-->
- <!--Leancloud 操作库:-->
- <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
- <!--Valine 的核心代码库-->
- <script src="//unpkg.com/valine/dist/Valine.min.js"></script>
- <script>
- new Valine({
- el: '.valine_comment',
- app_id: '<%= theme.valine.appid %>',
- app_key: '<%= theme.valine.appkey %>',
- placeholder: '<%= theme.valine.placeholder %>',
- notify: '<%= theme.valine.notify %>',
- verify: '<%= theme.valine.verify %>',
- avatar: '<%= theme.valine.avatar %>',
- visitor: '<%= theme.valine.visitor %>'
- });
- </script>
添加评论调用代码
在你的文章的 ejs 文件中添加评论的代码,我使用的这个主题是在 layout/_page/post.ejs 文件中添加如下代码,配色在Chic主题下昼夜模式下兼容性效果都不错:
- <% if (theme.valine && theme.valine.appid && theme.valine.appkey){ %>
- <section style="font-size: 20px;font-weight: 700;margin-bottom: 10px;margin-top: 20px;">
- <i class="fa fa-comments fa-fw" aria-hidden="true"></i>
- <span>评论</span>
- </section>
- <section id="comments" class="comments">
- <style>
- .comments{ margin-top: 30px;}
- .v .vlist .vcard .vcontent {padding-top: 0;}
- .vcontent p { color:grey; margin-bottom: 10px;}
- .v * {line-height: normal;}
- .v .vwrap {border-radius: 0px; padding: 10px;}
- .v .vbtn {border-radius: 0px;}
- .v code, .v pre {border-radius: 0px;}
- .v .vlist .vcard .vhead .vsys {border-radius: 1px; padding: 2px;}
- .v .vlist .vcard .vhead .vnick {color: #2d96bd;}
- .v .vlist .vcard .vh .vmeta .vat{color: #c7254e;}
- .v .vlist .vcard {padding-top: 0;}
- .v .vlist .vcard .vimg { width: 2.5em; height: 2.5em; }
- .v .vlist .vcard .vquote .vimg { width: 2.5em; height: 2.5em; }
- </style>
- <%- partial('_plugins/valine', {
- key: post.slug,
- title: post.title,
- url: config.url+url_for(post.path)
- }) %>
- </section>
- <% } %>
添加日志浏览数调用代码
在你的文章的 post.ejs 文件中添加浏览量显示的的代码
- <% if (theme.valine && theme.valine.appid && theme.valine.appkey){ %>
- <span id="<%- url_for(post.path) %>" class="leancloud-visitors view" data-flag-title="<%= post.title %>">
- <text class="post-meta-item-text">
- 阅读数:
- <i class="iconfont icon-view"></i>
- </text>
- </span>
- <% } %>
重新部署然后查看
然后就可以找到评论框和阅读量的显示了