一个计算机技术爱好者与学习者

0%

好好学Hexo:Hexo环境搭建2018年5月版

1. 前言

15年的时候,写了一篇《Hexo环境搭建》,记录了hexo的详细安装部署步骤。三年了,node和hexo都有了很大的变化。而郝同学刚刚换了magicbook,又要再次搭建hexo,那就推出新版的安装记录。

2. 环境准备

2.1. git

1、访问git官网,下载git。

2、双击exe文件安装,一路next即可。

3、安装好git之后,配置用户名和邮箱
git config --global user.name "voidking"

git config --global user.email "voidking@qq.com"

2.2. nvm

1、访问nvm-windows项目,下载nvm-noinstall.zip。

2、解压nvm-noinstall.zip到D:\develop\nvm目录。

3、双击install.cmd,生成settings.txt文件。打开settings.txt文件,添加:

1
2
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

4、右键此电脑,属性,高级系统设置,环境变量。

5、系统变量中,添加JVM_HOMED:\develop\nvm;添加JVM_SYMLINKD:\develop\nvm\nodejsPath中添加;%NVM_HOME%;%NVM_SYMLINK%;

6、用户变量中,添加JVM_HOMED:\develop\nvm;添加JVM_SYMLINKD:\develop\nvm\nodejsPath中添加;%NVM_HOME%;%NVM_SYMLINK%;

2.3. node

1、查看可获得的node版本
nvm list available

2、安装node8.11.1
nvm install 8.11.1

2、使用node8.11.1
nvm list
nvm install 8.11.1

3、测试使用
node -v

3. 安装hexo

1、切换国内源
npm config set registry="http://registry.cnpmjs.org"

2、安装hexo
npm install -g hexo

3、初始化
新建hexo目录,并安装依赖包。

1
2
3
hexo init hexo
cd hexo
npm install

4、测试
hexo ghexo s,然后查看 http://localhost:4000

4. 个性化

4.1. 添加RSS

npm install hexo-generator-feed --save

注意,后面的参数--save绝对不能省,否则该插件信息不会写入package.json。
hexo cleanhexo g,查看public文件夹,可以看到atom.xml文件。

4.2. 添加sitemap

npm install hexo-generator-sitemap --save

npm install hexo-generator-baidu-sitemap --save

hexo cleanhexo g,查看public文件夹,可以看到sitemap.xml和baidusitemap.xml文件。
sitemap的初衷是给搜索引擎看的,为了提高搜索引擎对自己站点的收录效果,我们最好手动到google和百度等搜索引擎提交sitemap.xml。具体参考《hexo生成sitemap》

4.3. 主题

进入hexo/themes目录,下载自己维护的yilia主题
git clone https://github.com/voidking/hexo-theme-yilia.git yilia

该主题的修改,可以参考《hexo主题优化》

4.4. config.yml

hexo目录中的_config.yml修改为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Hexo Configuration
## Docs: http://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: VoidKing
subtitle: 学而不思则罔,思而不学则殆!
description: VoidKing
author: VoidKing
language: zh-CN
timezone:

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://voidking.com
root: /
permalink: :year/:month/:day/:title/

permalink_defaults:

# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:

# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
enable: true
line_number: true
auto_detect: true
tab_replace:

# Category & Tag
default_category: uncategorized
category_map:
tag_map:

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss

# Pagination
## Set per_page to 0 to disable pagination
per_page: 5
pagination_dir: page

index_generator:
per_page: 5

archive_generator:
per_page: 500
yearly: true
monthly: true

tag_generator:
per_page: 100

category_generator:
per_page: 100


# Extensions
## Plugins: http://hexo.io/plugins/
## Themes: http://hexo.io/themes/
theme: yilia

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
type: git
repository: https://git.coding.net/voidking/voidking.git
branch: coding-pages

## gitcafe
### deploy:
### type: git
### repository: git@gitcafe.com:voidking/voidking.git
### branch: gitcafe-pages

## github
### deploy:
### type: git
### repository: https://git.coding.net/voidking/voidking.git
### branch: coding-pages

4.5. mathjax

本来打算参考《Hexo中使用Mathjax的冲突问题》,修改一下修改hexo的渲染代码。但是,郝同学惊奇地发现,在新版的hexo中,并不需要修改任何代码,mathjax就渲染正常,nice。

5. 发布

5.1. coding

1、在coding上注册一个帐号。

2、新建一个项目,和帐号名相同。

3、项目启动Pages服务。

5.2. 本地操作

1、生成本地代码
hexo g

2、本地测试
hexo s,然后访问 http://localhost:4000

3、发布到coding
hexo d

提示ERROR Deployer not found: git,需要先执行:
npm install hexo-deployer-git --save

4、线上测试
http://voidking.coding.me

5.3. 域名

1、申请域名。

2、域名解析添加CNAME记录指向voidking.coding.me

3、在coding上绑定域名。

4、测试访问。

6. 后记

至此,hexo安装部署完成。有些步骤写的比较简单,不理解的可以自行谷歌百度。