月が変わったんで、うまいこと自動更新システム(何)が稼動するか心配なんですが、そもそも月が変わっても新しくその月のファイルを作ってくれる仕組みなんかまったく用意されていないということに今しがた気がつきました。:p)
ま、アップの仕組みとかコピペせずに最新版を作る機能とかは大丈夫のはずなんで、そこらあたりはまた一月かけて考えよう。つか、ほんとにうまく行っているのか心配です。:p)
私のアンテナ、のり未刊には、スタイルシート切替機を使った簡易カテゴリー別表示機能があるのですが、これまでクッキーを食べないようにしていたんですが、試しにクッキーを食べて選んだカテゴリーで表示するように設定を変更しました。ま、私の他にはほとんどつかっている人はいないと思うので困る人もいないと思うのですが、もし都合が悪いという方がおられましたら、ブラウザの設定でクッキーを食べないようにすれば、これまで通りの動作になると思います。
それとこれまで紛らわしかった「すべて」と「なし」の表記をそれぞれ「最新40」と「すべて」に変更しました。2003年12月1日12時20分頃から切り替わります。
rssreader.xsl を改造してみた
2003-12-01
Mozilla Firebird 用の拡張 RSS Reader Panel はまことに便利です。特に最近のバージョンになって、「コンテンツエリアで開く」機能がついて discription が読みやすくなりました。が、表示が2段組で、どうも記事の順番がわかりにくい気がしたので、コンテンツエリアでの表示に使われている rssreader.xsl を改造してみました。
具体的には、単に記事のタイトルに上から順番に番号を振るようにしただけなんですが。:p)
改造といっても、RSSのバージョンごとに4箇所ある
<h2 class="item-title">
<a href="{link}"><xsl:value-of select="title"/></a>
</h2>
こんなようなところを、
<h2 class="item-title">
<xsl:number />. <a href="{link}"><xsl:value-of select="title"/></a>
</h2>
こんな感じにしただけです。これで記事の順番で悩まなくてもすみます。:-)
- 追記
- Watson さんの rssreaderをいじる を読んで大事なリンクを忘れていたのに気がつきました。段組表示させたりいろいろなバージョンの RSS に対応させるためには、RSS Reader Panel XSLT の rssreader.xsl.zip が必要です。
このサイトの場合、おおむね3箇所から更新するので、日記を書くための diary.bat で鯖から最新の月のファイルと最新版の日記ファイルをダウンロードしてから書いています。バッチファイル実行して3秒後には日記を書き始められるので、なかなかお手軽です。:-) しかし、月初めだとまだ最新の月のものがないのでちょっと困ってしまうわけです。(日記更新の半自動(?)化、続・日記更新の半自動(?)化 参照)
ということで、考えたのが diary.bat を実行するタイミングで当月分のファイルがない場合は、テンプレートに基づいて自動生成させるという方法。各月のファイルの head 部分には、link 要素で前の月とかへのリンクが張ってあるので、全自動というわけには行かないかなぁとか思っていたのですが、これも perl かなんかで出力させるようにすればいいのではないかと思いつきました。しかし、バッチファイルで当月分のファイルがあるかないか判別させるのもしんどいなぁとか思ってムーン、とうなっていたのですがいい手が思いつきました!
単純に鯖のほうで cron 仕掛けて毎月1日の0時にその月の分のファイルを生成させれば簡単ではありませんか。ということで、来月までにやっておこう。:p)
テレビで坂本九ちゃんと平井堅が「見上げてごらん夜の星を」のデュエットをやっていた。ま、合成で九ちゃんの口と音が合っていなかったりするお粗末なものだったんですけども。
坂本九ちゃんといえば、そのビブラートが素晴らしくて私は常々 Albert Ayler のそれに通じるものがあると思っているんですが、どうでしょう?
「見上げてごらん夜の星を」を試聴できるサイトや、Ayler の曲を視聴できるサイトもあるようなので興味のある方はどうぞ。
ちなみに、今この日記を書いているマシンの名前は ayler です。
私の環境では、最近のMozilla Firebird のナイトリーで Ctrl+D でブクマクしてもフォルダが選択できない状態でした。きっとなんかのバグなんだろうなと思って、違う方法でブクマクしていました。違う方法というのは、アドレスバーのアイコンをツールバーのブックマークにドラグ&ドロップするという方法なんですが。
しかし、ふと気が付きました。これって例の widgets → bindings への仕様変更に伴うアレ(何)ではないかと。私は Breeze を愛用しているんですが、試しにデフォルトテーマに戻してみたらしっかり機能しました。なーんだということで、例によってまた改造です。
プロファイルディレクトリの crome ディレクトリにある breeze.jar を解凍してディレクトリ内に "widgets" で grep かけてみました。んで該当ファイルの該当箇所をすべて bindings に書き換えて再度固めて入れ替えてみたところ、無事 Breeze でも大丈夫になりました。:-)
最近、どっかおかしいというような方は一度お使いのテーマを調べてみるといいかもしれません。
へんこつ日誌(12月5日) で NOB さんとちょっと話していたのですが、この日記にもある「本日のツッコミ」のアンカーテキストをちょっとかえてみました。
久々に K1 を見た。滅多に見ないんで選手とかよくわからんのですが、優勝した何とかという選手の飛び膝はカコイイなぁ。沢村忠の真空飛び膝蹴りを思い出しました。(古
昔、私が中学生3年生で受験生だった頃、受験勉強するために自分でテレビは見ないことにしようと決めました。でも、唯一これだけは見てもよしとしたのが、月曜日の午後7時半からやっていたキックボクシング。解説はおなじみ寺内大吉さん(誰)でしたね。
飛馬拳児のヒジ打ちは強力だったし、たまにタイからムエタイの選手とかが来て回転ヒジ打ちとか謎な技を繰り出したりして楽しかったものです。そんなキックボクシング界にマーシャルアーツが挑戦してきたときはものすごいショックでした。何故といってあれほど強い日本の選手がハイキックでバリバリ倒されまくっていましたから。
またテレビで K1 じゃなくてキックボクシングやらないかなぁ。
Link ToolBar と LinkIt
2003-12-07
久々に Mozilla Firebird のプロファイルを作り直しました。なぜかここのところ不調だった Link Toolbar がうまく動くようになってうれしい限り。さらに、LinkIt というのも追加で入れてみた。
LinkIt は、ページ内のリンクを検索して自動的にページを見る順番に関係ありそうなリンクをLink Toolbar に追加してくれたり、ひとつ上の階層やドメイントップへのリンクを追加してくれます。なかなか便利です。
ところで、プロファイルを作り直したのでいろいろな拡張を再度あれこれインストールしたのですが、JavaScript Actions をインストールした時点で、Link Toolbar がうまく動かないようになってしまいました。JavaScript Actions を disable にするとまた動くので、なにか相性のようなものがあるんでしょうか。
ナビゲーションをなくしてみた
2003-12-07
いろいろ試してみるということで、最新版のページだけですがナビゲーションをほとんどなくしてみました。index.htmlへのリンクだけは残してあるので、link 要素によるナビゲーションに対応していない IE とかの方でもそう困ることはないと思います。昨年も一度 Opera のみナビゲーションが非表示になるスタイルというのを書いてみたことがあるのですが、今回はそもそも書いてありません。その代わりと言ってはなんですが、link 要素のほうは少し増やしておきました。link rel="bbs"
とか。:p) それに伴い profile も更新。
音声読み上げ関連アプリのメモ に株式会社 日立ケーイーシステムズの
心友
を追加しました。
ZoomSight といい日立も結構こっち(どっち)方面に力を入れているなぁ。
それにしても、富士通のらくらくブラウザは、すでに販売されているみたいだけど web 上では、8月のプレスリリースくらいしか公式な情報が見当たらないのはどういうことなんだろ。
HTML Techniques for WCAG 2.0 のページ
2003-12-10
HTML Techniques for WCAG 2.0 の Working Draft が出ました。英語なのでなかなか読めないんですが、これからぼちぼち読んでみたいと思っています。それはいいんですが、これじゃ読めねぇよ。
うちの Mozilla Firebird でのスクリーンキャプチャです。IE や Opera では正常に表示されるのですが、なぜか Mozilla Firebird ではキャプチャ画像のように所々に灰色のブロックが表示されて本文を隠してしまっています。もしかして、私の Mozilla Firebird の環境の問題かと思って、mozilla で見てみましたが同様でした。
もっとも CSS 切ればどうもないのでそう困ることもないわけですが。それにしてもこんなことがあるんですねぇ。
この記事へのツッコミ
- 1: yuu (2003-12-10T20:27:46+09:00)
- 僕の手元のはMozilla1.5ですが、そういう現象は起きないですね。
- 2: ろばQ (2003-12-10T20:56:33+09:00)
- WindowsXP+Mozilla Firebird6.0でも問題ありません。
- 3: サル並 (2003-12-10T21:53:08+09:00)
- うちの MozFb, Mozilla自前build@Fedora Core 1では共に正常表示ですた。
- 4: のり (2003-12-10T22:00:10+09:00)
- 会社マシンのMozilla Firebird 1207版で再現しました。が、隣の席の人(誰)のMozFB@debian では再現しませんでした。ということは私の環境に問題があるのかな。
- 5: のり (2003-12-10T22:21:56+09:00)
- 隣の人のはdebianでなくてwin98でした。で、さらに@plamoなMozFB 0.7 でも試してみましたが再現しませんでした。んで、私の会社マシンのmozilla1.1(古っ)で再現して、今日出たばかりの1.6bに入れ替えても再現しました。
試しに、拡張も何も入っていないMozFB 1207版@win98でも再現しました。しかし、私のマシン以外では再現していません。うう、どうしてだろ。
- 6: のり (2003-12-10T22:35:30+09:00)
- まっさらのMozFB0.7@win2kでようやく正常に表示されるようになりました。なんなんだ。
- 7: ぺと (2003-12-11T18:39:21+09:00)
- 邪魔灰色窓の現象、再現しました。環境は、Win-ME,焼鳥0.7,Px Classicです。然し、否な伏せ窓ですね。
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2003/12/diary_031210a.html
JAWS お試し版の期限切れ迫る
2003-12-11
おそらく現在あるスクリーンリーダーの中では世界最強を誇る、IBM の JAWS v4.5 のお試し版の試用期限が残りわずかです。
JAWS とは Job Access With Speech の意で、視覚障碍者が就労するためのツールとして開発されたプロフェッショナル仕様のスクリーンリーダーで、対応したアプリケーションの画面を音声化して読み上げてくれるアプリケーションです。もちろん、Internet Explorer も対応アプリのうちのひとつなので、JAWS + IE で web を聴いて回ることも可能です。大変高機能なアプリケーションだけあって値段も素晴らしく、winXP Home 用が10万円、win2k、winXP Pro 用が15万円とちょっと試してみるにはとても手がでない値段なので、お試し版があるのは大変にありがたいことであります。お試し版は起動後40分間しか使えないという制限(windows を再起動すればまた使える)があるものの、他の機能は製品版と同様に使えます。
ところが、このお試し版は、インストールした時期にかかわらず2003年12月30日を過ぎると起動できないようになっています。もう20日もないですね。興味のある方はぜひ今のうちにお試しください。
ちなみに、お試し版のファイルサイズは約66MBとかなり大きいので注意(何)が必要です。
- 関連リンク
-
「JAWS V 4.5」視覚障害者関連
-
JAWS for Windows (IBM Version) V4.5 のお試し版のダウンロード
「VE2000 読み上げメモ」 を読み上げてみる
2003-12-11
VE2000 読み上げメモのページを 音声読み上げブラウザ VE2000 で読み上げさせたものを mp3 化して同ページにアップしてみた。
録音に使ったのは、ぷち録というソフトです。このソフトで wav を作り、Rip!AudiCO というソフトで mp3 化しました。何かマルチメディアとかサウンドとか疎い人なのでよくわかっていないままにアレコレしていたらどうにか出来たようです。:p)
ファイルサイズを落とすためには、時間を短くした方がよかろうと考えて VE2000 の読み上げ速度をかなり上げてあリます。メモのページを開きながら聴くもよし、見ないで聴くもまたよしなので、音声読み上げを聴いたことのない方は一度聞いてみてください。
続・HTML Techniques for WCAG 2.0 のページ
2003-12-12
先日のHTML Techniques for WCAG 2.0 のページで Mozilla Firebird での表示がおかしいという話しの続きです。
HTML Techniques for WCAG 2.0 では、techniques.css と W3C-WD という2つのcssファイルを使っているのですが、どうも techniques.css が怪しいとにらんでページ全体を css ファイルごとローカルに保存して調べてみることにしました。しかし、あの灰色のブロックがどの部分に起因しているのかわかりません。そこで css ファイルを適当な部分ごとにコメントアウトして、該当する部分を絞り込むことにしました。
その結果、以下の部分をコメントアウトすると症状が出ないことがわかりました。
div.code {
white-space: pre;
font-family: 'Andale Mono', Courier, monospace;
font-size: 100%;
line-height: 120%;
display: block;
overflow: auto;
width: 100%;
}
さらに絞り込むと、
overflow:auto
の部分だということがわかりました。
サンプルの html を書いてある部分ですね。ふーむと思いつつ、ここでちょっと閃くものがありました。:p)
もしやと思い、Mozilla Firebird の画面を広くしてみました。おお、灰色のブロックが消えるではないですか!私の通常のブラウザの画面は幅800pxもありません。どうも広い画面だと灰色のブロックは出ないようなのです。それで、症状が出る人と出ない人がいたのではないでしょうか?
ま、根本的な解決にはなっていませんが、これでなんとなく原因がわかって一安心と思って、一応こないだ症状が出なかった win2k の Mozilla Firebird 0.7 でも試してみました。
がーん、0.7@win2k では、画面を狭くしても再現しません。ということで振り出し戻りますた。:p)
この記事へのツッコミ
- 1: のり (2003-12-12T22:32:54+09:00)
- リンクミス修正age スマソ。
- 2: めざら (2003-12-13T19:16:12+09:00)
- うちのは,(Win98; ja-JP; rv:1.5) Gecko/20031007 Firebird/0.7
ですが,同様の現象が出ました。
表示している状態で窓のサイズを変えてみると,スクロールバーが
出たり,灰色マスクがかかったりして,楽しめました。
ローカルに保存したCSSのoverflow: auto;をoverflow: scroll;に
してみ実験したら,同じ現象が出るでしょうか??
- 3: のり (2003-12-13T19:41:44+09:00)
- あ、じっちゃんのとこでも再現しましたか。
ローカル保存した css の overflow:auto を overflow:scroll にしてみる件ですが、これがまた不思議なことにscrollにしても再現するんですよ。うちでは。どうなっているんだろ。何か複雑に原因が絡み合っていそうでこれ以上の追求はほぼあきらめ状態です。:p)
- 4: 1215 (2003-12-15T09:41:20+09:00)
- 再現しました。原因はさっぱりわかりません。
このマスクの上へカーソルを置くとマウス中ボタンでスクロールができません。
17インチCRT、Windows98SE、解像度 800x600、ウィンドウ最大でも、中途半端なサイズでも再現します。
ページの読み込み始めには表示されず、読み込み終わるとマスクが現れます。
Mozilla - 同じ幅と高さのマスク
Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031007
・ページ最上部のW3Cのロゴに被さる部分から下の「HTML Techniques for WCAG 2.0」の上一行まで・「Abstract」の段落の3行目から下へ被さる部分に
Mozilla Firebird - 同じ幅で異なる高さのマスク
Mozilla/5.0 (Windows; U; Win 9x 4.90; ja-JP; rv:1.5) Gecko/20031007 Firebird/0.7
・ページ最上部のW3Cのロゴの上に「Abstract」の部分の1/3の高さ
・「Abstract」に被さる部分はのりさんと同じ
userContent.cssのカスタマイズで共通する部分は次の行ですが、全然関係無さそう。
a[href^="mailto:"]:before { content: "\\2709 " }
a[href^="javascript:"] { color: green !important }
:link, :visited { text-decoration: underline !important }
a[href^="javascript:"] { cursor: move;}
- 5: のり (2003-12-15T12:05:18+09:00)
- 1215さん、ご報告ありがとうございます。再現されましたか。
ブロックにかかるとマウスのスクロールボタンが効かなくなるのはうちも同様ですね。1215さんのところで全画面にしても症状が出るのはおそらく、800*600だからかもしれません。おそらくもっと解像度を上げると消えるのではないかと思います。
- 6: 1215 (2003-12-17T05:18:54+09:00)
- おっしゃるとおり、1024*768ではマスクは表示されませんでした。
しかし、この解像度ではフォントサイズを1.5倍にしたりグラフィックチップを買い換えたりしないと使い物になりません。
私の環境、Gekko系、W3Cのいずれかがアレなのでしょう。ちょっと残念です。
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2003/12/diary_031212a.html
この日記でも使っているくっつき BBS に RSSを出力する機能を追加するパッチがくっつきBBSのML
に公開されたので、このサイトでも組み込んでみました。
ツッコミの RSS は、http://diary.noasobi.net/kuttuki.rdf にあります。どうぞご利用ください。つても私以外に需要がないような気もしますが。:p)
Re:カオスマークアップ SEO 対決で負けてる
2003-12-16
ぬぅおー、アサノさんにしてやられてますねぇ。カオスマークアップの SEO 対決(何)ですが。
柊さん改め、ともさんは
敗因の一つはリソースの新鮮さかなぁと。
という分析をしておられますが、私が思うに、たぶんファイル数ではないかと。アサノさんとこはMTを使っているために、ひとつ記事を書いてもたくさんのファイルが作られるので、それが効いているのではないかと思うわけです。今のところ、Googleでヒットするアサノさんとこのファイルは上位から順に
- www.mushline.com/junky/archives/000098.shtml
- www.mushline.com/junky/archives/000100.shtml
- www.mushline.com/junky/archives/2003_12.shtml
- www.mushline.com/junky/archives/cat_everyday.shtml
- www.mushline.com/junky/
- www.mushline.com/junky/archives/000099.shtml
と、計6つあります。それに対して、ともさんとこは、
- diy.s27.xrea.com/blog/2003/11
- diy.s27.xrea.com/docs/
の2つで、本命の diy.s27.xrea.com/docs/chaos_markup が抜けてしまっているのが痛いですねぇ。煩雑なので、URIは記しませんが、私のところは2つ。ここらあたりが勝負を決する最大の要因なのではないかと思います。やはり、ファイル数が多いということは、そのことについての専門的なサイトであるとみなされるのではないでしょうか。
ともさんの本命ページが抜けてしまっているのは、単にロボットの取りこぼしかなんかだと思うのですが、もしかすると、検索エンジンスパムとみなされた可能性もあります。多分そんなことはないとは思いますが…。
検索エンジンスパムにもいろいろ種類があるようですが、検索エンジン スパム - Search Engine SPAM に詳しい情報があります。先日のセミナーでは、あまり気にする必要はないと習いましたが。
ということで、今月の日記にも一応登場させて、ページ数を増やしてみました。:p)
来月になる前に来月用のファイルを自動で作る仕組みを用意しないといけないので、用意してみた。(月が変わったけど、月初めをどうするか参照。)
以下のようなperlスクリプトをサーバのcronで回して、毎月1日の0時に起動させます。私以外の人には何の役にも立たないものです。すびばせん。:p)
#!/usr/bin/perl
@date = localtime(time);
$year=sprintf("%04d",$date[5]+1900);
$this_month=sprintf("%02d",$date[4]+1);
$prev_diary = sprintf("%02d%02d",$date[5]-100-($date[4] == 0),$date[4] + 12*($date[4] == 0));
$this_diary = sprintf("%02d%02d.html",$date[5]-100,$this_month);
open(FILE,"+>/home/hogehoge/$this_diary");
print FILE <<__HTML__;
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
(中略)
<link rel="begin" href="0205.html" />
<link rel="prev" href="$prev_diary.html" />
(中略)
<title>朝顔日記 $year年$this_month月</title>
</head>
<body>
(中略)
</body>
</html>
__HTML__
close(FILE);
RSS Reader Panel が動いた!
2003-12-19
最近のナイトリーでRSS Reader Panelが動作しないようになっていて困っていたのですが、flyson さんのサポート掲示板 の368番の謎さん(誰)に対処法方を教えていただいたので、ご紹介。
RRPをインストールしていれば、profile ディレクトリの chrome ディレクトリに、rssreader.jar というファイルがあるので、これを rssreader.zip などにリネームして解凍します。リネームしなくても解凍できるソフトであればリネームする必要はありません。解凍したファイルの content\rssreader\rssreader.js をエディタで開いて、"bookmarksTree.currentRes" という箇所(2箇所あり)を "bookmarksTree.currentResource" に置換して、元通り圧縮して元からあるものと入れ替えれば動きます。入れ替えるときは、Mozilla Firebird を終了しておく必要があります。
今日の私の環境、Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.6b) Gecko/20031219 Firebird/0.7+ (Nova: MNG,DOMi,Venkman) では、これで今までどおりに快適に RPP が動作してくれるようになりました。
謎さん、情報ありがとうございました。
この記事へのツッコミ
- 1: 謎 (2003-12-20T14:17:51+09:00)
- サポート掲示板に書き込んだ謎です。最新版では何故かポップアップしませんでした。chrome://global/content/widgets/popup.xml#popupが存在しないっぽいです。(それともこっちのミスかなぁ?)ここのRSS Reader Panel を改造してみたを参考にしてchrome://global/content/bindings/popup.xml#popupにしたら動くようになりました。
- 2: のり (2003-12-20T19:16:09+09:00)
- サポート掲示板では情報ありがとうございました。おかげさまでまたナイトリーでRRPが使えるようになって喜んでいます。最近のナイトリーはあれこれ仕様の変更が多いみたいで、拡張とかテーマの作者さんは対応するのに大変だと思いますが、こうやって皆さんの情報をもとに、自分好みのMozFBを作れるので、日々感謝する次第です。
- 3: 謎 (2003-12-20T20:27:29+09:00)
- 俺は、使えなくてあせりました。(よく使うので)
仕方なくエラーが起きた関数の呼び出し元をたどっていって宣言されてないものを探していったんですよ。for(i in ~){alert(i+":"+~[i])}というの使って。(いちいち圧縮がめんどかったです)
処でこういう変更について書いてある文章ってあるのですか?
- 4: のり (2003-12-20T22:04:38+09:00)
- おお、すごい!自力でエラー個所を探られたんですか! MozFBハッカーの鏡ですね。:-)
>処でこういう変更について書いてある文章ってあるのですか?
私は知りませんねぇ。私は mozillazine のフォーラムや、Burning Edge あたりの情報とかに気をつけているくらいです。あとは、もとひこさんがよくたれこんでくれるんで、非常にありがたいです。もとひこさんはどうやっていろいろ調べているんでしょうか? >もとひこさん
- 5: 謎 (2003-12-22T15:34:07+09:00)
- なんか文字化け酷いですね。
まあいいとして、Javascriptなので、たいていの人はエラー探せるとおもいます。JS Consoleでエラー個所出てたし。
- 6: のり (2003-12-22T15:59:36+09:00)
- そうでした。JS Console がありましたね。次回(?)は私も自力で探ってみよう。:p)
文字化けの件ですが、今のところまぁどうにか読めているのであまり気にしていないのですが、あまりひどいようなら何か考えないといけないですねぇ。
- 7: 謎 (2003-12-23T20:50:36+09:00)
- そういえば文字コードがEUC-JPでフォームを使うと(確か)文字化けるという現象がありましたね。
文字コードの変更で直ると思いますが。
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2003/12/diary_031219a.html
Sidebar Autohide
2003-12-20
Mozilla Firebird のブランチなナイトリーで、拡張のインストールのインターフェースが変わったとのことなので、さっそく試してみた。が、試すためには何か拡張をインストールしないといけないので、Mozilla Firebird: 拡張 で適当なものを物色してみる。結果試してみたのは、Optimoz Tweaks というものです。
何をするものかといえば、ブックマークでも履歴でも、RSS Reader Panel でもなんでもいいのですが、それらをサイドバーで開いても自動で隠してくれるという拡張です。というか、マウスカーソルを画面左端へ持っていくとサイドバーが現れます。普段は隠しておいて、必要な時にマウスカーソルを左端へ持っていくとサイドバーを表示してくれるわけです。どっかをクリックとかする必要はありません。ただマウスをそこら辺へ持っていくとサイドバーが現れます。
結構素早いです。メインコンテンツエリアは画面サイズが変わるわけですから、ページのレンダリングをやり直すのですが、これが結構早い。さすがはGeckoエンジンという感じです。
で、肝心の XPInstall UI の変更ですが、取り立ててどうということはない感じでした。:p)
よく使う置換をダイアログから
2003-12-20
昨日いただいたプレゼント。よく使う置換を登録しておいて手軽に使おうという xyzzy 用のlisp です。xyzzyの使い方が分からぬやし 励ましあえ その3 より。とりあえず自分用に設定したもの。
;;; -*- Mode: Lisp; Package: User -*-
;;置換リスト
;;http://pc2.2ch.net/test/read.cgi/software/1063367821/ 771番さん
(defvar *my-replace-list* nil)
(defun my-replace-dialog (&optional (lst *my-replace-list*) noerror)
(interactive)
(multiple-value-bind (result data)
(dialog-box `(dialog 0 0 219 300
(:caption "置換")
(:font 10 "MS Pゴシック")
(:control
(:listbox list nil #x50a10111 7 7 150 282)
(:button IDOK "&OK" #x50010001 162 7 50 14)
(:button IDCANCEL "&Cancel" #x50010000 162 41 50 14)
))
`((list . ,lst)
(list . ,(car lst)))
`(:column (50)))
(when (and result data)
(let ((pattern (nth 2 (assoc 'list data)))
(replace (nth 3 (assoc 'list data)))
(regexp (nth 4 (assoc 'list data))))
(if regexp
(replace-regexp pattern replace noerror)
(replace-string pattern replace noerror))))))
(define-key *global-keymap* #\M-R 'my-replace-dialog);Alt+Shift+R
これを、myreplace.l と名づけて、Siteinit.l に以下のように追加。
(require "myreplace")
んで、.xyzzy に以下のような感じでよく使う置換の文字列を登録しました。
;;置換リスト
(setq *my-replace-list*
'(;("表示名" "置換元" "置換先" regexp(nil以外で正規表現を使う))
(" & -> & に置換" "&" "&")
(" < -> < に置換" "<" "<")
(" > -> > に置換" ">" ">")
("改行のみの行を削除" "^\n" "" t)
("インデント解除" "^[ \t]+" "" t)
))
771さん、どうもありがとうございました。
ついでだから書いておきますが、昔私が同じ事をするのに作ったVZマクロ(何)です。
= jrep.def =
* m
80 ^\ "jrep"
?. !01 (r<0)?.
&SF(pm,9) (r<0)?.
&Ss(r) &Sc(pr,r,pr..-1)
&e(pr)
RX[-, &s
#56 &?("%s",a) #m &?("%s",b) #m "ay"
&m("") &d RX],
00: a"\x \s+$$", b"",
01: a"\x ^$$", b"",
02: a"\x ^", b"> ",
03: a"\x ^\s|^\t", b"",
*p
01 "常用置換",20,4
"0 行末スペース削除 &00"
"1 空白行削除 &01"
"2 引用符挿入 &02"
"3 インデント解除 &03"
*
= End of jrep.def =
RSS Reader が装備された Opera 7.50
2003-12-21
Opera 7.50 Preview 1 にRSS Reader が装備されているとのことで、さっそくゲット。7.23に上書きインストールしようと思っていましたが、これまでとちがって違うフォルダを勧めてくるので、大事を取って(?)それに従います。:p)
インストール完了後さっそく起動。ありゃ、えらい感じが変わっちゃたなぁ。なんかいろいろついてます。とりあえず気にしないでお目当ての RSS Reader を探すが見当たらない。困った時は人様のリソースというわけで、サル並日記(2003-12-21-Sun)で使い方を調べる。わかりました! なぜか mail のところにあるのですね。以下がRSS Reader@Opera7.5 のスクリーンショットのサムネイルです。例によって等倍画像にリンクしてあります。(約19KB)
もしやと思い、OPML のインポート・エクスポートにも対応しているのではないかと思って探してみましたが見つかりませんでした。メールとしてエクスポートはできるみたいですが。
- 参照
-
RSS Reader panel v1.6 とv1.7b1(Another 朝顔日記)
それにしても Opera が RSS reader を標準装備することで、今後ますます RSS が一般的なものになっていきそうですね。
続・よく使う置換をダイアログから
2003-12-22
20日の「よく使う置換をダイアログから」の lisp がバージョンアップして、複数文字列の置換に対応しました。multiple-replace の機能を利用するので、multiple-replace が必要です。もっとも、昨夜、multiple-replace 自体バージョンアップして multiple-replace 単体でも検索文字列、置換文字列のセットの設定を保存できるようになっています。xyzzyの使い方が分からぬやし 励ましあえ その3(793〜796) あたりがそれ。
こういう有用なものは2ちゃんの外にも保存しておいたほうがいいと思うので、自分用にlispファイルに仕立てたものをここにも書いておきます。以下、myreplace.l
;;; -*- Mode: Lisp; Package: User -*-
;;置換リスト
;;http://pc2.2ch.net/test/read.cgi/software/1063367821/ 793番さん
(require "multiple-replace")
(defvar *replace-dialog-list-replace-list* nil)
(define-history-variable *replace-dialog-list-replace-selection* nil)
(defun replace-dialog-list-replace (&optional (replace-list *replace-dialog-list-replace-list*)
&key (interactive-p t) noerror)
(interactive)
(multiple-value-bind (result data)
(dialog-box `(dialog 5 5 219 450
(:caption "置換")
(:font 10 "MS Pゴシック")
(:control
(:static nil "置換リスト(&L)" #x50020000 7 5 113 10)
(:listbox list nil #x50a10111 7 15 200 264)
(:button whole "バッファの先頭から(&O)" #x50010003 22 284 113 14)
(:button selection "セレクション内(&S)" #x50010003 22 301 113 14)
(:button query "確認あり(&Q)" #x50010000 152 284 50 14)
(:button all "全て置換(&A)" #x50010000 152 301 50 14)
(:button IDCANCEL "&Cancel" #x50010000 152 318 50 14)))
`((list . ,replace-list)
(list . ,(car replace-list))
(whole . ,ed::*replace-whole-buffer*)
(selection . ,*replace-dialog-list-replace-selection*))
`((selection :disable (whole))))
(when (and result data)
(let ((replace-list (nth 2 (assoc 'list data)))
(regexp (nth 3 (assoc 'list data)))
(whole (cdr (assoc 'whole data)))
(selection (cdr (assoc 'selection data))))
(setq ed::*replace-whole-buffer* whole
*replace-dialog-list-replace-selection* selection)
(when *replace-whole-buffer* (goto-char (point-min)))
(cond (*replace-dialog-list-replace-selection*
(ed::map-selection #'(lambda (start end)
(goto-char (point-min))
(ed::perform-multiple-replace replace-list
(eq result 'query)
regexp
interactive-p
noerror))))
(t (ed::perform-multiple-replace replace-list
(eq result 'query)
regexp
interactive-p
noerror)))))))
(define-key *global-keymap* #\M-R 'replace-dialog-list-replace);Alt+Shift+R
こういうファイルを仕立てて、Siteinit.l に
(require "myreplace")
として、.xyzzy によく使う置換のリストを以下のような感じで書いておきます。
;;置換リスト
(setq *replace-dialog-list-replace-list*
'(;("表示名" ("置換リスト(alist)") regexp(nil以外で正規表現を使う))
("実体参照化" (("&"."&") ("<"."<") (">".">")) nil)
("改行のみの行を削除" (("^\n" . "")) t)
("インデント解除" (("^[ \t]+" . "")) t)
("行末空白文字削除" (("[ \t]+$" . "")) t)
))
あらかじめ、multiple-replace を導入しておく必要がありますが、multiple-replace は今回のバージョンアップで NetInstaller 対応になったので導入も楽チンです。:-)
Alt+Shift+R すると、以下のスクリーンキャプチャのようなダイアログが出て、手軽に常用する置換が使えます。
OHKUBO Hiroshi さん、793さん、ありがとうございます。
Another 朝顔日記の見出し一覧を作った
2003-12-25
はてなダイアリーのほうでやっているAnother 朝顔日記の見出し一覧を作ってみました。
作り方のほうは又のちほど。つか、作り変えるかも知れんし…。:p)
Another 朝顔日記見出し一覧の作り方
2003-12-25
さっき作ったAnother 朝顔日記見出し一覧の作り方を忘れないうちに書いておきます。
初めは、月ごとの html ファイルを落としてきてそれに xslt かまして、見出し一覧を作れば一発だろうと考えましたが、考えてみたらはてなダイアリーは xhtml ではないので、そのままでは使えないということに気が付きました。のちのち自動生成できるようにしたいので、エディタでちまちま編集するのは避けたかったので、perl を使うことにします。
以下が、私のはてな日記から、日記の見出し行(h2 および h3 )を抽出して多少加工する perl スクリプトです。このサイトの文字コードはメインが Shift_JIS なので、euc なはてな日記 の見出し行を Shift_JIS でするようにしています。名付けて、hatena_midasi.pl
#!/usr/bin/perl
require "jcode.pl";
print
<<__HTML__;
<?xml version="1.0" encoding="Shift_JIS"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>見出し一覧</title>
</head>
<body>
__HTML__
while(<>){
@midasi = /<h[23]><a href=.+/g;
foreach $midasi (@midasi){
&jcode'convert(\$midasi,'sjis');
$midasi =~ s/href=".\//href="http:\/\/d\.hatena\.ne\.jp\/nyama\//g;
$midasi =~ s/■//g;
$midasi =~ s/<a href=[^>]+>編集<\/a>//g;
print "$midasi\n";
}
}
print "</body>\n</html>\n";
例えば、2003年2月の日記のファイルは、200302 というファイルなので、コマンドプロンプトで以下のようにスクリプトを走らせます。
perl hatena_midasi.pl 200302 > 200302.xml
これで、こんな感じの日記の見出し行だけが得られます。
<h2><a href="http://d.hatena.ne.jp/nyama/20030228"><span class="date">2003-02-28</span></a> <span class="title">(fri)</span> </h2>
<h3><a href="http://d.hatena.ne.jp/nyama/20030228#1046413439" name="1046413439"><span class="sanchor"></span></a> [<a href="http://d.hatena.ne.jp/nyama/searchdiary?word=%2a%5b%c6%fc%b5%ad%5d" class="sectioncategory">日記</a>]続・髭剃り <span class="timestamp">15:23</span></h3>
<h3><a href="http://d.hatena.ne.jp/nyama/20030228#1046404750" name="1046404750"><span class="sanchor"></span></a> [<a href="http://d.hatena.ne.jp/nyama/searchdiary?word=%2a%5b%c6%fc%b5%ad%5d" class="sectioncategory">日記</a>]髭剃り <span class="timestamp">12:59</span></h3>
(後略)
これに、midasi.xsl という以下の xslt をかませます。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:x="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="x" >
<xsl:output method="html" version="1.0" encoding="Shift_JIS"
indent="yes"
omit-xml-declaration="no"/>
<xsl:template match="/">
<ul>
<xsl:apply-templates select="x:html/x:body/x:h3"/>
</ul>
</xsl:template>
<xsl:template match="x:html/x:body/x:h3">
<li><xsl:value-of select="preceding::x:h2[position()=1]"/> <a href="{child::x:a/@href}"><xsl:value-of select="self::node()"/></a></li>
</xsl:template>
</xsl:stylesheet>
コマンドラインで、以下のようにして実行します。
msxsl 200302 midasi.xsl -o h200302
これにより、こんな感じの見出しのリストが得られます。
<ul xmlns="http://www.w3.org/1999/xhtml">
<li>2003-02-28 (fri) <a href="http://d.hatena.ne.jp/nyama/20030228#1046413439"> [日記]続・髭剃り 15:23</a></li>
<li>2003-02-28 (fri) <a href="http://d.hatena.ne.jp/nyama/20030228#1046404750"> [日記]髭剃り 12:59</a></li>
(後略)
これを各月ごとに行い、得られたリストを、見出し一覧ページで SSI を使ってインクルードして出来上がりです。
ul要素になんかくっついていますが、気にしない方向で。:p)
つか、インクルードしないで、各月の見出しを連結して見出し一覧のページ全体を生成させればいいのか。と今気が付きました。ま、また今度ね。:p)
なんかアンテナにせかされているので(謎)、ネタも無いのに更新するのもアレなので最近使っている Mozilla Firebird の拡張の一覧を書いておきます。ま、プロファイルを完全に作り直したときなんかの為の自分用の便利リンクだったりするわけですが。:p)
アサノさんのMT、Unknown Title の 復活記念 age のコメント欄でカオスマークアップ の google におけるポジショニングについてモニョモニョやっていたのですが、101さん さんに、Google Dance グーグルダンスなるサイトを教えていただきました。
どうも以前から、google の検索結果が人様のとこと違うときがあるような気がしていたのですが、やはりgoogle には複数の鯖があって、データベースの更新に時間差があったんですね。グーグルダンスと呼ばれる現象らしいです。
通常のGoogle検索は、www.google.co.jpもしくはwww.google.comにアクセスして、複数の同一内容のサーバー(データセンター)のどれかにアクセスして結果表示しています。
ところがインデックス更新作業において、複数のサーバーの統一に時間差が生じて、更新前、更新中、更新後のサーバーにランダムにアクセスするので、検索するたびに順位が違って結果表示される現象が起こってしまうのです。
なんか他にも、Everflux とかいうのもあってよくわかりませんが、google は日々変わっているらしいです。
ちなみに、以下は Google Dance Checkerなるツールで、「カオスマークアップ」を検索した結果のスクリーンキャプチャの一部(2003年12月27日午後12時20分現在)です。例によってフルサイズ版(約19KB)にリンクしてあります。google の鯖によって検索結果が違うことがわかります。
# なお、本件とは関係ないですが、yuu さんの 実践アクセシブルHTML - altはつけるだけじゃなくて を読んだので、若干画像のマークアップのしかたを変えてみました。ん、あんまり変わってないかな。:p)
続・新しい月のファイルを作る
2003-12-29
新しい月のファイルを作るで書いたスクリプトをcronで回す予定だったのですが、もし失敗して月が変わる前に実行されたりしたら、その月のファイルが上書きされてなくなってしまいそうに思えて怖くなってきたので、shinchan(誰)に相談して、ファイルが存在したら何もしないようにすることにしました。あと、SSIを有効にするために、XBitHack full を使っているので、ファイルに実行属性をつけないといけないんですが、それを失念していたのでそれも追加。ということで、以下のようなスクリプトになりました。
#!/usr/bin/perl
@date = localtime(time);
$year=sprintf("%04d",$date[5]+1900);
$this_month=sprintf("%02d",$date[4]+1);
$prev_diary = sprintf("%02d%02d",$date[5]-100-($date[4] == 0),$date[4] + 12*($date[4] == 0));
$this_diary = sprintf("%02d%02d.html",$date[5]-100,$this_month);
if (-f "/home/hogehoge/$this_diary"){
exit;
}
open(FILE,"+>/home/hogehoge/$this_diary");
print FILE <<__HTML__;
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
(中略)
<link rel="prev" href="$prev_diary.html" />
(中略)
<title>朝顔日記 $year年$this_month月</title>
</head>
<body>
(中略)
</body>
</html>
__HTML__
close(FILE);
chmod(0754, "/home/hogehoge/$this_diary");
さっき cron 仕掛けたんですが、なんか心配だなぁ。1回うまく行けばあとは大丈夫だと思うのですが…。1月1日は、ちゃんとうまく行くか見張ってよう。:p)
弊社の隣りのうちが火事になった。長屋なので屋根はつながっている。果たして…。
今となっては何時かわからないが、夕方を過ぎ、夜の帳に街が覆われる頃、突然火事を知らせるサイレンが鳴り響いた。物見高い私としてはもちろん外へ出てみた。消防団に所属する弊社社員が消防の屯所に駆けつける勇姿を見たいと思っていた。外にはたくさんの物見高い人が私と同じように群れていた。すぐ隣りの同じく弊社社員とバイトの shinchan(誰)と火事はどの辺だろうかと話し合う。と、すぐ近所が騒がしい。
騒がしいあたりを見ると、なにやら煙っている様子。すわ!これは近所だということで、私とshinchanは駆け出した。ひとつ角を曲がる。ちょっといやな予感。さらに角を曲がる。弊社の裏側が見える地点だ。案の定その辺りから煙がもくもく出ているではないか!
てっきり、弊社が火元だと思った。昨夜帰るときはたしかに火の始末はしたはずだよなと自分で思い出してみる。とにかく、急がなければ。
直接おもてに回らず、裏の公園から最短距離で会社のある建物に近づく。近寄るときに気がついたが、火元は弊社ではなく、隣りのうちのようだ。正直なところちょっとほっとした。しかし、会社にはいろいろ大事なデータがはいったコンピュータがあるのだ。何とかしないと。
正面の入り口に回ってみると、弊社の代表社員もいち早く駆けつけていた。隣りのうちの中は不気味に赤く燃えている。消防車がまだ1台しか駆けつけてきていなかった。正面から激しく放水していた。まだ会社に近づくことはできたので、代表社員が中のサーバなど大事なものを運び出そうと中に入ろうとしたそうだが、煙が充満していてとてもそれが出来る状態ではないと言う。
間口2間くらいの小さい入り口の火元の前に消防士が陣取り放水していた。が、ちょっとしたタイミングで水が切れたらしく、一時放水が止まった。そのとき、私と代表社員は見た!
ホースを構える消防士と火事の家の間を、ごく普通のおばあさんが何事もないかのように歩いていくのを。:p)
結局鎮火するまで私達はなす術もなくただ見守るしかなかった。しばらくして、どうにか中へ入ることが出来る状態にまで鎮火した。消防署員の持つ大型の懐中電灯を頼りに会社へ入ってみる。まだ中は相当煙が充満しており、苦しい。懐中電灯で中を照らしてみると火元側の壁から水が滴っており、床も水浸しだ。しかし、火元と反対側のパソコンなどは水をかぶっていない様子。とにかく、サーバなど大事なものから外へ運び出す。とりあえず鎮火したとはいえ、まだ燻っている状態であり、いつまた放水をはじめるかわからないと言う。とにかく慌てて出せるものを外へ持ち出す。当然暗い中である。
ところが、よく見ると、電源を落とすことのないサーバ周りのLEDが怪しく光っているではないか。なんとまだ電気は生きていたのだった。灯りをつけてみたらなんといつものように灯りがついたのである。そうこうしているうちに、応援部隊も駆けつけ、あれよあれよという間にいろんなものが外へ運び出された。裏の公園に面した窓は開かずの窓だったが、煙を出すために消防の手により叩き割られ、だいぶ息もまともに出来るようになっていた。ふと気がつくと、私のデスクのそばにある空気清浄機がフル回転で稼動していた。
出した機材その他は車に積み込み、社員の空いている書庫へ運び込みましたが、窓もなくなり煤だらけの会社事務所は当分使えそうにない状態です。また運び出した機材の動作確認等も全く出来ない状態でこれからいったいどうなるんだろうか。
- お詫び
- 弊社サーバで運用していた私のアンテナ、のり未刊は上記のような事情により当分お休みさせていただきます。ご利用になられていた皆さん、ご了承ください。
設置場所を換えてのり未刊を復活させました。
RSS Reader Panel のテストバージョンをナイトリーで
2003-12-31
RSS Reader Panel に検索機能でも書きましたが、LOG [WEB ARCHIVES] 2003/12/31(Wed)でRRPに検索機能を装備したテストバージョン v1.66 が公開されました。
これは、Mozilla Firebird 0.7 専用であり、このままではナイトリーなビルドでは使えないため、例によって改造してみることにしました。といっても、変更箇所はわずかに3箇所だけで、RSS Reader Panel を改造してみたと、RSS Reader Panel が動いた!に書いたことを rssreader_161.xpi を展開して施してみただけです。以下が検索画面のスクリーンショットです。
コンテンツエリアに表示された RSS にスペシャルな xslt が適用されているのは気にしないように。:p)
今年の Mozilla Firebird
2003-12-31
やはり昨年に引き続いて、今年の Mozilla Firebird について少し書いてみましょう。
今年のナイトリーは、拡張がインストール出来ないという波乱の幕開けから始まりました。その頃はまだ Phoenix という名前でしたね。0.6 から Mozilla Firebird という現在の名前に変わりました。いまだ名前が決まっていない頃には、なにかの投票ですとか、その続編なんていうこともやってみたりしました。:p)
あと今年は mac 版もだいぶメジャーになってきましたし、自前ビルドとかプライベートビルドと呼ばれる自分好みのオプションでビルドした私家版も割に一般的になってきましたした。私自身は自分でビルドするということはありませんでしたが、公式のナイトリーが結構長期にわたって出ない頃から人様のビルドしたものを使わせて頂くことも多くなってきました。とくに先月、今月辺りは公式版よりも私家版のナイトリーを使うことが多かったです。公式版にはあたっていないパッチがあたっていたり、SVGが見られたり、DOM Inspector が装備されていたりと、なかなか楽しませてくれました。来年は私も機材を充実させて自前でビルドというのにも挑戦してみたいものです。
それと、今月出る予定だった0.8ですが、もうすぐ日本時間で今年も終わろうとしている今現在、まだ出ていません。おそらく年明け早々のリリースになると思われますが、いったい来年の Mozilla Firebird はどんな進化を遂げるでしょうか。来年も目が離せません。