1 |
#?SuikaWiki/0.9
|
2 |
[1] [[SuikaWiki3]] の [[WikiPlugin]] モジュール
|
3 |
[[WikiLinking]] の関数 [DFN[[CODE[to_wikipage_in_html]]]]
|
4 |
は、 [[HTML]] 文書の出力にあたって、 [[WikiPage]]
|
5 |
への[[リンク]]を作成します。
|
6 |
|
7 |
* 構文
|
8 |
|
9 |
[2]
|
10 |
[CODE(perl)[[VAR[[VAR[SuikaWiki::Plugin]]->module_package ('WikiLinking')]]->to_wikipage_in_html ({[VAR[src]]} => {[VAR[dest]]}, {[VAR[option]]})]]
|
11 |
|
12 |
[VAR[src]], [VAR[dest]], [VAR[option]] は、
|
13 |
名前付き引数の並びです。
|
14 |
|
15 |
* src
|
16 |
|
17 |
[3] [VAR[src]] には、始点アンカーに関する次の名前付き引数を指定できます。
|
18 |
|
19 |
:[CODE[base_uri]]:始点アンカー (のまわり) の[[基底URI]]
|
20 |
([[絶対URI参照]], 文字列又は [CODE(perl)[[[URI]]]] モジュールの実現値)。
|
21 |
既定値は[Q[現在]]の URI (HTTP CGI スクリプトとして使用している時は、要求された URI) です。
|
22 |
:[CODE[label]]:始点アンカーのラベル (始点アンカーそのもの)。
|
23 |
[CODE(perl)[[[Message::Util::Formatter]]]]
|
24 |
形式の雛形で、文脈 [CODE[page-link]] で評価されます。
|
25 |
既定値は[[資源]] [CODE[Link:toWikiPage:SourceLabel]] です。
|
26 |
|
27 |
* dest
|
28 |
|
29 |
[4] [VAR[dest]] には、終点アンカーに関する次の名前付き引数を子弟できます。
|
30 |
|
31 |
:[CODE[base]]:終点 WikiName を解決するための絶対 WikiName
|
32 |
(WikiName object)。 [CODE[page_name_relative]]
|
33 |
が指定されている時は必須。
|
34 |
:[CODE[page_anchor_name]]:終点アンカー名。
|
35 |
:[CODE[page_anchor_no]]:終点アンカー番号。
|
36 |
[CODE[page_anchor_name]] と同時には指定できません。
|
37 |
:[CODE[page_name]]:終点 WikiPage の絶対 WikiName
|
38 |
(WikiName object)。 [CODE[page_name_relative]] より優先して使われます。
|
39 |
:[CODE[page_name_relative]]:終点 WikiPage の WikiName
|
40 |
(相対または絶対, WikiName object)。
|
41 |
[CODE[page_name]] が指定されたいない時は必須。
|
42 |
:[CODE[_up_to_date]]:終点 URI 参照に up‐to‐date flag を付けるか否か ([CODE[1]] or [CODE[0]])。
|
43 |
:[CODE[param]] = {[VAR[name]] => [VAR[val]],...}:
|
44 |
終点 URI 参照の追加の引数。
|
45 |
:[CODE[-use_absolute_uri]]:終点 URI 参照を絶対 URI 参照として出力するべきか否か ([CODE[1]] or [CODE[0]])。
|
46 |
真なら常に絶対 URI 参照として、偽なら場合によっては相対 URI 参照で出力します。
|
47 |
:[CODE[wiki_mode]]:モード名文字列。既定値は [CODE[default]]。
|
48 |
:[CODE[_with_lm]]:終点 URI 参照に採集修正日時 flag を付けるか否か ([CODE[1]] or [CODE[0]])。
|
49 |
|
50 |
* opt
|
51 |
|
52 |
[5] [VAR[opt]] には、リンク全体に関する次の名前付き引数を指定できます。
|
53 |
|
54 |
:[VAR[o]]:[Q[o]] 物体。この引数は必須です。
|
55 |
:[VAR[parent]]:始点アンカーの[[親節]]物体。
|
56 |
この引数は必須です。
|
57 |
[VAR[(この引数が [VAR[src]] でなく [VAR[opt]] なのは歴史的理由です。)]]
|
58 |
|
59 |
* label の評価
|
60 |
|
61 |
[7] 始点アンカーとなる [CODE[[VAR[src]]->{label}]]
|
62 |
は、 [CODE(perl)[[[Message::Util::Formatter]]]]
|
63 |
形式の雛形です。この雛形は、 [CODE[page-link]]
|
64 |
文脈で評価されます。
|
65 |
|
66 |
この文脈の整形規則定義では、リンクに関する情報を
|
67 |
[CODE[$o->{link}]] から参照できます。
|
68 |
|
69 |
:[CODE[$o->{link}->{src}]]:[VAR[src]] 引数。
|
70 |
ただし [CODE[[VAR[src]]->{label}]] は既定値を補完したもの。
|
71 |
:[CODE[$o->{link}->{dest}]]:[VAR[dest]] 引数。
|
72 |
ただし [CODE[[VAR[dest]]->{page_name}]] は必要なら
|
73 |
[CODE[[VAR[dest]]->{page_name_relative}]] を解決して補完したもの。
|
74 |
:[CODE[$o->{link}->{option}]]:[VAR[opt]] 引数。
|
75 |
|
76 |
* メモ
|
77 |
|
78 |
[6] 各種類の名前付き引数には、ここにあるものの他に、
|
79 |
モジュール規定の引数 ([SAMP[[VAR[module-name]]--foo]])
|
80 |
を使うこともできます。
|
81 |
|
82 |
[8]
|
83 |
この関数は ([CODE(perl)[[[to_resource_by_uri_in_html]]]] とあわせて)
|
84 |
100回以上入れ子にすることはできなくしています。
|
85 |
(普通それだけの入れ子はあり得ません。
|
86 |
入れ子にすること自体稀です。)
|