【方法】Git+NodeJS+Hexo+Github搭建博客的方法

参考博客:

  1. 从零开始搭建:https://fanyfull.github.io/2021/10/16/Github-Hexo-真-从零开始搭建-GitHub-静态博客/
  2. butterfly主题配置参考:https://butterfly.js.org/tags/butterfly/page/2/
  3. gitpage使用参考:https://docs.github.com/zh/pages/quickstart
  4. hexo配置文档:https://hexo.io/zh-cn/docs/
  5. butterfly主题详解:https://www.mahaofei.com/post/a33e3ec
  6. yun主题:https://github.com/YunYouJun/hexo-theme-yun

Github创建仓库

  • https://github.com/
    登录 GitHub 账号,新建一个名为 username.github.io的仓库。记下自己的用户名邮箱。记得

NodeJS安装与配置

  • 下载:https://nodejs.org/
  • 记得勾选add to path,要不还得自己去把D:\~\Git\cmd添加到环境变量Path里。
  • 安装完成后cmd中使用node -vnpm -v验证安装。

Git安装与配置

1. 默认安装即可,安装完成后去目录C:\Users\用户名\.ssh右键后点击Open Git Bash Here
2. 使用以下代码配置用户名邮箱,替换成自己github的即可。

1
git config --global user.name "user_name"
1
git config --global user.email "user_email"

3. 使用以下命令生成密钥对,推荐是起个比较独特的名字之后好找,然后也推荐使用口令保护自己的私钥,这里的口令相当于智能密码钥匙的PIN,都是用来保护私钥的,如果私钥文件泄露,别人不知道你的口令也无法使用该私钥。

1
ssh-keygen -t rsa -C "user.email"

执行完成后会在.ssh文件夹下生成两个文件“文件名”,“文件名.pub”,比如githubiobloggithubioblog.pub,前者是私钥,后者是公钥,私钥是需要保密的,公钥是公开的。使用下面的命令查看自己的密钥:ssh-add -l,如果返回说没有密钥,那就用这条命令添加私钥文件ssh-add 文件名,这条命令会添加C:\Users\用户名\.ssh\文件名路径下的私钥文件。

为了避免以后每次开一个git终端都要添加一次密钥,在.ssh文件夹下建一个文件config,内容用记事本写入,用户名和文件名替换成自己的用户名和私钥文件名

1
2
3
4
5
Host * 
IgnoreUnknown UseKeychain
AddKeysToAgent yes
UseKeychain yes
IdentityFile C:\Users\用户名\.ssh\文件名

4. 在Github访问https://github.com/settings/ssh/new将公钥告知Github,名称按自己喜好填,作用选择Auth认证用,然后将公钥用文本文档打开将内容粘贴上去,公钥格式大概是这样,中间隐去了。

1
ssh-rsa AAAAB3NzaC1yc2EAA……XXX……8Kk= lyy4XXX@XXX.com

5. 使用如下命令让ssh-agent启动,执行完以后看不到什么但其实已经启动了。之后每次ssh连接的时候都需要先启动ssh-agent。

1
ssh-agent bash

6. 使用如下命令测试与github的连接是否成功。

1
ssh -T git@github.com

**7. **可选配置代理,如果有的话,socks是使用如下命令,端口需要替换成自己的:

1
2
git config --global http.proxy 'socks5://127.0.0.1:端口'
git config --global https.proxy 'socks5://127.0.0.1:端口'

比如我使用hysteria2的话可以用如下命令

1
2
git config --global http.proxy 'http://127.0.0.1:7897'
git config --global https.proxy 'http://127.0.0.1:7897'

使用cnpm替代npm命令

npm命令因网络原因用不了的话,可以在Git Bash中使用以下命令安装cnpm,然后就可以用cnpm替代npm命令了。
npm install cnpm -g --registry=https://registry.npmmirror.com


Hexo本地安装与配置

  1. 随便路径打开一个终端(文件夹地址栏输入cmd回车),输入下面的指令安装Hexo
1
npm install -g hexo-cli

网不好的可能会慢,界面也没啥进度提示,反正等到返回added多少多少package就是安装完了。使用这个命令测试一下npx hexo能执行就ok。

  1. 建立一个文件夹用于存放博客文件,然后在该文件夹下开个cmd终端(文件夹地址栏输入cmd回车),输入hexo init进行本地博客目录初始化。如果网络不通可以尝试使用上面的代理配置。

  2. 清理静态文件,生成静态文件,换了主题、写了文章之类修改后清理旧文件,生成新文件。

1
hexo clean
1
hexo g
  1. 启动本地服务进行预览,输入命令后访问http://localhost:4000/应该就能看到本地页面了。
1
hexo s

(可选)Hexo更换主题butterfly

可以去https://hexo.io/themes/挑,这里以butterfly为例:
预览:https://butterfly.js.org/
仓库:https://github.com/jerryc127/hexo-theme-butterfly
安装教程:https://butterfly.js.org/tags/butterfly/page/2/
一些其他主题

1
2
3
4
网址导航:
https://github.com/HCLonely/hexo-theme-webstack
明日方舟
https://github.com/Yue-plus/hexo-theme-arknights

如果要切回默认的修改_config.yml中theme为默认的theme: landscape即可


Hexo上传github并进行同步

Git Bash安装部署组件:
cnpm install hexo-deployer-git --save
安装完成后使用hexo d即可部署到github上。
然后进入对应仓库Settings页面


Hexo文章操作

  1. 新建文章
1
hexo new post 【文章名】
  1. 新建分类
1
hexo new page categories

找到source/categories/index.md并添加type: "categories"
3. 新建标签

1
hexo new page tags

找到source/tags/index.md并添加type: "tags"
4. 分类和标签的使用
文章的开头添加相关分类即可,比如:

1
2
3
4
5
6
7
8
title: 【方法】Github+PicGO搭建图床
date: 2024-07-26 11:07:37
tags:
- 图床
- Github
- 自建
categories:
- 【方法】

【方法】Git+NodeJS+Hexo+Github搭建博客的方法
https://eudonomia.eu.org/posts/ad3c2edd.html
作者
Eschaton
发布于
2024年7月26日
许可协议