hexo简单部署(一次解决hexo测试+上传github问题)
文章目录
- Windows hexo本地部署+测试(上传前准备)
- git安装
- Node.js安装
- 安装hexo以及本地测试
- 创建hexo所需文件
- SSL证书报错
- 主题调试
- 上传GitHub
- git添加远程库教程
- 前置工作(创建SSH key)
- hexo上传本地操作
Windows hexo本地部署+测试(上传前准备)
在开始之前,先声明hexo的自带文档可以解决大部分问题,下面有个人在运用官方文档部署时遇到的问题以及思考。
git安装
下载地址为 git-scm.com或者gitforwindows.org
Node.js安装
下载node.js
下载地址:Node.js
以上分别搜都有教程,这里只是提一嘴,不作更多解释。
安装hexo以及本地测试
在安装好node.js和git环境,注册好github并且做好远程部署之后,就可以安装hexo了。
前情提要:不需要根据github上的提示在自己创建博客的文件夹下git 任何内容,否则安装hexo时会报错。下面有相关报错的信息可以借鉴。
在[hexo官网][https://hexo.io/zh-cn/]的官方文档界面里有给出以下命令:
$ npm install hexo-cli -g
上面的指令是安装最新版的hexo-cli
。
解释一下hexo-cli
是什么:其实尾缀CLI
就是Command Line Interface
也即是命令行。我们只需要下载一个hexo-cli
,在后面我们初始化hexo init
和安装依赖npm install
的时候,其实就会下载hexo
的。
对于熟悉 npm 的进阶用户,可以仅局部安装 hexo
包。
$ npm install hexo
本人选择的是npm install hexo-cli -g
,-g
代表着global
,代表着安装在全局环境。安装完成后给出以下提示:
added 59 packages, and audited 60 packages in 23s15 packages are looking for fundingrun `npm fund` for detailsfound 0 vulnerabilities
npm notice
npm notice New major version of npm available! 8.19.2 -> 9.4.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.4.1
npm notice Run npm install -g npm@9.4.1 to update!
npm notice
安装完后在C:\Users\Username\AppData\Roaming\npm
会显示你安装的内容,其中username是你的用户名。
个人认为局部(本地)安装也是很有必要的。这可以避免了不同程序依赖不同版本包的冲突;减少了包开发者API的兼容性的问题;缺点是会出现一个包安装多次的情况。
官方文档给出了以下意见:
安装以后,可以使用以下两种方式执行 Hexo:
npx hexo <command>
- 将 Hexo 所在的目录下的
node_modules
添加到环境变量之中即可直接使用hexo <command>
:.
echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile
个人觉得在hexo部署到这一阶段了解该功能即可。
创建hexo所需文件
安装完成后,在你喜爱的文件夹下(如 H:\hexo ),执行以下指令(在 H:\hexo内点击鼠标右键,选择 Git bash ),Hexo 即会自动在目标文件夹建立网站所需要的所有文件。
hexo init
同时hexo官网给出的文档建议是:
安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init <folder>
$ cd <folder>
$ npm install
新建完成后,指定文件夹的目录如下:
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
在这里我遇到了一个错误,即在非空文件夹下执行hexo init文件。原因也很简单,因为之前在此文件夹进行了$ git init
。我认为git init 和hexo init 在某种程度上会有冲突,但是在哪部分会有冲突,因为技术不足无法理解。
解决问题方法也很简单,清空文件夹里的内容再进行hexo init
即可。
SSL证书报错
然后继续踩坑:出现了以下报错:
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
fatal: unable to access 'https://github.com/hexojs/hexo-starter.git/': OpenSSL S
SL_read: Connection was reset, errno 10054
产生原因:一般是这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错
网上有两种解决办法:
**域名查询法:**通过域名查询,找到github.com
的ip地址。
之后找到电脑的host.ics
将复制的地址添加进去之再次hexo init
即可解决(笔者的解决方法)。
简单粗暴法命令法:
git config --global http.sslVerify "false"
- 优点:方便快捷,复制粘贴即可。
- 缺点:每次上传代码都要这样来一次。(笔者暂未尝试)
有些电脑所在网络是没有这部分报错的,可以选择跳过。
之后会给出如下提示:
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
INFO Install dependencies
INFO Start blogging with Hexo!
再检查文件夹,就显示初始化好的部分了:
接下来可以进行的命令是:
npm install --安装npm依赖包hexo generate --生成静态页面hexo server --生成本地服务
相关给出的提示行不再给出。
至此,hexo的本地部署已经结束,现在可以尝试将它部署在github上了。
在此之前,给出简单的hexo命令:
hexo generate --生成个人博客所需的静态页面hexo server --本地预览hexo deploy --部署我们的个人博客hexo clean --清除缓存hexo cl && hexo g && hexo d --本地测试三件套
到此为止,hexo的本地原版主题部署就大概ok了,之后可以选择去更改主题,完善自己的个人博客。
主题调试
这部分内容很多,被列为单独内容,可以通过查看你所对应的主题文档进行调试。
我所使用的主题为butterfly
,这是它的主题文档网页
可以根据自己所喜欢的主题来进行选择,我选择这个主题的原因是入手不难,页面可以简练可以花哨
ps:尽量不用hexo自带的hexo-renderer-marked
渲染器(这里新手可能还不太明白什么意思,如果你用的是markdown格式来写博客,等用了公式和脚注这两个功能之后就会发现写出的文章会有一堆问题),我用的是hexo-renderer-markdown-it-plus
,这个在公式和脚注两个方面有了很大的完善。安装完毕后可能会显示moderate
什么什么的,可以忽略。
安装指令为:
npm install hexo-renderer-markdown-it-plus --save
这是我的调试文件,仅供参考
上传GitHub
git添加远程库教程
想看更详细的教程点这里,本教程基于此进行一些简化以及自己的测试。
前置工作(创建SSH key)
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件。
**如果已经有了,可直接跳到hexo上传本地操作。**如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
youremail@example.com
可以根据自己的需要改动
如果成功,将会给出以下提示:
Generating public/private rsa key pair.
Enter file in which to save the key(C:\Users\your_username/.ssh/id_rsa):
我选择不改,按enter继续。
接下来会有以下提示:
Created directory '*这里为你所设置的路径*'.
Enter passphrase(empty for no passphrase):
我选择不设置私钥,enter继续。
接下来会有重复输入密码的选项,我由于没有输入过密码直接enter继续。
之后会给出ssh的相关信息,即表明创建成功。
如果一切顺利的话,可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容:
以上界面可能会随着github页面更新而变动,请注意。
hexo上传本地操作
之后在你本地部署hexo的位置上找到_config.yml
打开,将里面的deploy
部分改为以下内容:
deploy:type: gitrepo: git@github.com:yourname/yourname.github.io.gitbranch: master
repo为你要部署项目的SSH。
然后在GitBash中执行安装hexo-deployer-git
的指令
npm install hexo-deployer-git --save
之后进行:
hexo deploy
即可完成部署。
tips:记得在deploy后输入参数的:
后添加空格。不然可能会出现can not read a block mapping entry; a multiline key may not be an implicit key
的报错
至此,简单部署的部分就已经完结了。剩下的内容可以靠自己摸索,解决,这里只是给出一个简单的参考方案,剩下的问题还得靠自己慢慢解决。
hexo简单部署(一次解决hexo测试+上传github问题)相关推荐
- 计算机测试怎么提交,Win7电脑怎么测试上传速度?
做网站的人都知道上传速度是很重要的,因为太差的上传速度会影响工作的进度,所以他们经常要对上传速度进行测试,但是有一些新手不知道Win7电脑怎么测试上传速度?为此小编赶紧整理了以下教程,不知道的朋友赶紧 ...
- 【springboot】上传并解析excel表,使用postman测试上传文件,解决excel版本报错问题
声明:博客代码只是实际项目的一部分,项目是前后端分离的,这篇博客中将记录如何使用工具类中提供的解析excel表格数据,并使用postman测试上传excel表的接口. 在项目pom.xml文件中添加依 ...
- 解决picgo图片上传失败
前言 昨天才刚搭建好的 typora+picGo+gitee的token 兴高采烈的写笔记,今天在typora中就图片上传失败了. 我的的解决办法就是更换picGo的图床,从gitee 更换为SM.M ...
- 续《用最简单的例子实现jQuery图片即时上传》之多图上传实现
本用例主要含两个文件(index.html.submit_form_process.php),一个文件夹(files/).特别的,files中含一个报错图片error.jpg,jquery库引用了外链 ...
- wsbm服务器错误怎么修复,如何使用ab测试上传文件
1. 简单了解ab测试 ab是Apache超文本传输协议(HTTP)的性能测试工具.可以使用工具对网络接口进行压力测试,以判断网络接口的性能. 一般对网络接口进行压力测试,需要关注几个重要的指标,吞吐 ...
- SecureCRT使用及解决securecrt rz 上传rar,gif文件不正确问题
安装SecureCRT版本为SecureCR+SecureFX 的整合版,下载见 http://www.portablesoft.org/securecrt-securefx-integrated/ ...
- 解决IE8下上传文件问题,无需flash,无需html5
解决IE8下上传文件问题 场景:实现上传文件功能,重写上传按钮样式,并需要得到后台返回的数据来动态修改页面. 要求:不需要flash以及其他额外需要的东西. 尝试过的方法:1.webuploader. ...
- asp.net实现ftp上传代码(解决大文件上传问题)
asp.net实现ftp上传代码(解决大文件上传问题) 参考文章: (1)asp.net实现ftp上传代码(解决大文件上传问题) (2)https://www.cnblogs.com/LYunF/ar ...
- postman测试 上传下载文件
postman测试 上传下载文件 1 测试上传文件 选择 Body 选择 form-data 参数 key 值 填写后 在后面下拉选择 file value 点击 Select Files 选择需要上 ...
最新文章
- 大厂前实习生被威胁,“关闭开源项目,不然就告你”
- 如何修改计算机网络时间,在Win7系统中,电脑时间改不了怎么办?
- laravel $request 多维数组取值_Laravel 运行原理分析与源码分析,底层看这篇足矣
- 藏在XP中的一个可以完整清除垃圾文件
- leetcode-217-存在重复元素
- ionic移动开发流程api
- JAVA进阶day06内部类和匿名类
- vue开发小程序Demo
- loewe测试软件,实测Loewe三角包 最轻的小包最贴心的设计
- php是静态语言,Thinkphp静态缓存多语言切换
- 一位工作了10年的C++程序员总结出这些忠告
- 6_less中的匹配模式
- kafka练习:创建topic以及生产与消费
- failed to initialize monitor thread
- 走进 JDK 之谈谈字符串拼接
- gephi java教程_Gephi教程汇总
- 软考数据库系统工程师复习资料(完全版)
- 配置SFML在Mac下开发 iOS游戏
- myBatis约束文档
- 火山伪原创视频软件 短视频md5修改过检测工具