2005/2月 - 朝顔日記

rNote の微改造とか

2005-02-04

一頃は、対応した UA には application/xhtml+xml で送出していたこの日記ですが、最近は text/html で送出していました。というのは、リンク元やトラックバック、ツッコミの内容などの URI に & が含まれていたりすると xml パースエラーでページが表示出来ない場合があったからです。rnote.php をサラッと見た限りではどこをいじればいいのかわからなかったので、text/html にしていたわけなんですが、ちょっと気合を入れてみてみることにしました。んで、改造しところのメモ。

rnote.php のバージョンは、0.9.7.5 です。オリジナルの436行目付近の autolink 関数のあたり。


function autolink($url){
  $url = preg_replace(LINK_REP_STR,"<a href=\"\\1\\2\">\\1\\2</a>",$url);
  $url = preg_replace("/&([^(amp)])/","&amp;\\1",$url);
  return $url;
}

これで、ツッコミやトラックバック回りは大丈夫ぽいですが、これだけではリンク元がうまく行きません。1201行目付近を以下のように。


  while($tagstr=SkinTagChk('Ref_Data',$a,$opt)){
    $rep='';
    if(($bRefExist)&&(isset($opt['fmt']))) $rep=WriteBack_Ref($ref_data,$opt['fmt']);
    $a=str_replace($tagstr,$rep,$a);
    $a = preg_replace("/&([^(amp)])/","&amp;\\1",$a);
  }

これで、多分大丈夫な気がするけど、自信がないのでリンク元の表示は止めました。:p)

ちなみに、application/xhtml+xml で送出する方法は rNote で application/xhtml+xml に書いたとおりです。

あと、この件とは関係ないですが、オリジナルの155行目を以下のようにしています。


    if(preg_match('/^(http|ftp|mailto|#|\/)/s',$tmp[1])){    // exclude

オリジナルだといわゆるページ内リンクができないようだったので。

どうもうまくいっていなかったので、考え直しました。

「rNote の微改造とか」へコメントをつける

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050204a.html

続・rNote の微改造とか

2005-02-08

前回の続きです。掲示板で北村さんに、ツッコミを頂きなるほどということで考え直してみました。直した箇所は、オリジナルの1204行目のあたり、$a=str_replace($tagstr,$rep,$a); を以下のようにしてみました。


    $a=str_replace($tagstr,$rep,$a);
    $a = preg_replace("/&/","&amp;",$a);
    $a = preg_replace("/&amp;amp;/","&amp;",$a);
    $a = preg_replace("/&amp;quot;/","&quot;",$a);
    $a = preg_replace("/&amp;lt;/","&lt;",$a);
    $a = preg_replace("/&amp;gt;/","&gt;",$a);

前回の autolink 関数回りはオリジナル通りです。

今度はうまくいくといいな、ということでまたリンク元を表示するようにしてみます。うまく行かなかった場合、application/xhtml+xml を解する優秀な UA だと xml パースエラーが出てページを表示出来ない場合があります。:p)

「続・rNote の微改造とか」へコメントをつける

トラックバック

1: 徒書/与えられたURLをどう扱うか (2005-02-09T15:45:03+09:00)
「単に全ての"&amp;"を"&amp;amp;"に変換しておけばいいように思います」と述べた辺りがうまく伝わっていないようだったので、具体例を使って補足説明したいと思います。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050208a.html

検索ステーションを入れてみた

2005-02-09

へんこつ日誌 にて、NOB さんが Mozilla から Firefox に乗り換えたいけど、Firefox だと Mozilla みたいにサイドバーで検索できないのがなぁ、と嘆いておられたのでなんか拡張でそういうのがあるだろうと思って探してみたら、Search Station (検索ステーション)というのが見つかったので試してみました。

サイドバーで色々なエンジンを使って検索することが出来るのはもちろんのこと、翻訳サイドバーというのも付いていて、サイドバーで翻訳とかもできる便利な拡張でした。

