Hexo Tutorial - 基本搭建和配置
记录一次 Hexo 从零开始搭建的历程。
前言
很早就了解到可以通过 GitHub 托管静态网页,使用 Hexo 和 GitHub Pages 方便快捷地搭建个人博客网站,也一直想通过一种方式整理和管理知识,遂从零开始搭建、配置属于自己的博客网站。
注册 GitHub
GitHub 是一个面向开源及私有软件项目的托管平台。最好最详细的教程是 官方文档 望多查阅。以下是我简要说明,有错误还望指正包涵。
注册
验证邮箱
登录注册邮箱,验证账号。
创建仓库
通过 SSH 建立连接,详见 文档 ,使用 SSH 协议,每次访问可以无需用户名和密码连接 GitHub 。
检查是否已经存在 SSH keys
打开终端,使用ls -al ~/.ssh
查看,如果在.ssh
目录下存在文件列表,说明已经存在 SSH keys 。
$ ls -al ~/.ssh
total 24
drwx------ 5 gekang staff 160 9 26 10:03 .
drwxr-xr-x+ 115 gekang staff 3680 12 31 14:04 ..
-rw------- 1 gekang staff 1675 9 8 19:59 id_rsa
-rw------- 1 gekang staff 398 9 8 19:59 id_rsa.pub
-rw-r--r-- 1 gekang staff 2178 12 27 23:30 known_hosts
复制代码
如果没有 public key ,生成 SSH;如果已经有了,直接配置即可
# ssh-keygen -t rsa -C "yourmail@xxx.com"
Generating public/private rsa key pair.
<!-- 直接输入回车即可 -->
Enter file in which to save the key (/root/.ssh/id_rsa):
复制代码
要求输入密码,可以一路回车。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Kf8+luLAnbCkfUxraCX88K9x4WJHqym+WItUPr5sr yourmail@xxx.com
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| o + |
| . B . . |
| + o X S |
| .* S @ o |
| .o.= @ O . |
| o+B = =..+ |
|.+E+. ...+o. |
+----[SHA256]-----+
复制代码
配置 SSH
- 找到 id_rsa.pub 中的 public key ,位置如上路径,复制出 public key。 复制 public key 时,不要重起一行,添加空格,可以使用
pbcopy < ~/.ssh/id_rsa.pub
复制到剪贴板 - 进入 GitHub Setting 页面,配置 SSH。
- 创建 SSH ,title 任意输入,粘贴 public key ,然后 Add SSH key。
测试连接
ssh -T git@github.com
复制代码
可能看到警告:
The authenticity of host 'github.com (IP ADDRESS)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
复制代码
或
The authenticity of host 'github.com (IP ADDRESS)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
复制代码
验证 fingerprint ,然后 type yes 然后,
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
复制代码
简述 GitHub Pages
GitHub Pages是 GitHub 提供的一个静态网站托管服务。同样,官方文档是最好的教程。
GitHub Pages 可以用为两种类型:用户或组织主页;项目工程主页。
搭建个人主页,以username.github.io
名创建仓库
克隆仓库到本地
本地编辑个人静态主页
Push 到远程仓库。
此处说明,若使用 SSH ,创建 GitHub 已建立 SSH 连接,可以直接 Push;若无,建立连接,或者使用 Https 推送到远程仓库,其间需要输入用户名和密码。
以上若都成功,访问个人主页,https://username.github.io.
域名注册、绑定
我的个人主页是万网注册的域名,所以简述万网域名购买和绑定。同样也有很详细的文档
注册登录阿里云
购买域名,进入控制中心
管理域名,添加域名解析
GitHub 推荐使用 www 的二级域名,给域名添加解析,记录类型都是 A 记录,记录值全部对应刚才 ping 出来的 IP 。
添加CNAME文件到github仓库
由于hexo d
部署时,依据.gitignore
文件,会清除所有文件,所以如要将 CNAME 部署到 GitHub 中,必须将 CNAME 放置 source 文件夹中(可以放在后面 Hexo 安装后,初始化项目中 source 目录下)。CNAME 文件中是
# 域名为grackanil.top
# 二级域名
www.grackanil.top
# 一级域名
grackanil.top
复制代码
Hexo 安装
安装 Hexo 相当简单。官方文档
安装环境
如果安装了 Node.js
和 Git
,只需要使用 npm
即可完成 Hexo
的安装
$ npm install -g hexo-cli
复制代码
如果没有安装 Node.js
和 Git
,以下均为 Mac 环境下。
# 使用 brew 安装 git
brew install git
# 可以使用 cURL 安装 nvm
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
# 也可以 使用 Wget 安装 nvm
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
# 使用最佳安装方式:nvm 安装 Node.js
$ nvm install stable
复制代码
安装 Hexo
$ npm install -g hexo-cli
复制代码
初始化 Hexo 建站
# 初始化 Hexo,会在目标文件夹建立网站所需要的所有文件
$ hexo init <folder>
# 进入项目目录
$ cd <folder>
# 安装依赖包
$ npm install
# 查看项目第一层目录
$ tree -L 1
.
├── _config.yml
├── node_modules
├── package.json
├── scaffolds
├── source
├── themes
└── yarn.lock
# 更改后清除静态文件夹的内容并删掉
$ hexo clean
# 本地启动服务
# hexo generate ,生成静态文件到 public 文件夹
$ hexo g
INFO Start processing
...
INFO Generated: 2018/01/01/hello-world/index.html
INFO 28 files generated in 916 ms
# hexo server,在本地服务器运行
$ hexo s
INFO Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
复制代码
访问 http://localhost:4000/
部署到 GitHub,前提是已经注册 GitHub
,创建 username.github.io
仓库
安装 GitHub 依赖插件
$ npm install hexo-deployer-git --save
复制代码
配置更目录下的 _config.yml
文件
deploy:
type: git
repo: ssh://git@github.com/grackanil/grackanil.github.io
branch: master
复制代码
部署命令
# 部署,hexo deploy
$ hexo d
$ hexo d -g
复制代码
访问个人主页
访问 username.github.io,如 grackanil.github.io,根目录 source
下已经创建CNAME
,绑定自定义域名,可以访问域名。
主题安装
Hexo 安装主题很方便,只需要将主题文件拷贝至站点目录的 themes 目录下, 然后修改下配置文件即可。以安装NexT为例,可以访问NexT主题文档。
下载主题
# 进入站点目录
$ cd your-hexo-site
# checkout 代码
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
复制代码
修改站点配置目录
根目录下的站点配置文件
__config.yml,区别于主题目录下的主题配置文件
__config.yml。启动主题
theme: next
复制代码
验证主题
使用 hexo clean
来清除 Hexo 的缓存,启动服务 hexo s --debug
,待成功后,访问http://localhost:4000
小结
至此,简单的 NexT 默认配置主题的 Hexo 静态个人主页就搭建完成了。