yilia主题增加友言支持

自从网易云评论停止服务后,一直在寻找一个比较好用的评论服务。一直在用yilia的模板,于是把yilia支持的几个评论服务都试了一下,多说跟网易云就不说了,已经停了服务;畅言需要ICP备案,对于普通博客来说申请ICP太麻烦了;Disqus虽然是老牌评论服务,但服务器在国外,不仅慢,登录也不方便;Gitment是给予GitHub Issues的评论系统,很好用,有动手能力的孩纸们可以尝试一下。

其实还有一款叫做友言的评论系统,后台很好用,管理起来很方便。虽然yilia目前模板并没有支持这款评论系统,但是我们可以通过对yilia模板进行简单修改,增加对友言的支持。

首先我们需要在友言的主页进行注册,注册后点击后台管理可以看到一个用户id。

article.ejs中添加检测配置文件中友言配置信息的检测代码,article.ejs文件在主题文件夹中的 layout/_partial/article.ejs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.....
<% if (!index && post.comments){ %>

// 增加友言
<% if (theme.youyan_uid){ %>
<%- partial('post/youyan', {
youyan_uid: theme.youyan_uid
}) %>
<% } %>

// 下边的是原始代码
<% if (theme.duoshuo){ %>
<%- partial('post/duoshuo', {
key: post.slug,
title: post.title,
url: config.url+url_for(post.path)
}) %>
<% } %>
.....

这段代码的作用是检测主题的配置文件中是否有youyan_uid,如果有的话,就调用post/youyan这个插件并将uid传递给该插件。因此下一步我们需要编写youyan这个插件。首先在 layout/_partial/post文件夹下新建一个名为youyan.ejs的文件,文件内容如下:

1
2
3
4
5
6
7
<!-- UY BEGIN -->
<div id="uyan_frame"></div>
<script type="text/javascript">
var uid = "<%=theme.youyan_uid%>"
document.write('<script type="text/javascript" src="http://v2.uyan.cc/code/uyan.js?uid=' + uid + '"><\/script>')
</script>
<!-- UY END -->

最后我们需要在主题配置文件中添加一句:

1
2
# 你的友言ID
youyan_uid: 1234567

并且将其他评论系统配置项全部设置为false。

更新一下上传到你的服务器上,这样yilia就能显示友言的评论框了。