構文開発のすゝめ

1: 前書き


これを読んでいる貴方は,構文を触ったことがありますか?
構文を作成することに「こうするべし」というものはありません.自由に作りましょう.ただし,CCLには気を付けて.いやマジで.ライセンスはしっかり書こう.
ここでは,私が構文を作るときに念頭に置いていること,こういうことができると覚えておいた方がいいものを書き記しています.
もしここに書かれているものに興味が湧けばすぐに個人サイトなどで実験することをお勧めします.


2: 知識



2.1: Expressions




2.1.1: expr


[[#expr (5>3)+0 ]] return "1"
[[#expr (5<3)+0 ]] return "0"

1 return "1"
0 return "0"


2.1.2: if


[[#if true | true ]]
[[#if false | true | false ]]

true
false


2.1.3: ifexpr


[[#ifexpr !(false)          | NOT expr ]]
[[#ifexpr (true)*(true)     | AND expr ]]
[[#ifexpr (true)+(false)    | OR  expr ]]
[[#ifexpr min(true,true)    | AND expr ]]
[[#ifexpr max(true,false)   | OR  expr ]]
[[#ifexpr !(true)!=!(false) | XOR expr ]]

NOT expr
AND expr
OR expr
AND expr
OR expr
XOR expr


2.1.4: Expressionsその他



if と ifexprは同時に使えないこととかを触れたい


2.2: コメントアウト



2.2.1: [!----]




2.2.2: iftags


[[iftags]] Super Commentout (Hide Always) [[/iftags]]
[[iftags - ]] Show Always [[/iftags]]
[[iftags + ]] Hide Always [[/iftags]]
[[iftags [[#if true | - ]]      ]] OR  expr [[/iftags]]
[[iftags [[#if true |  | + ]] - ]] AND expr [[/iftags]]

Show Always

OR expr
AND expr


2.3: 日付


前提知識

date構文,ListPages系のモジュールの日付は全て

<span class="odate time_1237135440 format_%25c" style="display: inline;">2009/3/16 1:44:00</span>
.odate {
display: none;
}
のように,
<span class="odate time_UNIX_TIME format_FORMAT" style="display: inline;">Time in accordance with format</span>
といった形のHTMLをレンダリングします.
その為,日付などの処理をWikidot nativeで行うことは一部例外を除いて不可能です.

ListPagesなどでUNIX_TIMEとかが出力出来たらよかったんですけどね.それか,そもそもspan_を作らないか.
後は頼むから,format指定の時にパイプ(|)を使わないで欲しいなあと.includeの時に使えない…….


2.3.1: date




2.3.2: %%created_at%%, %%updated_at%%



2.4: Module




2.4.1: Module ListPages




2.4.2: Module ListUsers




2.4.3: Module Feeds



2.5: Others




2.5.1: User


memo:

  1. ファイルはすべてhttps
  2. /local--code//local--code_/では後者はincludeの全展開が行われる
  3. iframe内でのhtml自動大きさ制御
特に明記しない限り、このページのコンテンツは次のライセンスの下にあります: Creative Commons Attribution-ShareAlike 3.0 License