プラグインの変換と実装
変換の仕組み
Seer はプラグインを外部実行プログラムとして扱います。ファイルがトリガーされると、Seer は設定されたプログラムを実行し、プレースホルダーを介してファイルパスを渡します。
プレースホルダー変数
${input_file}: ソースファイルの絶対パス。${output_file}: プラグインが処理/変換した出力を保存するパス。
実行ワークフロー
- トリガー: ユーザーがファイル上で
SPACEを押します。 - 解決: Seer がファイル拡張子に関連付けられたプラグインを特定します。
- 実行: Seer が実行可能ファイルを実行します(例:
ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json")。 - 表示: プロセスが終了すると、Seer は
${output_file}に生成されたファイルを読み込んでレンダリングします。
プラグインの種類
プラグインは、CLI を介して入出力を処理できる任意の実行可能ファイルです:
- スクリプト:
.cmd,.bat - サードパーティツール:
ImageMagick、exiftool、dll_lib_exportsなど - カスタムバイナリ: コンパイルされたプログラム(例: Qt ベースのビューアー)
一時ファイル管理
プラグインは中間ファイルを生成することがよくあります。
- 自動クリーンアップ: Seer は 20 日以上経過した一時ファイルを自動的に削除します。
- 強制削除: コマンドパラメーターに
${no_cache}を追加すると、表示直後に一時ファイルを削除するよう Seer に指示します。
DLL プラグイン
高性能または深い統合のために、Seer は DLL ベースのプラグインをサポートしています。プラグインインターフェースの実装については、以下の公式リポジトリを参照してください:
| プロジェクト | 目的 |
|---|---|
| F3DViewer | 3D ファイルプレビュー |
| OfficeViewer | Office 文書 |
| FontViewer | フォントレンダリング |
| JsonTreeViewer | JSON 構造ビュー |
| Collections | すべて |