Hexo系列之站点搭建篇

Hexo系列之站点搭建篇

安装Node.js

安装Node最好的方式是使用nvm进行安装,首先从git上克隆nvm项目:

1
git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

克隆完成使用,使用source命令,激活nvm:

1
. ~/.nvm/nvm.sh

然后在~/.bashrc添加nvm全局变量:

1
2
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

ok,搞定,开始安装nvm:

1
2
 nvm install 5.0
Downloading https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x64.tar.xz...

启动nvm

1
2
 nvm use 5.0
Now using node v5.0.0 (npm v3.3.6)

uninstal nvm

1
2
3
rm -rf ~/.nvm
rm -rf ~/.npm
rm -rf ~/.bower

安装Git

当然,kali已经默认安装git了。
ubuntu安装git:sudo apt-get install git-core

安装Hexo

一切准备就绪,开始安装Hexo吧:

1
2
 mkdir MyBlog #新建一个MyBlog目录,作为博客的存放地
root@jack:~/MyBlog# npm install -g hexo-cli

等待Hexo安装完毕,然后依次使用以下命令对hexo进行初始配置

1
2
root@jack:~/MyBlog# hexo init hexo
INFO Start blogging with Hexo!

Hexo 建站

Hexo安装完毕以后依次执行以下命令可以建立Hexo站了

1
2
3
4
5
6
7
8
9
10
11
root@jack:~/MyBlog# hexo init hexo  #执行命令时没有“<>”
#新建一个网站。如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站,"hexo"文件夹即是我们的博客网站。
root@jack:~/MyBlog# cd hexo/
npm install
#Hexo随后会自动在目标文件夹建立网站所需要的配置文件
hexo generate
#生成静态文件
hexo server
INFO Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
#启动hexo本地服务器访问网址为: http://localhost:4000/

配置Hexo主题

以hexo下的huno主题为例:https://github.com/onejustone/huno

在当前目录中/root/MyBlog/hexo
{即已经部署了hexo基本配置文件的文件夹}

1
git clone git://github.com/someus/huno.git themes/huno

然后更改更目录下_config.yml的theme属性为:huno即可更换主题

1
2
3
4
5
6
vim _config.yml

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: huno

用浏览器打开localhost:4000查看是否成功!

其它主题:

Maupassant一款极简的主题: https://github.com/tufu9441/maupassant-hexo/
nexT: nexT

第一篇文章

执行下列命令来创建一篇新文章

1
hexo new [layout] <title>

我们可以在命令中指定文章的布局(layout),默认为 post,可以通过修改 config.yml 中的 default_layout 参数来指定默认布局。

部署 Hexo 到 GitPages

配置和使用GitHub

Git安装完成后注册GitHub账号 GitHub, 并在
GitHub上创建onejustone.git.io仓库
以建立个人博客登录系统,在GitHub首页,点击页面右下角 New Repository 创建一个新project,
要在Pages上建立个人博客,Repository名字是特定的,即是必须是user_name.github.io的形式!点击 Creat Repository 完成。

通过SSH keys让本地git项目与远程的GitHub建立联系:

首先我们需要检查电脑上现有的ssh key:

1
2
$ cd ~/. ssh 检查本机的ssh密钥
# 如果提示:No such file or directory 说明你是第一次使用git。

生成新的 SSH Key:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ ssh-keygen -t rsa -C "邮件地址@youremail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<回车就好>

# 注意1: 此处的邮箱地址,你可以输入自己的邮箱地址;
# 注意2: 此处的「-C」的是大写的「C」

# 然后系统会要你输入密码:

Enter passphrase (empty for no passphrase):<输入加密串>
Enter same passphrase again:<再次输入加密串>

# 在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。

# 注意:输入密码的时候没有*字样的,你直接输入就可以了。

最后看到这样的界面,就成功设置ssh key了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ssh-keygen -t rsa -C "807527097@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
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:
4f:1c:9c:fa:91:53:8f:d2:16:9c:2b:6a:76:8a:3c:9b 807527097@qq.com
The key's randomart image is:
+---[RSA 2048]----+
| |
| . o . |
| + = |
| o = = |
| S O = . |
| = * |
| + + |
| ..= o |
| Eo. |
+-----------------+

配置 SSH keys

生成 SSH keys 以后,将 id_rsa.pub 里的字符复制下,准备添加到 GitHub 的 SSH keys 里。

可以输入下面的命令,看看设置是否成功,`git@github.com` 的部分不要修改:

1
2
3
4
5
6
7
$ ssh -T 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就好(此处会提示你输入刚才设置的密码),然后会看到:
# Hi onejustone! You've successfully authenticated, but GitHub does not provide shell access.

设置用户信息

现在你已经可以通过 SSH 链接到 GitHub 了,还有一些个人信息需要完善的,通过一下方式设置提交时的名称和邮箱:

1
2
git config --global user.name "jack"//用户名
git config --global user.email "onejustone@gmail.com"//写自己的邮箱

开始部署

部署需要安装 hexo-deployer-git 插件

1
npm install hexo-deployer-git --save

然后,进入MyBlog/hexo根目录下对_config.yml文件进行配置:

1
2
3
4
5
6
7
vim _config.yml
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: git@github.com:onejustone/onejustone.github.io.git
branch: master

博主这里使用的是 SSH Keys 如果你用了 HTTPS Keys 的话直接在 GitHub 里复制 HTTPS 的就行了,总共就两种协议。

然后命令行进入MyBlog/hexo里:

1
hexo clean && hexo generate && hexo deploy

ok,我们的小窝棚已经基本搭建好了,现在可以访问你的个人 GitHub 页面查看了我的是http://onejustone.github.io 对应的将 onejustone 改成你自己的 GitHub 账户名就行了!

为 GitHub Pages 绑定域名

  1. 登录 GitHub 在 onejustone.github.io 仓库的根目录下面,新建一个名为 CNAME 的文本文件,里面写入你要绑定的域名,比如 www.onejustone.xyz.

  2. 阿里 万维网 下注册域名,然后登陆阿里云控制台,找到 云解析 ,选择解析设置,点击新手设置,添加 GitPages 的IP地址: 192.30.252.153

  3. 通过浏览器,访问 http://www.onejustone.xyz, 就打开了我们建好的博客站点。

  4. 为防止 Hexo 部署后,CNAME 会被自动删除,需要在 source 文件夹,创建 CNAME(同时favicon.ico、images也可以在source文件下创建)。、

关于windows下中文乱码问题

在编辑文件的时候将文本的保存格式设置为UTF8格式保存!