truncガジェットはXML、HTML、JavaScriptで構成されています。
本ドキュメントは、XMLおよびJavaScriptに関するリファレンス情報を記載しています。
ガジェットの基本的な開発方法については、ガジェット開発ガイドを参照してください。
XMLリファレンス
truncガジェットはrootノードに<Gadget>を持つXMLドキュメントとして構成されます。
truncガジェットは大きく分けて以下の3つのセクションによって実現されます。
- GadgetPref:
- タイトル、開発者、サイズなどのガジェットの特徴を記述します。
- UserPref:
- ユーザー独自の情報の項目を記述します。
- Contents:
- ガジェットのコンテンツそのものを記述します。
1. GadgetPrefセクション
GadgetPrefセクションは、タイトル、開発者、サイズなどのガジェットの特徴を記述するための利用されます。
GadgetPrefセクションは<GadgetPref>要素によって設定されます。
title属性以外はオプションです。
1.1 <GadgetPref>の属性一覧
| GadgetPref | 項目内容 | 例 |
|---|---|---|
| title | 必須 ガジェットのタイトル |
|
| title_url | trunc上でのガジェットタイトルのリンク先URL | |
| description | ガジェットの説明 | |
| version | ガジェットのバージョン | 1.0 |
| favicon_url | ガジェットタイトルの横に表示されるアイコンのURL | |
| author | ガジェット開発者の名前 | |
| author_email | ガジェットの開発者のメールアドレス | |
| author_location | ガジェットの開発者の住所 | |
| thumbnail | ガジェットのサムネイル | |
| screenshot | ガジェットのスクリーンショット | |
| height | ガジェットの高さ | 320 |
| width | ガジェットの幅 | 200 |
| scale | ブラウザリサイズ時にアスペクト比を維持するか | true |
| scroll | コンテンツ拡大時にスクロールバーを指定するか | false |
- title
- ここで指定されたテキストはガジェットのタイトルバーに表示されます。
title属性は必須項目です。
ガジェットのタイトルは、truncポータル上でも変更が可能です。
truncポータル上で変更した場合は、truncポータル上の情報が優先されます。 - title_url
- ここで指定されたURLは、ガジェットのタイトルバーのリンク先となります。
フィードを表わすガジェットの場合は、フィード元のURLを指定することができます。 - description
- ガジェットの説明を表わす文字列です。truncポータル上でガジェットの説明として表示されます。
ガジェットの説明は、ガジェット登録時にも追加・変更が可能です。
truncポータル上で変更した場合は、truncポータル上の情報が優先されます。 - version
- ガジェットのバージョンを表します。truncポータル上で、ガジェットの詳細画面に表示されます。任意の文字列を記述しておくことができます。
- favicon_url
- ガジェットのタイトルの横に表示される小さいアイコン(favicon)のURLを指定します。公開されているウェブサイト上に置く必要があります。PNGが推奨フォーマットですが、JPEG/GIFも使用することが可能です。
- author
- ガジェットの開発者を表わす文字列です。
truncポータル上では、authorに記述された文字列ではなく、truncに登録されているニックネームが表示されます。 - author_email
- ガジェットの開発者のメールアドレスを表わす文字列です。
truncに登録しているアドレスを記述することも可能ですが、スパム対策のため、個人用のメールアドレスは使用しないでください。 - author_location
- ガジェットの開発者の所在地を表わす文字列です。
個人が特定される住所等は記述しないでください。 - thumbnail
- ガジェットのサムネイルのURLを表わす文字列です。公開されているウェブサイト上にある必要があります。PNGが推奨フォーマットですが、JPEGやGIFも使用することが可能です。
truncポータル上で表示される横168px × 縦126pxが推奨サイズです。
サムネイルのURLはガジェット登録時にも追加・変更が可能です。
truncポータル上で変更した場合は、truncポータル上の情報が優先されます。 - screenshot
- ガジェットのスクリーンショットのURLを表わす文字列です。公開されているウェブサイト上にある必要があります。PNGが推奨フォーマットですが、JPEGやGIFも使用することが可能です。
truncポータル上で表示される横240px × 縦240pxが推奨サイズです。
スクリーンショットのURLはガジェット登録時にも追加・変更が可能です。
truncポータル上で変更した場合は、truncポータル上の情報が優先されます。 - height
- ガジェットの高さを指定する正の整数です。デフォルト値は320です。
- width
- ガジェットの幅を指定する正の整数です。デフォルト値は200です。
- scale
- ブラウザのサイズ変更に合わせてガジェットのアスペクト比を保持するように高さを変更するかどうかを指定するブール値です。
高さを自動的に変更できるガジェットの場合はこの値にtrueを指定し、高さを固定する場合はこの値にfalseを指定します。
デフォルト値はtrueです。 - scroll
- コンテンツの内容がheight、widthで指定されているサイズよりも大きい場合、スクロールバーを表示するかどうかを指定するブール値です。
スクロールバーを表示するガジェットの場合はこの値にtrueを指定し、表示しない場合はfalseを指定します。
falseを指定した場合はガジェットのサイズに合わせてコンテンツの一部のみが表示されます。
デフォルト値はfalseです。
2. UserPrefセクション
UserPref
<GadgetPref>はタイトル、開発者、サイズなどのガジェットの特徴を記述する要素です。
ガジェットによってどのような値が保持可能かの宣言をこのUserPrefセクションで行います。
UserPrefセクションは
2.1 Variable要素の指定
ガジェットのユーザー設定変数を設定するためには、<UserPref>要素の子要素として<Variable>要素を指定する必要があります。
| 属性 | 説明 |
|---|---|
| name | 変数名 |
| display_name | 変数の表示名 |
| Type | 変数の型 |
| required | ユーザー設定が必須か |
| default | 変数の初期値 |
- name
- 変数の名前を指定します。
ガジェット内で名前が固有である必要があります。英字・アンダースコアで始まり、英数字・アンダースコアのみを含むことができます。 - display_name
- ガジェットの設定画面で表示する変数名を指定します。
typeにhiddenが指定された変数以外はガジェットの設定画面より値を設定することが可能です。その際にはdisplay_nameで指定された名前が表示されます。
この属性が省略された場合は、name属性の値が使用されます。 - type
- 変数の型を指定します。
変数の型によってガジェットの設定画面で表示されるフォームの種類を設定できます。hiddenが指定された場合は、ガジェットの設定画面で値の編集ができなくなります。 - require
- ユーザーが値を設定することが必須かどうかを指定します。
ガジェット内にこの属性がtrueの要素が一つ以上ある場合、ガジェット追加時に設定画面が最初に表示され、設定終了後に初めてガジェットのコンテンツが表示されるようになります。 - default
- 変数の初期値を指定します。
- view
- 表示形式の設定(データ型がenumの場合のみで、combo/radio/checkbox/listのいずれか。詳しくは次項)
以下にUserPrefセクションの例を示します。
<Gadget>
<GadgetPref>
・
・
・
・
</GadgetPfer>
<UserPref>
<Variable name="feed_url" display_name="フィードのURL" type="string" default="" required="true" />
<Variable name="content" display_name="表示エントリー数" type="string" default="5" required="false" />
</UserPref>
</Gadget>
2.2 データ型
type属性で指定可能なデータ型として以下が存在します。
| 属性 | 型名 | 表示形式 | 得られるデータ形式 |
|---|---|---|---|
| string | 文字列型 | テキストボックス | 文字列 |
| bool | ブーリアン型 | ラジオボタンによる「はい」と「いいえ」 | ture / false |
| array | 配列型 | テキストエリア | 1行ごとに分割された配列(Array) |
| enum | 列挙型 | セレクトボックス(combo) | 選択された要素のvalue |
| ラジオボタン(radio) | 選択された要素のvalue | ||
| チェックボックス(checkbox) | 選択された要素のvalue(複数ある場合は配列) | ||
| 複数選択可能リスト(list) | 選択された要素のvalue(複数ある場合は配列) | ||
| hidden | 非表示型 | 非表示データ | 文字列 |
列挙型は複数の項目を列挙し、そのいずれかを選択できる型です。
列挙の宣言には
以下に列挙型変数の宣言の例を示します。
自動更新時間の設定として、5分、10分、20分、30分の4つから選択が可能となっています。enum型の個々のvalueはstring型として扱われます。
<Gadget>
<GadgetPref>
・
・
・
・
</GadgetPfer>
<UserPref>
<Variable name="update_span" display_name="自動更新時間" type="enum" view="combo" default="10">
<enum vaule="5" display="5分" />
<enum vaule="5" display="10分" />
<enum vaule="5" display="15分" />
<enum vaule="5" display="20分" />
</Variable>
</UserPref>
</Gadget>
3.Contetsセクション
Contentsセクションではガジェットのコンテンツそのものを記述します。ガジェットのコンテンツは基本的にifame内に表示されます。
XHTMLとCSSとJavascriptで構成されます。必ずXHTML準拠でなくてはいけません。
<Contents>要素にはXHTMLの<body>要素の内容を記述します。<html>タグや<head>タグ、<body>タグを記述する必要はありません。
これらはtruncのエンジンがガジェットをロードし、表示する際に適時補完されます。

