起因
用Pelican在GitHub上搭blog有段时间了,一直想要更清爽简单的blog解决方案,之前使用的Pelican算是满足了我的需求,但是还想尝试一下其他的系统,同时从视觉效果上来说Hexo+Next
主题目前更让我觉得满意,于是决定从Pelican迁移到Hexo。
问题
搭建、使用Hexo的教程google一下就能找到,这里主要说一下自己迁移过程中遇到的一些小问题。
文档迁移
Pelican本身也是支持Markdown的的文章写作方式,其实需要修正的地方主要是头部的部分属性。
首先可以将Pelican的content
目录下的所有Markdown文件复制到Hexo目录下的source/_posts/
目录下。
Pelican通过Date
,Title
,Category
,Tags
,Slug
来表征写作时间、标题、分类、标签、Url等信息,例如:
1 2 3 4 5 6 |
Date: 2014-09-20 Title: CI连接Oracle 11G数据库 Category: LAMP/LNMP Tags: PHP,Oracle Slug: ci-connect-oracle-11g |
而Hexo也是类似:
1 2 3 4 5 6 |
date: 2014-09-20 00:00:00 title: CI连接Oracle 11G数据库 categories: LAMP/LNMP tags: [PHP,Oracle] --- |
可以简单使用sed
完成转换:
1 2 3 4 5 6 |
sed -i '' -e 's/Date: \{1,\}\(.\{1,\}$\)/date: \1 00:00:00/' * sed -i '' -e 's/Title: \{1,\}\(.\{1,\}$\)/title: \1/' * sed -i '' -e 's/Category: \{1,\}\(.\{1,\}$\)/categories: \1/' * sed -i '' -e 's/Tags: \{1,\}\(.\{1,\}$\)/tag: [\1]/' * sed -i '' -e 's/Slug: \{1,\}\(.\{1,\}$\)/---/' * |
关于sed -i后的参数问题,参见stackoverflow
上关于在Mac OS X下的sed使用问题
。
Git设置
允许Git添加非ASCII文件
在hexo deploy
过程中会在Git中在添加非ascii文件,所以需要在选项中开启这一设置。
1 2 |
git config hooks.allownonascii true |
Git中文文件名
某些情况下文章使用了中文tag,而生成Tag时会生成中文文件名的目录文件,Git需要关闭对中文文件名的转码。
1 2 |
git config core.quotepath false |
GitHub CNAME问题
使用GitHub部署的情况下,绑定自定义域名的方法自然是添加一个CNAME文件,最简单的方法可以使用插件
来完成。
最后
以上