hexo博客每天定时提交网址给百度
项目说明
首先说明下这是一个 hexo 的插件,和其他插件一样,只需要npm i
即可安装。先说说我的需求:需求产生于建站之初,那时百度还搜索不到我的小康博客,因此借助 Leancloud 的环境搭建了一个每天定时提交的小程序,当时使用 django 框架进行的开发。后来由于各种原因,发现已经 server 500 了,不过不清楚原因,但无所谓了,因为我打算合理用 actions 进行重新开发。同样的出于原版的参考还是打算用 python 完成,但发现官网贴心的提供了一个curl
命令提交。好吧,这就省下了很多事。因此开发了此插件。其原理:
此项目适合什么样的人群
想要提高百度收录量
本人不打算扩展必应搜索,谷歌搜索等其他平台。因此在国内对于大多数人来说百度还是主力,而谷歌不需要你主动,他会自己找到你。
使用了持续集成服务
不适用于本地
hexo d
命令的人群,因此这个命令不会讲 GitHub 的配置文件添加进去。因此如果你没有使用持续集成服务,那么可以考虑使用持续集成或者进入 public 目录手动 git 提交。
插件如何使用
安装插件
在你博客的根目录打开命令行,安装插件
1
npm i hexo-baidupush
接下来生成内容
1
hexo cl && hexo g
你会发现生成的 public 目录中多了一个文件和一个目录
如果没有,请检查插件是否成功安装。
部署页面
此时的部署并不能使用
hexo d
命令,因为这个命令不能将.github
这个文件添加。因此只能手动添加。如果你在持续集成中使用了此命令,请尝试替换为如下命令:1
2
3
4
5
6
7cd ./public
git init
git config --global user.name 'name'
git config --global user.email 'yourEmail'
git add .
git commit -m "Update"
git push --force --all 地址其中地址跟你环境有关,如果是 ssh 认证推送,那么请填写你的 ssh 仓库地址。如果是密钥推送,那么 GitHub 的密钥格式为
https://TOKEN:地址
,例如:https://aaaaa@github.com/tzki/tzki.github.io
如果是本地
hexo d
用户可以参考上面命令做相同的操作。但这一定是繁琐的过程,建议更换持续集成或者放弃使用此插件。添加 TOKEN
这里使用的是你推送的仓库,不是源码仓库。例如:
https://github.com/tzki/tzki.github.io
。然后添加密钥。(如果没有使用过 actions,第一次需要开启,也就是点一下那个绿色的按钮。)测试
接下来只需要对此仓库点个 star 即可看到有 actions 运行。
提交的频率
插件默认提交的频率是一天两次,分别为早上八点和晚上六点。如果你想修改那么可以再根目录的配置文件添加字段
commit_cron
进行配置,值采用 GitHub 的 cron 表达式。默认为0 0,10 * * *
遵循 UTC 时间。举个例子:每天 8 点(北京时间)提交一次:1
commit_cron: 0 0 * * *
GitHub 的 cron 表达式没有秒这个单位,即第一位为分钟。
当然这个配置是非必填项,不在配置文件写也不会引起报错的。
项目参考
生成 url 部分代码参考插件了插件hexo-baidu-url-submit,没有直接使用而是搞一个新的,是因为考虑到了并不是每个人都装有这个插件,因此只能在自己的插件中集成这个功能即生成文章 URL 的文件。