hexo+github+picgo部署博客

2025年12月28日

GitHub 个人令牌失效:重新生成

在 GitHub 官网重新生成个人访问令牌,生成「经典」个人访问令牌。

  1. 访问经典令牌生成页:https://github.com/settings/tokens
  2. 点击右上角「Generate new token」→ 选择「**Generate new token (classic)**」
  3. 配置项:填写令牌名称、有效期,勾选核心权限 repo(仓库所有操作权限)
  4. 点击底部「Generate token」,立即复制令牌并保存。
  5. 然后把令牌复制到picgo的图床设置即可。

Picgo同步删除图片的插件

下载链接Releases · Molunerfinn/PicGo

最终下载版本PicGo-Setup-2.4.0-x64.exe

在该版本内搜索 github-plus 插件并安装:github-plus 1.2.3

配置

1
2
3
4
5
repo 你的仓库名
brach分支,默认 master
token 就是在GitHub生成的个人令牌
path 路径,例如:我填写 img,我的仓库中就会有一个img的文件夹存放我的图片
customUrl 自定义url,由于GitHub在国内的访问速度比较慢可以使用jsdelivr 进行cdn加速,格式一般为:https://cdn.isdelivr.netlgh/user/repo@version/file


2025年1月23日

静态博客:是指没有后端数据库的博客,所有文章都是以文件的形式存储,是一种纯前端的博客框架。

一、准备工具

Hexo是通过Node.js生成的。

1.下载并安装Node.js

win+R #进入终端

node -v #查看node版本,v20.18.0,显示版本号,则说明安装成功

2.安装Hexo框架

Node.js的包管理器,称为npm。

发布者将自己的代码发布(npm publish)到代码仓库(registry),使用者将自己需要的包写入package.json文件中,到代码仓库中把代码下载(npm install)下来。

win+R进入终端

npm -v #查看npm版本,11.0.0

由于npm代码仓库的服务器在国外,由于Great Firewall的缘故,下载速度可能不尽如人意,这时你可以使用淘宝的npm代码仓库,通过cnpm来操作下载速度会得到很大提升,但包的版本不一定是最新的。

npm install -g cnpm –registry=https://registry.npm.taobao.org #通过npm安装cnpm

cnpm -v #查看cnpm版本

npm install -g hexo-cli #安装hexo框架

hexo -v #查看版本

3.安装git工具

下载网址https://git-scm.com/downloads/win

安装版本

安装版本号

配置用户名和邮箱

很重要,因为每一个都会使用这些信息,它们会写入道每一次提交中,不可更改。

签名的作用是区分操作者的身份,用户的签名信息在每一个版本的提交信息能够看到,以此确认本次提交的是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。这里设置用户签名和将来登录GitLab(或者其他代码托管中心)的账号没有任何关系。

在桌面任意位置右键,点击Git bash here,在弹出界面中输入

输入git config –global –list 命令,检查配置好没有

安装完成后,确保将 git 的可执行文件所在的目录添加到系统的环境变量中。

安装路径

设置环境变量

系统变量中Path,编辑E:\git\Git\cmd

二、搭建仓库

github

1.搭建仓库

https://github.com/网址准备一个账号

新建一个仓库

仓库名(Repository name)是要和github的名字一样,例如github名字叫aaa,仓库名字就必须是aaa.github.io,不能是bbb.github.io之类的。

Repository name : tangxtang1119.github.io

勾选Public和Add a README file

然后点击创建Create repository

三、配置ssh key

github

1.生成SSH Keys

进入任意文件夹,右键空白处然后点Git bash here,输入

ssh-keygen -t rsa -C “邮件地址”(注意是大写C)

生成SSH Keys

连续敲4次Enter

然后进入C:\Users\tangxtang.ssh,用记事本打开id_rsa.pub,全选复制这串代码

id_rsa :私钥文件

id_rsa.pub:公钥文件

打开github

进入用户设置,找到SSH and GPG keys

选择New SSH Key新建SSH keys,名称随意,在下面粘贴代码

然后创建

2.测试SSH Key配置

在git bash 输入

ssh -T git@github.com

最后提示ssh: connect to host github.com port 22: Connection refused这个错误提示的是连接github.com,访问22端口被拒绝了。

尝试连接github的443端口,在C:\Users\tangxtang.ssh\config文件里新建记事本,添加以下内容:

Host github.com

 Hostname ssh.github.com

Port 443

如果没有config文件就新建一个即可。

如果执行命令ssh -T git@github.com,还是报错,就执行命令

ssh -T -p 443 git@ssh.github.com

如果提示Hi xxxxx! You’ve successfully authenticated, but GitHub does not provide shell access. 就表示一切正常了。

