杂货铺

杂货铺中囤杂货

👉 所有文章
技术 理解 HTML 中的 pre 标签 使用 prismjs 代码高亮库 理解 sitemap.xml 解决 Intellij IDEA 右下角不显示 git 分支的问题 并发与并行的区别 ASCII码对照表 理解字符编码、Unicode、UTF-8、UTF-16 认证与鉴权的区别
工具 DBeaver: 跨平台的数据库管理工具 Snipaste: 一个非常好用的截图、贴图工具 常见的网页版流程图、UML建模工具 实用 Chrome 谷歌浏览器插件 低多边形图片生成工具 一些好用的 Markdown 编辑器 Windows 下好用的软件 使用 Genymotion 模拟 Android 环境 实用工具整理 实用网站整理 calibre - 电子书管理软件
其他 试用Atom编辑器 解决谷歌索引404网页的问题 解决论文编译后没有参考文献 思维导图,认清自己,制定目标 想法若干——关于地图 man2:一个快速查找命令使用示例的工具 浅入浅出CouchDB:CouchDB安装 浅入浅出CouchDB:使用curl管理CouchDB 如何修改自己在github中的项目 对c++指向数组指针的一些理解 升级wordpress出现错误:Request exceeded the limit of 10 internal redirects The spirit of softwares 方法链 一些不错的网站 苹果的swift 如何现代化院系的网站 事前、事中、事后 关于选择的一些思考 重要紧急矩阵 二八定律 真相 如何在电脑上使用微信读书 ? 如何关闭微信读书的「看一看」? 从零开始Docker化Ghost博客系统 ghost博客添加多说评论 以生产模式运行Ghost博客系统 Ghost博客主题制作简明教程 将Ghost打造成一个本地APP 重置Ghost博客中的用户密码 在Ubuntu中安装Ghost博客系统 为Ghost博客添加标签云
已迁移 【已迁移】故事: 2020 【已迁移】故事: 2019-nCoV 肺炎

ghost博客添加多说评论


2014-10-19

最近将博客迁移到了ghost上,使用的是Ghostium Theme。(现在没有用这个主题,2015-06)

首先在多说上获取通用代码:

<!-- 多说评论框 start -->
    <div class="ds-thread" data-thread-key="请将此处替换成文章在你的站点中的ID" data-title="请替换成文章的标题" data-url="请替换成文章的网址"></div>
<!-- 多说评论框 end -->
<!-- 多说公共JS代码 start (一个网页只需插入一次) -->
<script type="text/javascript">
var duoshuoQuery = {short_name:"letianbiji"};
    (function() {
        var ds = document.createElement('script');
        ds.type = 'text/javascript';ds.async = true;
        ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
        ds.charset = 'UTF-8';
        (document.getElementsByTagName('head')[0] 
         || document.getElementsByTagName('body')[0]).appendChild(ds);
    })();
    </script>
<!-- 多说公共JS代码 end -->

将上面代码中的:

<div class="ds-thread" data-thread-key="请将此处替换成文章在你的站点中的ID" data-title="请替换成文章的标题" data-url="请替换成文章的网址"></div>

修改成:

{{#post}}
<div class="ds-thread" data-thread-key="{{slug}}" data-title="{{title}}" data-url="{{url absolute="true"}}"></div>
{{/post}}

然后将代码复制到主题的post.hbs文件中的恰当位置。

之后,可以考虑清理一下主题中disqus相关的代码。

但是,却出现了令人意外的现象: 使用新标签打开一文章,多说评论可以正常显示,但是在当前标签打开一篇文章却无法显示多说评论,需要刷新一次网页才行。

其实,之前mathjax也是出现了这个问题,但是将就着用了。下面的解决过程:

1、花了很长时间(盲目地)查看代码,调整代码位置,都没有用。

2、想到了JQuery Mobile,也许是链接标签<a>的相关事件被劫持,使用ajax来获取页面了。打开firebug,在博客首页打开一文章,查看http请求,果然是。

3、在主题的配置文件./partials/custom/config.hbs中有这么一行:

{{! Enable Pjax for asynchronous (AJAX) content loading}}
var enable_pjax = true;

pjax是什么?就是利用ajax刷新页面,同时url也会改变(HTML5特性),这种方式可以减少重复请求。应该是它了,将var enable_pjax = true;改成var enable_pjax = false;,重启ghost。

多说评论和mathjax的问题都解决了。

关于pjax的一些资料:

pjax 是如何工作的?
pjax:ajax和pushState结合的js库
jquery-pjax


( 本文完 )

文章目录