私の場合は、Firefox 標準装備のサーチバーで検索して結果ページを普通に表示させ、それっぽいサイトのみマウスの中クリックで次々と複数の別のタブに表示させてからおもむろにひとつづつ見るというような検索の仕方をしているので、サイドバーによる検索はさして必要ではないのですが、サイドバーでの検索が好みの方は試してみるといいかもしれません。

なお、今日の私の環境 0208版のナイトリーでは、残念ながら検索ステーションを使おうとすると Firefox がクラッシュしてしまい使うことが出来ませんでした。しかし、0204版の aviary1.0.1 なナイトリーでは動作したので、Firefox 1.0 では大丈夫だと思います。

「検索ステーションを入れてみた」へコメントをつける

トラックバック

1: へんこつ日誌/[Web] Firefox ウェブ検索パネル (2005-02-09T18:02:13+09:00)
のりさんが紹介してくれたウェブ検索パネルを入れてみた。もう少し洗練されればなぁという感じは否めないけれど無いよりは楽です。何故か右クリックするとポップアップが出てきて一向に消えてくれないバグがあるようです。仕事場のマウスは中ボタンがまったく別の機能に割り当ててあるのでしばらくこれで様子見だな(^^;追記:と思ったら、[ESC]きーで消えました。何だかちょっと邪魔くさい感じ!
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050209a.html

ロリ入れてみました

2005-02-10

Firefox 用の拡張 lori というのが出たと言うので入れてみました。

何をする拡張かというと、以下のようなことをする拡張です。

  • track how long it takes to see the first byte from remote server (time-to-first-byte (TTFB)).
  • track how long it takes to complete displaying the page (time-to-completion (TTC)
  • track the page size
  • track number of sub-requests used to build the page

要するに、サーバから最初にデータが送られてくるまでにどれだけかかったかとか、ページが表示されるまでどれだかかかったなどを計って、ステータスバーに表示してくれる拡張です。以下他の拡張の分も含めて私の使っている Firefox のステータスバーのスクリーンショットです。

ステータスバーのスクリーンショット

これを使えば、ナイトリーとリリースの速度の違いを計測したり、高速化チューニング(何)の効き具合とか調べられるかもしれんので試してみるかと思いましたが、面倒なのでやめときます。:p)

ちなみに、Yahoo! JAPAN で何度か計ってみたところ、私の環境では 2.5秒程度でした。

「ロリ入れてみました」へコメントをつける

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050210a.html

Re: 与えられたURLをどう扱うか

2005-02-10

続・rNote の微改造とか にたいして 与えられたURLをどう扱うか - 徒書 にてまたまた北村さんに反応していただきました。理解の悪いヤツですみません。

なるほど、ようやく理解しました。私の方法では、&amp; という文字列を含む URI を扱うことができなくなってしまうわけですね。

しかし、困りました。というのは、件の微改造(何)を施した GetContentsEach 関数ではツッコミやトラックバックの記事概要内の実体参照も処理しているので、北村さんの言われるように、$a = preg_replace("/&amp;amp;/","&amp;",$a); だけにしてしまうと、コメント内のテキストで面白くない結果になってしまうのです。やはり、もう少し rnote.php をよく読んで改造する必要がありそうです。

とりあえず、後ろ向きですが微改造はそのままにしておいて、またリンク元を非表示にしておきます。ツッコミ欄にて &quot;&amp;amp;&quot; みたいな表示をするよりは、"&amp;" と表示されたほうがいいと思うので。

「Re: 与えられたURLをどう扱うか」へコメントをつける

この記事へのツッコミ

1: 北村 (2005-02-11T17:30:25+09:00)
たびたび失礼します。
rnote.phpを見たところ、リンク元一覧は WriteBack_Ref という関数から出力されているようなので、そこだけを改造すれば、コメント・トラックバックには影響しないかと思います。

具体的には、rnote.phpの1083行目辺りの
list($site,$count) = explode("\t",str_replace("\n","",$ref_data[$i]));
の次の行に、
$site = htmlspecialchars($site);
とか入れておけば、「リンク元URLの&が単独で出現する問題」「リンク元URLがサニタイズされていない問題」の両方への対処になりそうです。
2: のり (2005-02-12T15:37:36+09:00) nori@noasobi.net
毎度ご教授ありがとうございます。
さっそく別のテストサイトで試してみたところ、コメントの表示もリンク元 URL の表示も大丈夫なようです。ただ、どうもリンク元のカウントがおかしくなるようです。もっとも、http://rinn.e-site.jp/bbs/20050126221451.htm によれば、rnote 本体のリンク元の記録にバグがあるのを、作者のりんさんも把握しておられるようなので、そこらは次のバージョンアップを待ちたいと思います。
ということで、次回更新時にリンク元は表示、カウント数は非表示にしてみようかと思っています。
3: りん (2005-02-14T13:04:06+09:00)
いや、申し訳ありませんですー
この件は気が付いてまして、autolink と WriteBack_Ref に関しては早急に直さないといけないなぁと思っていた所だったんですが…
何分にも最近全然時間が無くて。あう
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050210b.html

AOL Browser ベータを入れてみた

2005-02-10

くでんな日々や公開どう? 経由で AOL 製の IE コンポブラウザ、「AOL Browser」のベータ版 が出たのを知ったので早速入れてみた。

タブブラウザで、ポップアップブロッカーを装備しているようです。以下スクリーンショットのサムネイルです。例によって等倍画像にリンクしています。

スクリーンショットのサムネイル

スクリーンショットを見て頂くとわかりますが、タブの上にマウスカーソルを持っていくと該当ページのサムネイルが表示されます。あと、よくわかりませんがデスクトップ検索の機能もあるようです。

タブブラウズの設定は以下のような感じです。

タブブラウズの設定画面のスクリーンショット

それにしてもインストーラーを起動したらインストール場所も訊かずにいきなりどっかへ入っていって、おまけに常駐までしてしまうようなアレなアレなんで、即アンインストールしました。

「AOL Browser ベータを入れてみた」へコメントをつける

この記事へのツッコミ

1: きつね (2005-02-10T20:48:06+09:00)
C:\Program Files\Common FilesとかC:\Windows\Application Dataとかその他、アンインストールしてもあっちこっちにファイルが残ります。最悪だ……。私みたく気になる人はローカルドライブを「aol」で検索して、AOL Browserをインストールした日時のディレクトリやファイルは消したほうがいいかもしれないです。
2: のり (2005-02-11T12:12:04+09:00) nori@noasobi.net
アンインストールしただけで安心していたんですが、確認してみたら確かにいっぱい残ってますね。ほんに凶悪なやつです。とほほ。
正式版が出ても入れんとこ。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050210c.html

URI メモ ちょっとバージョンアップ(?)

2005-02-12

Folksonomy やら タグやらが流行っているとのことなので、とりあえず私の URI メモでも、タグをつけれるようにしてみた。RSS には、dc:subject にそれが入るようにしてみました。しかし、ただ入れてもちーとも便利でないので、とりあえず del.icio.us のタグに飛べるようにしてみました。つか、それならはじめから del.icio.us 使えよという気もします。まぁ、del.icio.us も使ってみているんですが。まぁ、色々試行錯誤中ということです。

のりさんのURI メモで似た記事検索というのがあったのでアイディアをパクりました。更に周辺情報が得やすくなります。多謝。

適宜覚書: 勝手にバレンタインを催すな にてお褒め頂いた Bulkfeeds: Similarity Search - RSS Directory & Search を使った似た記事検索ですが、実はどうも私の登録したサイトだと、Bulkfeed に登録されていないものがほとんどで役に立たなかったというのは内緒です。:p)

