hexo+github我遇到的一些坑

1、项目名称

建的项目仓库名称一定要和账号名称一致

项目名称:用户名.github.io

最终的访问方式(ssh为例)git@github.com:用户名/用户名.github.io.git

项目仓库名称头与用户名不一致 无法使用 用户名.github.io这个地址访问。

2、网络环境

因为你懂的的原因,出现网络访问相关问题的时候加相关配置吧。

1
2
git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890

7890是你本地已经开好的可以使用的代理端口。

3、无法自动上载到GitHub

我遇到的现象是执行hexo d后

1
2
3
4
5
6
xxxxxxxxx ~/blog (main)
$ hexo d
INFO Validating config

xxxxxxxxx ~/blog (main)
$

无法成功上载到github。

我的做法:

github侧 pages 设置deployment Source - deploy from a Branch

Your GitHub Pages site is currently being built from the /docs folder in the main branch.

**1.**将docs目录设为发布根目录

**2.**在hexo本地项目目录下新建docs文件夹,并将预备发布的public下的文件复制到docs目录

**3.**通过git命令上传至GitHub(GIT环境已经配好并指向目标仓库)

1
2
3
$ git add docs
$ git commit -m docs
$ git push

hexo+github从0开始

1、安装git和node.js

想要验证安装是否成功,可以win+r输入cmd进入终端,输入node -v、npm -v和git –version,如果出现版本号说明安装成功。在文件资源管理器中右键,出现Open Git Bash here和Open Git GUI here。

2、连接GitHub和本地

在文件资源管理器中右键 - Open Git Bash here,打开git终端,设置用户名和邮箱
1
2
$ git config --global user.name "XXX"   
$ git config --global user.email "XXX"
创建ssh密钥文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ssh-keygen -t rsa -C "XXX"
$ ssh-keygen -t rsa -C "XXX"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/16450/.ssh/id_rsa):
/c/Users/16450/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/16450/.ssh/id_rsa
Your public key has been saved in /c/Users/16450/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:cL+QUv4y5bpwitP476Us/dK6hQmNwlridWJg4hcgeZg XXX@XX.com
The key's randomart image is:
+---[RSA 3072]----+
|.= |
|E o |
|..o. . o |
|.o o. B o |
| ...B = S o |
| ..* + o B . |
| o o..*.* |
| o.o=oB. |
| .oo+X*. |
+----[SHA256]-----+

.ssh/id_rsa.pub,用记事本打开。ctrl+a将所有内容复制到剪切板。

登录GitHub,点击右上角自己的头像 - setting,找到SSH and GPG keys,点击add SSH key:

将剪贴板中复制的密钥粘贴进KEY栏

检测是否连接成功:
1
$ ssh git@github.com

如果出现Hi xxx! You’ve successfully authenticated…的提示,就说明连接成功。

3.安装Hexo

使用 npm 安装 Hexo:

1
$ npm install -g hexo-cli

输入hexo -v即可查看是否安装成功。

1
2
3
4
5
选中创建的目录(文件夹)右键选择使用Gti Bash Here打开Git命令窗口(这就是开始安装的Git工具,现在开始使用)
也可以使用Windows的cmd命令行(不推荐)
(因为是从国外服务器下载,受网络的影响比较大,有可能会出现异常,所以我们需要连接国内淘宝官方的服务器来进行)
输入命令:npm install -g cnpm --registry=https://registry.npm.taobao.org
注:之后再次使用命令则是以cnpm开头~而不是npm

第一步:正式开始安装hexo

输入命令:cnpm install -g hexo-cli

第二步:初始化Hexo

输入命令:hexo init

(初始化成功后blog目录(文件夹)会多出许多文件)

执行完成之后,指定文件夹的目录如下:

.

├── _config.yml —> 网站配置信息

├── package.json —> 应用程序的信息

├── scaffolds —> 模板文件夹

├── source —> 放置资源文件。

| ├── _drafts

| └── _posts —> .md文件

└── themes

除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。

这时输入命令:hexo s

【hexo sever的缩写,作用是启动本地服务器,用于预览主题】

然后在浏览器输入localhost:4000即可以在本地浏览博客(自带一篇Hello World博客)

关闭 ctrl + c

编写文章

使用hexo的好处就在于不需要自己手写html,而只需要写md文档。

在source/_post文件夹中新建md文档。

md文档的开头需要添加以下内容:


title: 标题

tags: [标签1,标签2]

categories: [分类]

index_img: 主页封面图的相对路径

date: 2024-1-3


写好之后输入命令

$ hexo g

#将md编译成html保存到public文件夹中

$ hexo s #开启本地服务器查看网站 即可看到自己新添加的文章。

4发布到GitHub Pages

创建GitHub仓库

点击右上角加号,选择new repository。

仓库名称按照用户名.github.io的格式填写。选择public,勾选add a README file。

最后点击创建仓库即可。

配置_config.yml文档

打开hexo站点的根目录,找到_config.yml文件,使用记事本打开。文档的最后将

1
2
3
4
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ''

修改为

1
2
3
4
5
6
deploy:
type: git
repo: https://github.com/用户名/用户名.github.io.git

(或者git@github.com:用户名/用户名.github.io.git)【推荐】
branch: main

到这里就可以进入git终端,

输入命令hexo d

将public文件夹提交到仓库中。不一会就能看见仓库中出现了一个新的main分支,里面有上传的public文件夹的内容。