Wiki 系の手軽な書き方に慣れてしまうと html をまともに書くのが苦痛になります。特に TeX で普通にかけそうな単純な文章構造しかもたないものならタグや命令なんて可かなくても、プレインテキストとしても読める形式で書ければ楽です。
そんな感じで書くための文章フォーマットとしては、当然 Wiki Clone 各種のものなどあるわけですが、今回は RD を使ってみようという気になりました。RDTool で xhtml1.0 に変換可能だということが一番ポイントが高かったかも。
一部の Wiki 用テキストフォーマットのようにこまごまとした便利な機能はないですが、ちょっと研究内容をメモるくらいなら十分な感じです。
いちいち html に変換するのも面倒なので、rd ファイルを読み込んだら勝手に html として表示するように httpd.conf をいぢってみたり。今の所は某所で正常に稼動しています。
というか、RD で書ける日記プロダクトはないのでしょうか。今使っている tdiary は余りにもフォーマットが汚すぎます……
_ って、そうか、tdiary はスタイル機能をサポートするんでしたっけ。tdiary.net にも早く 1.5 系が導入されるといいんですけどね〜。それとも、とっとと自分のサーバで日記を動かしたほうがいいのかも(^^;
とかやるのが正解なんですが、rd2html-ext を使いたかったりするのでそのままでは使えません。 自分で apache/rd2html-ext のようなものを作ればいいんでしょうけど、apache プロセス内で生き続けるようなコードを書くには僕の rubist 度が足りません。結局 mod_actions の Action ディレクティブ + 自作の rd2 ラッパ CGI でごまかしてしまいました。wrapper CGI が perl で書かれていたりするのはご愛嬌(^^;
RD を $SAFE>0 な ruby で動かそうとした時、通常は問題がないんですが、:target な Filter をかけようとした時に引っかかります。吐くデータが rd でなく target な Filter を通したときには内部的には一時ファイルに結果を書きだして <<< tmpfile であとで読み込ませているのですが、この一時ファイルのファイル名に taint な文字列を切り出したものを使用しているため、汚染チェックに引っかかって open できません。仕方がないので /usr/local/lib/ruby/site_ruby/1.6/rd/rdblockparser.tab.rb に untaint をかましました。 Racc からの自動生成コードをいぢるのはむちゃくちゃ行儀が悪いんですが、本質的に untaint にするべき箇所はここなので……。
else @in_part = part if @tree.filter[part] # if filter exists + @in_part.untaint # p "BEGIN_PART: #{@in_part}" # DEBUG end
というわけで、なんだかんだ言いながら apache/rd2html-ext を作ってしまったり。とりあえずは問題なく動いている雰囲気です。でも、最近は rd2html-ext 自体がメンテされていないっぽいので、るびきちさんの所に送るのはやめておくことにします。ほとんど apache/rd2html と一緒ですし(苦笑)
適正試験で落ちました。しくり。英語がぼろぼろだったので覚悟はしていたんですが(笑)
あと、Xbox事業本部は新卒の採用をしていないために志望動機で切られた可能性も。研究室の先輩の話だと新卒はMSKKで一括して採用してあとで関連各社に振り分けるようなので、もしかしたらいけるかもと思って受けてはみたんですが。