Hexo环境搭建2018年5月版

文章目录
  1. 1. 前言
  2. 2. 环境准备
    1. 2.1. git
    2. 2.2. nvm
    3. 2.3. node
  3. 3. 安装hexo
  4. 4. 个性化
    1. 4.1. 添加RSS
    2. 4.2. 添加sitemap
    3. 4.3. 主题
    4. 4.4. config.yml
    5. 4.5. mathjax
  5. 5. 发布
    1. 5.1. coding
    2. 5.2. 本地操作
    3. 5.3. 域名
  6. 6. 后记

前言

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

环境准备

git

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

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

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

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

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%;

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

安装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

个性化

添加RSS

npm install hexo-generator-feed --save

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

添加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》

主题

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

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

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

mathjax

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

发布

coding

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

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

3、项目启动Pages服务。

本地操作

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

域名

1、申请域名。

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

3、在coding上绑定域名。

4、测试访问。

后记

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