四、本地部署

1.创建目录

由于Hexo的所有文章都是以文件的形式存储在目录下的,

新建一个目录,文件名设置为first-blog,再次目录下继续操作。路径:

E:\myself\self-blog\first-blog

2.初始化博客

hexo init

3.新建文章

hexo new “BlogName”(BlogName是你的文章名称)

会在source/_posts目录下生成BlogName.md文件,可以vim或其他的Markdown编辑器进行修改。

4.生成博客静态文件

hexo g(g表示generate),生成博客静态文件

每次修改文章后。都需要通过hexo clean清理一下

然后通过hexo g重新生成

最后也不要忘了通过hexo s重新启动Hexo

5.启动博客

hexo s(s代表server,默认端口号是4000)

四、如何让把个人博客部署到远端

进入博客文件夹,用记事本打开——config.yml

拉到最后将deploy后面的全删掉,复制粘贴以下这段:

type: git

repository:

branch: main

注意缩进格式:每行前面都有两个空格不要删了,每个冒号后面都有个空格也不要删

去GitHub之前生成的仓库页面,点击code,复制https链接

将其粘贴到记事本中的repository:后面

然后保存退出

回到博客文件夹,git bash

安装自动部署发布工具

npm install hexo-deployer-git –save

执行命令时报错

尝试方法:

cnpm install hexo-deployer-git –save

(cnpm会创建文件夹的引用,而npm不会,具体原因不明白)

更改后,上传出现报错

解决报错的地方就是22端口问题,就是连接超时。

解决办法:

手动修改hosts文件修改访问github.com的IP地址

修改hosts文件

文件位置C:\Windows\System32\drivers\etc\hosts,修改用户权限,开放修改和写入的权限,再编辑hosts文件。添加github.com的IP地址和域名。如下:

140.82.112.3 github.com

151.101.1.194 github.global.ssl.fastly.net

151.101.65.194 github.global.ssl.fastly.net

151.101.129.194 github.global.ssl.fastly.net

151.101.193.194 github.global.ssl.fastly.net

185.199.108.153 assets-cdn.github.com

185.199.109.153 assets-cdn.github.com

185.199.110.153 assets-cdn.github.com

185.199.111.153 assets-cdn.github.com

刷新DNS解析缓存并验证

在我们访问一个域名(网址)时,系统首先会从本地DNS缓存中读取该域名所对应的IP地址。如果系统无法在DNS缓存中找到对应的IP地址,则去查询DNS服务器,获取该域名的解析结果,并将解析结果缓存到本地DNS缓存中,以便下次访问该域名时可以快速地获取IP地址。

1.刷新DNS解析缓存

ipconfig /flushdns命令可以清除所有的DNS缓存,让系统重新去查询DNS服务器,获取最新的解析结果。

  1. 验证

在浏览器中输入网址:github.com,成功访问

五、如何给个人博客更换主题

GitHub 克隆仓库

国内直接从 GitHub 克隆仓库的速度可能非常慢容易失败,影响开发效率。本文将分享几种加速 git clone 的方法,显著提升克隆速度。

方法:使用 ghproxy 代理服务(推荐)

ghproxy 是一个 GitHub 镜像代理服务,它会将你的请求先发送到代理服务器,然后由代理服务器快速地从 GitHub 获取数据,并返回给你。这种方式能够显著提升 git clone 的速度。

https://hexo.io/themes/官网选择自己喜欢的主题更换

使用 ghproxy 代理进行 git clone

通过以下命令使用 ghproxy 代理来加速克隆操作:

git clone https://mirror.ghproxy.com/https://github.com/USERNAME/REPOSITORY

例如,克隆一个名为 dockerfiles 的仓库,可以使用如下命令:

git clone https://mirror.ghproxy.com/https://github.com/stilleshan/dockerfiles

下载后把文件移动到themes文件夹中。

解决部署到 Github Page 后无 CSS 样式的问题

方法很简单,在 hexo 根目录下 _config.yml配置文件中,找到对 URL 部分的配置,其他配置选项不动,仅修改 url 选项,如下:

# URL

##Set your site url here. For example, if you use GitHub Page, set url as ‘https://username.github.io/project

url: https://eternaldeath.github.io/你的仓库名/

url 放置完整的路径,如果你是在 Github Page 上部署自己的博客,那么则无需添加“你的仓库名”部分,如果你是对某个仓库创建的 Github Page,则需要加上你的仓库名

创建页面(导航栏列表项)

列表项名:类别

hexo new page categories

然后将以下代码粘贴到文件中:

/source/categories/index.md

-–

title: categories

type: categories

layout: “categories”

-–

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2025 唐小唐
  • 访问人数: | 浏览次数: