PukiWiki記法パーサのテストページ

§1 サンプル

§1.1 リスト

  • aa
      • bb
  • The quick brown fox jumps over the lazy dog
    • The quick brown fox jumps over the lazy dog
      • The quick brown fox jumps over the lazy dog
        • The quick brown fox jumps over the lazy dog
          • The quick brown fox jumps over the lazy dog
          • The quick brown fox jumps over the lazy dog
          • The quick brown fox jumps over the lazy dog
        • The quick brown fox jumps over the lazy dog
      • The quick brown fox jumps over the lazy dog
    • The quick brown fox jumps over the lazy dog
  • The quick brown fox jumps over the lazy dog
    The quick brown fox jumps over the lazy dog
    • The quick brown fox jumps over the lazy dog
      The quick brown fox jumps over the lazy dog
      • The quick brown fox jumps over the lazy dog
        The quick brown fox jumps over the lazy dog
  1. The quick brown fox jumps over the lazy dog
    1. The quick brown fox jumps over the lazy dog
      1. The quick brown fox jumps over the lazy dog
        1. The quick brown fox jumps over the lazy dog
          1. The quick brown fox jumps over the lazy dog
          2. The quick brown fox jumps over the lazy dog
          3. The quick brown fox jumps over the lazy dog
        2. The quick brown fox jumps over the lazy dog
      2. The quick brown fox jumps over the lazy dog
    2. The quick brown fox jumps over the lazy dog
  2. The quick brown fox jumps over the lazy dog
    The quick brown fox jumps over the lazy dog
    1. The quick brown fox jumps over the lazy dog
      The quick brown fox jumps over the lazy dog
      1. The quick brown fox jumps over the lazy dog
        The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

  • The quick brown fox jumps over the lazy dog
  • The quick brown fox jumps over the lazy dog
  • The quick brown fox jumps over the lazy dog

The quick brown fox jumps over the lazy dog

  1. The quick brown fox jumps over the lazy dog
  2. The quick brown fox jumps over the lazy dog
  3. The quick brown fox jumps over the lazy dog

The quick brown fox jumps over the lazy dog

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§1.2 文字参照

& < > © ®
& < >

§1.3 入れ子になったインライン要素

色付き文字に取り消し線 取り消し線に色付き文字 色付き文字に背景色

italic bold italic bold
strikeoutunderlinebolditalicboldunderlinestrikeout

§1.4 上付き・下付き

上付き[要出典]
下付き[要出典]
lognx
2n
abf(x)dx

§1.5 code・samp

