gemは、Koboldスクリプト内でもっとも頻繁に使われるKobold言語要素です。gemは、element内で繰り返し使用される短い句やHTMLタグなどを事前に定義して使いまわすのに適しています。gemは、その形式上、一行で記述できる内容に限定されますが、表示上は開業タグ(<br>)を使用することで、複数行にまたがった表示をすることも可能です。
gemは、その定義に含まれるgem choreのみを、定義の読み込み時に評価します。しかし、elementとは違い、その他のchore(directive, control, element, abacus, basket)は、評価しません。また、ハイライトやタグの付加も行いません。chore、ハイライト、タグの付加についての詳細は、「elementの処理」を参照してください。
gem定義の記述形式は、以下の形式です。
シンボル=値
=の前後にスペースを空けてはいけません。gem choreの呼び出すと、ここで定義された値に置き換わります。値は、適度な長さのテキストで、各種choreを含むことが可能です。
gem定義は、プロパティを取ることができます。プロパティとは、gem choreの評価時に指定できる付加テキストのことです。プロパティは、以下のように記述します。
シンボル:数字=値
「数字」は、0から9の数字です。これは、プロパティの個数を表します。プロパティを指定すると、値に、{$数字$}と記述して、プロパティを受けとることができます。以下に例を挙げます。
定義
bold:1=<b>{$0$}</b>
呼び出し例
ここは{bold:太字で}表示されます。
表示例
ここは太字で表示されます。
gem chore側の記述方法の詳細については、「elementの処理」を参照してください。