BitBucket の Wiki を CREOLE で書くとちょいとヘンな話

CREOLEのはなししたんで、BitBucket の Wiki で CREOLE してみたんだけれども。

うーんCREOLE 本来の仕様とは違うんではないかという振る舞いを3つ見つけた。

一つはヘディング内のマークアップ。CREOLE のデベロッパは非常に繊細に仕様決定をしてるようで、都度「the reasoning for creole’s markup decisions」を説明してる。要は方言を増産しないように、かつ、シンプルであろうと腐心している様子が見て取れて、大変好ましいわけね。んで、ヘディングの振る舞いについてもここでガッツリ振る舞いを固定しておる。つまりヘディングでリンクに反応してるのは、「CREOLE」を謳うならアウトなんだよね、確実に。

もう一つは preformatted の扱い。こっちはバグだよ。たぶんネストした後混乱してんじゃないかな。

1 {​{​{
2 preformatted
3 text with linesbreaks
4 }​}​}
5 
6 {​{​{no wiki markup processing}​}​}

がうまく処理できてない。

というか CREOLE の本来の仕様として {{{~}}} のネストがどうなっちゃってるのか書かれてないのだが、書けてるじゃんてことは、ネストしたら期待通りってことでいいんだろう。行頭にスペース入ってたらダメとは書かれてるので、本気でネストするよりは、「CREOLEマークアップ例」として nowiki みせたいなら、行頭に空白入れた方が多分安全:

1 {​{​{
2   {​{​{
3   preformatted
4   text with linesbreaks
5   }​}​}
6 
7   {​{​{no wiki markup processing}​}​}
8 }}}

ということは言えるものの、BitBucket のはこうしてもなお混乱してるらしい。

もう一つはチルダでエスケープ出来る仕様に関して。実はチルダについては CREOLE そのものの説明ももやっとしてて、PreformattedAndNowikiにちょろっとこっそり書いてあるだけ:

even tildes which are used as escape characters elsewhere

BB のはこれは…酷くないか?:

1 ~[~[my big page~]~]\\
2 ~[~[my big page|Go to my page~]~]\\
3 ~[~[http://www.wikicreole.org~]~]\\
4 ~[~[http://www.wikicreole.org|Visit the WikiCreole website~]~]

どこに反応してんだよ…。(何が起こってるかは現物みて。)

うーん、これを「CREOLEだ」と言い張っていいのかなぁ?

まぁ…ユーザとして Wiki 使いたいだけならこんなんかなりどうでも良くて、あんまし誰も困らないとは思うけどね。「CREOLEちっく」で何が悪い、てなもんだ。なのでバグリポートなんかいらんかなぁ、とも思ったんだけど、最初のは別に「厳密に CREOLE 準拠」なんてこと言うつもりないだろうから別にどうでもいいとしても、2つ目、3つ目はどうかねぇ? 指摘してあげた方がいいんかいな? (でもさ、こういうのってね、既に書かれちゃったコンテンツを傷付けちゃうからさ、どんなにブチ壊れた仕様でも、変えちゃダメなんだよね、予告なしに。直すならどんなに些細でも大々的に予告してからやらんといかんのです。WordPress チームはそういうことを一切しないからころすけやりたいのな、毎日。何度台無しにされたかわからんわ。)












追記
3つ目のは違うわ。エスケープは正しく振舞ってる。「http://」に反応してんだな。ったく…。この自動リンク、嫌いなんだよね、あたしゃ。何勝手に反応してんだよ、って思っちゃう。(ワタシのようなエンジニアは「架空の WEB サイト」を例として書く機会が多いから。踏んでもらっちゃ困る「実在しない」 WEB サイトなんだから。)

さらに追記
ヘディングのほうはワタシの読み間違いだったわ。例だけ見ちゃってた。「Markup parsing is optional within headings.」だって。処理してもしなくてもいい、と言ってる。