1 安装环境

1.1 Node.js

此处下载node-v9.11.1-x64版本,默认安装即可。安装完成后,Win+R打开CMD命令提示符输入node -v npm -v,输出版本号说明安装成功。

1.2 Git

此处下载Windows版本的Git。默认安装即可,不过添加路径时注意要选择“Use Git from the Windows Command Prompt”,这样就可以直接在命令提示符里打开Git。安装完成后,Win+R打开CMD命令提示符输入git --version,输出版本号说明安装成功。
可以看到鼠标右键菜单里多了“Git GUI Here”和“Git Bash Here”,一个是图形界面的Git操作,一个是命令行,我们使用的是“Git Bash Here”。

1.3 Hexo

安装

在桌面鼠标右键“Git Bash Here”,依次执行npm install hexo-cli -gnpm install hexo-deployer-git --save。前者是安装hexo,后者是安装hexo部署到git page的deployer。

初始化配置

根据自己喜好建立目录,如“D:\Hexo”,并在此文件夹下鼠标右键“Git Bash Here”,执行hexo init。完成后,Hexo 将会在指定文件夹中新建所需要的文件。
执行hexo s -g,第一次使用的话可能要开启Node.js防火墙,执行完不要关闭,登录“localhost:4000”查看本地效果。

2 部署博客

2.1 注册Github账号

注册一个 Github 账号,并进入电子邮箱验证。取消勾选“Github设置 - 电子邮件设置”里的“Block command line pushes that expose my email”,中文是“阻止命令行推送暴露我的电子邮件”,否则后面部署会失败。

2.2 创建项目代码库

新建仓库,命名为“yourname.github.io”(注意把yourname换成自己的用户名,文中凡出现yourname.github.io和youremail@example.com都要换成自己的用户名和邮箱地址,下文中不再提示),将“使用 README 初始化仓库”选项打勾。在设置中向下拉到最后,有个“GitHub Pages”,点击“Choose a theme”选择一个主题。再回到“GitHub Pages”,提示“Your site is published at https://yourname.github.io/”。点击它,就会出现自己的网页了。

2.3 配置 SSH 密钥

2.3.1 看看是否存在SSH密钥(keys)

首先,我们需要看本机是否存在SSH keys。执行cd ~/. ssh检查你本机用户home目录下是否存在.ssh目录,如果不存在此目录,则继续按步骤操作,否则已经存在ssh公钥和私钥,直接进入2.3.3操作。

2.3.2 创建一对新的 SSH 密钥 (keys)

执行ssh-keygen -t rsa -C "youremail@example.com",这将按照你提供的邮箱地址,创建一对密钥。显示:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa):

直接回车,则将密钥按默认文件进行存储。
接着,根据提示,你需要输入密码和确认密码(说到这里,如果你很放心,其实可以不用密码,就是到输密码的地方,都直接回车,所以每次 push 就只管回车就行了)。相关提示如下:

Enter passphrase (empty for no passphrase):回车
Enter same passphrase again:回车

输入完成之后,会显示如下信息:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db youremail@example.com

2.3.3 在 GitHub 账户中添加密钥

执行clip < ~/.ssh/id_rsa.pub将公钥的内容复制到剪贴板中。接着登陆 GitHub, 进入账户设置,点击 SSH和GPG密钥,右上角新增一个ssh key。标题随便填,粘贴内容,增加后会在SSH和GPG密钥的界面看到密钥。

2.3.4 测试

可以执行ssh -T git@github.com(git@github.com部分不要修改),看看设置是否成功。如果是下面的反馈:

The authenticity of host 'github.com (207.97.227.239)' 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)?

输入 yes 就好,然后会提示成功。

2.3.5 设置用户信息

依次执行git config --global user.name "yourname"git config --global user.email youremail@example.com进行个人信息的设置。

2.4 配置 SSH 密钥(重装时)

2.4.1 设置用户信息

依次执行git config --global user.name "yourname"git config --global user.email youremail@example.com,手动删除. ssh 文件夹(直接搜索该文件夹)下的“known_hosts”。
执行ssh-keygen -t rsa -C "youremail@example.com"
接着出现:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):

回车

/c/Users/Administrator/.ssh/id_rsa already exists.
Overwrite (y/n)?

回车
然后打开“C:\Users\Administrator.ssh\id_rsa.pub”,注意是隐藏文件夹,将其中的内容全部复制。

2.4.2 在 GitHub 账户中添加密钥

