2008/01/31


オフィシャル側で対応頂いたので、このグリモンの必要性は無くなりました。はてなスター日記
twitter上に、はてなスターを置く為のグリモン「つい☆すた」のサイト、「Twitter: What are you doing?」上でtwitterユーザのアイコンが表示されるようにするグリモン書いた。

続きを読む...

Posted at by




Firefoxをshellの様に扱えるグリモン「Minibuffer ? Userscripts.org」で使える、Fuck!コマンド「fuck」書いた。 使い方は、はてなブックマークコマンドとほぼ同じ。
目障りな記事を見つけたら :fuck とすれば良い。 もしくはpinを付けて :pinned-link | fuck とすればpinを付けたリンクが全部「Fuck!」になる。
なお :pinned-node | fuck とすれば、pinが指すノード自体が削除される。
例えばtwitterなんかで
minibuffer-fuck1
followerの発言をpinしてfuckしようもんなら
minibuffer-fuck2
こんなんになっちゃう!
※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

てか使い道なくね?
Posted at by




こりゃすげ。
URLを渡すとページの内容(htmlソース)をJSONPとかで取得できるAPIをYahoo! Pipesで作った(管理人日記) - むぅもぉ.jp
Yahoo! PipesにFetch Pageモジュールが追加されたので、さっそく作ってみた。
これで色んなことが出来るようになるし、グリースモンキーに頼っていたクロスドメインな処理がJSONだけで出来るようになる。
これまでにも同様の事が出来るサービスはあったけど、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>
実行結果は↓

続きを読む...

Posted at by