Firefoxのアドオン、「Operator」のユーザスクリプトを使って、Twitterにポストするものを書いてみました。
Operatorのユーザースクリプトの「hAtom.js」を利用しますため、あらかじめ、以下のページからコードを入手しておく必要があります。
- Operator User Scripts(Mike's Musings)
hAtom.jsのセットの方法は、わかりにくいものでよければ以下のページに記載してあります。
Operator経由でTwitterにポストするためのコードは、以下となります。なお、コチラがユーザスクリプトの書き方をよく把握してないので、書き方があっているのかどうかは不明なのと、Microformatsが書かれていないと動作できないことから、テストしたページは少ないです。(自分のトコのページだけでは限界が。。)
実用性とかはギモンなのですが、参考程度と個人の覚書ということで晒しておきます。
セットのときは任意のファイル名で拡張子.jsとして保存しておき、Operatorのオプションメニューから登録します。登録のときに、Operatorのオプションメニューの「動作」のtabから、「Submit to Twitter」を追加します。
// Submit to Twitter
var submit_to_twitter = {
description: "Submit to Twitter",
shortDescription: "Submit twitter",
scope: {
semantic: {
"hAtom-hFeed": "hAtom-hFeed",
"hAtom-hEntry": "hAtom-hEntry",
"hCard" : "url",
}
},
doAction: function(semanticObject, semanticObjectType, propertyIndex) {
if(semanticObjectType == "hAtom-hFeed"||semanticObjectType == "hAtom-hEntry"){
var _url = window._content.document.location.href;
var _title = window._content.document.title;
return "http://twitter.com/home?status=" + encodeURIComponent(_title) + "%20" + encodeURIComponent(_url) ;
}
if(semanticObjectType == "hCard"){
var _urlvcard;
var property = this.scope.semantic[semanticObjectType];
_urlvcard = semanticObject[property];
return "http://twitter.com/home?status=" + _urlvcard;
}
}
};SemanticActions.add("submit_to_twitter", submit_to_twitter);
ページで、hAtomが埋め込まれていたときは、そのページのタイトルとURI、hCardでURL情報があるときは、単にURLの情報だけをPOSTします。Operator経由であることを示す語句を添えれば、そのページがMicroformatsが埋め込まれているということを知らせることができるカモ(?)。