Trello APIからデータを取得し、静的JSON ファイルとしてローカルに保存するツール。
Tresor を使用すると、Trello を編集 UI およびコンテンツ管理システムとして使用できます。 Trello リストを、静的 Web サイトの API として提供できる静的 JSON ファイルのセットに変換します。
これは次の JAMstack プロジェクトを構築するためのツールで、コードベースを完全に静的かつサーバーレスにすることができますが、コンテンツが変更されるとサイトが自動的に更新されるため、コンテンツ管理システムの利点もあります。静的ファイルのコードベースは完全に CDN でホストできるため、インフラストラクチャのコストが削減され、パフォーマンスと可用性が向上します。
Trello は、非常にシンプルなUI と適切に設計された API を提供し、小さな静的 Web サイト、ブログ、または単一ページ アプリケーションの背後にあるコンテンツを管理するために必要なすべての機能を備えています。
Tresor は、Trello API を読み取り、結果を静的 JSON ファイルとしてローカルに保存し、データを HTTP API エンドポイントとして使用できるフォルダー構造に保存します。静的ファイルはクライアントのビルド フォルダーにコピーすることも、他の場所 (CDN、Github Pages、Netlify など) でホストすることもできるため、クライアントは RESTful な方法でデータを利用できます。
継続的配信を設定すると、API から提供されるコンテンツが変更されたときに新しいビルドをトリガーするように Webhook を構成できます。
(npxを使用してこれをスキップします)
要件:
走る:
npm install tresor
要件:
{"name":"Public","id":"5b193b1a8a23ebb893ab7a02"}
API キー、API トークン、リスト ID、およびその他のオプションを次のように渡すことができます。
config.json
ファイルのプロパティ次のコマンドを実行してJSON ファイルをダウンロードします。
tresor
構成オプションを環境変数として渡します。
API__KEY=asenoiuwqeWNEUfnewoeFNWQetr3295023rer API__TOKEN=ASnqoiwqenmNEWOIWNrffnklef3io2r032rnewfoid3T439543 API__LIST=124f9hue2983232rj32052s tresor
またはコマンドライン引数として:
tresor --api.key=asenoiuwqeWNEUfnewoeFNWQetr3295023rer --api.token=ASnqoiwqenmNEWOIWNrffnklef3io2r032rnewfoid3T439543 --api.list=124f9hue2983232rj32052s
config.json
ファイルに追加できるオプション、またはコマンドライン/環境変数経由で渡すことができるオプションは次のとおりです。
名前 | 説明 | デフォルト |
---|---|---|
api.url | ベース API URL | "https://api.trello.com/1/" |
API.キー | API キー (必須) | |
API.トークン | API トークン (必須) | |
API.リスト | 監視する trello リストの ID (配列として) (必須) | |
dest.root | すべての JSON ファイルが保存されるフォルダー | "static/" |
すべての宛先 | すべてのエントリを含む JSON のファイル名 | "all.json" |
dest.tags | すべてのタグを含む JSON のファイル名 | "tags.json" |
宛先ポスト | すべての単一投稿が保存されるフォルダー名 | "post" |
宛先タグ | すべての単一タグが保存されるフォルダー名 | "tag" |
宛先イメージ | すべての画像が保存されるフォルダー名 | false (画像をダウンロードしません) |
フィールド.フィールド | 表示される投稿フィールド | ["id", "name", "dateLastActivity", "desc", "idList", "labels"] |
フィールド.メンバー | ユーザー情報を表示するかどうか (true または false) | true |
フィールド.メンバーフィールド | 表示されるユーザーフィールド | ["fullName", "bio"] |
フィールド.添付ファイル | 添付ファイル情報を表示するかどうか (true または false) | true |
フィールド.attachment_fields | 表示される添付ファイルフィールド | ["previews", "url"] |
ページ分割.entriesPerPage | 単一の JSON 内のエントリの数 | 20 |
デフォルトのconfig.json
ファイルは次のようになります。
{
"api" : {
"url" : " https://api.trello.com/1/ "
},
"dest" : {
"root" : " static " ,
"all" : " pages " ,
"tags" : " tags " ,
"tagList" : " tags.json " ,
"post" : " post " ,
"tag" : " tag " ,
"images" : false
},
"fields" : {
"fields" : [ " id " , " name " , " dateLastActivity " , " desc " , " idList " , " labels " ],
"members" : true ,
"member_fields" : [ " fullName " , " bio " ],
"attachments" : true ,
"attachment_fields" : [ " previews " , " url " ]
},
"pagination" : {
"entriesPerPage" : 20
}
}
選択できるフィールドの詳細については、カード、添付ファイル、およびユーザー マニュアルを参照してください。
このモジュールはnpx
での使用に適しているため、モジュールをインストールしてパッケージの依存関係に追加する必要はありません。モジュールのpackage.json
内のprebuild
フックにnpx tresor
追加するだけです。
{
[ ... ]
"scripts" : {
"prebuild" : " npx tresor " ,
[ ... ]
}
}
終わり!
tresor --help
実行すると、次の使用マニュアルが出力されます。
$ tresor --help
A tool to fetch remote API data and store them locally as static JSON files
Usage
$ tresor
Run tresor
$ tresor --help
Print this help message
$ tresor --version
Print the current version
Examples
$ tresor --api.key=XXX --api.token=XXX --api.list=XXX
Run the script to request the remote JSON files and save
them locally.
You can alternatively pass the configuration options as
environment variables or writing them to config.json.
See the online documentation for further information