使用Hexo

总结归纳自互联网,参考了很多资料,也遇到过很多问题,最终总结出这篇文章,基于的环境是Mac,Linux也是一样.
2021-04-06 11:31:43:更新了Hexo5相关的配置
hexo官网:https://hexo.io/

1. 环境准备

1.1 准备Node.js和npm

node:https://nodejs.org/en/,建议使用NVM(https://github.com/creationix/nvm)安装和管理Node,减少权限的问题。

另外,参考CentOS8初始化里的nvm章节配置相关的镜像和加速。

1
2
3
4
5
6
7
8
9
10
11
# 安装NVM
$ brew install nvm
# 为nvm添加景镜像
$ vim ~/.zshrc
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
# 安装nodejs
$ nvm install node
# 设置npm的镜像源
$ npm config set registry https://registry.npmmirror.com
# 安装最新的npm
$ npm install npm@latest -g //安装最新的NPM版本

1.2 安装hexo

1
$ npm install hexo-cli -g

安装完成之后,需要检查hexo的版本,最好升级到5.0以上的版本,如果不是,可以参考这篇文章进行升级NPM的版本升级

2. 首次使用

如果你以前没有用过,可以按照如下方式初始化:

1
2
cd 你的blog目录
hexo init

生成一下,就可以预览了:

1
2
3
4
5
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-pug hexo-generator-feed hexo-generator-sitemap hexo-browsersync hexo-generator-archive hexo-deployer-git hexo-server eslint hexo-generator-json-content hexo-wordcount hexo-generator-baidu-sitemap hexo-neat hexo-renderer-marked hexo-renderer-markdown-it-plus hexo-generator-search pug-load --save
hexo clean
hexo gen #`hexo g`是`hexo generate`的简写
hexo s #`hexo s`是`hexo server`的简写

打开浏览器,输入:http://127.0.0.1:4000

建议:
gitignore文件最好忽略掉这几个hexo的配置文件:

.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
themes
yarn.lock
ossutil_output/

3. 非首次使用

如果你用过,只是换电脑同步。
则直接git clonenpm install --save即可。

4. 准备主题

可以尝试NexT,简约,美观,但是功能齐全:

1
2
3
$ cd [blog]
$ npm install hexo-theme-next --save
$ cp [blog]/node_modules/hexo-theme-next/_config.yml [blog]/_config.next.yml

修改hexo根目录下的 _config.yml: theme: next
可以参考我的配置方案:点击这里

5. 撰写blog

5.1 撰写文章

blog对应的是一个.md文件,或者.markdown文件。

关于markdown的语法,我是在https://www.appinn.com/markdown/#p里获取到很多有益的帮助
写好对应的文件之后,放到

[blog]/source/_posts/

目录下即可。

也可以通过命令行:

1
2
$ hexo new "postName" //新建文章
$ hexo new page "pageName" //新建页面

然后在生成的目录下面,编辑对应的md文件即可。

5.2 注意事项

每篇文章前面最好添加文章的结构信息,然后再开始正文。结构信息如下:

title: MO官方范例
date: 2015-10-21 14:45:52
category: [技术]
tag: [分享,Hexo]

----------

使用的时候最好整体复制过去,否则hexo 进行generate的时候,某些格式会抛出一些异常,
另外,title内容不能包含保留字符,例如[]等。

6. 发布

1
2
3
4
5
$ hexo clean
$ hexo generate //或者hexo g
# 本机预览,默认打开http://127.0.0.1:4000 即可查看
$ hexo server //或者hexo s
$ hexo deploy //或者hexo d