Hail2u.net

Gruntプラグイン: pubsubhubbub_publish

GoogleのPubSubHubbubハブへ指定したURLのフィードをpublishするだけのGruntプラグインを公開した。静的ウェブサイト生成ツールをGruntを通して実行している時などに、それらと組み合わせて使うもの。世界はPubSubHubbubってなんだったっけ……みたいな感じになってるような気がするけどそれはそれ。

publishするフィードのURLは、ターゲットごとにhubUrlを指定して行う。optionsを通さないのはあんまり行儀良くないけど他に設定もないので、混乱することもないだろうとこうしてた。公開するとなるとこういうところもちょっと気になってくる。

module.exports = function (grunt) {
  grunt.initConfig({
    pubsubhubbub_publish: {
      main: {
        hubUrl: 'http://example.com/feed'
      },

      sub: {
        hubUrl: 'http://example.com/another/feed'
      }
    }
  });
};
grunt.loadNpmTasks('grunt-pubsubhubbub_publish');

実行はターゲットを指定して行うことになる。

$ grunt pubsubhubbub_publish:main

多くの場合はエイリアス・タスクに組み込んで使うので、このような長いコマンドを使うことはまずない。

grunt.registerTask('publish', [
  'assemble:main',
  'gitpush:main',
  'pubsubhubbub_publish:main'
]);

Feedlyではフィードの更新頻度でクロール間隔が調節されている節がある。更新の少ないフィードだとクロール間隔が結構長くなり、遅いと1日かそれ以上反映が遅れる。人気のあるブログの記事では先にはてなブックマークのお気に入りフィードで流れてきたりすることがほとんど。PubSubHubbubには対応しているので、反映を早くしたい場合はこっちを使えってことなんじゃないかと想像してる。