简介

hexo搭建博客,从gitee迁移过来,重新梳理记录一下

一、准备好nodes, npm, hero

1. 安装hexo
1
2
npm install hexo-cli -g
// 安装完,hexo -v查看版本号
2. 初始化
1
2
hexo init blog(项目名字)
// 初始化完,会有个blog文件夹,可能是新版本在init中执行了npm install,cd blog进入,此时已经有了node_modules

此处可能的问题:

初始化失败报错no such file可能是github被墙了

3. 清除部署目录-public文件夹
1
sudo hexo clean
4. 重新将md生成html
1
sudo hexo g
5. 启动本地服务
1
sudo hexo s
6. 部署
1
sudo hexo d

此处可能的问题:

1.remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead

原因:github出于安全考虑,将密码换成token

解决:

(1)打开Github,在个人设置页面,找到【Setting】,然后打开找到【Devloper Settting】

(2)选择个人访问令牌【Personal access tokens】,然后选中生成令牌【Generate new token】

(3)生成token后保存下来,以便进行后面的操作。把token直接添加远程仓库链接中,这样就可以避免同一个仓库每次提交代码都要输入token了。

1
git remote set-url origin https://<token>@github.com/<username>/<repository>.git/

2.git报错fatal: unable to access ‘https://github.com/.......‘: OpenSSL SSL_read: Connection was reset

原因:一般是这是因为服务器的SSL证书没有经过第三方机构的签署

解决:解除ssl验证后,再次git即可

1
git config --global http.sslVerify "false"

3.err: Error: Spawn failed

原因:问题大多是因为git进行push或者hexo d的时候改变了一些.deploy_git文件下的内容。

解决:清除.deploy_git文件和public文件夹,重新生成和部署

7. 生成文章
1
2
hexo n 文章名
// 生成文件在 source/_posts
8.生成标签和分类页,必须手动生成和配置,否则没有,浏览器打不开
1
2
3
4
hexo new page categories
hexo new page tags
// 生成后去 /source/categories/index.md,默认只有title和date两项,需添加type:"categories"和layout:"categories"两项
// 生成后去 /source/tags/index.md,默认只有title和date两项,需添加type:"tags"和layout:"tags"两项
9.主题,butterfly:https://butterfly.js.org/posts/4aa8abbe/
1
2
3
// 本地搜索功能插件
npm install hexo-generator-search --save
// 安装后,去主题配置文件_config.butterfly.yml(这个文件由主题中的config文件(node_modules中的hexo-theme-butterfly中的_config.yml)复制到根目录然后用于修改)。修改local_search的enable为true

二、准备GitHub/gitee(审核机制离谱,优化前不建议用gitee)

原文带图:https://blog.csdn.net/qq_46922488/article/details/119348718

1.点击Create repository新建一个仓库

2.仓库名字一定要和自己账号的名字一样,后面一定要加**.github.io,选择Public公开储存库,最后Add a README file添加README文件的勾也要勾上,点击Create repository**创建储存库就完成了

3.进入储存库后点击Settings,往下滑找到GitHub Pages。

4.点击Check it out here!,将Source里的Branch分支改成main,点击Save就好了,如果已经是这样了那就不用改了。

5.输入git config --global user.name "你GitHub账号的名字",

再输入git config --global user.email "你GitHub账号的邮箱"

6.然后输入ssh-keygen -t rsa -C "你GitHub账号的邮箱"来生成SSH Key,中途按3次回车。

7.然后输入cat ~/.ssh/id_rsa.pub输出SSH Key,然后全部复制下来。

8.然后打开GitHub点击自己的头像,再点击Settings,再点击SSH and GPG keys,然后再点击New SSH key,然后输入SSH key的名字,随便取,再输入刚才复制的SSH key,点击Add SSH key就添加好了。

9.然后打开博客blog文件夹里面的**_config.yml**文件,修改最后一行的配置:

1
2
3
4
deploy:
type: git
repository: https://github.com/***/***.github.io
branch: master

10.然后在cmd上输入npm install hexo-deployer-git --save安装GitHub推送插件

11.安装好了以后再输入hexo g生成静态网页,再输入hexo d上传到GitHub就可以了

12.接着把设置中的Github Page里的分支改成master就好了,如果已经是这样了那就不用改了。

三、typora

1.偏好设置-设置相对路径

2.格式-图像-设置图像根目录

完成这两步才能保证图片在本地选择后生成文章并部署到服务器时路径能被访问到