2008/08/31(Sun)adiary 2.011 を入れてみた

はてブ数 2008/09/01 0:17 サイト運営::adiary つーさ

注意。この記事の「続きを読む」以降のHTMLは少し壊れているかもしれません

1.991をインストールしてから、約4ヶ月ちょっと使ってみたことになる。

正直、SBから乗り換えてよかったなぁと思う。
SBもまぁ悪くはなかったけど。かゆいところに手が届かなかった。独自タグを作るにはパーサを弄らないといけなかった。かなり改造した記憶がある。静的HTMLで、サイドバーの表示にJavaScriptを使っていて、JavaScriptが走らないと見られたもんではないっていうのも気になっていた(どうせONだけど)。adiaryは(キャッシュしてるみたいだけど)動的ページ生成なのにとても軽くていい。初めて使ったときびっくりしたっけなぁ。
アップローダがIE系ブラウザでまともに動かなかったり、デザイン編集にスケルトンをある程度弄る必要があったりが、ちょっとハードルが高い気がするけれど(サークルのCMSに、とも思ったけれどどうしようかと足踏み状態)。
個人的にはシンプルかつ十分高機能で、かゆいところにも手が届きやすい感がある。使ってて楽しいシステムだと思う。
こんな素敵なシステムを開発提供してくださっているなべ様をはじめスタッフの皆さんに感謝するところである!

さて、バージョンアップしたところで、とりあえずいろいろ試してみる。と。
半日ごりごりやっていたので非常に長くて読みにくい。

sectionの日付 2008/09/01

subsectionの日付

これは問題ないはず。

subsubsectionの日付

サブサブセクションには日付は入らない、、と。

tex記法について

期待する結果は である。

[tex:\\left[test\\right]]と書いた場合[ダメ]

\\left[test\\right]
画像URLは .../mimetex.cgi?%5cleft%26
あれ……?

[[tex:\\left[test\\right]]]と書いた場合[ダメ]

\\left[test\\right]
画像URLは .../mimetex.cgi?%5cleft%5btest%5cright
どうやら、直ってないようだ?
(試行錯誤の上、)正しく表示させることができた(下の方に書いた)。

考えてもみれば。

tex文中に 突然 ] が出てくる可能性があるのだから、(\\left.\\right]が許容されるため)単にタグデリミタを[]とした場合は、この中に texを記述することは不可能な気がしてきた^^;;

[]が対応する保証がどこにもなくなってしまえば、]を前方向から探して閉じていくしかないかもしれない。が、その仕様だと、100回[]を書いてみたところで、前から100個分の]が閉じタグとして認識されてしまい、終わりに]が一個余るだけになるはず。
記述: [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[tex:\\left[test\\right]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
結果: [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[tex:\\left[test\\right]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
画像URL .../mimetex.cgi?%5cleft%5btest%5cright%02%02%02...%02%02%02
……あれ? これは、いったいどうなってしまっているんだろう?
最初に50個の[がそのまま出力されて、48個[?]がくっついて]が1個余ってる。
そろそろソースを読むべきなのかも。
→読んでみたけどperlに疎いのでよくわかりませんでしたorz

それから、↑の記述例の方は{{}}で囲んであるんだけど、
中の tex:\\light[\\right]の部分を強調表示したくて [[bf:tex:\\light[\\right]]]と書いてて気づいたんだけど...

[[bf:tex:\\left[\\right]]]と書いた場合[ダメ]

これも、tex:\\left[\\right] となってしまう。
以前のSatsukiテキストパーサは、外側の[[]]がタグとして認識され、
"tex:\\left[\\right]]"の部分が太字になっていたように思う……。

つまり、過去にある作品展示ページで書いた以下の記述
(2回までしか展開されないのを利用し、ダウンロードリンク文字列として[]を使っていた部分)

おまけ。[[file:png:tsuki:music/:sandora1.png:[1]]] [[file:png:tsuki:music/:sandora2.png:[2]]]

も、数字直後の内側の]]が閉じデリミタとして認識されちゃって、おかしな状態になっている……。

[del:[]で囲んだタグの中、特に自由文字列部分に]を書けなくなってしまった。というか、今までなんでうまく動いてたのかがむしろ不思議なような……^^;
とか思っていたんだけど]]

追記、コメントにいただいたことをヒントにすると[[bf:tex:\\left[\\right] ]]とすれば、tex:\\left[\\right]となる。ただし、現状余計なスペースが挟まることを阻止できない。

[bf:{{tex:\\left[\\right]]]}}とか書いた場合 [まぁOK?]

って書いたらちゃんとtex:\\left[\\right]]と表示された。おお?
じゃあtex文も[tex:{{\\left[\\right]]}}って書いたら……
<span class=
ぉあ……{{ってspanタグ書いちゃうんだっけ。えーっと^^;

別にそこまでtex文中に]を書きたいことはないからいいのかもしれないけれど、今まで*1割とこの辺がすっきり*2していて好きだったadiary記法が仕様バグを孕んでしまったのがちょっと残念だなぁと思っていたり。ただ、2回しか展開されませんという、その2という数字がどこから来たのって気もしないでもないけれど[[ならば中は展開されない!的な逃げ道として考えてた自分にはなんかちょっと。

そして

[[tex:\\left[test\\right] ]]と書いたら [ついにOK]

\\left[test\\right]
画像URL .../mimetex.cgi?%5cleft%5btest%5cright%5d
何も問題ないことに気づく。いろいろ試してるうちに。
うみゅーん><;

[http://tu-sa.net/:[[tex:\\left[tu-sa's * area\\right] ]] ] と書いた場合[もういいよ……]

\\left[tu-sa's * area\\right]
画像URL .../mimetex.cgi?%5cleft%5btu-sa%27s%20*%20area%5cright%5d でも代替テキストがアッー
]が1個足りないのに動いちゃってる? というか数合ってるのに]が余る[[tex[を1つとるとtexコンパイルエラー。でも、なんか変... aタグ閉じられてない上]を書いても閉じられない……。まぁ、こんなおかしなことする人はいないよね。

記法(パーサまで含めて)を作るのって難しいと思う。自分はSerene Bach 2系からadiaryに乗り換えてきたんだけど、SB使ってたころはsbtextっていうはてな記法っぽい書き方ができるパーサを改造して使ってた。その頃は はてな記法 があまりまだ自分に馴染んでいなかったから、自分の書きやすいようにと思っての改造だった気がするけれど、satsukiパーサみたいに高機能にもシンプルもできなかったし。

*1 : プログラマ脳的にはなんでうまく動いていたのかわからないんだけど

*2 : 2回書けばエスケープされなくなるという点で

&のこと

は、うまく意図が伝わっていなかったみたいなので、一応もう一回書いておく。
けど正直対応はどっちでもいい気も(というか、直せるものかどうかもわからないから)。
確かに、http://tu-sa.net/& などとして書くリンクの&もそうなんだけれど、どちらかというとカテゴリメニューに表示されている「category?...」だとか「&search」なんかのシステム的なリンクのこと。
そもそも、これを挙げてる理由も、単にvalidatorで大量に怒られたり某html-lintでひどい点数つけられたりするという精神衛生的な理由。なので、今のところはどの主要ブラウザでも見られているし、問題ないと言えば問題ないのかもしれない。
lintによればcat-????の「htmlタグのid属性には英数字しか許容されてねぇ」というおしかりの方が減点きついみたいだ。本当にそうなのかどうかは知らないけど、この辺は適当にエンコードした方がいいのかしら。wikiページのurlみたいに?

なんか重箱の隅ばかりつついて、けんか売ってるみたいでごめんなさい!

僕はadiaryが大好きです!