Operatorユーザスクリプト、hAtom.js

Firefoxアドオン、Operatorのユーザスクリプトで、hAtomを抽出するものをためしてみたときのメモ。

ユーザスクリプトの入手(hAtom.js)

Operatorのユーザースクリプトについては、以下のページからコードを入手することができます。今回は一覧のなかにある「hAtom.js」というファイルです。

ファイルを保存して登録する

jsファイルを開いて中身をコピーして、任意のテキストエディタで開き、(拡張子.jsで)保存します。

このファイルは登録後消してもかまわないので保存場所はデスクトップでもいいです。ワタくシは作業ファイルのフォルダにいれてますが。

オプション設定のユーザースクリプトタブのところで新規に先ほど作成しておいた、jsファイルを登録します。

次にオプション設定のところで以下のように、データ形式(hAtom-hEntry,hAtom-hFeed)を追加してあげます。

実際にウェブページを開いて確認してみる

hAtom対応のページをみて動作を調べてみます。

operatorツールバーを表示しているのならば、Atom Entry(s)、Atom Feed(s)というメニューが追加されています。

このブログでは今の時点でhAtom未対応なので、はじめから対応されている、ActionStreamsのページで確認するとします。

hFeedにhAtom to Atom/RSS transcoderへ送る動作をつけてみた

hAtom-EntryにはFirefoxのブックマークに登録する動作がついているのですが、それだけでもアレなので、hAtom transcoder という、hAtomからフィードに変換するツールに、当該ページを送信するという動作を追加してみました。以下のようなコードです。

ちなみに、或るページを変換するには

http://tools.microformatic.com/transcode/<output format(atom|rss)>/hatom/URL

のような形式です。ブックマークレットでできるよ、みたいな話ですがまぁよしとします。

// hAtom to Atom/RSS transcoder
var hatom_to_transcoder = {
  description: "to hAtom transcoder",
  shortDescription: "to hAtom transcoder",
  scope: {
    semantic: {
      "hAtom-hFeed": "hAtom-hFeed",
    }
  },
  doAction: function(semanticObject, semanticObjectType) {
    if (semanticObjectType == "hAtom-hFeed") {
      var url = window._content.document.location.href;
      return "http://tools.microformatic.com/transcode/atom/hatom/" + url;
    }
  }
};SemanticActions.add("hatom_to_transcoder", hatom_to_transcoder);

実際の動作は以下のようになります

以下はtranscoderにURLを送ったとき生成されたフィードの状態です。