« Windowsで無料で使えるセキュリティ対策ソフト | メイン | RubyistによるRubyのオンラインマガジン「Rubyist Magazine(通称るびま)」の通読を支援するGreasemonkey »

はてなスターのように「wwwww」を省略し「w3w」と表示するグリースモンキー

最近、インターネット上では、笑いを表現する時に「(笑)」のかわりに「w」を使う傾向が強くなっています。入力しやすい事、そして「w」の長さによってその笑いの度合いを表現できるため便利だからだと考えられます。しかし、HTMLは連続した半角英字を表示する際に自動的に折り返さず、半角英字を内包した要素が横に引き延ばされます。スタイルシート等で一応対策を打つ事が可能ですが、あまり見栄えは良くありません。
ところで、はてなスターというサービスがあります。詳細はここでは割愛しますが、このサービスでは気に入ったホームページに好きな数だけスター(☆)をつける事ができます。また、他の人がつけたスターも見る事ができるため、人気のホームページではスターが100を超える事があります。増え過ぎたスターが画面を覆い尽くす事はないのでしょうか。はてなスターではこの問題をスターを省略して表示する事で解決しています。例えば、スターが5個ついた場合には「☆☆☆☆☆」のように表示されますが、100個の場合は「☆98☆」のように表示します。
「w」によりレイアウトが崩れる問題をはてなスターのように解決できないかと思い、グリークモンキースクリプト(ユーザスクリプト)を作成しました。
このスクリプトを導入すると、「wwwwwwwwwwwwwwwwwwwwwwwwwwwwww」と入力されても「w28w」のように表示されます。またはてなスターと同じように数字をクリックすると「wwwwwwwwwwwwwwwwwwwwwwwwwwwwww」のように展開されます。
導入前
導入前
導入後
導入後
是非、このグリースモンキースクリプトを導入し快適なインターネット生活をご堪能下さい。
あとがき
また、バカなentryをしてしまった。後悔はしていない。そもそもこのグリモンがアホすぎる。挙動についてちょっと説明する。表示は文字でも良かったんだけどはてスタに似せるためにあえて画像で行っている。wの上にポインタを持っていっても、当然ながら誰がつけたwなのかは表示されない。[☆+]のように[w+]もつけたけど、もちろん保存はされない。追加したwを省略するwに含めるかどうか迷ったけど、末尾に追加するようにした。これは、はてスタで展開前にスターをつけた時場合、「☆98☆☆」のように末尾につけていたから。siteを読み込んだ時にのみ省略するようになっていて、後から動的に追加されたwの省略には対応していない。あと、はてスタよりも省略の閾値を低めにし、省略されやすくしてる。
是非、このグリースモンキースクリプトを導入し快適なwwwwwwwwww生活をご堪能下さいwwwww
2008/05/09:追記
sourceの中にゴミが残っていたので削除した。
挙動は変更なし。
2008/05/10:追記
はてブのコメントを見ていると、全角で「wwwwwwwwww」としている人がいました。なので全半角混在で「wwwwwwwwwwww」とされても省略するように変更しました。導入済の方は上書きインストールしてもらえれば大丈夫です。
2008/05/10:追記2
はてブコメントでgrassというプログラミング言語に対応していないという意見があった。いっその事全角半角だけでなく大文字小文字も問わない形式にしようかと思った。でも笑いを表現するのに大文字が使われる事は滅多にないのでこのままにしておく。どうしてもと言う人は、12行目の「[ww]」を「[wWwW]」に修正して下さい。
あと、スラッシュとバックスラッシュを駆使して「これで省略されないぜ\/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ \/\/ VV VV VV」とコメントされましたが、一つ重要な点を忘れてます。この書き方だと半角スペースが入っているので普通に自動改行されます。なので対応しません。
2008/05/11:追記
更に改良した。今回の機能追加は遊びではなく実用性を重視した。
今度は見た目がシンプルな文字のみのモード[word mode]を追加した。これまでの機能は[icon mode]と呼ぶ事にする。モードはユーザスクリプトコマンドから変更できる。(ユーザスクリプトコマンドはGreasemonkeyのメニューから実行できる。)
word modeとicon modeは省略時の表示方法はこれまでと同じだけど動作が違っている。最初の[w]をクリックすると全てを展開して表示する。最後の[w]をクリックすると省略されている[w]をひとつ展開するので、繰り返しクリックする事で好きなだけ展開ができる。それ以外の[w]をクリックするとクリックした[w]より後ろにある[w]を省略する。一部省略されている場合でも再度省略可能となっている。
2008/06/13:追記
リファクタリングとともに機能を追加した。リンク先を参照。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google

タグ クラウド