開発者

レイアウトは Zone、データとルールはプラットフォーム。

Zone はコミュニティ独自のサイトで、専用の表示コードを追加できます。コードはレイアウトだけを担当し、データはプラットフォームが読み込んで渡します。権限と審査もプラットフォームが管理します。

テーマ

まず設定し、必要ならコードを書く。

各 Zone では初期テーマを選び、情報量、ページの背景色、表紙の比率を調整できます。必要に応じてアクセントカラーを変え、メインビジュアルのスライド、書棚、ランキング、編集リストなどのモジュールを配置します。設定で実現できないレイアウトには、表示コードを使います。

濃い青灰色の紙を小さな枠の形に折り、窓を開けています。後ろに薄青色の紙を立てています。

設定

テーマ設定の例

const tokens: ZoneTokens = {
  colorScheme: 'system',
  accent: '#3b4a5a',
  density: 'comfortable',
  cardRadius: 'md',
  headingFontScale: 'md',
  surfaceTint: 'subtle',
  fontPairing: 'serif',
  pageSurface: 'flat',
  coverStyle: 'portrait',
};
テーマ設定に必要なすべてのフィールドです。型は @rezics/zone-sdk から取得します。

スロット

名前付きスロットにコードを配置。

表示コードはパッケージとして、ヘッダー、メインビジュアル、検索バー、データパネル、作品カード、モジュール、フッターなどの名前付きスロットに独自のコンポーネントを設定します。プラットフォーム標準のコンポーネントを囲むことも、置き換えることもできます。

export default defineZonePackage({
  slug: 'anime',
  css,
  catalogue: { count: 'episodes',
    formatNames: animeFormatNames
  },
  slots: {
    browseHeader:
      AnimeBrowseHeader,
    workCard: AnimeCard,
    cataloguePanel:
      AnimeCataloguePanel,
    footer: AnimeFooter,
  },
});
REZICS アニメ Zone のパッケージエントリーポイントから抜粋。

制約

パッケージの制約

  • データを直接取得しない

    プラットフォームがデータを読み込んでスロットに渡すため、パッケージはリクエストを送りません。

  • 認証情報にアクセスしない

    Cookie、ブラウザーのストレージ、認証情報を読み取りません。

  • プラットフォームのUIを隠さない

    アカウントメニュー、Zone メニュー、通報、年齢確認はスロットの外側にあります。各作品の「ここに表示される理由」も常に表示します。

  • スタイルは対象内に限定

    スタイルはこの Zone の範囲内に限定され、色とフォントにはプラットフォームが用意した変数だけを使います。

  • サイズ上限

    gzip 圧縮後の CSS は 40 KiB 以下、JavaScript は 50 KiB 以下です。

公開

審査から公開まで

  • ハッシュ値を計算

    パッケージ内のすべてのファイルから一つのハッシュ値を計算します。1バイトでも変更すると、ハッシュ値が変わります。

  • 別の人が審査

    別のアカウントがソースコード、ビルドしたファイル、アクセシビリティ、エラー時の動作を確認し、判断と根拠のハッシュ値を記録します。

  • 有効化して期限を設定

    有効化できるのは審査済みのバージョンだけで、期限も設定します。以前のバージョンに戻しても、以前の承認が再び有効になることはありません。

  • いつでも標準レイアウトに戻す

    ハッシュ値が一致しない場合は標準レイアウトを表示します。閲覧者はパッケージをオフにでき、URL に ?safe を追加するとセーフモードになります。プラットフォーム全体の停止スイッチもあります。

バックエンドは共通。フロントエンドは自由に。AIエージェントも同じデータを読み取れます。

新しいコミュニティサイトに専用のバックエンドは必要ありません。表示コードは公開 API を読み取るだけで、ビジネスロジックを含みません。Zone に表示できるデータは API からも取得できます。

同じ API で、自分のツールを開発。

自分のプログラムから作品、ライブラリ、コミュニティの情報を読み書きできます。すべての操作に REZICS のプロフィールと認可ルールを適用します。