Spintax構文リファレンス

spintaxテンプレートマークアップの完全なリファレンス。構文はGenerating The Web (GTW)標準と互換性があります。

列挙 { }

リストからランダムに1つのオプションを選択します。

{option1|option2|option3}

{blue|grey|clear}
{|online|internet} casino        ← empty option = sometimes nothing
{1X{S|s}lots}                    ← nested enumerations
{license {|#8048} from Curacao}  ← nesting with empty option

ルール

  • 区切り文字:{}
  • セパレータ:|
  • 任意の深さまでネストをサポート
  • 空のオプションは有効(空文字列を生成)
  • 最も内側の式から外側に向かって解決

順列 [ ]

N個の要素を選択し、シャッフルし、セパレータで結合します。

シンプルな順列

すべての要素を含み、スペースで区切り:

[1|2|3|4]

出力例:1 4 3 22 3 4 13 2 4 1

セパレータ付き

先頭の < > で統一セパレータを指定:

[<, > 1|2|3|4]

出力例:2, 1, 4, 34, 3, 2, 1

重要:[<セパレータ> の間にスペースを入れないでください。

要素ごとのセパレータ

各オプションは、前の | の前に <sep> で独自のセパレータを定義できます:

[<, > 1|2|3 < and >|4]

出力例:1, 3, 2 and 43, 1, 2 and 4

組み合わせ付き順列

最小/最大要素数とセパレータの設定が可能:

[<minsize=1;maxsize=3;sep=", ";lastsep=" and "> apple|plum|orange|apricot]

出力例:apple, plum and orangeapple and apricotorange

設定パラメータ

パラメータデフォルト説明
minsize全件数選択する最小要素数
maxsize全件数選択する最大要素数
sep" "(スペース)最後以外の要素間のセパレータ
lastsepsepと同じ最後の要素の前のセパレータ

順列のルール

  • 区切り文字:[]
  • 設定ブロック <...>[ の直後に続く必要があります
  • 設定パラメータはセミコロンで区切ります
  • 設定内の文字列値は引用符で囲みます:sep=", "
  • 列挙と順列はオプション内にネストできます
  • HTML要素をオプションにできます

変数 %var%

出現する場所で置換される再利用可能な変数を定義します。

#set %VARIABLE_NAME% = value or spintax structure

#set %name% = John
#set %greeting% = {Hello|Hi|Hey}
#set %items% = [<minsize=2;maxsize=3;sep=", ";lastsep=" and "> apples|oranges|bananas]
Some text with %name% and %greeting%, also %items%.

変数のルール

  • #set は行頭から始める必要があります
  • 変数名は % で囲みます:%name%
  • 変数名は英数字とアンダースコア
  • 値には任意のspintax構文を含めることができます(列挙、順列、他の変数)
  • 変数は定義時ではなく参照時に展開されます(遅延評価)
  • #set 行は出力から除去されます

WordPressプラグインの変数スコープ

プラグインは3つの変数スコープをサポートしています。同じ名前が複数のスコープに存在する場合、最も強いスコープが優先されます:

  1. ランタイム変数(最強)— ショートコード経由で渡す:[spintax slug="greeting" name="Alice"]
  2. ローカル変数 — テンプレート内で #set で定義
  3. グローバル変数(最弱)— 設定ページで定義

インクルード #include

ディレクティブの位置に別のテンプレートを埋め込みます。

#include "hero-text"

インクルードのルール

  • テンプレート参照はダブルクォートで囲みます
  • テンプレートスラグまたは数値IDで解決
  • インクルードされたテンプレートは独自の変数とspintaxを含むことができます
  • 再帰的インクルードをサポート
  • 循環参照は検出されブロックされます
  • 子テンプレートはグローバルおよびランタイム変数を継承しますが、親の #set ローカル変数は継承しません

コメント /#...#/

コメントマーカー間のテキストは、他の処理の前に出力から除去されます。

/#
  This is a comment section.
  It can span multiple lines.
  It won't appear in output.
#/

コメントのルール

  • 開始区切り文字:/#
  • 終了区切り文字:#/
  • 複数行にまたがることができます
  • ネストはできません
  • 他の処理の前に除去されます

ネスト

すべての構文要素は任意の深さで相互にネストできます:

{option1|[<, > sub1|sub2|sub3]|option3}

[<minsize=2;maxsize=3;sep=", ";lastsep=" and "> {red|blue} apples|{big|small} oranges|bananas]

#set %var% = {a|[b|c]}

後処理

エンジンは生成後に自動テキスト補正を適用します:

  1. URL、メール、ドメイン、小数、略語を大文字化から保護
  2. 重複するスペースとタブを除去
  3. 句読点の前のスペースを除去(, . ! ?
  4. 句読点の後にスペースがない場合追加
  5. 出力の最初の文字を大文字に(HTMLタグをスキップ)
  6. 文末の句読点の後を大文字に
  7. ブロックレベルHTMLタグの後を大文字に
  8. 改行の後を大文字に
  9. 保護されたプレースホルダーを復元

構文サマリー

機能構文動作
列挙{a|b|c}ランダムに1つ選択
順列[a|b|c]N個選択、シャッフル、結合
セパレータ[<sep> a|b|c]統一セパレータ付き順列
要素別セパレータ[<,> a|b <x>|c]カスタムセパレータ付き順列
組み合わせ[<config> a|b|c]最小/最大数付き順列
変数#set %var% = val再利用可能な置換
インクルード#include "slug"別のテンプレートを埋め込み
コメント/#...#/出力から除去

構文は Generating The Web (GTW) 標準と互換性があります。