进入 https://github.com/,设置 - SSH 设置。新建一个 SSH,粘贴上述内容,名字随便。执行ssh -T git@github.com,提示

The authenticity of host 'github.com (76.54.232.124)' can't be established.
RSA key fingerprint is SHA256:nYHbg6kOPpJWGl7E1IGOCipRomTxdCBRXviKw6E5RY8.
Are you sure you want to continue connecting (yes/no)? 

输入 yes,直到出现“Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.”就成功了

2.5 将本地的 Hexo 文件更新到 Github 的库中

登录 Github 打开自己的项目 yourname.github.io,克隆 SSH,选择 SSH 类型地址,并复制下来。
打开站点配置文件,修改最后一行的配置,保存。

type: git
repository: git@github.com:yourname/yourname.github.io.git
branch: master

执行hexo g -d将博客部署到 Github 上。

3 更换主题

3.1 下载主题

进入HEXO官方主题站点,选择喜欢的主题,点击进入到它的 github 地址,下载zip格式主题,解压到hexo里的themes文件夹即可。

3.2 更换主题

打开 Hexo 文件夹下的站点配置文件_config.yml(themes里也有一个同名文件,是主题配置文件)
修改theme项为想要更换的主题名称。

4 写作

4.1 新建文章

可以执行hexo n "文章标题"会在项目“\Hexo\source_posts”中生成“文章标题.md”文件,用Markdown编辑器打开编写即可。也可以直接在“\ Hexo\source_posts”中新建一个md文件编写。

4.2 写作模板上的信息

title: postName #文章页面上的显示名称
date: 2018-12-31 12:30:40 #文章生成时间
categories: #文章分类目录,可空
tags: #文章标签,可空,多标签请用格式[tag1,tag2,tag3]
description: #概要信息

4.3 文字居中

在需要居中的文字首尾加上如下代码

<blockquote class="blockquote-center">
需要居中的文字
</blockquote>

4.4 控制摘要

在需要显示的摘要后面加上<!-- more -->

4.5 本地引用图片

绝对路径

当 Hexo 项目中只用到少量图片时,可以将图片统一放在“source/images”文件夹中,通过 markdown 语法访问它们。

source/images/image.jpg
![](/images/image.jpg)

图片既可以在首页内容中访问到,也可以在文章正文中访问到。

相对路径

图片除了可以放在统一的“images”文件夹中,还可以放在文章自己的目录中。文章的目录可以通过配置_config.yml来生成。将_config.yml文件中的配置项“post_asset_folder”设为true后,执行hexo new post_name,在source/_posts中会生成“post_name.md”和同名文件夹“post_name”。结构如下:

本地图片测试
├── apppicker.jpg
├── logo.jpg
└── rules.jpg
本地图片测试.md

将图片资源放在“post_name”文件夹中,文章就可以使用相对路径引用图片资源了。
![](image.jpg)
上述是 markdown 的引用方式,图片只能在文章中显示,但无法在首页中正常显示。
如果希望图片在文章和首页中同时显示,可以使用标签插件语法{% asset_img example.jpg This is an example image %}

5 其他

5.1 安装一些必要组件

简单的命令格式:

hexo g = hexo generate
hexo d = hexo deploy
hexo s = hexo server
hexo n = hexo new

以下是插件安装命令,如果在 node_modules 里面有的,就不要重复安装了。
安装hexo:npm install hexo-cli -g
安装 xxx 插件npm install xxx –save
安装部署到git page的deployer:npm install hexo-deployer-git --save
建立 RSS 订阅:npm install hexo-generator-feed --save
建立站点地图:npm install hexo-generator-sitemap --save
卸载 xxx 插件npm uninstall xxx
卸载hexo:npm uninstall hexo-cli -g(如果怕删除不干净的话,可以删除“%appdata%/npm-cache”这个文件夹,把上面的路径复制,粘贴到资源管理器的地址栏里面回车就能找到。或者删除 node 的安装目录下“node_modules/hexo-cli”这个文件夹,正常情况下运行了npm uninstall之后会自动删除,找不到这个目录才算正常)

5.2 执行命令

查看本地效果:执行hexo s -g,打开浏览器输入localhost:4000
部署到Github:依次执行hexo cleanhexo g -d,打开主页即可看到修改后的效果。

5.3 参考文章

【2018更新】小白独立搭建博客--Github Pages和Hexo简明教程
超详细Hexo+Github博客搭建小白教程