Wiki記法
Wiki記法・ウィキマークアップ記法とは、WikiWikiWeb上の記事の執筆や編集において用いられる記述の記法である。
標準的な記法というものも確立しておらず、おのおのの処理系Wikiエンジンによって異なるため、文書化されたものを寡聞にして知らない。とりあえず現況ではMediawikiがデファクトスタンダードになっているところまでは判っている。
そうなると、「編集」におけるWikiの記法とブラウザ上で見ることのできる表示と、ブラウザの「ソースの表示」を引きくらべて「このウィキにおいて、サニタイザや変換エンジンはどのように作動しているのか?」とかを考えさせられるために、「これではユーザにとっての利便性に照らすと、ウィキの主旨に反しているのではないか?」という話になりかねない。
概要[編集]
基本的には行単位であり、行頭にスクリプトがあることを原則とする。
これが閉じたスクリプトであれば、対応するスクリプトを行末まで捜しにいって、記述されていなければ「これはスクリプトではない」と判断されることも多い。ただしMediaWikiが一般的であり事実上の標準(デファクト・スタンダード)であるため、「これは MediaWikiがサポートしていないから間違っている!」という話はあるかもしれない。
「生のHTMLのコードを埋めこむ」というのは普通に用いられている。ただし、これはウィキの精神からいうと「投稿者・編集者に対する間口を狭くし、敷居を高くする」という意味では推奨しかねる。同時に「どれが通ってどれが通らないか」に関して編集者と悶着が起きてサイトから追い出されるソフトウェア開発者も多い。「行頭には半角スペースを置かない」というのは理解できるが、「だったら、日本語のウィキでは全角のスペースを使えばいいという話ではないか?」というのは理解されづらい。「だったらソフトウェア・ツールを公開しろよ」という話にはなるのだが。
Wikiエンジンにおいて、だいたいスルーされるHTML記述[編集]
- br - 改行。
- s -
打消し線。 - sup - 上付き文字。スーパースクリプトの略。「eiπ=1」など。
- sub - 下付き文字。サブスクリプトの略。「H2O」など。
nowiki という、「この部分は Wiki 記法じゃないよ」というのもあるが、これをどこでチェックしているのかが判らないので不安ではある。このあたりは、プログラマがソースコードを張る時に pre なんかをどうするのかとかいった問題にもつながる。
そもそも、まっとうなサニタイザが通したコードをWikiエンジンが誤解釈した時点でペケである。
日欧の差[編集]
まずキャピタルの差が影響する。日本語では「行頭は一字下げる」というのが作文上のお約束だが、ヨーロッパ(の、読み書きのできる知識人)の間では、「行頭の文字は大きな飾り文字で書く」というのが高級なスタイルであると考えられていた[1]。
ところが、日本語のWikiシステムで「行頭に全角スペース」というスタイルは「ルール違反」とされて制裁を受けることもある。実際には当初の仕様が技術的な判断からそうなっており、それが通例になっているだけの話でしかない。
ところが、「アメリカではこうなっているのだから、日本でもそうしなければならない」と考える人も出てくるわけで、そのため「行頭は空けない」が強く指導されたりする。
望ましいネチケット[編集]
「どういうWiki記法によるスクリプトを書いたら、どういう HTML のコードに落ちるか」を、(同じメディアウィキを使っていても)明記しておいてくれないと困る。
Wiki標準記法[編集]
Wikiクローンによっては、Wiki記法のどれを採用していて どれを採用していないかがまちまちである。そのため、「ここまではサポートしてほしい」「他サイトからの移行において、代替表現があるなら置きかえてもいい」という意見もある。 現在では「MediaWiki」の記法がデファクト・スタンダードであるが、「Wiki標準記法」はあってもよいと考える。
原則[編集]
大きく分けて二つがある
- 行頭にないといけないもの
- 制禦文字はおおむね半角文字(厳密にいうと、ASCII の特殊文字)のうち、行頭にはあまり用いられない文字が用いられる。 ';' ・':' がそう。とすれば'.'・','・'?'・ '!'・']'・'}'・')'・などは候補に上がりそうだが、'*' や '#' がリストに使われている以外、サポートしているエンジンを寡聞にして知らない。
- 記述の中に埋めこめるもの
- 別ページへのリンクなど。括弧を二重に使うことが数式の中に出てくる「(」くらいしかないので、ほぼ '['・'{' に限られる。。
以下に、具体例を示す。
節[編集]
「節(「==」で挟まれた部分)」はh2タグで囲まれ、節タイトルはspan タグで囲まれてidとして指定される。節の内容はpタグによって囲われる。
HTML5 では「h6」まであるので、どの程度サポートされているかは不確かであり、ブラウザにも各種あり解析エンジンごとの差異があるため、Enpedia:サンドボックスを利用して確認されたい。
「====== 節名 ======」といったWiki表記は、
h3[編集]
h4[編集]
h5[編集]
h6[編集]
の順に小さくなるはずだが、これはブラウザがどこまでサポートしているかによるため、(くり返しになるが)パソコン上で見るのとスマホ上で見るのとでは様子が異なることがある。
空行[編集]
改行を二つ入れて空行を入力すると、そこで改行される。ただし、これをやると練達の書き手は、長文の場合に「改行が多すぎて編集しづらい」とかいった主張をしたりするので、HTML の改行タグ<br>をぶっこんだりするユーザもいる。
半角スペースとタブ[編集]
行頭にあるものはだいたい無視される。これは HTML の文法とかとの絡みがあるからだろう。日本人としては小学校の作文のように行頭に全角スペースを入れたいところだが、それをやると管理人に風呂っこまれたり(要するにブロックされたり)することもある。
その他[編集]
タビュレーションやスペーシングやハイフネーションやアンダースコアと干渉しないように用心すること。日本語では「語」ではなく「文節」があり、行頭禁則や行末禁則との絡みがあり、HTML で書かれたものをブラウザが適宜改行しているため、個人的には「ひらがなの続くところに文節(の切れめ)がある場合は、そこに半角スペースを入れる」というのが癖になっている。「キャメルケースで表記されたクソ長い Java のクラス名やメソッド名が改行部分に引っかかったらどうなるか?」とか考えだすときりがない。
脚注[編集]
- ↑ グーテンベルク聖書は、それを理想として再現しようと試みている。