使用HEXO管理博客并发布到GitHub Pages

作为一名程序猿,就算身患懒癌,偶尔也会抽风想写点什么,和众猿分享。

十年累积下来其实写过不少,但几次换博整理过后要么丢失了要么过时丢弃了。

搞博客其实挺麻烦的,最开始自己建站,后来用免费博客,后来又建站,又用免费……国内国外的来来回回折腾不休……

纠结的原因主要是既想把博客原文掌握在自己手中,又想让更多人能读到这些文章。

放在知名博客平台上的话总担心哪一天找不到了或者平台改版导致页面混乱(别说不会,我遇到好几次了)。

自己建站最麻烦的就是 SEO,权重不高很难搜索出来啊。

这次又能用多长时间呢,以后又出新玩意了怎么办。激情来时更几天,掏空以后痿一年……囧


HEXO 是一个静态网站生成工具,特别适合搞博客。简单点说就是把 markdown 文档转换成 HTML 网页,然后你就可以传到静态空间去(GitHub 提供的 Pages 服务就是一个免费的静态空间)。

NexT 是一套 hexo 主题,貌似用户很多,挺强大的。

HEXO 中文文档 NexT 主题

前提环境:node npm git

::全局安装hexo命令行工具
npm install -g hexo-cli

::创建博客工程目录
mkdir blog
cd blog

::初始化hexo站点
hexo init

::安装NexT主题
git clone https://github.com/theme-next/hexo-theme-next themes/next

::安装HTTP服务(这东西用着不爽,如果有现成的HTTP服务也可以用自己的)
npm install hexo-server --save

::启动服务
hexo server

后面就是发文章,改样式什么的了,慢慢研究吧。

::创建新文章,标题有空格可以用引号把标题包起来,同:hexo new
hexo n [layout] <title>
::生成静态HTML文件,同:hexo generate
hexo g
::发布到静态空间,同:hexo deploy
hexo d
::先生成静态文件后再发布到静态空间,两件事一起做,同:hexo g -d
hexo d -g
::清除缓存文件 (db.json) 和已生成的静态文件 (public)
hexo clean
::启动本地HTTP服务预览,同:hexo server
hexo s

比较方便的是如果以前的博客系统有 RSS 源,可以使用迁移工具直接迁移到 HEXO

npm install hexo-migrator-rss --save
hexo migrate rss <source>

另外 hexo 支持从 Jekyll、Octopress、WordPress、Joomla 等迁移,查看其他迁移方案

hexo 支持同时发布到多种网络空间,比如 GIT、Heroku 免费空间、SSH 主机、OpenShift 平台、FTP 主机,如何发布

我在想这玩意如果能通过 MetaWeblog 协议发布就更好了,以后研究下。