どういうものか
次のように、制約の値を"?"
で始まる値にすると、その制約は本文中で注釈されなくてもエラーになりません。
@scene({ time:"?" // 注釈する必要のないtime制約 }){ 本文中でtimeの注釈をしなくてもエラーにならない! }
どうして必要なのか
注釈しなくても良い制約なら、そもそも宣言しなければよいのでは? と思われるかもしれませんが、敢えて宣言したい場合があります。
例えば「時刻が"?"のとき」は「不明瞭な時刻のようなもの」を連想させるために、ビューアーのテーマをグレースケールにさせたい、とか。
つまり「時刻が不明瞭である」という情報を、HTMLを扱うアプリケーション側が欲しがる場合です。
例えば上の例をコンパイルすると、@scene
ブロックは次のようなHTMLにコンパイルされます。
<scene data-time="?"> 本文中でtimeの注釈をしなくてもエラーにならない! </scene>
このように、HTMLにdata-time="?"
という形で「時刻が不明瞭ですよ」という情報が盛り込まれるわけです。
というわけで今回、新しい仕様を付け足すことにしました。
これにより、制約値が不明瞭であることをHTMLに反映しつつ、TypeNovel側の本文では注釈しなくてもエラーが出ないようになりました。
v0.9.1から有効になりますので、興味のある方は最新バージョン(すでにダウンロードできるようになっています)をご利用下さい。