# リソースエディター

JSON・YAML の項目、一覧、ソースを編集して、下書きに保存します。

## リソースを開く

リソースのコレクションから項目を開きます。JSON・YAML はリソースエディターを使います。Visual では対応するデータを項目や一覧として、Code ではソース全体を編集します。

## 項目と一覧を編集する

文字列、数値、真偽値、null に対応する操作があります。オブジェクトや配列を展開して、中の項目を編集できます。項目を追加・削除したり、一覧の操作で上下に移動したりできます。

対応するコレクションのスキーマから、型、ラベル、必須の印、検証メッセージが提供されます。存在しない任意項目は、**Set field** を選ぶまで追加されません。必須項目は削除できません。宣言した型に合う値を入力してください。

## リソースの例

```yaml
title: はじめに
featured: true
links:
  - label: インストール
    href: /docs/ja/install/
  - label: 設定
    href: /docs/ja/configuration/
```

Visual では `title` は文字列、`featured` は真偽値、`links` はオブジェクトの一覧になります。Code では YAML を直接編集します。JSON でも流れは同じです。

## コード編集が必要な場合

構文の誤り、未対応の値、大きすぎる構造や深い入れ子では、Visual を開けない場合があります。その場合は Code を使ってください。保存前に、構文エラーと検証の問題を解決する必要があります。

## メディアと日付

対応する画像・音声・動画の項目では、メディアピッカーを開けます。入れ子のオブジェクトやメディア一覧も対象です。推定した構造より、明示的なメディアの型を優先します。空の一覧はファイルを選ぶまで空のままです。挿入や置換後は、パス、寸法、キャプション、代替テキストを確認してください。

日付の項目は、日付と対応する ISO タイムスタンプを扱えます。テキスト欄にはタイムゾーンのオフセットを含む完全な値が表示されます。隣のカレンダーボタンで選択できます。項目を開くだけでは、タイムゾーンは変換されません。

## スキーマの対応範囲

Prosefly は対応する静的なスキーマ定義を読み取るか、サンプルから項目を推定します。import したスキーマ生成関数、変換処理、すべての入れ子の検証規則を実行するわけではありません。サイト側の検証とビルドも必要です。

Visual と Code の切り替えでは保存・公開されません。編集するまでは元のソースを保ちますが、YAML の編集で一部の書式が整え直される場合があります。リソースの UTF-8 ソースは250 kB までです。

リソースの文字列から参照する未公開の [Public 画像](/docs/ja/public-files/)は、自動でレビューに含まれません。先に画像を公開してから、参照するリソースを確認してください。

## 保存して公開する

編集後は **Save draft** をクリックします。リソースは自動保存されず、公開するまで Git に書き込まれません。レビューを開く前に、最新の変更を保存してください。

保存済みのリソースが別の更新で変わった場合は、必要に応じて手元の内容をダウンロードし、最新版を読み込んでから続けます。文書エディターのような、カーソルを共有する共同編集はありません。
