Kazuhiro's blog
ようこそ! Kazuhiro's blog
日曜日, 11月 28 2021 @ 10:45 午前 JST
 記事を友人にメールする 印刷用画面 

記事の実体参照が保持されない対策

Geeklog

(2006/12/19 追記) ここに書かれた対策は使用する必要はありません。 フォローの記事を参照して下さい。

Geeklogの記事を書く際に記事に直接実体参照を書き込む事があったのですが、その記事を編集しようとすると実体参照が実体に変化するという不具合に遭遇しました。例えば記事に

&テストです。

のように記入して保存します。記事を表示するとこの部分は「&テストです。」になります。 そして、この次にその記事の編集を行います。 フォームには先程入力した本文が表示されるのですが、入力した文が「&テストです。」から「&テストです。」に変化します。原因はテンプレート(template_name/admin/story/storyeditor.thtml)のコードが

<textarea name="introtext" cols="70" rows="12">{story_introtext}</textarea></td>

等のように、textareaの初期値に、表示に使われる{story_introtext}という変数をそのまま使用している事が原因です。textareaの初期値に使うのであればhtmlspecialchars等で実体参照に使われている&を更に実体参照に変えないといけません。 公開ディレクトリ以下のadmin/story.phpに対して新たなテンプレート用の変数を用意させて対処しました。

直接記入しているタグの<, >もまずい気がしてきましたがどのみちhtmlspecialcharsを使う場合はそっちも変換されてしまうので未追求です。

(2006/12/19 追記) バックスラッシュも消えるという話題がありました。 実体参照が使えれば逃げれなくはないですが、頻繁に使う場合だと厄介ですね。

(2006/12/19 更に追記) そのまんまなエントリもありました。 このままだと永遠に直らなさそうなので日本語サイトに報告しておく事にしました(本家は登録できなかった為)。

タグ:Geeklog

 記事を友人にメールする 印刷用画面 

オートタグ (Geeklogの)

Geeklog

全然知らなかったのですが、Geeklogでは記事や静的ページでオートタグが使用できます(そんなの最初から知っておけといわれそうですが)。 [story:id label]等のように記述すると指定したidの記事へのリンクになります。labelはリンクをはるテキストを指定しますが、省略すると記事のタイトル等が自動的に設定されます。 また、使えるタグとして以下のようなものがあるようです。

story
記事に対するリンク。
event
イベントに対するリンク。使っていないのでよく知りません。
file
ダウンロードファイルに対するリンク。filemgmtプラグインが提供しています。
forum
forumに対するリンク。forumプラグインが提供しています。使っていないのでよく知りません。
staticpage
静的ページに対するリンク。staticpagesプラグインが提供しています。

しかし、filemgmtプラグインは、オートタグから作るリンクを正しく処理できない場合があるようです。 それは、いわゆるURLリライトの機能を有効にした場合で、その時には

site_url/filemgmt/index.php/id

のような形式のリンクが作成されます。 それに対応するついでに(というかこっちがメイン)、ファイルへの直リンクを生成するオートタグとファイルへのURLのみを作成するオートタグに対応させてみました。 前者は、もともとこのサイトではファイルへの直リンクでダウンロードするようにしているのでfileタグが作るリンクではあまりうれしくないからです。 後者は、filemgmtでアップロードした画像データを静的ページに使っているので、aタグを出さない機能が欲しかったからです。

タグ:Geeklog

 記事を友人にメールする 印刷用画面 

make 3.80がインストールできない

general

昨日、しばらくサボっていたMeadowのビルドをしようとしたら、エラーが出てできなくなっていました。調べてみるとmakeが原因らしい事が分かりました。cygwinのアップデートをかけた際にうっかりmakeもアップデートしてしまっていたようです。

そういえばそんな話もあったなぁと思いながらmakeのバージョンを戻そうとcygwinのインストーラを起動すると、3.80が選択できなくなっていました。げげっと思いながら調べてみると、既に本家では提供されていない様子。とりあえずmakeはアンインストールし、ローカルに残っていたmake 3.80のバイナリを手動でインストールしてビルドは完了しました。これならインストーラも勝手にアップデートするまい。

tracにはspam扱いされたのでmeadow-developに報告だけしておきました(ここのアーカイブってこんなに早く反映されてたっけ)。

タグ:Meadow Cygwin

 記事を友人にメールする 印刷用画面 

RealAudioからWAVへの変換

general

ずっと以前にsrd-fpwを画像・音声対応にしようとしたことがありました。かなりad hocな変更で、できるのはできたのですが、その時に問題になったのが音声データの変換でした。

Windows版のランダムハウス英語辞典には、RealAudio形式で音声が収録されています。JIS X 4081に収納する為にはWAV形式に変換しないといけません。しかし、変換する手段というのがほとんどありませんでした。正確には手段はあったのですが、音声データの数が10万個以上あり、Ra2Wav等のようなGUIを備えた(CUIを持たない)ツールはあまり実用的ではありませんでした。また、Linux等ではReal Playerの出力を仮想の音声デバイスを経由してWAVに落とす手段があったようですが、変換時に再生に必要な実時間を丸々要するという欠点がありましたし、そもそもLinuxは触ったことがありません。MPlayerも試してみたのですが、当時(2006年春頃だったと思います)は変換後の音声の末尾にノイズが乗ってしまい、変換結果の質に極めて問題がある状態でした。

最終的にはMPlayerで変換後、末尾のノイズを削除するプログラムをでっち上げる事にしましたが、単純にある程度以下のレベルの音を削り取るだけだったので誤検出も多かったです。また、容量の問題で音声のビットレートをかなり落とす必要があり、音質が極めて悪い状態になってしまいました。

結局、音質に関しては改善は期待できないと判断し、JIS X 4081に変換して使うのはやめにしましたが、先日、MPlayer 1.0rc1でRealAudioからの変換を試してみたのですが、末尾のノイズは入らず、変換ツールとしてみるとずいぶんと改善されていました(本当は音声再生時の不具合の確認だったのですが、残念ながらそっちは健在でした)。ランダムハウス英語辞典のJIS X 4081への変換は、EBStudio用のツールキットが画像・音声を含めて既にサポートしているので、その際の音声変換ツールとして有用かもしれません。

 記事を友人にメールする 印刷用画面 

EB Library 4.3 is released.

Lookup

2006年12月1日付けでEB Library 4.3がリリースされたようです。それに合わせてLookupの図版メニュー対応も公開しました。ただし、Windows用のバイナリはまだ無く、私はebnet付きでのビルドができないので、今のところWindowsでは図版メニューとebnetは両立できません。

(2006/12/20 追記) ebnet付きでビルドできるようになりました。 静的リンクなのは変わりありません。

タグ:EB Library eblook Lookup