Jun 2 2015
Dockerize Your Hexo

    Dockerize Your Hexo

    前言

    上篇文章中,我简单提到了在升级 Hexo 3 过程中遇到的一些痛苦。其实还有很多问题没有在上篇文章中提及。比如,我的渲染器使用的是 pandoc ,在 2.x 的时候,hexo-tag-plugins 里头的文字可以通过调用 renderSync 方法传给 markdown 进行渲染,而到了 3.0 ,这些文字无论怎么做都不能被 pandoc 或者 markdown 渲染。

    早在我决定挥刀动斧定制我的个人博客之前,我早已经做好了发生这种情况的心理准备。我的博客最早是使用 Ruhoh 编写的,从主题到渲染器进行了大量的个人定制,后面出于种种原因我决定切换到Hexo ,于是我又花了很多力气把原来的博客移植到 Hexo 2.x 上。与其说是移植,不如说是一个基于 Hexo 2.x 的山寨版。现在 Hexo 一旦做了大幅更新,相当于我又得经历和前两次一样的折腾,实在是有心无力呀。考虑再三,我决定放弃使用 Hexo 3 ,而将我的博客所使用的环境 冻结 为 2.8.3 。

    但这样又带来了问题:为了方便使用我的主题和插件的朋友们,我已经对这几个项目进行了升级以支持最新的 Hexo 3 。如果我只在我的机器上安装 Hexo 2.8.3 ,那我接下来维护这几个项目就变得非常不方便。

    出于以上的原因,我决定使用 Docker 将 Hexo 2 和 Hexo 3 两套写作环境各自打包成镜像。这样,当我需要编写自己的博客时,就使用 Hexo 2 的镜像;当我需要维护几个 Hexo 主题和插件时,就使用 Hexo 3 的镜像。我也顺便将整个过程记录下来,形成此文,以供其他朋友参考借鉴。

Read More

Mar 21 2014
HaHack 的微信订阅号

    HaHack 的微信订阅号

    在这个信息过盛的时代,

    博客这种 Web 2.0 初期的产物越发难以吸引大众的关注;

    Google Reader 的死亡正式宣告了 RSS 订阅已经沦为明日黄花;

    很多人(包括我在内)也没有了以前每天刚起床就把阅读器上的 unread 项给刷光的强迫症。

    更恰当地说,我们把这种强迫症转移到了微博、微信这类社交工具上了。

    相比 RSS 这种靠“习惯”来支撑的订阅方式,微信订阅号就显得主动些了。如果不想错过一个站点的新文章,通过订阅它的微信号,就可以保证在网络正常的状况下用手机及时获取它投递过来的文章。

    所以,HaHack 也决定赶赶时髦,放出一个微信订阅号。

Read More

Jan 15 2014
珠联璧合:利用 Koding 为静态博客搭建在线编辑环境

    珠联璧合:利用 Koding 为静态博客搭建在线编辑环境

    静态博客比起 Wordpress 这类博客的一个不足是需要先配置好整个博客环境才能编写和预览博客。

    比如,我使用 Hexo 作为我的博客引擎,为了写一篇博客,我需要在自己的电脑配置好 node.js 、hexo、pandoc、emacs 、git 等一大堆东西。现在假如我需要在另外一台电脑编写博客,或者晚上躺在床上在手机上看到自己刚发的文章有一个让自己相当纠结的标点错误,静态博客的弊端就出来了:除非给每台机器都配好这些环境,否则我只能盼着赶紧用回自己的电脑。相比之下,像 Wordpress 这类博客就清爽很多,多数时候只需要开一个浏览器就可以完成文章的编辑与发布了。

Read More

Jul 4 2013
Two Odd Tricks of Dropbox

    写这篇文章时,心里总想起大妈 ZoomQuiet 早前在微博上的签名

    “备份不做,十恶不赦。”

    对于一个安全意识健全的人而言,做好备份工作,也是良好职业素养的体现。进度备份、文件冗余备份、RAID备份、云备份、……怎么备份都不过分。Dropbox 就是一个非常流行的云存储备份文件的工具,它可以很方便的将文件保存到云端,与好友共享,并且在一段时间内提供简单的版本控制功能。

    Dropbox

    当然,Dropbox 的用处绝不止这么简单。除了备份和共享文件,越来越多的人正试图利用它开展一些非常有意思的工作,比如建网站啦、GTD啦,等等。

    今天也赶个时髦,介绍我自己的两个比较 奇葩 的用法。如果你也有什么有趣用法,也欢迎发邮件跟我交流。

Read More

Oct 7 2012
C-c ' 在 org-mode 中的妙用

    从 org-mode 8.x 开始,这两个功能已经无效。

    1 用途一:编辑代码

    在org-mode中可以通过键入 <s 快速输入代码引用段,得到下面的内容:

    1
    2
    3
    #+BEGIN_SRC
    #+END_SRC

    但当我们在里面编辑的时候,会发现tab无法缩进。一种解决方法是通过键入 C-q <Tab> 缩进,但如果整份文档都需要重排,一行一行的敲肯定很费力。这时候可以在代码段中键入 C-c ' ,此时Emacs会新建一个buffer,原来代码段的内容会自动粘贴到这个buffer里,此时会发现这个buffer的Minor Mode刚好是相应语言的Mode,所以可以很自在的完成各种熟悉的代码编辑工作。完成后再次按 C-c ' 返回。

Read More

© 2016 Joseph Pan with help from Hexo and .