オフィシャル側で対応頂いたので、このグリモンの必要性は無くなりました。はてなスター日記
twitter上に、はてなスターを置く為のグリモン「つい☆すた」のサイト、「Twitter: What are you doing?」上でtwitterユーザのアイコンが表示されるようにするグリモン書いた。
2008/01/31
Minibuffer用のFuck!コマンド書いた
Firefoxをshellの様に扱えるグリモン「Minibuffer ? Userscripts.org」で使える、Fuck!コマンド「fuck」書いた。
使い方は、はてなブックマークコマンドとほぼ同じ。
目障りな記事を見つけたら
なお
例えばtwitterなんかで
※followerの皆様ごめんなさい。
ソースはこんな感じ
てか使い道なくね?
目障りな記事を見つけたら
:fuck
とすれば良い。
もしくはpinを付けて
:pinned-link | fuck
とすればpinを付けたリンクが全部「Fuck!」になる。なお
:pinned-node | fuck
とすれば、pinが指すノード自体が削除される。例えばtwitterなんかで
followerの発言をpinしてfuckしようもんなら![]()
こんなんになっちゃう!![]()
※followerの皆様ごめんなさい。
ソースはこんな感じ
// ==UserScript==
// @name Minibuffer Fuck Command
// @namespace Minibuffer.Fuck.Command
// @description add fuck command to Minibuffer.
// @include http://*
// @include https://*
// ==/UserScript==
window.Minibuffer.addCommand({
name: 'fuck',
command: function(stdin){
if (stdin.length == 0) {
document.open();
document.write('<h1>Fuck!</h1>');
document.close();
} else {
stdin.forEach(function(obj){
if (("" + obj).match(/^https?:.*/)) {
var links = document.getElementsByTagName('a');
for(var n = 0; n < links.length; n++) {
if (links[n].href == obj) {
links[n].href = 'javascript:void(0);';
links[n].addEventListener('click', function() {alert(this.innerHTML)}, false);
links[n].innerHTML = 'Fuck!';
}
}
} else if (typeof obj == 'object') {
try {
obj.parentNode.removeChild(obj);
} catch(e) { }
}
});
}
return stdin;
}
});
インストール:minibuffer.fuck.user.js
てか使い道なくね?
JSONでHTMLを取得するYahoo! Pipesが凄い
こりゃすげ。
これまでにも同様の事が出来るサービスはあったけど、Yahoo! Pipesがサポートしたってのは強い。
試しにYahoo! JapanのHTMLをレンダリングするサンプルを作ってみた。
以下コード
URLを渡すとページの内容(htmlソース)をJSONPとかで取得できるAPIをYahoo! Pipesで作った(管理人日記) - むぅもぉ.jpこれで色んなことが出来るようになるし、グリースモンキーに頼っていたクロスドメインな処理がJSONだけで出来るようになる。
Yahoo! PipesにFetch Pageモジュールが追加されたので、さっそく作ってみた。
これまでにも同様の事が出来るサービスはあったけど、Yahoo! Pipesがサポートしたってのは強い。
試しにYahoo! JapanのHTMLをレンダリングするサンプルを作ってみた。
以下コード
<script type="text/javascript"><!--
function on_load_document(data) {
document.getElementById('yahoo_html').innerHTML = data.value.items[0].description;
}
function load_document() {
var url = 'http://www.yahoo.co.jp/';
var s = document.createElement('script');
s.charset = 'utf-8';
s.src = 'http://pipes.yahoo.com/poolmmjp/page_loader?url=' + encodeURIComponent(url) + '&_render=json&_callback=on_load_document';
document.body.appendChild(s);
}
--></script>
<input type="button" onclick="load_document()" value="Yahoo! Japanを表示">
<div id="yahoo_html"></div>
実行結果は↓

