项目说明

首先说明下这是一个 hexo 的插件,和其他插件一样,只需要npm i即可安装。先说说我的需求:需求产生于建站之初,那时百度还搜索不到我的小康博客,因此借助 Leancloud 的环境搭建了一个每天定时提交的小程序,当时使用 django 框架进行的开发。后来由于各种原因,发现已经 server 500 了,不过不清楚原因,但无所谓了,因为我打算合理用 actions 进行重新开发。同样的出于原版的参考还是打算用 python 完成,但发现官网贴心的提供了一个curl命令提交。好吧,这就省下了很多事。因此开发了此插件。其原理:

image-20201001220236773

此项目适合什么样的人群

  1. 想要提高百度收录量

    本人不打算扩展必应搜索,谷歌搜索等其他平台。因此在国内对于大多数人来说百度还是主力,而谷歌不需要你主动,他会自己找到你。

  2. 使用了持续集成服务

    不适用于本地hexo d命令的人群,因此这个命令不会讲 GitHub 的配置文件添加进去。因此如果你没有使用持续集成服务,那么可以考虑使用持续集成或者进入 public 目录手动 git 提交。

插件如何使用

  1. 安装插件

    在你博客的根目录打开命令行,安装插件

    1
    npm i hexo-baidupush

    image-20201001220758045

  2. 接下来生成内容

    1
    hexo cl && hexo g

    你会发现生成的 public 目录中多了一个文件和一个目录

    image-20201001222058845

    如果没有,请检查插件是否成功安装。

  3. 部署页面

    此时的部署并不能使用hexo d命令,因为这个命令不能将.github这个文件添加。因此只能手动添加。如果你在持续集成中使用了此命令,请尝试替换为如下命令:

    1
    2
    3
    4
    5
    6
    7
    cd ./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用户可以参考上面命令做相同的操作。但这一定是繁琐的过程,建议更换持续集成或者放弃使用此插件。

  4. 添加 TOKEN

    这里使用的是你推送的仓库,不是源码仓库。例如:https://github.com/tzki/tzki.github.io。然后添加密钥。(如果没有使用过 actions,第一次需要开启,也就是点一下那个绿色的按钮。)

    image-20200930190800396

    image-20200930190943296

  5. 测试

    接下来只需要对此仓库点个 star 即可看到有 actions 运行。

    image-20201001223100700

  6. 提交的频率

    插件默认提交的频率是一天两次,分别为早上八点和晚上六点。如果你想修改那么可以再根目录的配置文件添加字段commit_cron进行配置,值采用 GitHub 的 cron 表达式。默认为0 0,10 * * * 遵循 UTC 时间。举个例子:每天 8 点(北京时间)提交一次:

    1
    commit_cron: 0 0 * * *

    GitHub 的 cron 表达式没有秒这个单位,即第一位为分钟。

    当然这个配置是非必填项,不在配置文件写也不会引起报错的。

项目参考

生成 url 部分代码参考插件了插件hexo-baidu-url-submit,没有直接使用而是搞一个新的,是因为考虑到了并不是每个人都装有这个插件,因此只能在自己的插件中集成这个功能即生成文章 URL 的文件。