抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

这应该是重新学习部署hexo的第5遍了!!😫
真心不想每次重新在新环境中搭建都这么麻烦,于是把记录写的详细一点

安装及初始化步骤

  • 网址nodejs.org安装node的LTS版本(长期支持版),安装位置可以自定义,安装时选择了安装一个chocolatey的包,不知道是什么,它会自动补齐python、vs的运行环境之类的(这个安装可能要耗费至少半个小时的时间,可以先放在一旁)。安装后在win的命令行查看node和npm包的版本
terminal
1
2
node -v
npm -v
  • 之后下载一个cnpm,来镜像安装一些东西。安装完成后查看cnpm有没有安装好。
terminal
1
2
npm install -g cnpm --registry=http://registry.npm.taobao.org
cnpm -v
  • 查看cnpm版本时可能报错,是因为windows系统的设置导致无法运行脚本。于是敲入下面的代码,回复A选择“全是”
terminal
1
2
set-ExecutionPolicy RemoteSigned
"A"
  • 安装hexo以及相关依赖,以及验证版本。创建自己的博客主目录,之后所有的操作都在这个文件夹中进行,要是博客遇到不可逆的问题,直接删除就好了,对其他东西没有任何影响。
terminal
1
2
npm install -g hexo-cli
hexo -v
  • 之后最主要的操作,创建hexo博客
terminal
1
hexo init
  • 之后就是hexo的基础操作
terminal
1
2
3
4
hexo s  启动本地服务器,执行预览操作
hexo n "title" 创建新文章post
hexo clean 每次要更新博客内容前,需要执行此操作
hexo g 清理完之后生成新的内容即可

如何部署到github上

  1. 首先在github中新建一个库,库的名字必须是—账户名.github.io
  2. 之后在博客文件目录下安装一个git部署的插件
terminal
1
2
注意目录是在博客文件目录中 本机是F:\zyc_github_repo\hexo_blog
cnpm install --save hexo-deployer-git
  1. 打开主目录中的博客配置文件_config.yml,最下面有一个# deployment单元,修改并添加内容
terminal
1
2
3
4
5
注意下面每个冒号后都有一个占位符,并且这里对应部署的库事delayzzz,可能不同
deploy
type: git
repo: https://github.com/delayzzz/delayzzz.github.io.git
branch: master
  1. 最后就是部署到远端的指令。
terminal
1
hexo d  可能需要输入github的账号和密码
  • 注意这里遇到问题,可能电脑没安装git,必须要先安装,安装好后要在该目录下进行git的初始化,否则即报错不存在git repository。并且我认为最好把这个本地博客和远程github上对应的仓库关联上。!!注意注意!!第二句的“仓库地址”必须清楚,是https格式还是ssh格式,建议是ssh格式,因为等外网总会有时候行又不行的。那这个需要在本地创建一个ssh密钥并关联到github账号里!
terminal
1
2
git init
git remote add origin 仓库地址
  • 部署远端github上还是有时候会有问题,下面介绍一下解决过程
terminal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
一开始会报错
fatal: unable to access 'https://github.com/delayzzz/delayzzz.github.io.git/': OpenSSL SSL_read: Connection was reset, errno 10054

之后百度查是什么问题,解决问题是敲入指令
git config --global http.sslVerify "false"

敲入之后在尝试远程部署,发现换了另一种报错
fatal: unable to access 'https://github.com/delayzzz/delayzzz.github.io.git/': Failed to connect to github.com port 443: Timed out

这个我看有人回答是因为网络不行,毕竟github总在需不需要翻墙的问题上左右横跳,试了很多方法都不行。
突然看到有人说,这个可以用SSH上传的方式解决,于是我就在本机上增加了delayzzz账号的ssh密钥。并且关联了这个目录到远程仓库
git remote add origin https://github.com/delayzzz/delayzzz.github.io.git

没用啊?还是会报错超时。此时我分析了一下,如果是网络的问题,那我用https格式那确实解决不了问题,需要用ssh格式来同步应该才有用
git remote add origin git@github.com:delayzzz/delayzzz.github.io.git

还是没用?我眉头一紧,定睛一看,hexo远程部署的远程url是之前在_config.yml里定义的,所以必须把那里的repo改成ssh格式的!有点道理把!
repo: git@github.com:delayzzz/delayzzz.github.io.git

远程部署没出现问题了,nice
  • 此时捏🐎的又有个问题,就是hexo默认主题的readme文档里有个字符还是tag,github上传但是编译不通过,应该不能正常展示html页面,目前只是把那个readme文档整个删除了。。

  • 最后最后终极大boss问题,我第一次的整体操作不知道是哪一步有问题,或者操作顺序有问题?github一直给我发邮件,一开始是上一个那个文档的问题。删除后就是说我的github page主题风格有问题,总之我的线上博客页面一直是404。我大胆判断(很大胆),是我一开始把整体文件夹发到远程库了,而不是经hexo deploy后的静态文件,推到网上自然出问题。删掉博客文件目录,重新来了一遍,再也没有邮件骚扰我了,所以上面一个问题本来就不是问题,噫嘘唏,浪费了一晚上时间。其实我看到这个库里的语言都是些小众语言,不是CSS,HTML之流我就感觉怪怪的,所以以后犯了这样的问题也能从这里发现的!

现在算是大功告成了,泪目。

  • 当然如果你之后还是因为某些原因(瞎搞玩花的结果搞脱了)删除了,那么新建一般都是怎么样的呢?
terminal
1
2
3
hexo init
git init
npm install --save hexo-deployer-git

如何更换Hexo博客主题

很简单。。应该没有坑,改个名字而已

你是故意找茬吧😅