Ghost配置3——添加评论系统

用上Ghost发表第一篇文章之后,忽然意识到一个问题,这货没有评论系统?css

看了下官网的说明,他们把主要精力都放在了博客系统的基础功能上,对于周边功能能够经过引入第三方功能来实现。例如代码的高亮问题,就可使用highlight.js等组件来实现[看这里]html

选择Valine

关于第三方的评论系统,网络上大多以多说为例进行的说明。然而多说做为一个多年来使用率第一的第三方系统,居然已经关闭了评论系统的接入。目前知名的第三方系统大概有:前端

  • 畅言 —— 搜狐出品,目前国内用户量第一
  • 来比力 —— 另外一家国产第三方评论系统
  • Disqus —— Ghost推荐使用的评论系统,常常被墙

根据网络上的反馈,第一想法是使用畅言。毕竟是搜狐出品,品质和功能都是能够保证的。但从服务的可持续性考虑,既然占有率第一的多说都不能经过盈利来维持服务,畅言若是哪一天被中止服务也一点不会让我惊讶。ajax

犹豫间看到了Valine。纯前端,后端数据支持经过LeanCloud来实现。这就打消了我最大的疑虑,并且简洁的风格也很是符合个人审美。后端

Valine的安装

Valine的安装很是简单,全程参考官网便可以实现。网络

须要注意的是,Valine的js代码能够经过代码注入的设置来进行引用,但body端的代码则须要下入到post.hbs模板文件当中才能够。(由于普通的代码注入只能注入到footer,并且是全局全部页面,既不能指定评论组件的位置,也必须在全部页面中都引入评论组件。)app

引入文件

// 编辑 ghost/content/themes/casper/default.hbs
...
    {{# if post}}
        <link rel="stylesheet" type="text/css" href="{{asset "css/valine.css"}}" />
        <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
        <script src='https://cdnjs.cloudflare.com/ajax/libs/valine/1.3.3/Valine.min.js'></script>
    {{/if}}
...

引入代码

// 编辑 ghost/content/themes/casper/post.hbs
// 在<section class='post-full-content'></section>中加入
...
  <section class="post-full-content">
    <div class="post-content">
        {{content}}
    </div>
    // 下面是要加入的内容
    <div id="vcomments"></div>
    <script>
        new Valine({
            el: '#vcomments',
            appId: '<AppId>',
            appKey: '<AppKey>',
            notify:false,
            verify:false,
            avatar:'mm',
            placeholder: '请发表您的高见'
        })
    </script>

</section>
...

修改后保存文件,重启ghost,刷新页面。初次使用,在评论组件的下方位置显示应用初始化中,要等待3分钟。3分钟后,评论系统即可以使用了。工具

Valine的样式修改

valine能够正常使用了,但字体显示却很是的小,小到几乎看不到。打开开发者工具查看,字体都被设定在了0.875rem的大小。post

别的博客系统不知道,可是在Ghost系统上,这样的字体大小几乎没办法看清任何字。能够经过添加CSS样式,来从新调整评论系统的字体大小字体

/* 建立 ghost/content/themes/casper/assets/css/valine.css */ 
.v .vinput {
  font-size: 1.5rem !important;
}

.v .veditor {
  font-size: 1.5rem !important;
}

.v .vbtn {
  font-size: 1.5rem !important;
}

.v .vinfo .col {
  font-size: 1.5rem !important;
}

.v .vinfo .vcount .vnum {
  font-size: 1.5rem !important;
}

.v .power {
  display: none !important;
}

.v .vlist .vcard .vhead .vnick {
  font-size: 1.5rem !important;
}

.v .vlist .vcard .vhead .vsys {
  font-size: 1.2rem !important;
}

.v .vlist .vcard .vh .vtime {
  font-size: 1.2rem !important;
}

.v .vlist .vcard .vh .vat {
  font-size: 1.2rem !important;
}

.v .vlist .vcard .vcontent {
  font-size: 1.5rem !important;
}

重启Ghost后刷新网页,一切搞定!

相关文章
相关标签/搜索