Firekylin 多说评论迁移

Firekylin 是一款 Node.JS 的博客系统,由于没有自己实现评论功能,所以一直使用的是第三方的评论系统。使用社交评论系统的一个好处是能够支持社交账号登录,而不用每次都傻乎乎的自己输入昵称和邮箱。之前官方一直都是支持 Disqus多说 两款评论系统的,不过由于 Disqus 在国内的速度堪忧,所以使用多说的用户还是多一点。

然而多说虽然做为国内评论系统一哥,却一直没有找到变现方法,最近不得已更是发布了关服通知,让 Firekylin 的用户着实蛋疼了一把。好在我不就之前就在 Firekylin 中增加了 畅言 的支持,最近又增加了 网易云跟帖 的支持,让大家的评论系统有了更多的选择。

如果是直接切换服务,非常简单,在后台“评论设置”中选择相应的服务并填写对应的 ID 即可。下面我就来说说如何导入原来的多说评论到新的评论服务中。

阅读全文

升级到 webpack2

前些天 webpack2.2 发布了正式版。个人觉得 webpack2 带来的最大的变化莫过于新的官网了 https://webpack.js.org,新官网带来的新的文档比之前的要好太多了。而且早就想试试 Tree Shaking 了,所以趁此时间赶紧升级了一把。虽然已经发布了 2.2 的正式版,不过目前还需要通过 npm install webpack@beta 来安装,大家要注意哦~最新消息,官方已经把 beta 去掉了,现在直接安装 npm install webpack 就是最新 2.2.1 的版本了,如果要装老版本的话需要 npm install -g webpack@1。另外官方给出了详细的webpack1升级到webpack2的迁移指南,也可以参考其对应的的中文翻译版。以下就按照我的认识给大家梳理一下 webpack2 的一些变化,详细的更新情况还请参考官方文档。

阅读全文

Firekylin 如何自定义首页

之前用 WordPress 和 Typecho 的时候有个功能特别好用,那就是自定义首页。用户可以将某个页面指定成首页,而页面又可以通过自定义模板来个性化。最终达到了个性化首页的目的。这么棒的功能当然 Firekylin 也要支持啦,下面就和大家说说在 Firekylin 中如何实现个性化首页功能。

页面自定义模板

0.15.0 版本新增自定义模板的功能,将自定义模板放置在主题目录的 template 文件夹下,程序就会识别该自定义模板。模板的内容随意,可以是纯静态的 HTML 内容,也可以是 nunjucks 语法。后台新建页面右侧可以选择你设定的自定义模板,选择该模板之后程序就会使用它替换默认的 page.html 模板渲染该页面。

选择自定义模板

阅读全文

ThinkJS 开启 HTTPS 服务

大家在使用 ThinkJS 的时候一般都会搭配 Nginx 使用,在 Nginx 中配置 HTTPS 是非常简单的,具体可以参考屈屈老师的《Let's Encrypt,免费好用的 HTTPS 证书》。这样做的原理是 Nginx 接收到 HTTPS 的请求后反向代理到 ThinkJS 服务的端口上,从而达到了 ThinkJS 项目开启 HTTPS 服务的目的。不过有些比较轴的同学可能觉得这种方法还是太麻烦了,经常问 ThinkJS 有没有自带启动 HTTPS 服务的方法。今天我就来给大家说说。

阅读全文

ThinkJS 开发之前端热更新

用过 ThinkJS 的人都知道,开发模式下 ThinkJS 是支持实时更新的,也就是说不需要我们重启服务就能让修改生效,不得不说这种开发方式真的非常方便。然而对于前端代码我们还是得老老实实的刷新页面才能看到效果,我们能不能让前端代码也支持热更新呢?答案是肯定的。首先我们看一张动图了解我们最终想要功能是什么样的(点击图片查看大图)。

阅读全文

基于 ThinkJS 程序的自动更新

众所周知,PHP 是文件型程序,每次请求访问的时候会去读取 PHP 文件然后执行程序。这种机制的程序做更新是非常简单的,把文件更新了下一次请求读取的就会是最新的程序。和 PHP 文件型程序不同,Node 是常驻“内存型”程序,代码在最开始执行脚本的时候就已经读取,模块和依赖都会缓存在内存中。这样的好处就是减少了请求每次读取的时间,能够更快的响应。但是也注定了不能像 PHP 一样只是简单的更新下文件就能达到更新的目的了。本文就 Firekylin 的在线更新功能来说说 ThinkJS 程序更新的那些事。

阅读全文

史上最简单的 ThinkJS 七牛教程

七牛是提供了 NodeJS 的 SDK 的,这就为我们的使用带来了极大的方便。我们需要知道以下四个信息:

有了以上基本信息之后我们就可以在 ThinkJS 的基础上添加七牛图床了!首先我们需要新建一个 ThinkJS 项目,在命令行中执行:

//如果没有 thinkjs 命令则首先需要 npm install -g thinkjs
$ thinkjs new thinkjs-niu --es6

我们可以进入项目根目录安装依赖然后 start 一下,然后访问 http://localhost:8360 就会发现我们的 ThinkJS 项目已经可以正常访问啦!

$ cd thinkjs-niu
$ npm install
$ npm start

之前我们说到七牛有自己的 NodeJS SDK,所以下一步我们要先把 SDK 安装上,进入项目根目录后执行:

$ npm install qiniu --save

将我们在最开始获取到的四个信息配置到 config 里面,打开 src/home/config/config.js 并按照如下所示补充内容:

'use strict';
/**
 * config
 */
export default {
  //key: value
  qiniu: {
    access_key: '你的 access_key',
    secret_key: '你的 secret_key',
    bucket: '你的空间名称',
    domain: '你的空间域名'    
  }
};

阅读全文

ThinkJS Dash 离线文档

最近一直在倒腾 ThinkJS 有关的东西,就思瞅参照着官方给的示例做了它的 Dash 离线文档。看了下官方给的示例,无非就是用脚本将所有文档页面抓取下来然后生成检索数据库,还算是颇为简单。

抓取文档的脚本我已经开源放在了 Github 上:https://github.com/lizheming/dash-thinkjs ,欢迎大家 star 及 fork。脚本不长,主要是使用了 wget 下载文档,sqlite-sync 模块来操作索引数据库,并使用 cheerio 来修改页面结构。

为了让用户安装更方便,我将其推送到了官方源中。按照 https://github.com/Kapeli/Dash-User-Contributions#contribute-a-new-docset 所描述的规定生成好文件后很快就被作者给合并了,不得不赞一下作者的高效!

阅读全文

2014年小结之电影全纪录


阅读全文

Typecho在线升级插件 - Update 0.0.2

是不是已经厌烦了Typecho每次升级还得开FTP覆盖文件了呢?好消息来了!为了解决这无比蛋疼的问题,Update插件正式上线了!没有复杂的配置没有复杂的选项,只要开启插件就行了!只要开启插件就行了!(等下,一股浓浓的电视购物风是什么情况Σ(っ °Д °;)っ)
当程序检测到新版的时候会在控制台首页增加一个链接,点击更新就可以了!一击解决Typecho多年蛋疼问题!

阅读全文