从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 |
然后进行生成静态文件,部署网站即可。
其他
参考:
公众号
个人公众号(柳年思水)已经上线,最新文章会同步在公众号发布,欢迎大家关注~