文章の整形を行うには、シンプルなマークアップ記法を用います。 DokuWiki の記法は、ソース自体もできるだけ読みやすくなるよう考慮されています。 画面の上部か下部にある 編集 ボタンをクリックすると、ページのソースを見ることができます。 このページでは、編集にあたって利用できる記法をすべて説明します。 ためしに編集をしてみたい場合には、 playground ページを使ってください。 主な記法は、クイックボタン からも利用できます。
文字飾りとして 太字、 斜体、 下線 、等幅
を利用できます。
もちろん 組み合わせる
こともできます。
文字飾りとして **太字**、 //斜体//、 __下線__ 、''等幅'' を利用できます。 もちろん **__//''組み合わせる''//__** こともできます。
さらに 下付き と 上付き も使えます。
さらに <sub>下付き</sub> と <sup>上付き</sup> も使えます
取り消し線 も利用できます。
<del>取り消し線</del> も利用できます。
空行をおくと、段落 となります。 段落内で 強制的に改行 するには、バックスラッシュ(日本語環境では円記号¥) を 2 つ連ねた後に空白文字を置くか改行します。
この文は改行
を含んでいます。2 連バックスラッシュが
改行として処理されるのは、空白文字が続く
か行の最後
にある場合だけで、\\それ以外はそのまま表示されます。
この文は改行\\ を含んでいます。2 連バックスラッシュが 改行として処理されるのは、空白文字が続く\\ か行の最後\\ にある場合だけで、\\それ以外はそのまま表示されます。
強制改行は、どうしても必要な場合だけ使ってください。
リンクの記述には様々な方法があります。
http://www.google.com や、よりシンプルに www.google.com のように文書中の URL は、 外部リンクとして自動的に認識されます。表題を指定して、 googleへのリンク のようにもできます。 メールアドレスも、不等号で括ると、 andi@splitbrain.org のように自動的に認識されます。
http://www.google.com や、よりシンプルに www.google.com のように文書中の URL は、 外部リンクとして自動的に認識されます。表題を指定して、 [[http://www.google.com|googleへのリンク]] のようにもできます。 メールアドレスも、不等号で括ると、 <andi@splitbrain.org> のように自動的に認識されます。
この DokuWiki 内のページへのリンクには 2 連角カッコを使います。ページ名そのままで pagename とするか、表題 を指定します。
この DokuWiki 内のページへのリンクには 2 連角カッコを使います。ページ名そのままで [[ja:pagename]] とするか、[[ja:pagename|表題]] を指定します。
ページ名 は自動的に小文字に変換されます。特殊文字は使えません。
ページ名をコロンで区切ると namespaces(名前空間)を利用できます。
ページ名をコロンで区切ると [[namespaces]](名前空間)を利用できます。
詳細は ja:namespaces をご覧ください。
ページ中の特定のセクションにリンクすることも可能です。ハッシュ記号(#)に続けてセクション名を記述します。 このセクション へのリンクです。
[[syntax#内部リンク|このセクション]] へのリンクです。
注:
Interwiki リンクも利用できます。 InterWikiは、他の Wiki に手軽にリンクを張るための方法です。たとえば、 Wiki は Wikipedia のページへのリンクです。
[[doku>ja:interwiki|Interwiki]] リンクも利用できます。 InterWikiは、他の Wiki に手軽にリンクを張るための方法です。たとえば、 [[wp>Wiki]] は Wikipedia のページへのリンクです。
Windows 共有フォルダも this のように使えます。 ただし、イントラネット 内のように、仲間内でしか正常に使えませんので、注意してください。
Windows 共有フォルダも [[\\server\share|this]] のように使えます。
注:
リンク記法と 画像 (後述)を組み合わせると、 次のように、画像に内外部へのリンクをつけることができます。
[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]
注: リンクの表題については、この画像以外の整形記法は使えません。 画像 と リンク の記法はすべてサポートされます (画像のサイズ変更や、内外部イメージ、URL 指定や interwiki リンクなど)。
脚注 1) には、2 連の丸カッコを用います。
脚注 ((これが脚注です)) には、2 連の丸カッコを用います。
最大 5 つのレベルまでの見出しを使って、文章の構造化を行えます。
3 つ以上の見出しを記述すると、目次が自動的に生成されます。
文書中に ~~NOTOC~~
という文字列を書くと
目次の生成を止めることができます。
==== 第 3 見出し ==== === 第 4 見出し === == 第 5 見出し ==
ダッシュ (-) を四つ以上続けると、水平線が書けます。
波カッコを使って、画像 を記述できます(画像ファイルが wiki 内部にあっても外部でもかまいません)。オプションで、画像サイズも指定できます。
幅と高さを変更2):
実サイズ: {{wiki:dokuwiki-128.png}} 幅を変更: {{wiki:dokuwiki-128.png?50}} 幅と高さを変更: {{wiki:dokuwiki-128.png?200x50}} 外部イメージのサイズを変更: {{http://de3.php.net/images/php.gif?200x50}}
左右にスペース文字を記述すると、配置位置を指定できます。
{{ wiki:dokuwiki-128.png}} {{wiki:dokuwiki-128.png }} {{ wiki:dokuwiki-128.png }}
さらに、タイトルも指定できます(ほとんどのブラウザで、ツールチップで表示されます)。
{{ wiki:dokuwiki-128.png |キャプションです}}
画像 (gif,jpeg,png
) 以外のファイル名を指定すると(ファイルが内外部いずれでも)、そのファイルへのリンクとして表示されます。
画像を他のページへのリンクとするには、上記の 画像にリンク をご覧ください。
リスト(番号付き・番号無し)を利用できます。行頭にスペースを 2 つ連ねた後に、*
(番号無し)または -
(番号付き)を記述します。
* リストです * 2番目の要素です * 入れ子にもできます * 次の要素です - 番号付きリストです - 次の要素です - 入れ子にするにはインデントを深くします - 以上です
リストに関する FAQ も参照してください。
DokuWiki は特定の文字や文字列を、画像や他のテキスト、HTML などに変換することができます。
テキストから画像への変換機能は、主にスマイリーで使用されます。テキストから HTML への変換機能は記号の変換に使用されますが、他の HTML に変換するように設定することもできます。
DokuWiki は一般的に使用されている顔文字を、同じような見た目を持つ画像に変換します。このようなスマイリーや他の画像は、独自の設定で拡張することもできます。標準で使用できるスマイリーは以下の通りです。
記号: DokuWiki は、特定の文字列を活字表記的に同等な文字に変換することができます。以下に認識される文字列の例を示します。
→ ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ® “He thought 'It's a man's world'…”
-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) "He thought 'It's a man's world'..."
同様にして、どのような HTML でもパターンファイルを設定しておけば生成することができます。
パターンファイル設定による変換には、3 つの例外があります。掛け算記号 (640×480)、'シングルクォート' および “ダブルクォート” です。これらの変換は、設定オプションからオフにすることができます。
ある文が、返信であったり、コメントであるということを表現したい場合もあります。その場合、次の記法を使います。
やった方が良いと思うけど。 > いや、やるべきではない! >> まあ、やるべきでしょうね。 > ほんとに? >> 本気です! >>> では、やりましょう!
やった方が良いと思うけど。
いや、やるべきではない!
まあ、やるべきでしょうね。
ほんとに?
本気です!
では、やりましょう!
簡単な記法で表を作成できます。
見出し 1 | 見出し 2 | 見出し 3 |
---|---|---|
行 1 列 1 | 行 1 列 2 | 行 1 列 3 |
行 2 列 1 | 列の結合 (後の縦線が2つであることに注意) | |
行 3 列 1 | 行 3 列 2 | 行 3 列 3 |
表の各行は通常 |
(縦線)ではじめます。見出し行については、 ^
(ハット記号)ではじめます。
^ 見出し 1 ^ 見出し 2 ^ 見出し 3 ^ | 行 1 列 1 | 行 1 列 2 | 行 1 列 3 | | 行 2 列 1 | 列の結合 (後の縦線が2つであることに注意) || | 行 3 列 1 | 行 3 列 2 | 行 3 列 3 |
セルを水平に結合するには、上記のように、後のセルの中身を完全に無しにします。 セルの区切りとなる縦線やハット記号は、どの行も同じ数だけ必要ですので注意してください。
列見出しも可能です。
見出し 1 | 見出し 2 | |
---|---|---|
見出し 3 | 行 1 列 2 | 行 1 列 3 |
見出し 4 | 列の結合は今回は無し | |
見出し 5 | 行 2 列 2 | 行 2 列 3 |
つまり、セルの前にある区切りの記号によって、様式が変化します。
| ^ 見出し 1 ^ 見出し 2 ^ ^ 見出し 3 | 行 1 列 2 | 行 1 列 3 | ^ 見出し 4 | 列の結合は今回は無し | | ^ 見出し 5 | 行 2 列 2 | 行 2 列 3 |
行を結合することもできます。行の結合をする場合は、結合対象セルの下のセルの中に :::
という文字列を入力します。
見出し 1 | 見出し 2 | 見出し 3 |
---|---|---|
行 1 列 1 | 行の結合 | 行 1 列 3 |
行 2 列 1 | 行 2 列 3 | |
行 3 列 1 | 行 2 列 3 |
これらのセルに :::
以外の文字列を入力することはできません。
^ 見出し 1 ^ 見出し 2 ^ 見出し 3 ^ | 行 1 列 1 | 行の結合 | 行 1 列 3 | | 行 2 列 1 | ::: | 行 2 列 3 | | 行 3 列 1 | ::: | 行 2 列 3 |
表の内容の配置を指定できます。2個以上のスペースをテキストの反対側に置きます。 つまり、右揃えにするには左側に2個のスペースを、左揃えにするには右側に2個のスペースを置きます。 中央揃えにするにはテキストの両側に2個以上のスペースを置きます。
配置を指定した表 | ||
---|---|---|
右 | 中央 | 左 |
左 | 右 | 中央 |
xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
上記のソースは次のようになります。
^ 配置を指定した表 ^^^ | 右| 中央 |左 | |左 | 右| 中央 | | xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
もし入力した通りに (何も整形せずに) 表示する必要がある場合は、<nowiki>
タグか、よりシンプルに 2 つの連続したパーセント記号 %%
で挟みます。
このテキストには http://www.splitbrain.org のようなアドレスや**整形記法**を含みますが、実際には何も整形されません。 同様に //__この__スマイリー付きの//テキスト ;-) も整形されません。
<nowiki> このテキストには http://www.splitbrain.org のようなアドレスや**整形記法**を含みますが、実際には何も整形されません。 </nowiki> 同様に %%//__この__スマイリー付きの//テキスト ;-)%% も整形されません。
2 つ以上の半角スペースでインデントするか、<code>
もしくは <file>
タグを使用することにより、コードブロックを記述することができます。
このテキストは 2 つの半角スペースによってインデントされています。
整形済みのコードです。スペースの数が次のように保持されます。例、 <- ここ
同様ですが、ファイルの内容を示すときに使います。
上記のブロックは以下のようなソースから作成されています。
このテキストは 2 つの半角スペースによってインデントされています。
<code> 整形済みのコードです。スペースの数が次のように保持されます。例、 <- ここ </code>
<file> 同様ですが、ファイルの内容を示すときに使います。 </file>
ソースコードの構文をハイライト表示して、読みやすくすることができます。GeSHi という汎用の構文ハイライトソフトを使用しており、GeSHi がサポートするすべての言語を扱うことができます。記法は、前述したコードブロックと同様ですが、言語の名称を <code java>
や <file java>
のようにタグ内に記述します。
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //Display the string. } }
現在のところ、次の言語がサポートされています。4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, gdb, glsl, gml, gnuplot, groovy, gettext, haskell, hq9plus, html, idl, ini, inno, intercal, io, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, mapbasic, matlab, mirc, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, pascal, perl, perl6, per, php-brief, php, pike, pic16, pixelbender, plsql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, qbasic, rails, rebol, reg, robots, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xml, xorg_conf, xpp, z80
前述の <code>
や <file>
タグを使用した場合、示されているコードをダウンロード可能にしたいと思われるかもしれません。以下のように言語名の後にファイル名を記入することで、そのコードをダウンロード可能にすることができます。
<file php myexample.php> <?php echo "hello world!"; ?> </file>
<?php echo "hello world!"; ?>
構文のハイライトは不要だがダウンロードは可能にしたい場合は、<code - myfile.foo>
のように言語の名称としてハイフンマイナス (-
) を使用してください。
<html>
タグおよび <php>
タグを使用することにより、HTML や PHP のコードを文書内に埋め込むことができます。ブロックレベルのコードを埋め込む場合は大文字のタグ (<HTML>
および <PHP>
) を使用してください。
HTML の例:
<html> これは <span style="color:red;font-size:150%;">HTML インライン要素</span>です。 </html> <HTML> <p style="border:2px dashed red;">これは HTML ブロックレベル要素です。</p> </HTML>
これは <span style="color:red;font-size:150%;">HTML インライン要素</span>です。
<p style="border:2px dashed red;">これは HTML ブロックレベル要素です。</p>
PHP の例:
<php> echo 'PHP によって生成されたロゴ:'; echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP ロゴ" />'; echo '(HTML インライン要素を生成)'; </php> <PHP> echo '<table class="inline"><tr><td>同様ですが、ブロックレベル要素の中にあります:</td>'; echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP ロゴ" /></td>'; echo '</tr></table>'; </PHP>
echo 'PHP によって生成されたロゴ:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP ロゴ" />';
echo '(HTML インライン要素を生成)';
echo '<table class="inline"><tr><td>同様ですが、ブロックレベル要素の中にあります:</td>'; echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP ロゴ" /></td>'; echo '</tr></table>';
注: HTML と PHP の埋込みはデフォルトの設定では無効になっています。無効のままですと、コードは実行されずにそのまま表示されます。
DokuWikiは外部のXMLフィードからのデータを統合できます。XMLフィードの解析には SimplePie を使っています。DokuWikiではSimplePieが解釈可能な全てのフォーマットが利用できます。スペースで区切られた複数の引数で表示をカスタマイズできます:
パラメータ | 意 味 |
---|---|
数字 | 最大表示数。デフォルト8 |
reverse | 表示順を逆にする。 |
author | 作者を表示する。 |
date | 日付を表示する。 |
description | 概要を表示する。 含まれる全てのHTMLタグは無効になります。 |
数字[dhm] | 更新間隔。数字の後の文字の意味は d=日、h=時間、m=分。(例 12h = 12時間) |
更新間隔のデフォルトは4時間です。10分未満の値は10分として扱われます。通常DokuWikiはページのキャッシュされたバージョンを提供しようとしますので、動的な外部の内容を含めるのは明らかに不適当です。このパラメータによって、ページが最後に描画されてから更新間隔以上経っていたらDokuWikiはキャッシュを破棄して再描画をします。
例:
{{rss>http://slashdot.jp/slashdotjp.rss 5 author date 1h }}
いくつかの構文は、それ自身は出力されないものの、DokuWiki の動作に影響を及ぼします。以下のような制御用のマクロが利用可能です。
マクロ | 説明 |
---|---|
~~NOTOC~~ | このマクロがページ上にあった場合、目次が生成されなくなります。 |
~~NOCACHE~~ | デフォルトでは、DokuWiki はすべての出力をキャッシュします。この動作は、場合によっては望まれないことがあります (<php> タグが使用されている場合など)。このマクロを追加することにより、DokuWiki に毎回強制的にページを再描画させることができます。 |
DokuWiki の記法は、 プラグイン を使って拡張することができます。各プラグインの使用方法は、各プラグインの解説ページにあります。この DokuWiki では、次の記法プラグインが使用可能となっています。