基于 Hexo 搭建个人博客

摘要

博客由 GitHub 托管,采用 GitHub Pager 静态网页 + Hexo 博客框架 + NexT 主题,本文介绍了博客搭建的关键步骤。

工具安装

安装 Node.js

自定义安装路径,其余默认配置,一路 next

安装 Git 工具

自定义安装路径,其余默认配置,一路 next

使用 Git 工具安装 Hexo

鼠标右键 Git GUI 选择 Git Bash Here 执行 :

$ npm install hexo-cli -g

构建 HexoNode.js 等初始化环境,$ 是自动生成的。

GitHub 认证

配置 username 和 email

1
2
3
4
5
6
7
8
9
$ git config --global user.name "username" # 设置用户名
$ git config --global user.email "me@email.com" # 设置邮箱
$ git config --global user.name # 查看用户名
$ git config --global user.email # 查看邮箱
```
> 用户名和邮箱是任意的,影响不大。
### 生成认证指纹
$ ls ~/.ssh # 检查认证指纹 ssh key 设置,不区分大小。
$ ssh-keygen -t rsa -C "me@email.com" # C 为大写字母,其后为邮箱
1
> 输入 `ssh key` 保存位置,输入并确认密码,均可以直接回车默认。
$ ls ~/.ssh # 检查 ssh key
$ cat ~/.ssh/id_rsa.pub # 抓取配置中的 ssh key,可以先复制下来。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
> email 是用于生成 ssh key,可以是其他的,也可以理解为生成 ssh key 的一个`关键字`。
### 添加 ssh key
> GitHub 账号的 `Personal settings` 下 `SSH and keys` 中添加生成的 ssh key 。
### 创建仓库
> `GitHubName:GitHubName.github.io # GitHubName 为 GitHub 用户名,这是约定好的。`
### 创建连接
$ ssh -T git@github.com # T 不能为小写
> 测试本机与 GitHub 之间的 ssh key 连接/是否有效(或是否可以连接)
- 若第一次配置,最后出现 `Are you sure ...(yes/no)?` 字样,键入 `yes` 确认。
- 若配置过,会直接显示配置的用户名。
## 快速启动
### 初始化
$ hexo init X:\Blog # 在硬盘 X 分区,自定义 Blog 文件夹中初始化。
### 生成网页
$ hexo g # hexo generate 生成静态网页
### 启动服务
$ hexo s # hexo server 启动本地预览服务
> 本机 `localhost:4000` 或 `http://localhost:4000` 可以查看效果,
`https://localhost:4000` https 协议无法通过。
## 拉取仓库
$ git clone <repo> .deploy/xxx
或者
$ git clone <repo> .deploy/xxx
创建本地仓库,若直接下载解压,没有 `.git` 忽略文件,可以尝试 `git init` 指令,效果未知。
> `repo` 是仓库地址 `.deploy` 和 `xxx` 是文件夹
## 创建脚本
```
cd X:/Blog # 切换到网站根目录
hexo clean # 清除
hexo g # 生成
cp -R public/* .deploy/xxx # copy
cd .deploy/xxx # 切换目录
git add . # add
git commit -m "update" # 提交信息
git push origin master # 推送

更改 XBlog 对应到安装路径根目录

文章创建

创建新文件

$ hexo new Hello

生成网页

$ hexo g    

更换主题

每次更换主题前需要更改网站配置文件 _config.ymlthemes 节点对应的本地已有的主题名,Blog 安装目录/子目录下执行 $ hexo clean 清除旧主题,再执行静态网页生成 $ hexo g 、本地预览 $ hexo s、部署 $ hexo d 步骤。

themes 文件夹为主题相关的配置,根目录为网站相关的配置。

远程仓库

初始化本地

$ hexo init    

拉取到本地

$ git clone remoteRepoAdress # "remoteRepoAdress" 是远程仓库地址

添加多个远程仓库

  • git remote add origin remoteRepoAdress # 目前操作还有问题,待解决。
  • git remote set-url origin remoteRepoAdress # 改变 repo,但改变后的后续实现还有问题。
  • git remote # 查看远程仓库,返回结果一般为 “orgin” 。
  • git remote -v # 查看远程仓库地址,返回结果为:
    $ origin remoteRepoAdress (fetch) $ origin remoteRepoAdress (push)

    在实践过程中,还有问题没有搞好,找到一个解决方案

常用指令

  • $ git clone repo target repo 仓库地址,target 目标地址(本地文件夹)。
  • $ hexo g 生成部署文件
  • $ hexo s 开启本地预览服务
  • ctrl + c 停止本地预览服务
  • $ hexo d 推送到远程仓库
  • $ cd x 切换到 x 文件夹,非直接子目录无法切换。
  • $ cd x: 切换到 x: 分区,任意切换。
  • $ cd .. 回到上层目录
  • $ ls 列出所有文件和文件夹
  • $ ls *.md 列出所有扩展名为 .md 的文件
  • $ git status 查看当前状态
  • $ git -a == $ git add
  • 切换 键,切换历史键入记录,与 dos 不同的是:即使是不同的窗口或者窗口关闭过也是可以记录的。

更改主题或主题配置的执行顺序是:

  • 更改根目录 _config.yml 文件 themes 节点 –> $ hexo clean –> $ hexo g –> $ hexo s –> $ hexo d

本地预览和向服务器推送时,会有延时,多等待一会儿或多刷新几次就可以看到效果了。

常见问题

参考及收藏

网站

博客改造

本地预览

4000 端口

待改造

cloudxns
持续集成
基于 Hexo 的全自动博客构建部署系统

坚持原创技术分享,您的支持将鼓励我继续创作!