想像力でどうにか! エロとか思ったより難しいってことに気付きました。真剣にエロについて考えた数日がありました。諦めました。
やけに晴れた日に制服着た女の子が振り向いて涙を浮かべながら笑顔を浮かべる画像とかあったら CSS なんて body { background: .. }
ぐらいしか書きませんが!!
想像力でどうにか! エロとか思ったより難しいってことに気付きました。真剣にエロについて考えた数日がありました。諦めました。
やけに晴れた日に制服着た女の子が振り向いて涙を浮かべながら笑顔を浮かべる画像とかあったら CSS なんて body { background: .. }
ぐらいしか書きませんが!!
bbs2chreader.user.js 誰かもう作ってるんだろうけど、見つけるより書いたほうが早い。
とにかく 2ch のスレは全部 bbs2chreader で読む。でもリンクを書き換えるだけなので、2ch に直接アクセスできなくなるわけではないですよ、みたいな。
GreaseMonkey は bbs2ch: だと実行してくれないので不便だ。bbs2chreader を直接改造すべきか。
って、bbs2chreader のオプションに「2ch スレッドの URL を bbs2chreader で開く」とかいう項目があった。この user.js いらん。
NIKKI 聴きたい。次のアルバムは MAP? RSS? Bookmark? RSS はともかく地図とかしおりはありえそうだ。
クリップボードへコピーを実装した。
実は Firefoxでテキストをクリップボードにコピーする方法 を見てからずっと「やろうやろう」と思ってたんだけど、めんどうくさがってやってなかった。
プレビューエリアの左上に Clipboard と書かれた四角が追加されているので、それに色をドラックアンドドロップ。16進数 (#RRGGBB) でコピーされる。
iframe 版を使っているせいかローディングされるのがちょっと気になるかな。
Fx でしか動きませんよ!
スクロールさせると表示が乱れる。対処法が全く思いつかない。表示確認するときスクロールもしないとだめだなぁ。今回の CSS は IE でも大丈夫だと思ってたのに……
今気付いたけど Opera だと左の影が表示されてないなぁ……だめだめじゃないですか。
Opera は大丈夫っぽい。なんか手元の Opera (8.5) が挙動不審すぎる。タブを切り替えないと他のページにうつれない。リロードもできない……
場当たり的だけど対処した。
IE では float: right
は使っちゃだめみたいだ。前もはまったのを忘れていた。
これから見る。ジャケットの裏側もはてダでした。
VOLA は思ったよりカッコイイ系だった。もっと可愛い系かと勝手に想像してた。可愛い系って何?
daimas さんの声が誰かに似てるんだけど思い出せない。
椿屋四重奏ってなんか和風だよなぁ。唄い方かなぁ。
rep2ch.user.js, 2ch のスレを開くといちいち rep2 で開くか聞くようにするスクリプト。rep2 への URL は初回起動時に指定する。指定しなおしたいときは、2ch のスレを開いて、[Open with rep2?] で Cancel を選択後、ページの一番上の Reset rep2 URL をクリック。
bbs2chreader から rep2 に移行した。ubuntu のほうに PHP5 (php5-cgi) を入れて lighttpd に fcgi の設定を追加。無駄に簡単にインスコできて怖い。PEAR (php-pear) も使うらしいので apt-get install。rep2 の指示に従ってモジュールをインスコして終了。
やっぱ root で実行させておくと怖いっていうか、はぁ? root で実行してたのかよ、とか怒られそうなので (誰に) ごにょごにょ。これでいいかは知らない。
# ユーザ作成 sudo useradd -s /bin/false -d /www www # なんか既に www-data はあったので追加 sudo usermod -G www-data www sudo vi /etc/lighttpd/lighttpd.conf で server.username, server.groupname をアクティブにして変更
これだけやって起動してみるといろいろエラーが出る。/www とその中身やらログファイルやらが root 所有なので chown www:www-data **/* とかやって所有者変えておいた。fcgi なやつは chmod +x した。rep2 のデータディレクトリ以下も root 所有になってパーミッションエラーがでるので chown www:www-data **/* しといた。
とりあえずここまで。まだなんかありそうで怖い。
個別記事へのリンクに対してはてなブックマークの数を表示する GreaseMonkey スクリプトを自分用に書いた。結構便利。del.icio.us meets Hatena Bookmark を参考にして、処理を実用レベルで問題ない部分まで削った。E4X をちょっと練習してみたかった。
del.icio.us も一緒に表示するように作ったんだけど、問題があってコメントアウトした。del.icio.us は一括でとってこれないっぽいので仕方なく /url?url= にちまちまアクセスしたいたわけなのです。しかしながら、やはり結構アクセスしまくるからか、503 エラーを食らうという罠が待っておりました。切ない。確かはてなはドメイン指定でブクマ一覧が見れたはずなので、del.icio.us のほうがドキドキワクワク (謎) かなぁって思ったのだけれど。
横スクロールバーが出っ放しです。f*ck-mixi.user.jsf*ck-mixi-p.user.js 一番右のやつを消す GreaseMonkey スクリプトを書いた。すっきり!
XPath 使うように修正。iterateNext がなんか使えなかったので snapshot 使った。
副作用がでにくいように修正
副作用でログイン画面が消されていたのを修正。
User CSS でやったほうがよさげ。
@-moz-document domain("mixi.jp") { *[width="950"] { width: 840px !important; } table td > img[src="http://img.mixi.jp/img/smenu_bg.gif"], table td > img[src="http://img.mixi.jp/img/smenuf_bg.gif"], table td > img[src="http://img.mixi.jp/img/smenuc_bg.gif"], td[width="224"] { display: none !important; } }
関係ないけど Stylish がいいってのりさんがいってたので入れてみた。
iwaim さん からのパッチで表示・非表示がリロード無しで切り替えできるようになりました。f*ck-mixi-p.user.js
スクリプトの名前とかは一緒なので何も考えず上書き Install できるはず。
リサイズで勝手にでたり入ったりするように変更。1024 が境目。
何か思ったよりも3カラム破壊 CSS or GreaseMonkey Script がブックマークされてて怖い。たぶん ma.la さんのところからリンク張られたせいだ。しかし ma.la さんのアイデアがすごいと思った。「忘れてた (CSS の) プロパティを思い出すよ……」なんて詩的になってしまいたくもなる。どこが詩的かはともかく、ね。
それにしても、スクリプトを書くに当たって mixi のソースを眺めたけれど、「これはひどい」って感じだ。Web 2.0 にちなんで mixi は Web 0.8 とか Web 0.9 とか言われているけど、ホントそんな感じ。まぁソース気にするのなんて一部のアレ気な人だけだろうけど。
しかしまぁそんなところにですよ、この謎の固定幅3カラム化とか、不思議だなぁなんて。レイアウトを変えて、要求するブラウザサイズを上げて、正直どこでも得られるような情報を表示されても、なぁ。なぁなんてなぁ。
関係ないけど、mixi がいくら閉鎖的って言ったって、人口一位ってねぇ、会員一杯いたらさ、結局 WWW と大して変わらないじゃまいか。個人情報とか、危ない、ぜ?
どうせやるなら、ウェブサービスとか、Ajax とか、もっとウェブウェブした、先駆的なことをして欲しかった。会員だけ多くたってねぇ。
ああなんか書こうと思ったことを忘れてしまった。すかいぷめ。
いくつかの SNS から mixi が選ばれたのは、足跡のせいだよね。mixi を使えば使うほど、誰かに足跡を残せば残すほど、「誰か」が自分を見てくれるという幻想が足跡にあるんだよね。気持ち悪いけど、そういうものみたいだ。
作品名:中村屋
過激な内容ですので、18未満のエロゲをできない方や、心臓が弱い方はご遠慮ください。
ライセンスは Public Domain ですので、どしどしこれを使って CSS を書いたりしてみてください。mixi の画像にも最適です。ということで、mixi 用の画像 もありますよ。
ついでに洗濯機。
mixi-overlay.user.js もうありそう
Lightbox のパクりだけれど、Lightbox のソースを使ってないです。素直に使えよって話ですよ。ローディングイベント系をタレカ (謎) しているので、結構微妙。
普通のポップアップで画像表示するのを抑制して、オーバーレイで表示します。MM_openBrWindow()
で開くやつを全て書き換え。
それと他人のプロフィールページ (/show_friend.pl) のときは、その人の画像 (または「もっと写真を見る」リンク) をクリックすることで、その人の写真全部をオーバーレイ (上の画像がその様子) します。
読んだ順
そういえば伏線をどうこうする作品が少ない気がする。かろうじて RE はそういう傾向かもしれないけど、これもあっさり伏線回収するしなぁ。
あと学園モノと見るからにオサレ系 (しかし友人の話だと中途半端にオサレ) が残ってる。オサレ系は最後まで読めなさそう。前借りたオサレ系なやつは3ページか4ページから先を全く読めなかった。あのオサレさは僕には無理ですよ、みたいな感じ。
daimas DVD でハマってきた。プロローグよいよい。しかし本当に、ライブで見てもヴォーカルがイケメンすぎてもったいない。ちげぇよ! なんかちげぇよ! でもホント、プロローグは素敵。
あと関係ないけどストレイテナーがやっぱいい。ドラムのにーちゃんはいまいち好きになれないのはいいとして、TENDER のよさが最近わかった気がする。REBIRTH もいい。LOVE RECORDS もいい。EVERGREEN もいい。Reminder, The remains は今更言うまでもなく、さりげなく SAD AND BEAUTIFUL WORLD もいい。Melodic Storm は 窓に射す光る影の色が 瞬く度に変わるように
のところが素敵。
伝説板の BURGER NUDS スレで、バーガーに似てるバンドについての話が出てたけど、いまいちしっくりくるのがなくて面白い。
前にも何度か書いて、その度にどうしようもないという結論はでるものの、どうも何を書いていいか何を書いてはいけないかがよくわからない。所謂「常識的な判断」ってのは結局人によって違うから、ある程度参照するにしても、自分の常識と誰かの常識は絶対に一致することがないのだから、厳密な判断基準にはならないし、厳密な判断基準なんて存在しない。だから、誰かに文句をつけられることは、公開文書を書いている以上どうしようもない。とはいえそれだから何を書いてもいいかっていったら当たり前のようにそうではないわけで、その「常識的な判断」の範囲がやっぱりわかっていないといけないのだなぁって。
じゃあどうやってその範囲を見極めるかって言っても上手いこと簡単に見極めることができるなら、こんなセクションなんぞ書かないよなぁ。一対一の場合は何度か相手をキレさせることが必要だけど、不特定多数だとしたらそもそもその方法は通用しないし、むしろ相手をキレさせる気なんてしたくない。ってここまで書いて気付いたけれども、結局言いたいことなんて言わないのが一番いいわけか。なるほど。うんうん。気付くのが遅い。
しかしそれでも、たまに書く何かが誰の気に触れたり、作った何かを批評家気取りの誰かに罵られる可能性は常にあるし、これからもそれを続けるなら、いつか必ずあるといってもいい。今はまだ明確に敵意を持って直接言われたことはないけれど、今だって多少誰かが何かを思っているだろう。だから、それを受ける覚悟と、それを受け流せるスキルが必要なのだけれど、足りていない。どうやってそのスキルをあげるか。
ねむいねむい。
今日たまたまはてな RSS に lowreal.net を突っ込んでみたら 500 Error で登録できないことに気付きました。毎回ちゃんとリクエストしてるのが確認できるので、これ使ってデバッグ。
UA によって変わることというなら、ヘッダぐらいしかないので、ENV
ダンプして再現するかやってみたけど再現せず、、っと思いきや ENV.clear
してなかったので、clear
してから突っ込んでみたら見事 500 発生。Accept が存在すると仮定しているコードがあったので @cgi.accept || "*"
に書き換えた。はてなは Accept 送らないみたいだ。
HTTP の仕様を見ると Accept がない場合は "*" として扱うとあるので、どうせなら cgi.rb でここらへんのをやってくれると嬉しいと思った。
たぶんこれでブクマしたときに要約がちゃんと生成されるはず。ついでに投げ銭 Acceptable に ;)
以前CGI FastCGI, rubyとかいうセクションを書いたけど、ENV って普通に書き換えられることに気付いたのでもう一度やってみた。できたっぽい?
#!/usr/bin/ruby require "fcgi" FCGI.each do |fcgi| $stdout = fcgi.out $stdin = fcgi.in ENV.replace(fcgi.env) load(fcgi.env["SCRIPT_FILENAME"], true) fcgi.finish end
fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/tmp/fcgi-php.socket", "bin-path" => "/usr/bin/php-cgi" ) ), ".rb" => ( "localhost-rb" => ( "socket" => "/tmp/fcgi-ruby.socket", "bin-path" => "/home/cho45/bin/ruby-fcgi.rb" ) ) )
ruby-fcgi.rb の位置がキモイけれど、これは共有ディレクトリを /home/cho45 以下しか設定してなくてめんどくさかったから。symlink 貼ればいいんだけど……
でもって以下のようなスクリプトでテスト
require "cgi" puts "Content-type: text/plain\n\n" @cgi = CGI.new p @cgi p @cgi.accept
全く普通の CGI と同じ形式。パッと見上手くいってる。POST のときどうなるか微妙だけどあとで追試。
ちなみに、これだとエラー出力がコンソールにでるけど、その辺は適当にログ残すようにすればいいかな。というか、load
してるところの例外キャッチして美しいエラー画面を出すようにすればよろしそう。どうせログなんぞ見ない。
当たり前だけど、FastCGI 前提でプログラム書くならもっと最適化ができるので (リクエストごとに変わらない部分は共通にできる)、普通の CGI でもどっちでも使いたいという場合以外は積極的に使うようなもんじゃない。
ruby-fcgi.rb, エラーをスタックトレース付きで表示するようにした。
ENV.replace
があった……
Dir.chdir
するように修正。
hiki が一応動くっぽい。と、思いきや、リロードごとに 500 になったり 200 になったりする。なぞい。
$SAFE
を設定されていたみたいだ。(リクエスト -> hiki でセーフレベルが設定される -> リクエスト -> セーフレベルがあがっているのでエラー終了 -> 見れない -> リクエスト -> fcgi プロセスが再起動される -> 見れるように) Thread 使って分離した。callcc
使うべきだなぁ。
学校の階段 なにこれ。
今日の IRC
21:43:37 w******> 学校の階段読んだのか 21:43:45 w******> まじえろげ 21:43:50 cho45> まじえろげ 21:43:53 cho45> なにあれ 21:44:00 w******> えろげ 21:44:07 cho45> 後半の姉さんの笑顔まじ萌えす 21:44:18 cho45> じゃなくて 21:44:23 cho45> なにあのえろげ 21:44:25 w******> 確かにあれは萌える 21:44:28 w******> じゃなくて 21:44:32 w******> なにあのえろげ 21:44:44 w******> まあそういうわけで 21:44:51 w******> 続編でたら買いますよ? 21:44:55 cho45> かうのかw 21:45:03 w******> 絵買いばっちこーい! 21:45:12 w******> せいせいせい早く続編書いてくださいよー 21:45:15 cho45> 冷たい姉とのからみキボンヌ 21:45:17 w******> やべえええ俺きもいいいい 21:45:50 w******> ツンとクールと元気と和み 21:45:51 cho45> あれも一種のツンデレだよなぁ。素直になれない系っていうか、素直に見られない系っていうか 21:45:59 w******> だな 21:46:14 w******> しかし主人公が素直になるだけであっさりデレる 21:46:25 cho45> クールは出てきたとき誰だかわからんかった 21:46:41 cho45> 見せ場までの間の存在感が激しく薄い 21:47:14 w******> まあ仕方ない 21:47:16 w******> だがそれがいい
構成考えたら家族の描写は全部いらないよなぁ。あと、なんか主人公が嫌い。
Last.fm に統合してから Moderate 機能が使えなくなってるよなぁ。付け直したタグが重複してて気持ち悪いんだけど……
昔までのデータは残ってて、その分は機能しているように見える。THE HIGH LOWS が ↑THE HIGH LOWS↓ になるし。UI がないだけ?
どこに書けばいいのかなぁ。フォーラムだろうか。
エイリアスも MusicBrainz.com のデータ使うようにしたんだろうか。
未だに MusicBrainz が caseinsensitive だったらうざいな。
Artist moderation is done my MB integration, and there is the possibility of a site moderation too for artists.
MusicBrainz を使ってるけど、そのうち Last.fm でもやるかもよ?って感じかしら。
久しぶりに MusicBrainz 見たけど、the pillows, ART-SCHOOL みたいな表記が認められてるっぽい (前までは先頭大文字であとは小文字以外は不正で却下されてた)。ルール読んでないけど。
Ruby の each
系メソッドで一つ気に入らないというか、仕方ないんだけど面倒くさいことがある。なにかっていうと index
を使いたければ自分で変数作ってインクリメントしないといけないこと。each
だけに関しては each_with_index
があるけど、他の Enumerable
なメソッドにはない。そんなに必要なわけじゃないし、だいたいは他のもっといい書き方が存在するんだけど、prototype.js の each
系を見てから、ちょっと不便だなぁって思うようになった。
prototype.js の each
系は全て index
と item
が両方渡される。でも、受け取る側の関数は仮引数を常に2個書かなくてもいい。ECMAScript は引数の数に無頓着だ。いくら渡しても怒られない。仮引数を書かなくても arguments で参照できる。
対して Ruby の yield
はエラーこそ出さない (call
は出す) ものの、こういうことすると警告してくれちゃう。別にそれが悪いわけじゃなくて、むしろいいんだけど、っていうか block.arity
で場合わけすればいいんだけど。
なにがいいたいかわからんことに。
arity
の数で場合わけしたらだめか。[[:a, :b]].each {|a, b|}
みたいに使えないもんなぁ。
そういえば、日経ソフトウェアの 2001-03 (ふるい) のスクリプト特集に Ruby が載ってるんだけど、今さっき読んだら当時さっぱり何言ってるのかわからんことも結構わかるようになったりしてて、なかなか面白い。Perl の記事はわからんけど :(。で、その記事のコラムで、Matz さんが実行速度でPerlを抜きたい
って言ってるのが妙に印象に残ってた。そして今日その部分を YARV の記事を読んでて思い出したからこんなことを書いてるわけです。
日経ソフトウェアは2000-06 から 2001-06 までなんとなく買っていた雑誌で、結構お世話になった。扱いが荒いせいかボロボロだったり、コーラ溢して裏表紙が破けていたり、いやそんなのどうでもいい。XSLT も DOM もよくよく考えるとこの雑誌で記事を読んだのが最初の出会いであるし、上で書いた Ruby もそうだったりする。
入門書として、いろんな言語がいっぱい載ってるこういう雑誌って結構いい感じ。なんとなくもういいかなって思ったらちょうど一年分だったりして。これ買うのやめてからは一冊もプログラミング関連の本を買ってない (大学の教科書は別として) 。なんかぐーぐる先生とこの雑誌一年分で十分な感じ。そんな感じで今さっき意外と雑誌の情報って死なないんだなぁと思った。
当たり前だけど、雑誌を読んでプログラミングをどうこうしていたのは楽しかったからに他ならず、それから VB をやったり Javascript をやったりして最近やっと形になるようなスクリプトを書けるようになった。今考えれば結構長かったけど、あんまり長いことやってる自覚はない (し、別に実際長いわけではない)。だから俺はプログラミングにおいて何か努力したとかそういうことがない。これから、そういう努力をするハメになるのか、それとも楽しいままプログラミングと付き合って行けるかがよくわからないけど、願わくば楽しいままやっていきたいと思う。言い換えれば、努力なんて一瞬たりともしたくない。
なんとなく久しぶりにログインしたらサービス期間が終了しています。
やっぱ14歳ぐらいがちょうどいい身長だよなぁ。ポポスカと弓は合う。弓構えると背筋が伸びるのがよいよい。
とりあえずフレンドリストに入ってないギルメンに片っ端から追加リクエストを飛ばした。めんどかった。ギルメンに一括送信とか、ギルドに入ってる人の一覧をゲーム内で見れるようにして欲しい感じ。HTTP との連携は面白いんだけど、もっと何かできそう。もったいない。
検索オーバーレイをクロスブラウザ化しようと思って作業してて、よし IE で確認してみるかって思ったら、そもそも IE だと検索フォームがでてないのに気付いた。そうそう、この CSS 書くときにどうしても IE はちゃんとした位置に出せなかったから消してたのよねー、あははー。ばかかと
整理ついでに prototype.js を使うようにスクリプトを書き換えました。殆どイチから書き直しているのでおかしいかも。
といっても、引き継いだのはスタイルセレクタと検索の UI だけ。あとはそのうち付け足す。
検索の UI はとりあえず IE でもいけそうなところまできた、の、だ、けれど、結果表示が上手く言ってない。文字コードのせいかなぁ。
Opera は調子が悪いので確認してない。
よくつかうめそっど: each
, bind
。この二つは便利すぎてはなぢでる。foo.each((function (i) { this.bar.push(i) }).bind(this))
IE 対応完了。検索結果を XML で得るとき UTF-8 に変換していなかった。あとは CSS いぢりだけ。CSS いぢるほうが時間かかった。
何が脆弱って、コンピュータ壊れたら、本気で何もやることがないのだ。今日メイン PC が起動しなくなって絶望した。セーフモードでは起動したので、chkdisk のフラグをフルに立てて再起動して不貞寝したら治ったのでよかったけれど、どうなることかとかなり憂鬱な気分になった。
お金があったら、こういう心配をしなくていいのになぁ。
もっと理路整然と文章書けるようにならないといけないなぁってよく思う。頭悪いんだ。こう、理解できる限界線ってのがイメージとして見えていて、そこらへんを漂う思考っていうのは、もう少しもう少しって思えても全然まとまらない。数学とかやってるとその線が明確に見えてきてすごく嫌な感じ。あの理解できないっていう気持ち悪さはなんともいえない。
落ち着きが足りない、と言われる。
何か伝えようとする努力が足りないんだろうか。どうも書くだけ書いて、これで理解されないならいいやって思うことが多いように感じる。
だからレポートとかってすごく苦手なのですよ。あとで読み返したくないレポートができあがる。思い出したくない何かができあがる。気持ち悪い何かができあがる。
日記だからってのはよくないな。
document.write
を使ってるおかげで、application/xhtml+xml
だと使えないあの広告コードをどうにかして導入する。
まー Keystone Websites: Making AdSense work with XHTML をまるパクって、/google-adsense.html を作って、あとは object 要素作っといた。
<xsl:template name="adsense"> <div class="google-adsense"> <xsl:choose> <xsl:when test="$real-flavor = 'html'"> <script type="text/javascript"><xsl:comment><![CDATA[ google_ad_client = "pub-4629424540171624"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text"; google_ad_channel =""; google_color_border = "000000"; google_color_bg = "F0F0F0"; google_color_link = "0000FF"; google_color_url = "008000"; google_color_text = "000000"; ]]></xsl:comment></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> </xsl:when> <xsl:when test="$real-flavor = 'xhtml'"> <object width="468" height="60" data="/google-adsense.html" type="text/html"></object> </xsl:when> </xsl:choose> </div> </xsl:template>
FEEDBRINGER で未読がないフィードを非表示にする GreaseMonkey スクリプト。feedbringer-hide-read.user.js。まぁ誰か作ってるだろうけど……
最近 Sage から FEEDBRINGER に移行したのだけれど、俺はフォルダ分けを全くしない横着ものなので、未読がないフィードが邪魔で未読フィードがどれぐらいあるのかぱっとみわからない。そんなわけで GM。
消すだけじゃなくて、トグルできる (Toggle Read Feeds クリック) ので、導入しても弊害は少ないかなと思う。
Bloglinesの「Show only updated feeds」をチェックしてない人が多すぎる を見てからなんとなく考えてた。
feedbringer.css。すごく、きたないです。
/feed にしか適用しません。かなりソースがアレで苦労した。ソースがアレな上に、JS で擬似フレームの大きさを変えているので、そのあたりがかなり汚い……素直にフレーム使ったほうがいい気がする。
いろいろ変更。フォルダの矢印とか。
そういえばおとといぐらいに携帯変えた。前に解約云々言っていたけれどなかったことに。
別に特別変えたかったわけじゃないのだけれど、二週間に一回ぐらい機種変する?とか親父が聞いてくる (去年ぐらいから) ので変えてみた。俺には基本的にメリットしかないわけで……よくわからん。
前のやつは 4年ぐらい前 J-Phone 時代なやつでして、予測変換さえないおもろい携帯でした。まぁ携帯でメール書かないので困らなかったわけですが。まぁ携帯にメール来ることがないので困らなかったわけですが。まぁ携帯に電話来ることがないので古くても困らなかったわけですが。
友達がいない僕は携帯を連絡手段じゃなくてカメラとして使います。あーあと時計?なんか俺は腕時計つけるのが苦手らしくて、今は腕時計を持っていない。というか同じような理由で靴下も履かなかったんだけど、冬はさむずぎるので履くようにした。意味わからん。
実際は消すんじゃなくて半透明にします。適用先は他の人の写真一覧のページ (/photo/username/)
以下スクリプトの説明
実は Set があるときとないときとで構造化の度合いみたいなのが違っててややこしい。具体的には Set がない人の一覧では div.StreamView
一個に対し、一つの写真と写真の情報が含まれる望ましい構造であるのに対し、Set がある人の一覧では、写真一覧が全部 div.StreamView
一個に含まれている。
ということで、Set がある場合とない場合にわけてる。きもいー。
Set がある場合、div.StreamView
以下の要素を一旦構造化する。
DocumentFragment
を作っておく。div.StreamView
以下列挙してループh4
がでてきたら div (class="__GM_Photo") という要素を作るdiv.__GM_Photo
に appendChild
(一旦ノードは削除される)h4
がでてきたら DocumentFragment
に突っ込むdiv.__GM_Photo
も DocumentFragment
に突っ込むdiv.StreamView
に DocumentFragment
を appendChild
(戻す)DocumentFragment
は DOM における無名ノードみたいなもの。名前そのまんまだけど!!!
appenChild
は既に同じドキュメントにあるノードを追加するとき、一旦そのノードを取り除く。すなわち移動したいときはいちいち削除する必要はない。逆にコピーしたいときは cloneNode
する必要がある。
そいでもって、Set がない場合は div.StreamView
のクラス名に __GM_Photo を追加するだけしとく。
あとは、Set のあるなしに関わらず、CC の画像を含んでいない div.__GM_Photo
にアレしてコレした的な何か。