从多说迁移博客评论至 Disqus

按理来说,应该是一个很简单的过程。从多说导出标准的备份文件,导入 Disqus,就完事了。但是我就整整的折腾了几天,评论是导入进去了,但是在博文页面始终没有把原来的评论显示出来。今天下午,甚至向 Disqus 官方发送了求救邮件。

就在刚才,才发现原来 Disqus 是根据文章的 URL 作为 Primary Key 的,而我新的博客系统的文章 URL 结尾比原来的少了个 /。擦,就是这一个字符,导致没有把原先的评论显示出来

1
2
Old: http://example.com/article
New: http://example.com/article/

导入的具体过程

首先,在多说的后台将评论(包括文章)导出为一个 export.json 文件。这个文件格式是不被 Disqus 认的,所以我们得把它转换成 wordpress 导出的文件格式

Continue reading

使用 Hexo 搭建自己的博客,抛弃 Octopress

很久以前,写了一篇博文 How To Deploy Octopress , 介绍了如何使用 Octopress 搭建一个高B格的博客系统。

可能是因为不熟悉 Ruby 的原因,自己修改好的博客主题(没有备份)在前几天因为 rake 命令无法运行的情况下,不小心清空了。本来想着重新写一遍的,但是越写越不顺手,就开始寻找一款新的博客系统。

后来找到了 Hexo ,作为一个前端,看到是基于 Node.js 写的,当然是无法抗拒的,所以果断的开始折腾 Hexo。

文章最后面,可以下载到这个博客现在所使用的 Hexo 主题,如果你喜好的话。

如何搭建

不想再累赘当中细节,愿意折腾的 Hexo 和 Octopress 的人,应该看文档基本就搞定了。而且因为是基于 Node.js , 不像 Octopress 在 Windows 平台下面会遇到一些不知所以然的问题。Hexo 明显容易很多,编译速度也快非常多。

因为 Hexo 的作者是台湾人,还提供了简体中文的文档,多贴心,看不懂英文不能再成为你不动脑筋的借口了。

Continue reading

使用 Git Hook 实现网站的自动部署

自动化能解放人类的双手,而且更重要的是,因为按照规定的流程来走,也减少了很多误操作的产生。不知道大家平时都是怎么样更新自己生产环境的代码的,FTP 覆盖旧文件、服务器定时任务去 build 最新的源码,还是有更高级的做法?

目前我在使用 Git Hook 来部署自己的项目。Git Hook 是 Git 提供的一个钩子,能被特定的事件触发后调用。其实,更通俗的讲,当你设置了 Git Hook 后,只要你的远程仓库收到一次 push 之后,Git Hook 就能帮你执行一次 bash 脚本。

下面是我使用 Git Hook 进行简单的自动化部署,可能还有更高级的做法,大家自己去挖掘。

在服务器初始化一个远程 Git 仓库

git initgit --bare init 初始化出来的仓库是完全不一样的,具体我 Google 了下,英文倒是理解了,但是要翻译出中文却不知道用什么形容词去称呼这2种仓库。

这里我们要通过 git --bare init 初始化一个远程仓库

Continue reading

通过开启 Nginx TLS SNI 来支持同一 IP 下多 SSL 证书

前几天说给博客部署 SSL 证书来提高逼格,后来因为自己一个项目的需要,也跟着申请了多了一张 SSL 证书,按照相同的流程部署上去后,发现前面的域名的证书都 load 到了新增加的那张证书。接着 Google 了下,原来是 Nginx 编译的时候没有开启 TLS SNI ,这样就导致了同一 IP 下只能支持一张证书。

查看已安装的 Nginx 是否开启 TLS SNI

1
2
3
4
5
$ nginx -V
ginx version: nginx/1.6.2
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55)
TLS SNI support disabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

TLS SNI support disabled 即未开启

Continue reading

使用 SSL 证书保护网站的访问

[update] 本文于 2017-12-29 进行过一次修订

我以前没有接触过 SSL ,导致签发人生中第一张 SSL 证书的时候,Private Key 是通过第三方生成的,理论上来说这张证书基本上是废了,因为你家门的钥匙都是别人帮你配的,谁知道他有没有留一个副本!所以 Private Key 一定得自己生成。

以下的内容,随随便便搜索引擎便能搜索到更加详细的,我在这里也就不累赘了,大概的说一下一些简单的东西。