ところで、URI メモで使っているスクリプトは、URL をメモる何かをいじる にて watson さんに添削していだだいたものに差し替えています。遅くなりましたが、御礼申し上げます。どうもありがとうございました。> watson さん

「URI メモ ちょっとバージョンアップ(?)」へコメントをつける

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050212a.html

乗り過ごし

2005-02-16

大阪へ出張して業務終了後、piro さんIWAI さんと飲んで、夜行の急行で帰ってきました。酒を飲んでいるので乗り過ごさないか心配だったのですが、案の定乗り過ごしました。普通列車で1時間くらいの距離行き過ぎました。しょうがないので1時間ほど駅の待合室で時間をつぶし、逆方向の列車に乗り込みました。1時間ほどで帰りつけるはずです。

が、あろうことかまた乗り過ごしてしまいました。今度は一駅だけでした。駅員さんにその旨を告げたら、「しっかりせんといかんよ。」と言われました。

次の逆向きの電車の時間まで1時間ほどあったので、待っているのもだるいので歩いて帰りました。ちょうど1時間くらいかかってようやく自宅に帰り着くことが出来ました。

本当なら5時間半程度で帰って来れたはずなのに、結局9時間半ほどかかった計算です。

「乗り過ごし」へコメントをつける

この記事へのツッコミ

