【记录向】搭建hexo的各种bug
2020-10-14 847 字  

1、不要直接复制粘贴代码

安装百度推送插件npm install hexo-baidu-url-submit –-save

按照网上给的教程 https://zhuanlan.zhihu.com/p/128033054 打开站点文件_config.yml添加配置:

baidu_url_submit: 
 count: 200  # 比如200,代表提交最新的200个链接  
host: xxxx.xxx # 在百度站长平台中注册的域名  
token: your_token # 百度站长密钥  
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里,这个默认

deploy: 
- type: git
  repo: 
    github: # 域名格式是git@github.com:xx/xx.github,io.git,即你存放静态网页的仓库地址
  branch: master

- type: baidu_url_submitter #百度推送

这里需要注意一点,type是baidu_url_submitter,配置是baidu_url_submit ,这俩不一样,不然会报错ERROR Deployer not found: baidu_url_submitter

不过上面那个问题是我后续才遇到的,最开始我遇到的问题是不能愉快地hexo clean……出现:

can not read a block mapping entry; a multiline key may not be an implicit key at line 2, column 5:

有很大概率是你在2行5列的空格或是缩进有问题。这是由于直接复制别人的代码可能会缺省空格和缩进,这里提供一个 http://www.bejson.com/validators/yaml_editor/ 来验证你打代码,^指向处代表你哪里缺空格。

虽然方法很简单……实际上我几乎耗费了半天时间去调整空格,没办法小白对语言书写规则不熟。

再接下来就可以hexo clean了。

2、 ERROR Deployer not found: git

这个是在上一步结束后遇到的。hexo g没问题,但hexo d出现:

ERROR Deployer not found: git repo锛歡it@github.com:Simark-west/mouxi.github.io.git

我先开始怀疑是没有安装git,于是:

npm install  hexo-deployer-git --save

然而还是相同的报错,看着那个乱码我十分怀疑是不是冒号有问题,原文本是:

deploy: 
 - type: git
    repo: git@github.com:Simark-west/mouxi.github.io.git 
   branch: master

 - type: baidu_url_submitter # 百度推送

看起来是git没有被识别。

为了消除乱码,我把git@github.com:Simark-west/mouxi.github.io.git 改写成https//:github.com:Simark-west/mouxi.github.io.git ,然后用YAML校验器 http://www.bejson.com/validators/yaml_editor/ 检查发现仍然是空格的问题!!!

image-20201013155501358

把冒号后面的空格消除之后再hexo cleanhexo d就没有报错提示了。我不太明白为什么我之前打空格验证时没有报错……


先记录这么多吧,目前先折腾到了看板娘也出现很多奇奇怪怪的问题,有些网上有解决方案有些没有(大概是我自带debug体质),在另一篇草稿里。等到什么时候把个人博客折腾到比较满意的状态我在发上来。

写于10月13日


10月14日继续折腾……

今天报错又推翻了我前几天的努力,在疯狂翻阅了好几个网页后,看着大家说yaml是个严格的语法还是需要在冒号:后加入空格(注意是在英文状态下)

于是我重新修改了语法调整空格,发现这样也没有报错(在本地调试):

image-20201014113211840

看到有说法git 2.0之后的版本type要写成git而不是github,repo的格式也是git模式,我又改回去了……

hexo cleanhexo d十分丝滑……我觉得我要好好琢磨它的语法了。