SSL 证书有什么用

  • SSL 是一个加密协议,它能保证你的数据在传输的过程中不被截取
  • 它能保证你的网站的内容不被篡改,比如国内的各宽带运营商,强制在你的网站上加 Javascript 代码,投放广告
  • iOS APP 和 小程序 强制要求使用 HTTPS 传输内容
Continue reading

Web-IM 系统的前端设计与实现

写在前面

从14年3月份入职之后,就一直在跟公司的一个即时 IM 的 Web APP 。15年已经来了,博客还没有一篇更新,就来聊聊在做这个 APP 的时候遇到的一些坑和一些总结吧。由于刚开始经验有限,所以在系统设计方面有很多的缺陷和不足,随着知识的积累,通过不断调整项目目录和一些规范,最终变成了下面的前端模型。

设计理念

期间重构时受到 UC前端工程实践.pdf 模块化开发 开发思想的影响,我们也在 APP 中引入了 模块化 的概念。正如里面所说:我们希望能像搭积木一样开发和维护系统,最终通过组装模块得到一个完整的应用。

  • 模块是可组合、可分解和更换的单元
  • 模块具有一定的独立性
  • 将模块所需的js、css、图片、模板维护在一起 ( 我们未采用 )
  • 组件生态,同团队不同项目之间能有可复用的模块
Continue reading

同时使用 GitHub 和 GitCafe 托管 octopress

以前这个博客是托管在 stdyun 的,后来不知道什么原因(貌似被美团云收购?), octopress 托管服务终止了,原有的网站被转移在外国的服务器上,而且访问速度越来越慢,这不得不让我考虑重新寻找一个免费的 octopress 托管服务。
几经斟酌,觉得选用 GitHub 和 GitCafe ,他们分别是国外的、国内的代码托管服务商,也都提供 Git Pages 服务,我们可以把 octopress 托管在他们那。

GitHub Pages

具体的托管操作在互联网上面大把,这里就不在累赘,大概如下

  • GitHub 上面创建一个与你用户名相同前缀的 Repository ,比如我的 BelinChung/belinchung.github.io
  • cd path/your/octopress/folder
  • 初始化 rake setup_github_pages ,按提示输入你的 Repository URL
  • 编译和发布 rake generate rake deploy
Continue reading

REST API 中调用校验 Token 的生成与维护

RESTful

WEB APP 的概念越来越火,单页应用视乎也成为趋势,看着以前在 HTML 夹杂着用来渲染 View 层的 PHP 代码,总感觉好不舒服。自己也越来越趋向于前端和后端的代码完全分离开来。

现在是移动互联网的时代,我们发现几乎所有的网站、产品都不可避免的遇到一个需求:多平台整合。一个基于 RESTful 的后端架构是放眼未来的做法。

Access Token

捣鼓了那么久的微博开放平台的 API ,看到 Access Token 自然再熟悉不过了。OAuth2.0 授权成功后返回的一个授权码,可后续校验 API 调用的有效性。

Continue reading

使用Framework7 创建有着iOS7原生体验的Web应用

写在前面

好久没写博文了,最近生活比较动荡,同时忙着学业、工作、生活的事。为了能让自己在广州顽强的活下去,算是拼尽全力了。最近各方面也都开始逐渐稳定下来,就回来打理下博客,锄锄草,免得访问被杂草拌着了。

每次环境的更换都是对自己能力有着显著的提升,有时候你觉得在一个地方学不到或者基本重复着相同工作的时候,可以尝试换一个环境,可能对你未来的发展有更大的帮助。

当然,说这些是因为自己最近换了个工作,在新的公司跟了一个项目,很多以前不敢实践的东西由于进度和要求的压力都慢慢开始用上了,很高兴的有几个非常友好和屌丝的同事在身边指导我,帮助我,让项目一期的如期的完成,虽然还有很多坑,但是自己挖的,自己填就好了,O(∩_∩)O!

Continue reading

DChaser - A Business theme for WordPress

关于DChaser

这个一个关于梦想的WordPress主题,它叫Dream Chaser(梦想追逐者)

当你开发一款作品(产品)的时候,用心去塑造它,给予它灵魂,那么它便是“活”的。DChaser 一个简约大气的企业(工作室)主题,它无处不在的渗透着我们追逐梦想的路上,虽不奢华,但也绝不平庸!

DChaser主题组件

无限级的导航菜单

你只要通过后台创建一个名为“DChaser”的导航菜单,并选中它,那么你便可拥有无限级的导航子菜单。
详细设置,请参照:DChaser 主题导航菜单设置

Continue reading

BelinChung


Guangzhou China