文章目录

  • 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:

  1. npx hexo <command>
  2. 将 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_rsaid_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_rsaid_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问题)相关推荐

  1. 计算机测试怎么提交,Win7电脑怎么测试上传速度?

    做网站的人都知道上传速度是很重要的,因为太差的上传速度会影响工作的进度,所以他们经常要对上传速度进行测试,但是有一些新手不知道Win7电脑怎么测试上传速度?为此小编赶紧整理了以下教程,不知道的朋友赶紧 ...

  2. 【springboot】上传并解析excel表,使用postman测试上传文件,解决excel版本报错问题

    声明:博客代码只是实际项目的一部分,项目是前后端分离的,这篇博客中将记录如何使用工具类中提供的解析excel表格数据,并使用postman测试上传excel表的接口. 在项目pom.xml文件中添加依 ...

  3. 解决picgo图片上传失败

    前言 昨天才刚搭建好的 typora+picGo+gitee的token 兴高采烈的写笔记,今天在typora中就图片上传失败了. 我的的解决办法就是更换picGo的图床,从gitee 更换为SM.M ...

  4. 续《用最简单的例子实现jQuery图片即时上传》之多图上传实现

    本用例主要含两个文件(index.html.submit_form_process.php),一个文件夹(files/).特别的,files中含一个报错图片error.jpg,jquery库引用了外链 ...

  5. wsbm服务器错误怎么修复,如何使用ab测试上传文件

    1. 简单了解ab测试 ab是Apache超文本传输协议(HTTP)的性能测试工具.可以使用工具对网络接口进行压力测试,以判断网络接口的性能. 一般对网络接口进行压力测试,需要关注几个重要的指标,吞吐 ...

  6. SecureCRT使用及解决securecrt rz 上传rar,gif文件不正确问题

    安装SecureCRT版本为SecureCR+SecureFX 的整合版,下载见 http://www.portablesoft.org/securecrt-securefx-integrated/ ...

  7. 解决IE8下上传文件问题,无需flash,无需html5

    解决IE8下上传文件问题 场景:实现上传文件功能,重写上传按钮样式,并需要得到后台返回的数据来动态修改页面. 要求:不需要flash以及其他额外需要的东西. 尝试过的方法:1.webuploader. ...

  8. asp.net实现ftp上传代码(解决大文件上传问题)

    asp.net实现ftp上传代码(解决大文件上传问题) 参考文章: (1)asp.net实现ftp上传代码(解决大文件上传问题) (2)https://www.cnblogs.com/LYunF/ar ...

  9. postman测试 上传下载文件

    postman测试 上传下载文件 1 测试上传文件 选择 Body 选择 form-data 参数 key 值 填写后 在后面下拉选择 file value 点击 Select Files 选择需要上 ...

最新文章

  1. 大厂前实习生被威胁,“关闭开源项目,不然就告你”
  2. 如何修改计算机网络时间,在Win7系统中,电脑时间改不了怎么办?
  3. laravel $request 多维数组取值_Laravel 运行原理分析与源码分析,底层看这篇足矣
  4. 藏在XP中的一个可以完整清除垃圾文件
  5. leetcode-217-存在重复元素
  6. ionic移动开发流程api
  7. JAVA进阶day06内部类和匿名类
  8. vue开发小程序Demo
  9. loewe测试软件,实测Loewe三角包 最轻的小包最贴心的设计
  10. php是静态语言,Thinkphp静态缓存多语言切换
  11. 一位工作了10年的C++程序员总结出这些忠告
  12. 6_less中的匹配模式
  13. kafka练习:创建topic以及生产与消费
  14. failed to initialize monitor thread
  15. 走进 JDK 之谈谈字符串拼接
  16. gephi java教程_Gephi教程汇总
  17. 软考数据库系统工程师复习资料(完全版)
  18. 配置SFML在Mac下开发 iOS游戏
  19. myBatis约束文档
  20. 火山伪原创视频软件 短视频md5修改过检测工具

热门文章

  1. VHDL直流电机模糊控制器的设计与实现
  2. win7使用VMware安装win7虚拟机上网设置
  3. 【嵌入式模块】MPU6050
  4. OPPO钱包中的NFC卡片怎么自动切换?
  5. 戴尔Dell-Precision5520黑苹果efi引导文件
  6. @Value取不到值
  7. 微信打开链接怎才不会被微信拦截或提示已停止访问网页,避免域名被微信拦截封杀的几率
  8. tplink迷你路由器中继模式_TP-Link TL-WR700N V3迷你型路由器无线中继怎么设置
  9. 【转载】UART流控
  10. 通过HTML5构建Web页