[45]编写hexo插件--webhook自动添加任务加快收录

概述

我们的博文抓取模块给用户提供了web接口,让用户可以非常方便的提交抓取任务,这样可以有效的加快博文收录速度

但是考虑到大部分用户不会编程,并且单纯一个web接口使用起来不够方便,这里我针对目前独立博主比较常用的静态博客生成器hexo编写了一个自动化插件

该插件可以在你自动构建和部署博客的同时,自动向我们的web接口提交任务,从而实现了抓取任务的自动化提交,让我们blogstorm能够更加方便的融入普通博主的使用中来

实现

注入过程

在hexo部署阶段注册方法

hexo.extend.deployer.register('blogstorm_webhook_task_submitter', require('./lib/submitter'));

提交任务

var pathFn = require('path');
var fs = require('fs');
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

module.exports = function(args) {
    var log = this.log;
    var config = this.config;

    var webhookurl = config.blogstorm.webhook.url;


    log.info("Submitting blogstorm crawl webhook task \n" + webhookurl)

    var xhr = new XMLHttpRequest();
    xhr.open('GET', target, false);
    xhr.setRequestHeader('Content-type', 'application/json');
    xhr.onload = function () {
        console.log(this.responseText);
    };
    xhr.send(null);
};

发布到npm平台

初始化包详情

[45]编写hexo插件--webhook自动添加任务加快收录_第1张图片

发布

[45]编写hexo插件--webhook自动添加任务加快收录_第2张图片

在平台可以查看

[45]编写hexo插件--webhook自动添加任务加快收录_第3张图片

如何使用

修改配置文件

在hexo 配置文件中增加

blogstorm:
  webhook:
    url: the-webhook-of-blog

正常部署

运行 hexo deploy 时,插件就会自动向blogstorm平台提交任务了

你可能感兴趣的:(创新实践)