2019-10-16

MyHexo

Hexo+Github博客搭建过程

附上Hexo的官方文档文档|Hexo

Open to see more about this Blog

一、Hexo部分

1、首先在Linux系统上安装git :

1
$ sudo apt-get install git-core

可以通过终端输入git来查看是否安装成功。

2、安装Node.js:

我安装时,第一次是直接到官网上下载的二进制文件,然后解压。因为在后来的操作中出现了一些其他的问题,为了确保不是Node的问题,我又使用用nvm下载了一次。

1
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh

安装好nvm之后重启终端,再运行

1
$ nvm install node

在终端中输入

1
$ node -v

如果系统显示了node的版本信息,则说明安装成功了。在Hexo的官方文档里,对Node的版本建议为(Node.js 版本需不低于 8.6,建议使用 Node.js 10.0 及以上版本),我的是v8.10.0,也可以将就用。建议安装Node使用nvm,这是最佳方式。

3、安装Hexo

使用npm安装hexo,运行指令。注意,不要用sudo方法覆盖权限。

1
$ npm install -g hexo-cli

在这一步,也就是安装Hexo过程中遇到了最大的问题。出现了好多ERR!

后来在Hexo文档里找到了解决方法关于使用 -g 安装出现ERR问题的解决方法

按照解决办法里的方式,成功安装了Hexo。运行

1
$ hexo -v

可以确定是否成功安装Hexo.

4、建立Hexo文件

在想要建立Hexo文件的目录下打开终端,创建一个目录作为blog目录,并进行初始化:

1
2
3
$ hexo init floder
$ cd ~/floder/
$ npm install

floder 是你想要建立文件的名称,比如你想要建立一个名为“Hexo”的Hexo文件,需输入:

1
2
3
$ hexo init Hexo
$ cd ~/Hexo/
$ npm install

以下的步骤在floder文件终端进行:

进行本地预览要先安装hexo server,运行指令:

1
$ sudo npm install hexo-server

然后在文件夹终端中输入,生成静态页面并打开本地服务。

1
2
3
$ hexo g
$ hexo d
$ hexo s

即可生成一个本地预览的网页,将终端中出现的网络连接复制到网页,即可打开网页。

二、Github部分

首先要有自己的github账户。登陆github后建立一个新的仓库,即new repository.这个仓库的名字应该为以下格式
$$
你的用户名.github.io
$$
在创建库的时候注勾选里面的

Initialize this repository with a README

下面的终端命令同样要在floder中运行

需要安装Hexo-deployer.

1
$  npm install hexo-deployer-git --save

将Hexo和Github联结起来首先要设置Git用户信息:

1
2
$ git config --global user.name "你的Github的用户名"
$ git config --global user.email "你的Github的邮箱"

然后输入 cd ~/.ssh 检查是否生成了.ssh文件,然后在.ssh文件下输入

1
$ ls

出现目录下其他文件,说明存在。然后生成和自己账户连接的密钥:

1
$ ssh-keygen -t rsa -C "你的邮箱"

然后打开.ssh文件里的.pub文件,把里面的内容复制,然后添加到自己Github的ssh密钥中。

然后测试SSH Keys

1
$ ssh-T git@github.com

提示输入是输入yes,会出现success类的标志,表示成功。

进入自己在Github中建立的库,有个绿色按钮clone or download,选择里面的use SSH,将此网址复制。随后打开hexo文件里的_config.yml文件,有一个deploy部分。在type一项填入” git”,在repo一项把网址复制上,如果没有repo一项,则可以在type的下一行手动输入” repo: 网站”。(注意:repo和type要对齐,而且”:”和输入内容之间要有一个空格)完成后保存。

在Hexo文件下输入

1
2
$ hexo g
$hexo d

然后就可以通过

http://你的名字.github.io/

来访问自己的博客了,可能会有一定的延迟,等一会就可以了。