item(項目)
eagle.item APIを使用すると、現在のリソースリポジトリの内容を簡単に検索したり、新しい内容をリソースリポジトリに追加することができます。
eagle.onPluginCreate(async (plugin) => {
// Eagle アプリで現在選択されているファイルを取得
let items = await eagle.item.getSelected();
let item = items[0];
// 属性を変更する
item.name = 'New Name';
item.tags = ['tag1', 'tag2'];
// 変更を保存する
await item.save();
});
🦄 ベストプラクティス: データの安全性を確保するために、item APIが提供する save() メソッドを使用してデータの取得と変更を行い、Eagle リソースリポジトリの metadata.json や任意のファイルを直接変更することを避けてください。
万能検索メソッド。指定条件のファイルを取得できます。
options Object - 検索条件
id string (オプション) - ファイル id
ids string[] (オプション) - ファイル id の配列
isSelected boolean (オプション) - 現在選択されているファイル
isUntagged boolean (オプション) - 未タグ付け
isUnfiled boolean (オプション) - 未分類
keywords string[] (オプション) - キーワードを含む
tags string[] (オプション) - タグを含む
folders string[] (オプション) - フォルダを含む
annotation string (オプション) - 注釈
rating Integer (オプション) - 評価, 0〜5
url string (オプション) - ソースリンク
shape string (オプション) - 形状, square、portrait、panoramic-portrait、landscape、panoramic-landscape
fields string[] (オプション) - 返すフィールドを指定し、必要なデータのみを返すことでパフォーマンスを向上
返り値 Promise<items: Item[]> - items 検索結果
全てのファイルを返す
返り値 Promise<items: Item[]> - items全てのファイル
🦄 ベストプラクティス: リソースリポジトリのファイル数が非常に多い場合(例:20万件以上)、無制限にこのメソッドを呼び出さないでください。アプリケーションのパフォーマンスが低下する可能性があります。
getById(itemId)
指定のIDのファイルを返す
返り値 Promise<item: Item> - item該当IDのファイル
getByIds(itemIds)
指定されたIDのファイルを返す
返り値 Promise<items: Item[]> - items 該当IDのファイル
アプリで現在選択されているファイルを返す
返り値 Promise<items: Item[]> - items選択されたファイル
指定した検索条件に一致するファイルの数を返す
options Object - 検索条件
id string (オプション) - ファイル id
ids string[] (オプション) - ファイル id の配列
isSelected boolean (オプション) - 現在選択されているファイル
isUntagged boolean (オプション) - 未タグ付け
isUnfiled boolean (オプション) - 未分類
keywords string[] (オプション) - キーワードを含む
tags string[] (オプション) - タグを含む
folders string[] (オプション) - フォルダを含む
annotation string (オプション) - 注釈
rating Integer (オプション) - 評価, 0〜5
url string (オプション) - ソースリンク
shape string (オプション) - 形状, square、portrait、panoramic-portrait、landscape、panoramic-landscape
返り値 Promise<count: number> - count 検索条件に一致するファイルの数
🦄 ベストプラクティス: このメソッドはパフォーマンスが最適化されており、大量のファイルが含まれるリソースリポジトリでも効率的に動作します。ファイルの実際の内容を読み込まず、数のみを計算するため、高速に結果を取得できます。
リソースリポジトリ内の全ファイル数を返す
返り値 Promise<count: number> - count 全ファイル数
🦄 ベストプラクティス: このメソッドは getAll() よりもパフォーマンスが優れており、大量のファイルを含むリソースリポジトリで使用する際に推奨されます。ファイルの内容を読み込まず、数のみを計算するため、メモリ使用量を抑えることができます。
countSelected()
現在選択されているファイルの数を返す
返り値 Promise<count: number> - count 選択されたファイル数
🦄 ベストプラクティス: このメソッドは getSelected() の軽量版で、選択されたファイルの詳細情報が不要で数のみを知りたい場合に使用することで、パフォーマンスを向上させることができます。
fields パラメータを使用すると、特に大量のファイルを処理する際に一部の情報のみが必要な場合、パフォーマンスが大幅に向上します。
select(itemIds)
指定されたファイルを選択する
itemIds string[] - 選択するファイルIDの配列
返り値 Promise<result: boolean> - result 選択が成功したかどうか
getIdsWithModifiedAt()
すべてのファイルの ID と最終更新時刻を高速に取得
返り値 Promise<items: Object[]> - id と modifiedAt を含むオブジェクトの配列
🦄 ベストプラクティス: このメソッドはファイル ID と更新時刻の取得に特化して最適化されており、get() メソッドで完全なデータを取得するよりもはるかに高速です。増分同期やファイル変更の監視に最適です。
addFromURL(url, options)
画像リンクを Eagle に追加する
urlstring - 追加したい画像リンク。 http 、 https 、 base64 に対応。
options Object
name string (オプション) - ファイル名
website string (オプション) - 送信元のサイト
tags string[] (オプション) - タグ
folders string[] (オプション) - 所属フォルダの IDs
annotation string (オプション) - 注釈
返り値 Promise<itemId: string> - itemId正常に作成されたプロジェクトのID
addFromBase64(base64, options)
base64 画像を Eagle に追加する
base64string - base64形式の画像
options Object
name string (オプション) - ファイル名
website string (オプション) - 送信元のサイト
tags string[] (オプション) - タグ
folders string[] (オプション) - 所属フォルダの IDs
annotation string (オプション) - 注釈
返り値 Promise<itemId: string> - itemId正常に作成されたプロジェクトのID
addFromPath(path, options)
ローカルファイルパスからファイルを Eagle に追加する
pathstring - 追加したいファイルのパス
options Object
name string (オプション) - ファイル名
website string (オプション) - 送信元のサイト
tags string[] (オプション) - タグ
folders string[] (オプション) - 所属フォルダの IDs
annotation string (オプション) - 注釈
返り値 Promise<itemId: string> - itemId正常に作成されたプロジェクトのID
addBookmark(url, options)
ブックマークリンクを Eagle に追加する
urlstring - 追加したいブックマークリンク
options Object
name string (オプション) - ブックマーク名
base64 string (オプション) - カスタムサムネイル base64 形式
tags string[] (オプション) - タグ
folders string[] (オプション) - 所属フォルダの IDs
annotation string (オプション) - 注釈
返り値 Promise<itemId: string> - itemId正常に作成されたプロジェクトのID
open(itemId, options)
すべてのリストに itemId に対応するファイルを表示する
itemIdstring - 表示するファイルID
options Object (オプション) - 開くオプション
window boolean (オプション) - 新しいウィンドウでファイルを開くかどうか、デフォルトは false
戻り値 Promise<result:boolean>
Eagle API getによって返されるObjectタイプで、変更および保存機能を提供します。
🦄 ベストプラクティス: データの安全性を確保するために、Itemインスタンスが提供する save() メソッドを使用してデータの読み書きと変更を行ってください。Eagle リソースリポジトリの下の metadata.json や任意のファイルを直接変更しないでください。
すべての変更を保存
戻り値 Promise<result:boolean> - result変更が成功したかどうか
ファイルをゴミ箱に移動します。
戻り値 Promise<result:boolean> - result削除が成功したかどうかを示します。
replaceFile(filePath)
指定されたファイルで元のファイルを置き換えます。サムネイルが自動的に更新されるため、refreshThumbnail()を再度呼び出す必要はありません。
🦄 ベストプラクティス: 直接変更するファイルに対して操作を行うことはリスクが伴います。エラーや例外が発生した場合、ファイルが破損して復元不可能になる可能性があります。したがって、新しいバージョンのファイルをコンピュータの他のパスに保存し、確認が取れた後で replaceFile() メソッドを使用して置き換えることが、より確実な方法です。
filePathstring - 履歴置換ファイルのパス
戻り値 Promise<result:boolean> - result置換が成功したかどうか
refreshThumbnail()
ファイルのサムネイルを更新し、ファイルサイズ、色分析、寸法などの属性も再取得します。
戻り値 Promise<result:boolean> - result成功したかどうか
setCustomThumbnail(thumbnailPath)
ファイルにカスタムサムネイルを設定します。
thumbnailPathstring - サムネイルのパスを設定します。
戻り値 Promise<result:boolean> - result置換が成功したかどうか
このファイルをすべてのリストに表示する
options Object (オプション) - 開くオプション
window boolean (オプション) - 新しいウィンドウでファイルを開くかどうか、デフォルトは false
このファイルを選択する
戻り値 Promise<result: boolean> - result 選択が成功したかどうか
読み取り専用、ファイルID。
ファイル名。
読み取り専用、ファイル拡張子。
画像の幅。
height Interger
画像の高さ。
出典リンク。
isDeleted boolean
読み取り専用、ファイルがゴミ箱に入っているかどうか。
annotation string
ファイルの注釈。
ファイルのタグ。
folders string[]
所属フォルダの ids。
palettes Object[]
読み取り専用、カラーパレット情報。
読み取り専用、ファイルサイズ。
評価情報、0 ~ 5。
importedAt Interger
インポート時間(タイムスタンプ)。読み書き可能、変更後は save() を呼び出して保存。
modifiedAt Interger
読み取り専用、最終更新時刻。
noThumbnail boolean
読み取り専用、ファイルにサムネイルがないかどうか。サムネイルがないファイルは、元のファイルでのプレビューになります。
noPreview boolean
読み取り専用、ファイルがダブルクリックでプレビューに対応しているかどうか。
filePath string
読み取り専用、ファイルのパスを返します。
読み取り専用、ファイルのパスのリンク(file:///)を返します。
thumbnailPath string
読み取り専用、サムネイルのパスを返します。
thumbnailURL string
読み取り専用、サムネイルのリンク(file:///)を返します。HTMLでこのファイルを表示するには、この属性を使用します。
読み取り専用、このファイルの metadata.json の場所。
🦄 ベストプラクティス: データの安全性を確保するために、item APIが提供する save() メソッドを使用してデータの読み書きと変更を行ってください。metadata.jsonを直接変更しないでください。