1: まりさ (2005-02-16T19:12:31+09:00)
ぎゃははははははは _(__)ノ彡☆!
おぬしやるね~ そっか 夜中の小旅行を
それも 格安で楽しんで
最後の仕上げは 歩いて帰ったとは 偉い
見上げた もんですね (-_☆)キラーン
きっと この次は 時間を 有意義に 使うでしょう   (・x・`*)ネー
2: 本丸 (2005-02-16T21:44:22+09:00)
素晴らしい旅でしたね。お疲れさま。あの電車は必死で起きてないと冬はつらいです。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050216a.html

Netscape Browser Pre-Beta を入れてみた

2005-02-18

Netscape 8 のベータの公開が2月末に延期なった代わりというわけではないでしょうが、プレ・ベータが出たとのことなので、早速入れてみました。これで確か3つめだと思うのですが、今回はこれまででも一番シンプルとは程遠い感じです。以下スクリーンショットのサムネイル。等倍サイズにリンクしています。

スクリーンショットのサムネイル

等倍スクリーンショットをご覧頂くとわかりますが、タブごとにセキュリティ関係やレンダリングエンジンの選択などアレコレ設定できるようです。

Netscape 8 は Firefox ベースなので、ライブブックマークの機能も装備していますが、Firefox とは異なった表示のしかたをするようです。以下スクリーンショット。

これはこれで見やすそうですが、多数登録すると RSS の一覧の可読性が悪いかもしれません。場所は足りなくならないように、複数のツールバーを切り替えて使えるようです。

タブブラウズに関しては、これまでのものと同様にネイティブに対応しています。以下タブブラウズの設定画面のスクリーンショットのサムネイル。等倍画像へリンクしています。

タブブラウズの設定画面のスクリーンショットのサムネイル

スクリーンショットに写っているのは、まだ何もいじっていない状態のものです。以前のものよりも細かく設定できるようになった気がします。こんなもんだったかな。忘れた。:p)

まぁ、自分では常用する気にはなりませんが、それなりにがんばっていいものになってくれるといいと思います。

「Netscape Browser Pre-Beta を入れてみた」へコメントをつける

トラックバック

1: キミガタメ「ハ」/Netscape 8 Pre Beta 公開。 (2005-02-19T00:25:18+09:00)
さわやか水色にテーマを変えて登場 直前に延期になっていた Netscape 8 ですが、テスター向けにプレ・ベータが公開されました。 あえて、Netscape Browser からブログを更新してみたり。 UA は Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/
2: Blog Bookmarks./Netscap Browser Pre-Beta 出たみたい? (2005-02-24T12:09:19+09:00)
Netscap Browser 8 がまだ出ませんが、テスター向けにNetscap Browser Pre-Beta 出たみたいですね朝顔日記 - Netscap Browser Pre-Beta を入れてみたNetscape 8 のベータの公開が2月末に延期なった代わりというわけではないでしょうが、プレ・ベータが出たとのことなので、早速入れてみました。Read more...さすがに最近動作が重いのか、何でも入れるわけに行かないようなので入れてませんが、これからスパム対策が必要な人は入れるのがいいかもしれません。最近、Firefox1.0重い...。何でなのかは不明です。文字変換時に動作がおかしくなる。いらないファイルは削除しよう。
3: HPを作ろう/戦いの記録 (2007-10-23T01:53:45+09:00)
こんにちは。朝顔日記 、 を興味深く読ませていただきました。勉強になりました。こんど、gecko のブラウザを使ってみようと思っています。結構ワクワクしてるんですよ。また読ませていただきたいと思います。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050218a.html

最近使っている拡張やテーマ

2005-02-19

いろいろ調子が悪くなってきたようなのでプロファイルを作り直しました。んで、拡張やテーマを入れなおしたわけですが、メモを兼ねて入れた拡張を書いておきましょう。infolister を使って書き出してみました。なんかまだ抜けているような気がするけどそのときはまた追加ということで。

Extensions(enabled: 16, disabled: 0)

Themes (3)

「最近使っている拡張やテーマ」へコメントをつける

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050219a.html

さらば FGALDC

2005-02-22

本日をもって、nifty のソフトウェアギャラリーフォーラム FGAL の会議室、ライブラリへの発言が終了とのこと。以後はリードオンリーになって、3月22日をもってシステム終了だそうです。私が入り浸っていたのは、FGAL・ドキュメント 通称 FGALDC で13階の「とくせつ:Vz□Q&A・そこが知りたい」、14階「とくせつ:Vz□交 流・マクロ使うぞ!」、15階「とくせつ:Vz□研究室・マクロ作るぞ!」の各会議室でした。最後の御挨拶をせねばということで、さきほど nifty に telnet 接続して行ってきました。

思い起こせば、私がコンピュータをアレコレいじったり、ヲタになったのは、ひとえにこの FGALDC のおかげであります。先ほど未読のログを落としてきたところ、どうも私が最後に書き込みしたのは2002年5月頃で、それ以来巡回は怠っていたようですが、FGALDC には本当にお世話になりました。こんなところで書くのもアレですが、FGALDC の VZ 関連会議室の皆さん、本当にありがとうございました。

ま、これからもネットでつながることが出来ますので、今後ともよろしくお願いします。

なんか記念に久々に VZ マクロでも書いてみようかと思いましたが、すっかり忘れ果ててしまっているので、昔作った開いている html ファイルをローカルの htmllint に渡す超ローテクマクロでも載せておきましょう。:p)


= HTM_CHK.DEF =
*m
80 ^\ "HTM_CHK"
        ?. (mr)?{#S #m}
        #E &?("Perl c:\perl\htmllint\htmllint %s | Nkf32.exe -s",wa+146) #m
        #95 #42 mp[=2, ps[="htmllint", #r ps], mp],
*

もちろん、htmllint をローカルに導入してないといけませんし、lint の出力結果を VZ で表示するために、nkf32 を使っているので、nkef32.exe もパスの通ったところにある必要があります。

参考
Another HTML-lint gateway
Another HTML-lint : Download
ftp/arch/cc-env/nkf-win

「さらば FGALDC」へコメントをつける

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050222a.html

Prefwindow V の JavaScript 詳細設定

2005-02-27

Firefox ナイトリービルドの0225版から、新しいオプション・ダイアログ Prefwindow V が導入されました。設定画面は以前 Firefox の新しい設定ウィンドウ で書いたものとほぼ同様のものですが、The Burning Edge: 2005-02-25 Trunk builds に、Prefwindow V の JavaScript の詳細設定について書いてあったので、そこらをちょっと噛み砕いてみてみましょう。

まずは、これまでの 設定の Web Feature にあったJavaScript の設定ウィンドウのスクリーンショット。

JavaScript 詳細設定ダイアログのスクリーンショット

このように、6つの項目が設定できました。そして次が新しい設定画面です。

新しい設定ダイアログのスクリーンショット

詳細設定はなくなり、代わりに "but disable common annoyances" という項目が出来ています。これにチェックを入れることで先の詳細設定の "change images" 以外の5つの項目のチェックを外したのと同じことになるそうです。つまり上の2つのスクリーンショットは JavaScript に関して同じ設定を表しています。残る "change images" はどこへ行ったかというと、なくなったそうです。

あと、Prefwindow V には2つの隠し設定があるそうで、browser.preferences.animateFadeIn を true にすると、設定の項目を切り替えるとダイアログボックスがアニメーションして大きさが変わるようになります。windows 版ではデフォルトで false です。true にするとマクのモノマネ風にミョーンと大きさが変わって面白いです。:p)

もうひとつは、browser.preferences.instantApply で、これは項目の値を変えると、直接変更を反映させるか否かを決めます。windows 版はデフォルトで false になっていますが、true にすると、[OK] ボタンや[Cancel] ボタンもなくなり、[Close] ボタンだけになります。

参考
[BE] 2005-02-25 Trunk builds

さらに変更になりました。続 Prefwindow V の JavaScript 詳細設定 参照のこと

「Prefwindow V の JavaScript 詳細設定」へコメントをつける

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050227a.html

ruby マークアップ用の lisp

2005-02-28

ruby のマークアップを大量にする必要があったので、意を決して xyzzy 用の lisp を初めて自分で書いてみた。といっても 既存のものを切り貼りしただけのようなものですが。以下のその lisp


;;ruby マークアップ用
(defun markup-ruby (from to)
(interactive "*r")
(save-restriction
(narrow-to-region from to)
(goto-char (point-min))
(replace-buffer "\\([^(]+\\)(\\([^)]+\\))" "<ruby><rb>\\1</rb><rp>(</rp><rt>\\2</rt><rp>)</rp></ruby>" :regexp t)))
(define-key ed::*html+-mode-map* '(#\C-c #\r) 'markup-ruby)

漢字(かんじ) のように、rb 要素になるテキストの後に全角カッコ付きで rt 要素の内容を書いて、それらをリージョンにしておきます。この場合だとリージョンの先頭は正確に「漢」の字にしておく必要があります。後ろは結構いい加減でも大丈夫です。その状態で 実行すると、<ruby><rb>漢字</rb><rp>(</rp><rt>かんじ</rt><rp>)</rp></ruby> てな感じに変換されるはずです。

キーバインドはとりあえず、C-c r になっていますがそこらあたりは適当に。

ちなみに、以前は VZ (何)用のマクロを自作して使っていたのですが、ついでにそれも書いておこう。


= ruby.def =
* m
80 ^\ "ruby" ?.
        (mb!=2)?{&b(6) &m("文字ブロックでどうぞ").}
        n=10,                           ;FEP が WX3の時
        &j(0) f=mg.-9, &j(n) fr+,       ;FEP ON
        &g("ふりがな",30) (r<0)?>z
        #y
        "<ruby><rb>"
        ek[+, #i ek],                   ;ek:出力後のカーソル位置更新
        &?("</rb><rp>(</rp><rt>%s</rt><rp>)</rp></ruby>",pw)
:z      fr-, &j(f)                      ;FEP 復帰
*

こっちはあらかじめ rt 要素の内容を書いておくのではなく、後から入れるタイプです。ルビを振りたい部分を文字ブロックにしておいてマクロ起動。rt 要素の内容を聞いてくるので答えてやるとそのようになります。て、こんなの使う人がいるのか。:p)

せっかくなので、意味なくルビ付きのものをなんか書いておきます。

  • 蜻蛉かげろう
  • 蝙蝠こうもり
  • 蟷螂かまきり
  • 蟋蟀こおろぎ

「ruby マークアップ用の lisp」へコメントをつける

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/02/diary_050228a.html