Studs/ChangeLog

2015-05-22 (Fri)

URL スタイルを変え、lang 選択

www.ruby-lang.org のコードを参考に(ほぼそのまま)、 ブラウザの言語設定に応じて表示ページを変えるようにした。

それにともない、CGIにページ名を渡す方法も、従来の方式はそのままに PATH_INFO を用いる方法を追加。

/ja/hogehoge としていされたら、ja__hogehoge, hogehoge, en__hogehoge の順に探す。 /xx/hogehoge なら xx__hogehoge, en__hogehoge, hogehoge の順に探すようにした。

こうすることで、多言語対応ページがあればそれが表示され、ないなら存在するページを代替表示するので、徐々に多言語ページを書き足していくことができる。

2015-05-01 (Fri)

MathJax 参照 URL の変更

以下の URL で参照していた MathJax.js を https で参照するように変更した。 http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default.js

studs サイトを https で参照するようにした場合に、MathJax.js を http でアクセスしていたらブラウザが Javascript を信用しないらしかったので。

Attached Image への xbb 実行

xbb の実行漏れがあったので修正。xbb をあらかじめ実行していなくても大丈夫な環境と、 そうでない環境があるみたい。さくらは後者なので PDF 作成に失敗することがあって発覚。

2015-04-26 (Sun)

前方参照の解決

いままで、ref コマンドでは前方参照が解決できなかったが、 それを仕様にしてしまうのは不便なので、解決できるようにしたい。

2 パスにせざるを得ないのだが、どうやるかが問題。 1 パス目で未解決のものだけ残しておいて、最後に置換することも考えたが、 残しておく方法として完全な解はないし、あまり凝ったこともしたくない。

そこで、未解決ラベルがあったときには、1 パス目で解決済みの辞書をつかって、 まったく同じ処理をもう一度実行することにした。(La)TeX 式でいいかなと思って。

ただ、parse_html は並列に実行されるかもしれないのに、 処理中にいろいろファイルを作成する(例:dot の出力など)のが気になる。 ひとつのページの parse_html が同時に走らないよう、排他制御をいれたいところ。

lock/unlock_htmlgen

そういうわけで、save_file, save_page と view (html の生成) が排他になるようにロックをとることにした。

また、そうすると、個々のファイル書き込み時の flock は冗長となり不要だとは思うが、 害はないので入れておくことにする。

番号付きリストの開始条件

2 つまえの節の第 2 段落や、この段落のように、半角数字から始まる段落が 番号つきリストと誤判定されていたのを直した。

table の summary 属性廃止

HTML5 Validator によると、table 要素の summary 属性つけるのはもう古いとのことなので、 やめた。