什么是 Hexo?

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

image-20210216183017972

安装

安装 Hexo 只需几分钟时间,若您在安装过程中遇到问题或无法找到解决方式,请提交问题,我们会尽力解决您的问题。

安装前提

安装 Hexo 相当简单,只需要先安装下列应用程序即可:

  • Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)
  • Git

如果您的电脑中已经安装上述必备程序,那么恭喜您!你可以直接前往 安装 Hexo 步骤。

如果您的电脑中尚未安装所需要的程序,请根据以下安装指示完成安装。

安装 Git

  • Windows:下载并安装 git.
  • Mac:使用 Homebrew, MacPorts 或者下载 安装程序
  • Linux (Ubuntu, Debian):sudo apt-get install git-core
  • Linux (Fedora, Red Hat, CentOS):sudo yum install git-core

Mac 用户

如果在编译时可能会遇到问题,请先到 App Store 安装 Xcode,Xcode 完成后,启动并进入 Preferences -> Download -> Command Line Tools -> Install 安装命令行工具。

Windows 用户

对于中国大陆地区用户,可以前往 淘宝 Git for Windows 镜像 下载 git 安装包。

安装 Node.js

Node.js 为大多数平台提供了官方的 安装程序。对于中国大陆地区用户,可以前往 淘宝 Node.js 镜像 下载。

其它的安装方法:

  • Windows:通过 nvs(推荐)或者nvm 安装。
  • Mac:使用 HomebrewMacPorts 安装。
  • Linux(DEB/RPM-based):从 NodeSource 安装。
  • 其它:使用相应的软件包管理器进行安装,可以参考由 Node.js 提供的 指导

对于 Mac 和 Linux 同样建议使用 nvs 或者 nvm,以避免可能会出现的权限问题。

Windows 用户

使用 Node.js 官方安装程序时,请确保勾选 Add to PATH 选项(默认已勾选)

For Mac / Linux 用户

如果在尝试安装 Hexo 的过程中出现 EACCES 权限错误,请遵循 由 npmjs 发布的指导 修复该问题。强烈建议 不要 使用 root、sudo 等方法覆盖权限

Linux

If you installed Node.js using Snap, you may need to manually run npm install in the target folder when initializing a blog.

安装 Hexo

所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。

1
npm install -g hexo-cli

安装完成后可用hexo -v查看一下版本

至此就全部安装完了。

进阶安装和使用

对于熟悉 npm 的进阶用户,可以仅局部安装 hexo 包。

1
npm install hexo

安装以后,可以使用以下两种方式执行 Hexo:

  1. npx hexo <command>

  2. 将 Hexo 所在的目录下的 node_modules 添加到环境变量之中即可直接使用 hexo <command>

1
echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile

Node.js 版本限制

我们强烈建议永远安装最新版本的 Hexo,以及 推荐的 Node.js 版本

Hexo 版本 最低兼容 Node.js 版本
5.0+ 10.13.0
4.1 - 4.2 8.10
4.0 8.6
3.3 - 3.9 6.9
3.2 - 3.3 0.12
3.0 - 3.1 0.10 or iojs
0.0.1 - 2.8 0.10

初始化

首先,进入一个你在本机存放Hexo Blog的路径

1
2
3
4
cd /Volumes/Data/XXX    //这是你的文件存放路径
hexo init hexoblog //hexoblog可以自己取文件夹名
cd hexoblog //进入这个hexoblog文件夹
npm install

新建完成后,指定文件夹目录下有:

1
2
3
4
5
6
7
8
9
10
11
tree -L 1
.
├── _config.yml
├── node_modules
├── package-lock.json
├── package.json
├── scaffolds
├── source
└── themes

4 directories, 3 files

接下来,生成博客文件并本机预览

1
2
hexo g
hexo server

打开hexo的服务,在浏览器输入localhost:4000就可以看到你生成的博客了。

image-20210216183317119

创建仓库及添加SSH

首先,你先要拥有一个GitHub账户,没有就去注册一个吧。

注册完登录后,在GitHub.com中号中看到一个New repository,新建仓库

image-20210216183504861

创建一个和你用户名相同的仓库,用户名后面加上.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是如果用户名是user,则新建的仓库名为user.github.io,其中abcd就是你注册GitHub的用户名。

点击Create repository

添加SSH到Github中

在你自己的机器中控制台中输入

1
2
git config --global user.name "yourname"
git config --global user.email "youremail"

这里的yourname输入你的GitHub用户名,youremail输入你GitHub的提交邮箱。这样GitHub才能知道你是不是对应它的账户。

可以用以下两条,检查一下你有没有输对

1
2
git config user.name
git config user.email

然后创建SSH,一路回车

1
ssh-keygen -t rsa -b 4096 -C "youremail"

这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。

image-20210216183918185

SSH,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。

而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key把你的id_rsa.pub里面的信息复制进去。

image-20210216184102048

在gitbash中,查看是否成功

1
ssh -T git@github.com

提示下面内容则为验证成功。

1
Hi ollyhsu! You've successfully authenticated, but GitHub does not provide shell access.

hexo部署到GitHub

这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml,翻到最后,修改为YourgithubName就是你的GitHub账户

1
2
3
4
5
6
7
deploy:
type: git
repo:
github: git@github.com:YourgithubName/YourgithubName.github.io.git
#coding: git@e.coding.net:YourTeamName/YourName/YourName.git
#gitee: git@gitee.com:YourName/YourName.git
branch: master

这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。

1
npm install hexo-deployer-git --save

然后

1
2
3
hexo clean         //清除之前生成的文件
hexo generate //生成静态文章,可以用 hexo g 缩写
hexo deploy //推送博客文件,可以用hexo d缩写

注意deploy时如果使用HTTPS远程链接可能要你输入username和password。

得到INFO Deploy done: git就说明部署成功了,过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!

设置个人域名

现在你的个人网站的地址是 yourname.github.io,如果觉得这个网址逼格不太够,这就需要你设置个人域名了。但是需要花钱。

注册一个阿里云账户,在阿里云或者腾讯云上买一个域名,我买的是 ollyhsu.com,各个后缀的价格不太一样,比如最广泛的.com就比较贵,看个人喜好咯。

你需要先去进行实名认证,然后在域名控制台中,看到你购买的域名。

解析进去,添加解析。

我需要Github绑定www.ollyhsu.com,那么我在云解析控制台里添加主机记录为www,记录类型为CNAME,记录值为 [YOUR USERNAME].github.io
注意,解析线路选择默认!!

登录GitHub,进入之前创建的仓库,点击settings,设置Custom domain,输入你的域名www.ollyhsu.com

image-20210216184453265

然后在你的博客文件source中创建一个名为CNAME文件,不要后缀。写上你的域名。

image-20210216184531399

最后,在终端中,输入

1
hexo clean && hexo g && hexo d

过不了多久,再打开你的浏览器,输入你自己的域名,就可以看到搭建的网站啦!

接下来你就可以正式开始写文章了。在source/_post中打开markdown文件,就可以开始编辑了。当你写完的时候,再

1
hexo clean && hexo g && hexo d

之后就可以看到更新了。