博客迁移到Hexo,双线镜像

一直以来都是用 wordpress。随着 WP 日渐臃肿,以及在喜欢上 Markdown 写作之后,就一直想找个能对 Markdown 支持完美的,轻量级的,并易于版本管理的博客系统。

在这种需求下,Jekyll 落入了视线。

Jekyll 是 GitHub 和 GitCafe 内置支持的静态网页生成引擎,可定制化程度也高。看上去对我们程序猴子这种不折腾会死的物种非常合适,但是经过一段时间的观察和分析后。感觉可能它并不是最佳选择。

然后我看到了 cnfeat 这篇 简明Github Pages与Hexo教程。瞬间就被它吸引了。

传说此图可以骗点击
传说此图可以骗点击

选哪个

两个引擎都支持 markdown,都可以利用 git 库进行管理。最终发布的都是静态页面。这一点没什么大的差别。相对而言,Jekyll 发展较早,相对比较成熟,Hexo 是后起之秀,但是发展迅速。

Jelly 是 github 的默认推荐。它的工作方式是把源文件上传至 github 的特定分支,然后 github 在发现有文件更新时,在服务端重新编译生成静态网页自动部署至 master 分支。

Jekyll 的优势是发展比较成熟,因为是官方推荐,支持也比较好。看上去对程序员来说也更加优雅便于折腾。缺点是配置比较复杂,需要遵循一定的规范比如一定要放在 gh-pages 分支。因为是提交源文件在服务端生成,所以在内容发生变化到前端呈现会有一定延迟。

Hexo 的原作者是一名台湾的学生。推出的目的就是为了提供更大的便利,更容易入手,更方便配置。

实际上也是如此,Hexo 从安装、配置、发布都非常简洁。常用的命令记住 n g s d 四个字母就搞定。

Hexo 还有一个决定性的好处,下文说。

总之最后我选择了 Hexo,在代码库中建立一个独立的 hexo 分支用于存放源文件。

双线部署

hexo 可以同步推送到多个git库,比如,在配置文件里这样写:

deploy:
  type: git
  message: "hexo deploy generated pages"
  repo: 
    github: <github repo url>
    gitcafe: <gitcafe repo url> 

然后执行部署命令,就可以同步部署到 gitcafe 和 github。

如果用 dnspod 来做实现双线解析,瞬间就可以实现境内境外双线解析镜像。这点非常爽。不过这里有个坑,参见下一节。

这里是一些大坑。估计如果看到Hexo的介绍后,想自己动手试试看的都会遇到。

  • 首先,无论部署到GitCafe还是GitHub,都是master分支。

    gitcafe-pages, gh-pages 这样的分支是用来给Jekyll在服务端生成静态网站用的。

    用hexo生成网站是在本地生成后部署静态页面,这时直接部署到master即可。

  • 然后,Hexo 现在最新的版本是3.0

    config的设置项有所更改,包结构也有变化。

    最坑的是,如果多点部署的话,会报错。看了下应该是 3.0 更新后的bug,在 github Hexo 项目上,已经有人提了issue,看什么时候能解决吧。

    3.0 详细的变化可以参考 github 上的文档.

    更新: 昨天 git deployer 更新到 0.0.4,修正了该问题。参见作者的说明.

    更新方法:编辑 package.json,把 hexo-deployer-git 的版本升级到 0.0.4,然后 npm update.

  • 迁移自 wordpress

    用插件 hexo-migrator-wordpress 即可一键完成。比较郁闷的是,如果原文的标题是中文,那么这里所有的文件名都会被解析成形如 ab-cd-ef-gh-de-ty-ww-rt-as-cd-fg.md 这种形式。原因可以理解,它首先将中文进行编码,然后替换空格最终形成“slug”形式的permalink。但是看着实在很蛋疼。

  • 目录(categories)

    hexo 支持多目录。但是……

    如果你指定了多个目录,比如 [建站心得,流水账],那么最后呈现出的目录列表可能是这个样子的:

    建站心得5
    流水账5
    流水账1
    流水账1
    流水账1
    ...
    

    泪奔。所以还是老老实实用单category,结合标签云好啦。

还碰过其他坑,暂时记起来这么多。后面想起来或遇到新坑再更新。

写作工具

当然。你可以直接在简书写,然后复制到 Hexo 源文件目录,这个跨平台。XD

Mac 平台的话,强烈推荐 “Mou”。

最后

详细的 Hexo 安装设置指南就不多说了。 cnfeat 的文章讲得非常详细,即使小白也能按照所列的步骤一步步搭建起自己的一个静态博客。

只是有一点,弄这些玩意儿,翻墙技能还是要有一点的。否则一个 npm 命令都会让你抓狂。

国际惯例,成品展示在这里。

Enjoy it!

(题图来自 Hexo 作者的个人主页。据说可以提高点击率。XD)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容