从Jekyll转向Hexo
之前的博客,是使用Jekyll搭建的,因为学过一些ruby,也会一些ruby on rails,所以对Jekyll有天生的好感,看不上wordpress、hexo之类的。不过后来当我看到了hexo的next主题时,被它的简洁所吸引,因此决定转向hexo,本文记录使用hexo构建博客的方法(PS;我只是一个搬运工,针对Linux用户而言)。
Hexo
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
Hexo安装
安装Hexo需要三步,需要安装以下三个部分:
- Git
- Node.js
- Hexo
Git
- Linux (Ubuntu, Debian):sudo apt-get install git;
- Linux (Fedora, Red Hat, CentOS):sudo yum install git;
Node.js
安装Node.js的最佳方式是使用nvm
nvm安装的两种方式:
- cURL: $ curl https://raw.github.com/creationix/nvm/master/install.sh | sh;
- Wget: $ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh;
安装完成后,重启终端并执行下列命令即可安装 Node.js。($代表在当前普通用户下执行命令)
| 1 | $ nvm install stable | 
可以输入
nvm看下其常用的命令,通过nvm install 10.15.1安装指定的版本,通过nvm ls查看安装的版本列表。
当然也可以通过下载安装。
如果遇到 node 版本问题可以参考 Nodejs Update leaves old version as current,直接输入
nvm可以查看相应命令方法。
Hexo
所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。
| 1 | $ npm install -g hexo-cli | 
到这里Hexo已经安装完毕了,下面讲一下如何使用。
Hexo使用
通过下列命令,Hexo会在指定文件夹中新建所需要的文件。
| 1 | $ hexo init /home/matt/wangzzuBlog | 
新建完成后,指定文件夹/home/matt/wangzzuBlog的目录如下:
| 1 | . | 
_config.yml
它与Jekyll中的_config.yml功能类似,对博客网站进行一下配置。
package.json
这里面是安装的应用程序的信息,EJS, Stylus 和 Markdown renderer 已默认安装,我们可以自由移除。
| 1 | { | 
source
资源文件夹是存放用户资源的地方。除 _posts文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
themes
主题文件夹,Hexo会根据主题来生成静态页面。
Hexo配置
这里可以参考Hexo中文文档,这里讲述的非常详细。
Hexo命令
参考Hexo 指令。
init
| 1 | $ hexo init [folder] | 
新建一个网站。如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站。
new
| 1 | $ hexo new [layout] <title> | 
新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。
草稿的使用:
| 1 | $ hexo new draft "new draft" #新建草稿 | 
generate
| 1 | $ hexo generate | 
生成静态文件。
| 选项 | 描述 | 
|---|---|
| -d, –deploy | 文件生成后立即部署网站 | 
| -w, –watch | 监视文件变动 | 
publish
| 1 | $ hexo publish [layout] <filename> | 
发表草稿。
server
| 1 | $ hexo server | 
启动服务器。默认情况下,访问网址为: http://localhost:4000/。
| 选项 | 描述 | 
|---|---|
| -p, –port | 重设端口 | 
| -s, –static | 只使用静态文件 | 
| -l, –log | 启动日记记录,使用覆盖记录格式 | 
deploy
| 1 | $ hexo deploy | 
部署网站。
| 参数 | 描述 | 
|---|---|
| -g, –generate | 部署之前预先生成静态文件 | 
render
| 1 | $ hexo render <file1> [file2] ... | 
渲染文件。
| 参数 | 描述 | 
|---|---|
| -o, –output | 设置输出路径 | 
migrate
| 1 | $ hexo migrate <type> | 
从其他博客系统 迁移内容。
clean
| 1 | $ hexo clean | 
清除缓存文件 (db.json) 和已生成的静态文件 (public)。
list
| 1 | $ hexo list <type> | 
列出网站资料。
version
| 1 | $ hexo version | 
显示 Hexo 版本。
Next主题
Hexo博客的主题有很多种,可以参考Themes,个人比较喜欢Next主题,下面给出一些Next主题配置的一些资料,本文就不再详述了。
- Next主题的基本配置可以参考Next WIKI,这个网站基本上讲述已经非常清晰了。
- 这个博文——动动手指,NexT主题与Hexo更搭哦(基础篇)配着图片进行讲述如何配置使用。
- 这篇介绍如何统计阅读量Hexo搭建GitHub博客(三)- NexT主题配置使用。
- 这位博主由一系列关于Hexo配置的博文,非常推荐——动动手指,给你的Hexo站点添加最近访客(多说篇)。
Jekyll迁移到Hexo
把 _posts 文件夹内的所有文件复制到 source/_posts 文件夹,并在 _config.yml 中修改 new_post_name 参数。
| 1 | new_post_name: :year-:month-:day-:title.md | 
然后进行生成静态文件,部署网站即可。
其他
参考:
