Studio
コンテンツの閲覧、全ドキュメントの検索、MDXボディのプレビュー、翻訳の確認、エントリの安全な削除を実行できるローカルスタジオ機能です。
View as Markdownscribe studio # http://127.0.0.1:3600
scribe studio --port 4000
スタジオはローカル環境向けの開発ツールです。サーバーサイドでレンダリングされたHTMLを提供し、ビルドも認証も不要で、稼働中のワーキングツリーを直接読み込みます。エージェントや人間がファイルを編集する一方で、スタジオはScribeが管理するすべてのデータを人間が確認・検証するための場所です。コレクションの閲覧、リレーションやアセットプレビューが解決された状態でのエントリの調査、不適切な画像や不足している画像の特定、そして何かを変更する前に「どこで使われているか」を確認できます。また、既存の翻訳ダッシュボード(カバレッジ、ワークリスト、ドキュメントごとのスナップショット。詳細はtranslationを参照)も統合されています。
コレクションブラウザ
/types/:typeIdでは、サイドバーにすべてのコンテンツタイプが一覧表示され、エントリ数や課題の集計バッジが確認できます。エントリテーブルには、各スラッグ、スキーマから抽出された主要フィールド(列挙型とリレーションはチップとして表示)、翻訳ステータスのドット、およびエントリごとの検証バッジが表示されます。
フィールドフィルターはスキーマのイントロスペクションから生成され、クエリパラメータとして機能します(そのためURLは共有可能で、サーバーサイドでレンダリングされます)。列挙型フィールドはセレクトボックスに、リレーションフィールドはターゲットスラッグのセレクトボックスに、真偽値はトグルに、文字列は部分一致検索になります。
アセットフィールドを少なくとも1つ持つタイプでは、テーブルをギャラリーカードグリッドに切り替えることができます。各カードには、プライマリアセットの画像、スラッグ、主要フィールド、バッジが表示されます。フィルターも同様に適用されます。これは、生成された画像の品質保証(QA)を行うための画面です。
エントリインスペクタ
/types/:typeId/:enSlugでは、イントロスペクションされた種類に基づいてフィールドが描画されます。
- translatable(翻訳可能): ロケール切り替え機能付きの値(ストアからのデータ)。ロケールに翻訳がない場合、英語のフォールバックが明確に表示されます。
- structural(構造的): プレーンな値。
- relation(リレーション): ターゲットエントリへのクリッカブルリンク。リンク切れの参照には赤いバッジが表示されます。
- asset(アセット): 解決されたURL、ファイルサイズ、寸法を含む画像プレビュー。ファイルが欠落している場合は赤いバッジが表示されます。
- Used by(使用箇所): リレーションがここを指しているすべてのエントリ(すべてのタイプ)をリストする逆参照セクション。
- Body(ボディ): RawとPreviewのトグル切り替え(
?body=preview)。プレビューではMarkdownとGFMが適切にレンダリングされ、不明なJSXコンポーネントはそのプロパティとともにラベル付きのボックスとして表示されます。リレーショントークンはクリッカブルリンクになり(リンク切れは視覚的に破損として表示)、アセットトークンは実際の画像としてレンダリングされます。ルーティング可能なタイプには「サイトで表示」リンクが表示されます。
矢印キーでエントリ間の移動が可能です。ArrowLeft(左矢印)およびArrowRight(右矢印)を押すと、コレクションのデフォルト順序で同じタイプの前または次のエントリに移動します(ループはしません)。このとき、現在のロケールとボディビューのクエリパラメータは維持されます。入力フィールドにフォーカスがある場合、キー操作は無視されます。
アセットブラウザ
/assetsでは、管理対象のルートごとに1つのサムネイルグリッドが表示されます。各アセットには、プレビュー、パス、サイズ、寸法に加えて、メモリ内のランタイムからリアルタイムに計算された、アセットを参照するすべてのエントリとフィールドの**参照元(referenced by)**リストが表示されます。バッジによって、未参照(孤立ファイルの候補)、参照されているが欠落しているもの、サイズ超過(フィールドのmaxKBを超過)、およびフォーマットのずれが警告されます。基盤となるフィールドシステムについては、assetsを参照してください。
グローバル検索
/search?q=は、英語のスラッグ、すべてのフロントマター値、生のMDXボディを対象に、大文字と小文字を区別しない部分一致検索を実行します。すべてのページに検索フォームが配置されており、結果は強調表示されたスニペットとともにタイプごとにグループ化され、各タイプ最大20件まで表示されます。
エントリの削除
インスペクタのツールバーには、危険な操作を示すスタイルが適用されたDeleteボタンがあります。これをクリックすると確認ページが開き、削除プランの全容がセクション別(カスケード、切り離し、影響を受けるアセット、ロケールごとのストア数、およびブロック要因)に表示されます。その後に赤い確認ボタン(ブロック要因がある場合はその内容のみが表示され、ボタンは非表示)が続きます。確認すると、ソースファイル、そのアセット、保存された翻訳とスナップショット、および切り離しの書き換えといった、プランに記載された内容のみが正確に実行されます。リレーションのonTargetDeleteモード(restrict、detach、またはcascade)とアセットのonDeleteモードによってプランの内容が決定します。同じプランはコマンドラインのscribe deleteからも利用可能です。これはスタジオ内で唯一のデータを変更するルートであり、ローカルホスト専用のツールとして機能します。
スタジオでできないこと
コンテンツの編集、翻訳のトリガー、画像のアップロード、認証、実際のMDXコンポーネントのレンダリングは行えません。編集は引き続きエディタとgitで行います。スタジオはあくまでレビュー用のツールです。