ページ内容に他のページ内容を挿入する機能。
下位展開と同じスタイルやレンダリング処理を、下位展開範囲に関わらずに使える機能。埋め込まれたページは、埋め込み先(呼び出し元)ページと同じスタイル・同じ扱いになる。
Include / Transclude
埋め込めないとき †
パラメーターに何も書かれていない埋め込みは非表示。
埋め込みに何か書かれているのに埋め込めないときはメッセージ表示。
→ :/埋め込めないプレースホルダーは非表示
動的なパラメーターを埋め込みシンボルで書く †
メタシンボルの埋め込みで動的なパラメーター指定ができる。
→どのページでも。埋め込まれたときのみ意味を持つシンボルを用意して。
それをまた埋め込むこともできる。埋め込み用ページ名(パラメーターを書いたページ)を書くだけで(自動埋め込みになり)動的なパラメーター指定が可能になる。
→リンクすると埋め込みになる埋め込み式ページで。
Include、InterInclude †
{{}}で、他のページを埋め込み。
その時、外部サイトも指定できるように。
埋め込みはマクロのようなもの †
シンタックスシュガー、複数の機能呼び出し、定型文(スニペット)をページ作成で実現できる。
記法解析の前に埋め込みを解決するので。埋め込みをすべて解決して(ネスト分も)1ページにしてから記法解析。
コピペの代用程度に。
穴空きページと埋め込み †
変数+includeのテンプレート。
ページ内の記号(これも機能記法?)にこの機能呼び出しのときのパラメーターを埋め込み、それをincludeと同様にこの機能を呼び出したページに埋め込み。
埋め込み順
templeteのパラメーター → templeteで指定されたページ → templeteを書いたページ
パラメーターは名前付き。同じ名前があれば順序通りに結び付ける。名前が無ければ実引数と同じ順序で結び付ける。
template呼び出しはパラメーターを複数行渡せるようにしたい。
機能呼び出しで複数行パラメーターを渡すには?
段落も渡せれば、二段組みのレイアウト用テンプレートにもできる。
ほとんどの記法はこのルールと:i/埋め込み式ページで実装できる。
終端を伴うNotationは実装しづらい。バラメーターを要するNotationは自動リンクさせられないので必要性が低い。
(自動リンクのルールを変えて終端Notationやパラメーター付きでリンクするようにしても?)
埋め込みはNotation解析前の文字列置き換え程度に使う。開始と終端のNotationをそれぞれ別定義にして表現を増やすこともできる。
→テーブル記法や、パラメーターとして段落を与えたいときに使えない。
→ :i/UI要素
埋め込みもDanglingLink化 †
[[…]]以外に{{…}}も
ページ名[?]
…になる。
パラメーターをどう指定するか? †
画像のサイズ、キャプションなど。
埋め込み記法の中に区切り文字?
{{URI,サイズ,キャプション}}
,を含むURIは"などでくくる。(カッコとして使える文字はWikiの設定で)
イメージの展開サイズ †
基本、アスペクト比保持。
解除するには記号を付けて。
アスペクト比保持のとき縦横がいずれも設定値を超えないように調整。(coverではなくcontain)
120pxx???px
200%x?
?x90em
autox90em
1px×1pX
アスペクト比非保持
120pxx?!
120px!x?
?は他の値に依存。
アスペクト比非保持のときは任意なのでオリジナルと同じサイズ(100%)
値1つだけのときは縦横両方を同じ値に。
10%→10%x10%
10%!→10%x10%!