変数foobarが代入されている場合bazを出力します。
MimeEncodingMethod.QEncodingを指定すれば、Qエンコードした文字列=?iso-2022-jp?q?=1B$B%5%s%W%k=1B(B?=を取得出来ます。

aaa入れ子aaa

§1.6 ホワイトスペース

&color(black,gold){ }; &color(black,red){  };
``&color(black,gold){ };``
``&color(black,gold){ }; &color(black,red){  };``
`` &color(black,gold){ };``
`` &color(black,gold){ }; &color(black,red){ a };``
``ほげ ほげ``
`` ほげ``
`` ほげ ``





a
ほげ ほげ
ほげ
ほげ

§1.7 テーブル

検索クエリのフィールド・メソッド
クラス フィールド/メソッド 検索クエリのマッチ対象 補足
a
a
a
ImapSearchCriteria All すべてのメッセージ。
メッセージのフラグ Answered 返信済みフラグ(\Answered)が設定されているメッセージ。
Unanswered 返信済みフラグ(\Answered)が設定されていないメッセージ。
Deleted 削除予定フラグ(\Deleted)が設定されているメッセージ。
Undeleted 削除予定フラグ(\Deleted)が設定されていないメッセージ。
Draft 下書きフラグ(\Draft)が設定されているメッセージ。
Undraft 下書きフラグ(\Draft)が設定されていないメッセージ。
メッセージのヘッダ・本文 Body(string) メッセージ本文に指定された文字列が含まれているメッセージ。
Text(string) メッセージ本文もしくはヘッダ部分に指定された文字列が含まれているメッセージ。
Header(string, string) 指定されたヘッダフィールドに指定された文字列が含まれているメッセージ。 空の検索文字列を指定した場合は、単にそのヘッダーフィールドが含まれているメッセージ。
Subject(string) Subjectヘッダに指定された文字列が含まれているメッセージ。
From(string) Fromヘッダに指定された文字列が含まれているメッセージ。
メッセージの日付 On(DateTime) 指定された日付にメールボックスに追加されたメッセージ。 日付はINTERNALDATE(ImapMessageInfo.InternalDateの値)で判断されます。
指定したDateTimeの時刻部分は無視されます。
Before(DateTime) 指定された日付以前にメールボックスに追加されたメッセージ。
Since(DateTime) 指定された日付以降にメールボックスに追加されたメッセージ。
SentOn(DateTime) 指定された日付に送信されたメッセージ。 日付はDateヘッダの値で判断されます。
指定したDateTimeの時刻部分は無視されます。
SentBefore(DateTime) 指定された日付以前に送信されたメッセージ。
SentSince(DateTime) 指定された日付以降に送信されたメッセージ。
メッセージの通番・UID SequenceSet(ImapSequenceSet) 指定された通番を持つメッセージ。 一つ以上の通番・UIDを指定することができます。
Uid(ImapSequenceSet) 指定されたUIDを持つメッセージ。
SequenceOrUidSet(ImapSequenceSet) 指定された通番もしくはUIDを持つメッセージ。 通番とUIDどちらでの検索になるかは指定されるImapSequenceSet.IsUidSetプロパティの値で決まります。
検索クエリの結合 Not()
!演算子
検索クエリに一致しないメッセージ。 演算子とインスタンスメソッドの他、同名の静的メソッドを使うこともできます。
Or(ImapSearchCriteria)
|演算子
二つの検索クエリのどちらかに一致するメッセージ。
And(ImapSearchCriteria)
&演算子
二つの検索クエリの両方に一致するメッセージ。
クラス フィールド/メソッド 検索クエリのマッチ対象 補足
a
a
a
long long long long long long caption
foo
bar

§1.7.1 書式指定記述子

1列目 2列目 3列目
80 100 c
*********************************************** *********************************************** ***********************************************
表組みの 各セルの要素の配置に 関するサンプル
左寄せ センタリング 右寄せ
右寄せ 左寄せ センタリング
foo bar baz
HOGE:hoge CENTRE:hoge FGCOLOR(red):x
x:CENTER:x x:CENTER: :CENTER:

§1.7.2 colspan, rowspan

head
body body body
foot
head head
body body body
foot foot
head head head
sub
sub
sub
sub
sub
sub
sub sub
body body body body
sub sub sub
foot sub sub
foot
a b c
2x2 d
e
not implemented
|a|b|c|
|>|2x2|d|
|~|~|e|
a 2x2
b
c d e
a b c d
3x3 e
f
g
x 3x2 2x3
x
2x2 x 1x3
x 2x2
x x x
x x x x x x

§1.7.3 複雑なテーブルのサンプル

http://pukiwiki.sourceforge.jp/dev/?PukiWiki%2F1.4%2FNewTableより

§1.7.3.1 <thead><tfoot><tbody>をでたらめに並べてみる

|>|2x1|foot|f
|>|2x2|body|
|>|~|body|
|~A|~B|~C|h
A B C
2x2 body
body
2x1 foot

§1.7.3.2 四畳半

|>|>|CENTER:20|c
|1|>|2|
|~|3|4|
|>|5|~|
1 2
3 4
5

§1.7.3.3 複雑な表

|CENTER:80|>|RIGHT:|RIGHT:100|c
|>|>|>|CENTER:表|h
|~年度|CENTER:~男|CENTER:~女|CENTER:~TOTAL|h
|~2001|20|30|50|
|~2002|30|40|70|
|~TOTAL|~50|~70|~120|f
|~|41.7%|58.3%|100%|
年度 TOTAL
2001 20 30 50
2002 30 40 70
41.7% 58.3% 100%
TOTAL 50 70 120

§1.7.3.4 caption, summary(拡張パーサ使用)

|*caption
|?summary
|A|B|C|h
|1|2|3|
|a|b|c|f
表組み記法
名前 個数
りんご 1
みかん だいだい 2
名前 個数

§1.8 plugins

§1.8.1 unsupported

#count

&lastmod;

§1.8.2 inline

&ruby(ルビ){インライン要素};
&new{2004-09-06 (月) 08:03:02};
&online;
&version;
&page;
&fpage;
&date;
&time;
&now;

インライン要素 ( ルビ )

2004-09-06 (月) 08:03:02

&online;

SmdnCms 0.20.0.0

&page;

&fpage;

2017年2月4日

20:17:49

2017/02/04 20:17:49

§1.8.2.1 msdn

type
struct non-generic System.Int32
generic System.Collections.Generic.KeyValuePair`2
enum System.DayOfWeek
nested type System.Environment.SpecialFolder
class non-generic System.Collections.ArrayList
generic System.Collections.Generic.List`1
generic System.Collections.Generic.Dictionary`2
abstract System.Net.WebRequest
static System.Convert
sealed System.IndexOutOfRangeException
delegate non-generic System.Action
generic System.Func`2
with in/out System.Converter`2
interface non-generic System.ICloneable
generic System.IEquatable`1
generic System.Collections.Generic.IDictionary`2
with in/out System.IComparable`1
member
method non-generic System.Collections.ArrayList.Add
generic System.Collections.Generic.List`1.Add
with out param System.Int32.TryParse
with ref param System.Threading.Interlocked.CompareExchange
property non-generic type System.Collections.ArrayList.Count
generic type System.Collections.Generic.List`1.Count
operator System.Uri.op_Equality
event System.Console.CancelKeyPress
field class System.Uri.UriSchemeHttp
enum System.DayOfWeek.Sunday

§1.8.2.1.1 tooltip

System.Void
italic void bold void
em System.Void strong System.Void code System.Void
del System.Void ins System.Void
color void color void
sup void sup void

System.Void
System.Void
System.Void System.Void
System.Void System.Void

§1.8.3 multiline

class HelloWorldApp {
    static void Main() {
        System.Console.WriteLine("Hello, world!");
    }
}
test.cs
#pragma warning disable 169 // never used
    private static void Version()
    {
      var executingAssembly = Assembly.GetExecutingAssembly();
      var executingAssemblyName = executingAssembly.GetName();

      Console.WriteLine("{0} {1}.{2}", executingAssemblyName.Name, executingAssemblyName.Version.Major, executingAssemblyName.Version.Minor);

      Environment.Exit(0);
    }

    /*
     * comment
     */
    private static void List()
    {
      Console.WriteLine("available notations:");

      foreach (var notation in availableNotations) {
        Console.WriteLine("\t{0}\t\t{1}", notation.Key, notation.Value.GetType());
      }

      Console.WriteLine("total {0} notations", availableNotations.Count);

      Environment.Exit(0);
    }
#pragma warning restore 169
configureの結果例
---
Configuration summary

   * Installation prefix = /usr/local
   * Using Gecko = yes
   * Using GtkHtml = yes
   * Using Mono.WebBrowser = yes
   * Using WebKit = no

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.
pre
pre
pre
pre
prompt+emphasize
$ od -vtx1 -a output-none.xml 
0000000  ef  bb  bf  3c  3f  78  6d  6c  20  76  65  72  73  69  6f  6e
          o   ;   ?   <   ?   x   m   l  sp   v   e   r   s   i   o   n
0000020  3d  22  31  2e  30  22  20  65  6e  63  6f  64  69  6e  67  3d
          =   "   1   .   0   "  sp   e   n   c   o   d   i   n   g   =
0000040  22  75  74  66  2d  38  22  3f  3e  3c  72  6f  6f  74  3e  6c
          "   u   t   f   -   8   "   ?   >   <   r   o   o   t   >   l
0000060  69  6e  65  31  0d  6c  69  6e  65  32  0a  6c  69  6e  65  33
          i   n   e   1  cr   l   i   n   e   2  nl   l   i   n   e   3
0000100  0d  0a  6c  69  6e  65  34  3c  2f  72  6f  6f  74  3e
         cr  nl   l   i   n   e   4   <   /   r   o   o   t   >
0000116
preformatted+emphasize
0000000  ef  bb  bf  3c  3f  78  6d  6c  20  76  65  72  73  69  6f  6e
          o   ;   ?   <   ?   x   m   l  sp   v   e   r   s   i   o   n
0000020  3d  22  31  2e  30  22  20  65  6e  63  6f  64  69  6e  67  3d
          =   "   1   .   0   "  sp   e   n   c   o   d   i   n   g   =
0000040  22  75  74  66  2d  38  22  3f  3e  3c  72  6f  6f  74  3e  6c
          "   u   t   f   -   8   "   ?   >   <   r   o   o   t   >   l
0000060  69  6e  65  31  0d  6c  69  6e  65  32  0a  6c  69  6e  65  33
          i   n   e   1  cr   l   i   n   e   2  nl   l   i   n   e   3
0000100  0d  0a  6c  69  6e  65  34  3c  2f  72  6f  6f  74  3e
         cr  nl   l   i   n   e   4   <   /   r   o   o   t   >
0000116
{{

§1.8.3.1 code+license

unlicensed.cs
var data = "";
WTFPLv2.cs
var data = "data:image/png;base64,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";
invalid.cs
var data = "Copyright(c) 987 hoge";

§1.8.4 directive

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

foo
bar
baz

foo

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。


ああ
あああ

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。


ああ
あああ

http://example.com/

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。


ああ
あああ

blockquote

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

§1.8.4.1 tabpage

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

tab1-page1

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

VB.NETのサンプル

サンプルコード
Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

VB.NETのサンプル

Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class
Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

§1.8.4.2 column

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

VB.NETのサンプル

VB.NETのサンプル

Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class
C#のサンプル

C#のサンプル

using System;

class Test {
  static void Main()
  {
    Console.WriteLine("Hello, world");
  }
}

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

取得対象のメッセージの構造例
Content-Type: text/plain   ^   ^
From: from@example.net     |   |
To: to@example.net         |   |
Subject: sample message   (3)  |
      :                    |   |
      :                    |  (1)
                           v   |
MIME message body          ^   |
line 1                     |   |
line 2                    (2)  |
   :                       |   |
   :                       v   v
取得したい部分 メソッド呼び出しの例
(1) メッセージ全体 ImapMessageInfo.OpenRead()
ImapMessageInfo.ReadAllText()
など
(2) ボディ部分のみ ImapMessageInfo.OpenRead(ImapMessageFetchBodyOptions.OmitHeader)
ImapMessageInfo.ReadAllText(ImapMessageFetchBodyOptions.OmitHeader)
など
(3) ヘッダ部分のみ ImapMessageInfo.GetHeader()
ImapMessageInfo.GetRawHeader()
複数の変数
user0 "Alice"
user1 "Bob"
user2 "Charlie"
配列
users
0 "Alice"
1 "Bob"
2 "Charlie"

§1.8.4.3 matrix

1次元配列のイメージ
[0]
[1]
[2]
[3]
2次元配列のイメージ
[0, 0] [0, 1] [0, 2] [0, 3] [0, 4]
[1, 0] [1, 1] [1, 2] [1, 3] [1, 4]
[2, 0] [2, 1] [2, 2] [2, 3] [2, 4]
[3, 0] [3, 1] [3, 2] [3, 3] [3, 4]
2段のジャグ配列のイメージ
[0] [0][1]
[1] [0][1][2][3][4]
[2] [0][1][2]
[3] [0][1][2][3]
初期化後に2次元配列へ格納される値のイメージ
matrix[m, n] [m, 0] [m, 1] [m, 2] [m, 3]
[0, n] 0 1 2 3
[1, n] 4 5 6 7
[2, n] 8 9 10 11
ソート前のデータ
ID Name Age
3 Bob 16
1 Dave 25
2 Alice 16
5 Charlie 9
4 Eve 16
6 Romeo 9
7 Juliet 25

プログラム要素として見た場合の配列とは、235711131723...複数の同じ種類(=同じ型)の値に235711131723...名前を与えてひとまとめにして扱うものです。

a bc def

メモリ上での変数dwと各フィールドの配置
オフセット
(バイト)
フィールド
0 Value LoWord 0x44
1 0x33
2 HiWord 0x22
3 0x11

§1.9 フォント・行間・文字間

(RFC2324 HTCPCP/1.0より)

§1.9.1 段落

コーヒーは世界中にいきわたっている。コンピュータ利用がますますあらゆる場所に浸透するにつれて、コンピュータ利用者たちはコーヒーをいれたがるのである。コーヒーをいれるというのはそれだけで一つのアートだが、Webによって結ばれた世界の分散知能はアートを凌駕する。したがって、コーヒー用に設計された、ちがいのわかるプロトコルに対する需要は強力かつ濃く、芳醇である。コーヒーはコーヒーポットによっていれられる。ネットワーク接続されたコーヒーポットを制御するための制御プロトコルが必要とされているのだ。

家庭用、および消費者向け機器が、インターネットに接続される例がますます増えてきている。初期のネット接続実験としては、自動販売機のインターネット接続によるステータス監視の実証実験などがある[COKE]。インターネット接続された最初期の遠隔「操作」機器としては、1990年にデビューしたインターネット・トースター(SNMPで制御)が挙げられる[RFC2235]。

広くいきわたっている機器を接続しようという需要は、IPv4のアドレス空間を枯渇させるほどに高まっている。消費者たちは、コーヒーポットのような機器を遠隔操作したいと思っている。そうすれば、朝起きたときにいれたてのコーヒーができていたり、あるいは夕食の準備が終わってからコーヒーが用意されるまでの時間を厳密に指定できる。

本文書はハイパーテキスト・コーヒーポット制御プロトコル(Hyper Text Coffee Pot Control Protocol, HTCPCP)を記述する。これは、人気の高いカフェイン入り高温飲料を作成可能なデバイスすべてを制御するのに必要な、あらゆる要求と応答を可能にするものである。

HTTP 1.1 ([RFC2068]) は、webオブジェクトをもとのサーバからクライアントへと転送することを可能にする。webはworld-wideである。HTCPCP は HTTPに基づいているが、これはHTTPがどこにでもあるからである。良質でなければ、これほど普及することはなかったであろう。したがってHTTPは良質である。良質なコーヒーがほしいなら、HTCPCPも良質である必要がある。HTCPCPを良質なものにするためには、HTCPCPをHTTPベースにするのがよろしい。

本プロトコルの将来バージョンでは、エスプレッソ・マシンなどのデバイス用拡張が加えられる可能性もある。

§1.9.2 整形済み

コーヒーは世界中にいきわたっている。

コーヒーは世界中にいきわたっている。コンピュータ利用がますますあらゆる場所に浸透するにつれて、コンピュータ利用者たちはコーヒーをいれたがるのである。コーヒーをいれるというのはそれだけで一つのアートだが、Webによって結ばれた世界の分散知能はアートを凌駕する。したがって、コーヒー用に設計された、ちがいのわかるプロトコルに対する需要は強力かつ濃く、芳醇である。コーヒーはコーヒーポットによっていれられる。ネットワーク接続されたコーヒーポットを制御するための制御プロトコルが必要とされているのだ。
家庭用、および消費者向け機器が、インターネットに接続される例がますます増えてきている。初期のネット接続実験としては、自動販売機のインターネット接続によるステータス監視の実証実験などがある[COKE]。インターネット接続された最初期の遠隔「操作」機器としては、1990年にデビューしたインターネット・トースター(SNMPで制御)が挙げられる[RFC2235]。
広くいきわたっている機器を接続しようという需要は、IPv4のアドレス空間を枯渇させるほどに高まっている。消費者たちは、コーヒーポットのような機器を遠隔操作したいと思っている。そうすれば、朝起きたときにいれたてのコーヒーができていたり、あるいは夕食の準備が終わってからコーヒーが用意されるまでの時間を厳密に指定できる。
本文書はハイパーテキスト・コーヒーポット制御プロトコル(Hyper Text Coffee Pot Control Protocol, HTCPCP)を記述する。これは、人気の高いカフェイン入り高温飲料を作成可能なデバイスすべてを制御するのに必要な、あらゆる要求と応答を可能にするものである。
HTTP 1.1 ([RFC2068]) は、webオブジェクトをもとのサーバからクライアントへと転送することを可能にする。webはworld-wideである。HTCPCP は HTTPに基づいているが、これはHTTPがどこにでもあるからである。良質でなければ、これほど普及することはなかったであろう。したがってHTTPは良質である。良質なコーヒーがほしいなら、HTCPCPも良質である必要がある。HTCPCPを良質なものにするためには、HTCPCPをHTTPベースにするのがよろしい。
本プロトコルの将来バージョンでは、エスプレッソ・マシンなどのデバイス用拡張が加えられる可能性もある。

コーヒーは世界中にいきわたっている。

§1.9.3 引用

コーヒーは世界中にいきわたっている。

コーヒーは世界中にいきわたっている。コンピュータ利用がますますあらゆる場所に浸透するにつれて、コンピュータ利用者たちはコーヒーをいれたがるのである。コーヒーをいれるというのはそれだけで一つのアートだが、Webによって結ばれた世界の分散知能はアートを凌駕する。したがって、コーヒー用に設計された、ちがいのわかるプロトコルに対する需要は強力かつ濃く、芳醇である。コーヒーはコーヒーポットによっていれられる。ネットワーク接続されたコーヒーポットを制御するための制御プロトコルが必要とされているのだ。

コーヒーは世界中にいきわたっている。

§1.9.4 定義

コーヒーは世界中にいきわたっている。

1.根拠ならびに範囲
コーヒーは世界中にいきわたっている。コンピュータ利用がますますあらゆる場所に浸透するにつれて、コンピュータ利用者たちはコーヒーをいれたがるのである。コーヒーをいれるというのはそれだけで一つのアートだが、Webによって結ばれた世界の分散知能はアートを凌駕する。したがって、コーヒー用に設計された、ちがいのわかるプロトコルに対する需要は強力かつ濃く、芳醇である。コーヒーはコーヒーポットによっていれられる。ネットワーク接続されたコーヒーポットを制御するための制御プロトコルが必要とされているのだ。

コーヒーは世界中にいきわたっている。

§1.9.5 表組み

コーヒーは世界中にいきわたっている。

1.根拠ならびに範囲 コーヒーは世界中にいきわたっている。コンピュータ利用がますますあらゆる場所に浸透するにつれて、コンピュータ利用者たちはコーヒーをいれたがるのである。コーヒーをいれるというのはそれだけで一つのアートだが、Webによって結ばれた世界の分散知能はアートを凌駕する。したがって、コーヒー用に設計された、ちがいのわかるプロトコルに対する需要は強力かつ濃く、芳醇である。コーヒーはコーヒーポットによっていれられる。ネットワーク接続されたコーヒーポットを制御するための制御プロトコルが必要とされているのだ。

コーヒーは世界中にいきわたっている。

§1.9.6 ブロック間

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

VB.NETのサンプル
Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class
実行結果
Hello, world
VB.NETのサンプル
Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class
実行結果
Hello, world

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

VB.NETのサンプル
Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class
C#のサンプル
using System;

class Test {
  static void Main()
  {
    Console.WriteLine("Hello, world");
  }
}
実行結果
Hello, world

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

VB.NETのサンプル
Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class
C#のサンプル
using System;

class Test {
  static void Main()
  {
    Console.WriteLine("Hello, world");
  }
}
実行結果
Hello, world

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

サンプル
C# VB.NET
using System;

class Test {
  static void Main()
  {
    Console.WriteLine("Hello, world");
  }
}
Imports System

Class Test
  Shared Sub Main()
    Console.WriteLine("Hello, world")
  End Sub
End Class
C# VB.NET
C# VB.NET
実行結果
Hello, world

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

foo bar baz
foo bar baz
foo bar baz
foo bar baz
foo bar baz
foo bar baz
foo bar baz
foo bar baz

プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ型)の値に名前を与えてひとまとめにして扱うものです。

§1.10 セクション

§1.10.1 セクションの分割

先行段落 改行なし
後続段落

先行段落 改行なし
後続段落

先行段落 改行1行

後続段落

先行段落 改行1行

後続段落

先行段落 改行2行


後続段落

先行段落 改行2行

後続段落

先行段落 改行3行



後続段落

先行段落 改行3行


後続段落

先行段落 改行4行




後続段落

先行段落 改行4行


後続段落

セクション末改行




セクション末改行

§1.10.2 後続セクション

セクション末改行




セクション末改行

§2 nest1

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.1 nest2

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.2 nest2

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3 nest2

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.1 nest3

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.2 nest3

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.3 nest3

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.3.1 nest4

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.3.1.1 nest5

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.3.1.1.1 nest6

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.3.1.2 nest5

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.3.2 nest4

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.4 nest3

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.5 nest3

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.3.6 nest3

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.4 nest2

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.5 nest2

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§2.6 nest2

The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

§3 PukiWiki Sandbox

#norelated

§4 SandBox: お砂場(練習ページ)です

SEO SPAMボットの攻撃対象になるため、デフォルトでこのページは凍結されています。

§5 見出し

§6 大見出し 1

§6.1 中見出し 1-1

§6.1.1 小見出し 1-1-1

  • 項目1
  • 項目2
  • 項目3

段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1
段落1段落1段落1段落1段落1段落強調1段落1段落1段落1段落1段落1
段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1

段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2
段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2
段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2

§6.2 中見出し 1-2

用語1
いろいろ書いた解説文1と強調単語※注釈1: WikiName
段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1
段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1
段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1
用語2
いろいろ書いた解説文2 ※注釈2: SandBox?へのリンク
用語3
いろいろ書いた解説文3 ※注釈3: 注釈の中にも※注釈の注釈を作ることができます

§7 大見出し 2

§7.1 小見出し 2-1

§7.2 小見出し 2-2

段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1段落1
段落1段落1段落1段落イタリック1段落1段落1段落1段落1段落1段落1段落1
段落1段落1段落1段落イタリックボールド1段落1段落1段落1段落1段落1

段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2 段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2 段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2段落2

レベル0レベル0レベル0レベル0レベル0レベル0

レベル1 レベル1 レベル1
レベル2 レベル2 レベル2
レベル3
  • はろ1
    • はろ2
      ろろろろ2
      • はろ3
    • はろ2
      • はろ3
    • はろ2
      • はろ3
レベル3 レベル3 レベル3

§8 日付

日付 &date;
  • 日付 2004-08-16
date?
  • 2004-08-16
時刻 &time;
  • 時刻 07:29:03
time?
  • 07:29:03
日時 &now;
  • 日時 2004-08-16 (月) 07:30:27
now?
  • 2004-08-16 (月) 07:29:03

§9 リンク

URLやメールアドレスは自動的にリンクになります

§10 その他の文字装飾

整形済みテキスト整形済みテキスト整形済みテキスト
整形済みテキスト整形済みテキスト整形済みテキスト

色の変更も可能なルール(COLOR(#993333))

サイズの変更も可能なルール(SIZE(10))

両方指定(SIZE(20)COLOR(#333399))

打ち消し線

左寄せ

中寄せ
右寄せ

§11 PukiWiki 整形ルール

#norelated

§12 テキスト整形のルール

通常は入力した文章がそのまま出力されます。

  • HTMLのタグは効果がありません。書かれた文章はそのまま(「<font color="red">text</font>」といった形のまま)表示されます
  • 段落と段落の区切りには空行をはさんで下さい。空行をはさまず、連続している複数の行は同じ段落と解釈されます (連結して表示されます)

これに加えて、特定のルールによるテキスト整形を行うことができます。以下では、プラグインについてはよく使われるものだけを簡略に説明しています。プラグインのオプションなど詳細な説明については PukiWiki/1.4/Manual/Plugin? を参照してください。



§12.1 ブロック要素

  • ブロック要素は、インライン要素と他のブロック要素を子要素にすることができます。ただし、段落、見出し、水平線、#から始まるブロック要素は他のブロック要素を子要素にすることはできません。
  • 空行はトップレベルのブロック要素の区切りになります。空行が現われると、すべてのブロック要素は終了します。
  • ブロック要素は、他のブロック要素の子要素になることができます。
    • リスト構造と引用文は他のブロック要素を子要素にすることができます。子要素のブロック要素は親要素のレベルに従ってインデントされて表示されます。空行が現われるとブロック要素は終了します。
    • リスト構造と引用文のネストには3段階のレベルがありますが、リスト構造のレベルと引用文のレベルは独立しています。従って、リスト構造を引用文の子要素にする場合や引用文をリスト構造の子要素にする場合は、レベルを1段階増やさずに記述します。リスト構造を他のリスト構造の子要素にする場合や引用文を他の引用文の子要素にする場合は、レベルを1段階増やして記述します。
    • 他のブロック要素の子要素となっている引用文から脱出するとき、親のブロック要素を継続したい場合は行頭に<、<<、<<<を記述します。<で第1レベルの引用文から、<<で第2レベルの引用文から、<<<で第3レベルの引用文から脱出します。空行を記述すると引用文だけでなく親のブロック要素からも脱出します。
  • ブロック要素となるプラグインは#〜の形式になっています。※インライン要素となるプラグインやユーザ定義とは異なり、ブロック要素となるプラグインでは終端に;を付加する必要はありません。プラグインによっては正常に動作しなくなる場合があります。

§12.1.1 段落

インライン要素

他のブロック要素を明示しない限り、段落となります。

~ インライン要素

行頭で ~ を指定した場合も段落になります。行頭書式の文字(~、-、+、:、>、|、#、//)を通常の文字として段落の先頭に書きたい場合は、行頭に~を記述して書くことができます。

  • 段落の先頭は1文字分字下げされます。但し、番号なしリスト構造、番号付きリスト構造、引用文内の段落では字下げされません。定義リスト内の段落の先頭は1文字分字下げされます。
  • 段落は、新たなブロック要素が現われるまで継続します。
  • 段落は、他のブロック要素の子要素になることができます。
  • 段落は、他のブロック要素を子要素にすることはできません。

§12.1.2 引用文

> インライン要素

行頭で > を指定すると、引用文になります。引用文は >、>>、>>> の3レベルあります。

  • 引用文の中は、ブロック要素を明示しない限り、段落となります。
  • 引用文は、空行が現われるまで継続します。
  • 引用文内の段落は、新たな引用文またはブロック要素が現われるまで継続します。
  • 引用文は、他のブロック要素の子要素になることができます。他の引用文の子要素にする場合は、レベルを1段増やして記述します。リスト構造の子要素にする場合はレベルを1段増やさずに記述します。
  • 引用文は、他のブロック要素を子要素にすることができます。引用文の子要素となるリスト構造はレベルを1段増やさずに記述します。
  • リスト構造内の引用文から脱出する場合で、リスト構造を継続する場合は、<、<<、<<<を行頭に記述します。

§12.1.3 リスト構造

- インライン要素

行頭で - を指定すると、番号なしリストになります。番号なしリストは -、--、--- の3レベルあります。

  • 番号なしリストは、他のブロック要素の子要素になることができます。他のリスト構造の子要素にする場合は、レベルを1段増やして記述します。引用文の子要素にする場合は、レベルを増やさずに記述します。
  • -の直後に ~を記述すると段落を子要素にすることができます。
  • 番号なしリストは、リストの先頭がインライン要素または段落である場合に限り、リストの次の行に他のブロック要素を記述することで、他のブロック要素を子要素にすることができます。
+ インライン要素

行頭で + を指定すると、番号付きリストになります。番号付きリストは +、++、+++ の3レベルあります。

  • 番号付きリストは、他のブロック要素の子要素になることができます。他のリスト構造の子要素にする場合は、レベルを1段増やして記述します。引用文の子要素にする場合は、レベルを増やさずに記述します。
  • + の直後に ~ を記述すると段落を子要素にすることができます。
  • 番号付きリストは、リストの先頭がインライン要素または段落である場合に限り、リストの次の行に他のブロック要素を記述することで、他のブロック要素を子要素にすることができます。
: 定義語 | 説明文

行頭を : で始め、| 記号で区切ると、定義リストになります。定義リストは :、::、::: の3段階あります。定義リストの定義語、説明文は省略することができます。複数の連続した定義リストを記述し、2つ目以降の定義語を省略することで1つの定義語に対する複数の説明文を記述することができます。

  • 行中に | がないと定義リストにはなりません。
  • 定義語・説明文は、インライン要素のみ記述することができます。
  • 定義リストは、他のブロック要素の子要素になることができます。他のリスト構造の子要素にする場合は、レベルを1段増やして記述します。引用文の子要素にする場合は、レベルを増やさずに記述します。
  • | の直後に ~ を記述すると段落を子要素にすることができます。
  • 定義リストは、定義リストの次の行に他のブロック要素を記述することで、他のブロック要素を子要素にすることができます。

§12.1.4 整形済みテキスト

行頭が半角空白で始まる行は整形済みテキストとなります。行の自動折り返しは行なわれません。

  • 整形済みテキストは、他のブロック要素の子要素になることができます。
  • 整形済みテキストは、他のブロック要素を子要素にすることができません。
  • 整形済みテキストは、すべての子要素を文字列として扱います。

§12.1.5 表組み

| インライン要素 | インライン要素 |

行頭から | でインライン要素を区切ることで表組みになります。

  • 各要素の先頭に下記の記述子を指定できます。
    LEFT:
    CENTER:
    RIGHT:
    BGCOLOR(色):
    COLOR(色):
    SIZE(サイズ):
    • 要素の表示位置及び背景色・文字色・文字サイズ(px単位)を指定します。デフォルトは左寄せになります。
    • 表組みの 各セルの要素の配置に関するサンプル
      左寄せ センタリング 右寄せ
      右寄せ 左寄せ センタリング
  • 行末にcを記述すると、書式指定行となります。書式指定行では、次の記述子が指定できます。
    LEFT:
    CENTER:
    RIGHT:
    BGCOLOR(色):
    COLOR(色):
    SIZE(サイズ):
    • 記述子の後ろに数値を記述すると、セル幅がpx単位で指定できます。
  • 行末にhを記述すると、ヘッダ行(thead)になります。
  • 行末にfを記述すると、フッタ行(tfoot)になります。
  • セル内のインライン要素の先頭に~を付けると、ヘッダ(th)になります。
  • セル内に > を単独で記述すると右のセルと連結します(colspan)。
  • セル内に ~ を単独で記述すると上のセルと連結します(rowspan)。
  • 表組みは、他のブロック要素の子要素になることができます。
  • 表組みは、他のブロック要素を子要素にすることができません。

§12.1.6 CSV形式の表組み

,データ,データ,…

行頭でカンマ(,)を記述し、インライン要素をカンマ区切りで記述すると表組みになります。

  • インライン要素はダブルクォーテーション(")で囲むことができます。ダブルクォーテーションで囲むことで、カンマ(,)を含むインライン要素を記述できます。
  • ダブルクォーテーション(")で囲んだデータの中で、ダブルクォーテーションを2つ("")続けることで、ダブルクォーテーション(")を含むインライン要素を記述できます。
  • インライン要素の代わりにイコールを2つ(==)記述すると、colspanを意味します。
  • インライン要素の左に1つ以上の半角空白文字を記述すると右寄せに、インライン要素の左右に1つ以上の半角空白文字を記述するとセンタリングになります。
  • 表組みは、他のブロック要素の子要素になることができます。
  • 表組みは、他のブロック要素を子要素にすることができません。

§12.1.7 見出し

* インライン要素

行頭で * を記述すると、見出しになります。見出しは *、**、*** の3段階あります。

  • 見出しは、他のブロック要素の子要素になることはできません。見出しが現われると他のブロック要素は終了します。
  • 見出しは、他のブロック要素を子要素にすることはできません。

§12.1.8 目次

#contents

行頭で #contents を記述すると、見出しに基づいて目次を作成します。一般的に #contents はページの最初のほうに記述します。

  • 目次は、他のブロック要素の子要素になることができますが、トップレベルに設置することを前提に左マージンを設定してありますので、他のブロック要素の子要素にはしないでください。
  • 目次は、他のブロック要素を子要素にすることはできません。

§12.1.9 左寄せ・センタリング・右寄せ

LEFT:インライン要素
CENTER:インライン要素
RIGHT:インライン要素

行頭で LEFT:、 CENTER:、 RIGHT: を記述すると、インライン要素が左寄せ、センタリング、右寄せされます。

  • LEFT:、CENTER:、RIGHT:は、他のブロック要素の子要素になることができます。
  • LEFT:、CENTER:、RIGHT:は、他のブロック要素を子要素にすることができません。

§12.1.10 水平線

---------------------------------------------

行頭で4つ以上の - を書くと水平線になります。

  • 水平線は、他のブロック要素の子要素になることはできません。水平線が現われると他のブロック要素は終了します。
  • 水平線は、他のブロック要素を子要素にすることはできません。
#hr

行頭で #hr を記述すると、区切り線になります。区切り線は上位のブロック要素の幅の60%の長さの水平線がセンタリングされて引かれます。

  • 区切り線は、他のブロック要素の子要素になることができます。
  • 区切り線は、他のブロック要素を子要素にすることはできません。

§12.1.11 行間開け

#br

行頭で #br を記述すると、ブロック要素間またはブロック要素内で行間を開けることができます※#brをブロック要素の直後の空行の次に指定すればブロック要素間の行間、ブロック要素の直後に指定すればそのブロック要素内での行間を開けることになります。#brは、行末改行と違って、次の行の行頭書式を無効にはしません

  • 行間開けは、他のブロック要素の子要素になることができます。
  • 行間開けは、他のブロック要素を子要素にすることはできません。

§12.1.12 添付ファイル・画像の貼り付け

#ref(添付ファイル名)
#ref(ファイルのURL)

行頭で #ref を記述すると、添付ファイルまたは指定されたURLにあるファイルへのリンクを貼り付けることができます。ファイルが画像ファイルの場合は、その画像を表示します。

  • #ref には、カンマで区切って下記のパラメタを指定できます。パラメタを省略した場合はデフォルト値となります。
    添付ファイルのページ
    • 添付ファイルが存在するページ名を指定します。デフォルトは現在のページです。
    • このパラメタを指定する場合は、添付ファイル名の次に記述します。
    • left
      center
      right
    • ファイルへのリンク・画像を表示する位置を指定します。デフォルトではセンタリングされます。
    • wrap
      nowrap
    • ファイルへのリンク・画像を枠で囲むかどうかを指定します。デフォルトは囲みません。
    • around
    • テキストの回り込みを指定します。デフォルトでは回り込みを行ないません。
    • nolink
    • デフォルトでは添付ファイルへのリンクが張られますが、nolinkを指定するとリンクを張りません。
    • 代替文字列
    • ファイル名の代わりに表示する文字列や画像の代替文字列を指定できます。指定しない場合は、ファイル名になります。
    • 代替文字列には文字列以外のインライン要素を含めることはできません。ページ名、文字列以外のインライン要素を記述しても文字列として扱われます。
    • このパラメタを指定する場合は、最後に記述します。
  • #refは、他のブロック要素の子要素になることができます。
  • #refは、他のブロック要素を子要素にすることはできません。

§12.1.13 テキストの回り込みの解除

#clear

行頭で #clear を記述すると、 #ref で指定したテキストの回り込みを解除します。 #clear を指定しなくても、記事の末尾でテキストの回り込みが自動的に解除されます。

  • #clearは、他のブロック要素の子要素になることができます。
  • #clearは、他のブロック要素を子要素にすることができません。

§12.1.14 フォーム

#comment

行頭で #comment を記述すると、コメントを挿入するためのフォームが埋め込まれます。

  • #commentは、他のブロック要素の子要素になることができますが、トップレベルに設置することを前提に左マージンを設定してありますので、他のブロック要素の子要素にはしないでください。
  • #commentは、他のブロック要素を子要素にすることはできません。
#pcomment

行頭で #pcomment を記述すると、コメントを挿入するためのフォームが埋め込まれます。 #comment とは異なり、コメントは別ページに記録されます。また、コメントに対するレスポンスを階層状に表示します。

  • #pcommentは、他のブロック要素の子要素になることができますが、トップレベルに設置することを前提に左マージンを設定してありますので、他のブロック要素の子要素にはしないでください。
  • #pcommentは、他のブロック要素を子要素にすることはできません。
#article

行頭で#articleを記述すると、簡易掲示板のフォームが埋め込まれます。

  • #articleは、他のブロック要素の子要素になることができますが、トップレベルに設置することを前提に左マージンを設定してありますので、他のブロック要素の子要素にはしないでください。
  • #articleは、他のブロック要素を子要素にすることはできません。
#vote(選択肢1,選択肢2,...)

行頭で #vote を記述すると、簡易投票フォームが埋め込まれます。

  • 選択肢は文字列、ページ名、InterWiki、リンクを含めることができます。その他のインライン要素を含めることができません。
  • #voteは、他のブロック要素の子要素になることができますが、トップレベルに設置することを前提に左マージンを設定してありますので、他のブロック要素の子要素にはしないでください。
  • #voteは、他のブロック要素を子要素にすることはできません。

§12.2 インライン要素

  • インライン要素は、必ずブロック要素の子要素になっています。
    • 行頭書式でブロック要素を明示しない場合は、段落の子要素となります。
    • 行頭書式でブロック要素を明示した場合は、指定したブロック要素の子要素になります。
  • 特定のインライン要素は、他のインライン要素を子要素にすることができます。
  • インライン要素はブロック要素を子要素にすることはできません。
  • インライン要素となるプラグイン及びユーザー定義は &〜; の形式になっています。
  • インライン要素となるプラグインに対してオプションと子要素を指定する場合は、 &プラグイン名(オプション){子要素}; の形式になります。

§12.2.1 文字列

文字列

文字列はインライン要素です。

  • 文字列は、他のインライン要素の子要素になることができます。
  • 文字列は、他のインライン要素を子要素にすることができません。

§12.2.2 改行

インライン要素~

行末に~を書くと行末改行になります。行末改行はブロック要素内での改行になります。

  • 行末改行の次の行の行頭書式は無効になり、文字列として扱われます。
  • 行末改行は、他のインライン要素の子要素になることはできません。
  • 行末改行は、他のインライン要素を子要素にすることはできません。
  • 行末改行は、定義リストの定義語、表組みの要素、#で始まるブロック要素のパラメタの中では使用できません。
&br;

行中に &br; を書くと、そこで改行されます。行末の ~ と違い、定義リストの定義語や表組の要素、# で始まるブロック要素のパラメタの中でも使用できます。

  • 行中改行は、他のインライン要素の子要素になることができます。
  • 行中改行は、他のインライン要素を子要素にすることはできません。

§12.2.3 強調・斜体

''インライン要素''

行中のインライン要素を '' ではさむと、インライン要素が 強調表示 になります。

  • 強調は、他のインライン要素の子要素になることができます。
  • 強調は、他のインライン要素を子要素にすることができます。
'''インライン要素'''

行中のインライン要素を ''' ではさむと、インライン要素が 斜体表示 になります。

  • 斜体は、他のインライン要素の子要素になることができます。
  • 斜体は、他のインライン要素を子要素にすることができます。

§12.2.4 文字サイズ

&size(サイズ){インライン要素};

行中に &size を書くとインライン要素の文字サイズを指定することができます。サイズはピクセル単位(px)で指定します。例えば20を指定すると、20ピクセルの文字の大きさになります。

  • 文字サイズは、他のインライン要素の子要素になることができます。
  • 文字サイズは、他のインライン要素を子要素にすることができます。

§12.2.5 文字色

&color(文字色,背景色){インライン要素};

行中に &color と書くとインライン要素の文字色背景色を指定することができます。背景色は省略できます。

  • 色の指定は、次のいずれかの形式で行ないます。
    • 色を意味するキーワード(red, blueなど)
    • #16進数6桁
    • #16進数3桁
  • 文字色は、他のインライン要素の子要素になることができます。
  • 文字色は、他のインライン要素を子要素にすることができます。

§12.2.6 取消線

%%インライン要素%%

行中のインライン要素を%%ではさむと、インライン要素に取消線が付きます。

  • 取消線は、他のインライン要素の子要素になることができます。
  • 取消線は、他のインライン要素を子要素にすることができます。

§12.2.7 注釈

((インライン要素))

行中でインライン要素を (( と )) ではさむと、注釈※注釈のサンプルが作成され、行中に注釈へのリンクが貼られます。

  • 注釈は、他のインライン要素の子要素になることができます。親要素は注釈文ではなく、注釈へのリンクに反映されます。
  • 注釈は、他のインライン要素を子要素にすることができます。子要素は注釈文に反映されます。

§12.2.8 添付ファイル・画像の貼り付け

&ref(添付ファイル名);
&ref(ファイルのURL);

行中で &ref を記述すると、添付ファイルまたは指定されたURLにあるファイルへのリンクを貼り付けることができます。ファイルが画像ファイルの場合は、その画像を表示します。

  • &ref には、カンマで区切って下記のパラメタを指定できます。パラメタを省略した場合はデフォルト値となります。
    添付ファイルのページ
    • 添付ファイルが存在するページ名を指定します。デフォルトは現在のページです。
    • このパラメタを指定する場合は、添付ファイル名の次に記述します。
    • nolink
    • デフォルトでは添付ファイルへのリンクが張られますが、nolink を指定するとリンクを張りません。
    • 代替文字列
    • ファイル名の代わりに表示する文字列や画像の代替文字列を指定できます。指定しない場合は、ファイル名になります。
    • 代替文字列には文字列以外のインライン要素を含めることはできません。ページ名、文字列以外のインライン要素を記述しても文字列として扱われます。
    • このパラメタを指定する場合は、最後に記述します。
  • &ref は、他のインライン要素の子要素になることができます。
  • &ref は、他のインライン要素を子要素にはできません。

§12.2.9 ルビ構造

&ruby(ルビ){インライン要素};

行中で &ruby を書くとインライン要素に対するルビをふることができます。ルビに対応していないブラウザではルビが本文中に ( と ) に囲まれて表示されます。

  • ルビ構造のルビにはインライン要素を記述します。ただし、ルビの特性上、期待通りの表示になるとは限りません。
  • ルビ構造は、他のインライン要素の子要素になることができます。
  • ルビ構造は、他のインライン要素を子要素にすることができます。
  • ルビ構造をルビ構造の子要素にはできません(ネストはできません)。
  • 注釈内や文字サイズを小さくしている部分での使用は、ルビが判読できなくなるので避けてください。

§12.2.10 アンカーの設定

&aname(アンカー名);
&aname(アンカー名){インライン要素};

行中で &aname を記述するとリンクのアンカーを設定することができます。リンクの飛び先にしたい位置に記述します。

  • アンカー名は、半角アルファベットから始まる半角アルファベット・数字・ハイフン・アンダースコアからなる文字列を指定します。
  • アンカー名の中には、全角文字や半角空白文字、半角記号を含めることはできません。
  • アンカー設定は、他のインライン要素の子要素になることができます。
  • アンカー設定は、他のインライン要素を子要素にすることができます。

§12.2.11 カウンタ表示

&counter;
&counter(オプション);

行中で &counter を記述するとそのページにアクセスした人の数を表示することができます。

  • &counter には次のオプションを指定できます。オプションを省略した場合はtotalが指定されたものとみなされます。
    today
    • 今日のアクセス数を表示します。
    • yesterday
    • 昨日のアクセス数を表示します。
    • total
    • アクセス総数を表示します。
  • カウンタ表示は、他のインライン要素の子要素になることができます。
  • カウンタ表示は、他のインライン要素を子要素にはできません。

§12.2.12 オンライン表示

&online;

行中で &online を記述すると現在アクセス中の人数を表示することができます。

  • オンライン表示は、他のインライン要素の子要素になることができます。
  • オンライン表示は、他のインライン要素を子要素にはできません。

§12.2.13 バージョン表示

&version;

行中で &version を記述するとPukiWikiのバージョンを表示することができます。

  • バージョン表示は、他のインライン要素の子要素になることができます。
  • バージョン表示は、他のインライン要素を子要素にはできません。

§12.2.14 WikiName

WikiName

行中で、1つ以上の大文字→1つ以上の小文字→1つ以上の大文字→1つ以上の小文字の組合わせからなる半角//文字列はWikiNameになります。

  • WikiNameの中には、全角文字や半角空白文字、記号、数字を含めることはできません。
  • WikiNameは、PukiWiki内のページ名になります。すでに存在するページであればそのページへのリンクが自動的に貼られます。存在しない場合はWikiNameの後ろに?が自動的に付き、そのページを新規作成するためのリンクが貼られます。
  • WikiNameは、他のインライン要素の子要素になることができます。
  • WikiNameは、他のインライン要素を子要素にはできません。

§12.2.15 ページ名

[[ぷきうぃき]]

行中で [[ と ]] で囲まれた文字列はページ名になります。

  • ページ名の中には、全角文字、記号、数字、半角空白文字を含めることができます。
  • ページ名の中には、"#&<> を含めることはできません。
  • すでに存在するページであればそのページへのリンクが自動的に貼られます。存在しない場合はページ名の後ろに?が自動的に付き、そのページを新規作成するためのリンクが貼られます。
[[ページ名#アンカー名]]
  • ページ名にアンカー名をつけることもできます。
  • ページ名は、他のインライン要素の子要素になることができます。
  • ページ名は、他のインライン要素を子要素にはできません。

§12.2.16 InterWiki

[[InterWikiName:ページ名]]

行中のページ名形式の文字列の中で、: で2つの文字列を区切るとInterWikiになります。:の前にはInterWikiNameのページで定義したInterWikiNameを、: の後ろにはページ名を記述します。

[[InterWikiName:ページ名#アンカー名]]
  • ページ名の後ろにアンカー名をつけることもできます。
  • InterWikiNameの中には、全角文字を含めることができます。
  • InterWikiNameの中には、半角空白文字を含めるができます。
  • InterWikiは、他のインライン要素の子要素になることができます。
  • InterWikiは、他のインライン要素を子要素にはできません。

§12.2.17 リンク

[[リンク名:URL]]

行中のInterWikiNameの形式の文字列の中で、: の前に任意のリンク名を、: の後ろにURLを記述すると、そのリンク名でURLに対するリンクを貼ることができます。

  • リンク名には、全角文字や半角空白文字を含めることができます。メールアドレスを指定する場合は、mailto:を書かずにアドレスだけを記述します。
http://www.example.com/
https://www.example.com/
ftp://ftp.example.com/
news://news.example.com/
foo@example.com
  • 行中に直接、URLを記述した場合は自動的にそのURLに対するリンクが貼られます。
  • 記述したURLが画像ファイルである場合は、その画像を表示します。
  • リンクは、他のインライン要素の子要素になることができます。
  • リンクは、他のインライン要素を子要素にはできません。

§12.2.18 エイリアス

[[エイリアス名>ページ名]]

行中のページ名形式の文字列の中で、> で2つの文字列を区切るとエイリアスになります。 > の前にはエイリアス名を、> の後ろにはページ名を記述します。

エイリアスはPukiWiki内のページ名とは別のエイリアス名で、指定したページへのリンクを貼ります。

[[エイリアス名>ページ名#アンカー名]]
[[エイリアス名>#アンカー名]]
  • ページ名にアンカー名を付け加えてアンカーへのリンクを貼ることができます。ページ名とアンカー名の間には#をつけます。カレントページのアンカーへリンクを貼る場合はページ名を省略することができます。
[[エイリアス名>http://www.example.com/]]
[[エイリアス名>https://www.example.com/]]
[[エイリアス名>ftp://ftp.example.com/]]
[[エイリアス名>news://news.example.com/]]
[[エイリアス名>foo@example.com]]
[[エイリアス名>InterWikiName:ページ名]]
[[エイリアス名>InterWikiName:ページ名#アンカー名]]
  • エイリアスをURLやInterWikiと組み合わせることもできます。
[[エイリアス名:http://www.example.com/]]
[[エイリアス名:https://www.example.com/]]
[[エイリアス名:ftp://ftp.example.com/]]
[[エイリアス名:news://news.example.com/]]
[[エイリアス名:foo@example.com]]
  • URLを指定する場合は、>の代わりに:も使用できます。
  • エイリアス名の中には、全角文字を含めることができます。
  • エイリアス名の中には、半角空白文字を含めることができます。
  • 階層化されたページでは、ページ名を相対指定することができます。
  • エイリアスは、他のインライン要素の子要素になることができます。
  • エイリアスは、他のインライン要素を子要素にできます。

§12.2.19 タブコード

&t;

行中で &t; と書くと、タブコードに置換されます。

通常、フォーム内ではキーボードからタブコードを直接入力できない※クリップボードからの貼り付けの場合はタブコードを直接入力できます。ので、タブコードを入力したい位置に&t;を記述すると、保存時にタブコードに置換します。

  • タブコードは、記事が書き込まれるときに置換されて記録されます。
  • タブコードは、他のインライン要素の子要素になることができます。
  • タブコードは、他のインライン要素を子要素にはできません。

§12.2.20 ページ名置換文字

&page;
&fpage;

行中で &page; 及び &fpage; と書くと、編集中のページ名に置換されます。ページ名が階層化されたページで「hogehoge/hoge」となっている場合、 &page; は「hoge」に、 &fpage; は「hogehoge/hoge」に置換されます。階層化されていないページでは、 &page; も &fpage; も同じになります。

  • ページ名置換文字は、記事が書き込まれるときに置換されて記録されます。
  • ページ名置換文字は、他のインライン要素の子要素になることができます。
  • ページ名置換文字は、他のインライン要素を子要素にはできません。

§12.2.21 日時置換文字

&date;
&time;
&now;
  • 行中で &date; と書くと、更新時の日付に置換されます
  • 行中で &time; と書くと、更新時の時刻に置換されます
  • 行中で &now; と書くと、更新時の日時に置換されます
date?
time?
now?
  • PukiWiki 1.3系との後方互換性のために、 date?、 time?、 now? についても使用できるようにしてあります。
  • &date;、 &time;、 &now;は、記事が書き込まれるときに置換されて記録されます。
  • &date;、 &time;、 &now;は、他のインライン要素の子要素になることができます。
  • &date;、 &time;、 &now;は、他のインライン要素を子要素にはできません。
&_date;
&_time;
&_now;
  • 行中で &_date; と書くと、表示時の日付に置換されて出力されます。
  • 行中で &_time; と書くと、表示時の時刻に置換されて出力されます。
  • 行中で &_now; と書くと、表示時の日時に置換されて出力されます。
&lastmod;
&lastmod(ページ名);
  • 行中で &lastmod; と書くと、そのページの最終更新日時に置換されて出力されます。
  • ページ名を指定すると、その指定されたページの最終更新日時に置換されて出力されます。
  • &_date;、 &_time;、 &_now;、 &lastmod;は、記事が表示されるときに置換されて出力されます。
  • &_date;、 &_time;、 &_now;、 &lastmod;は、他のインライン要素の子要素になることができます。
  • &_date;、 &_time;、 &_now;、 &lastmod;は、他のインライン要素を子要素にはできません。

§12.2.22 文字参照文字

文字参照は、SGMLで定義されている文字参照文字(&copy;や&reg;など)のほか、下記の独自の文字参照文字が使用できます。

&heart;
&smile;
&bigsmile;
&huh;
&oh;
&wink;
&sad;
&worried;
  • 行中で&heart;と書くと、ハートマーク ♥ に置換されて出力されます。
  • 行中で&smile;と書くと、 smile に置換されて出力されます。
  • 行中で&bigsmile;と書くと、 bigsmile に置換されて出力されます。
  • 行中で&huh;と書くと、 huh に置換されて出力されます。
  • 行中で&oh;と書くと、 oh に置換されて出力されます。
  • 行中で&wink;と書くと、 wink に置換されて出力されます。
  • 行中で&sad;と書くと、 sad に置換されて出力されます。
  • 行中で&worried;と書くと、 worried に置換されて出力されます。
  • 文字参照文字は、表示されるときに置換されます。
  • 文字参照文字は、他のインライン要素の子要素になることができます。
  • 文字参照文字は、他のインライン要素を子要素にはできません。

§12.2.23 数値参照文字

&#10進数;
&#x16進数;

行中で &# と ; の間に10進数を、&#x と ;の間に16進数を書くと、Unicodeを数値参照して表示します。キーボードから直接入力できない文字やJIS第3水準・第4水準の文字などの表示に使用します。たとえば、内田百&#38290;と入力すると、内田百閒と表示されます。

  • 数値参照文字は、表示されるときに置換されます。
  • 数値参照文字は、他のインライン要素の子要素になることができます。
  • 数値参照文字は、他のインライン要素を子要素にはできません。
  • 16進数は半角小文字で指定する必要があります(XHTML 1.0 第2版から小文字に限定されました)。

§12.3 その他

§12.3.1 コメント行

// コメント

行頭で // を指定すると、コメント行になります。コメント行は出力されない行です。

  • コメント行は、他の要素と無関係に行単位でどの位置にも記述できます。
  • コメント行は、前後の他の要素に何ら影響を及ぼしません。