Color mode

公開パッケージ

外部のプラグイン、テーマ、サイトは、公開パッケージと公開エクスポートだけに依存してください。

主なパッケージは次のとおりです。

パッケージ 公開するもの ドキュメント
@riebeckite/core defineConfig、definePlugin、defineTheme、コンテンツ API、パイプライン API、診断、可観測性の型 README · Core API
@riebeckite/cli riebeckite CLI README · CLI リファレンス
@riebeckite/honox HonoX / Vite との統合とスキャフォールド。server subpath に route / SSG helper(resolveRiebeckiteRoute、resolveRiebeckiteContentRequest、resolveRiebeckiteHomeRequest、contentRouteSsgParams、riebeckiteSsgParams)、ui subpath に article / site の UI primitive(Article、ArticleBody、PageBody、ArticleContent と各種 Props 型)を公開 README · HonoX との統合
@riebeckite/dev-inspector 開発時専用インスペクターオーバーレイ README · インスペクター
create-riebeckite create-riebeckite スキャフォールド CLI README · クイックスタート
@riebeckite/diagnostics CLI と integration が共有する開発診断 README · 診断
@riebeckite/diagram 図表プラグインが共有する基盤 README · ダイアグラムプラグイン基盤
@riebeckite/graph Local Graph と Garden Explorer が共有する力学グラフのエンジン、フィルター、グループ、設定 README · Local Graph · Garden Explorer
@riebeckite/preview 安全な Markdown プレビューランタイム README · プレビュー API
@riebeckite/runtime メインスレッド、worker、WASM worker、サンドボックス iframe 実行の型付きライフサイクル契約 README · Interactive Runtime
@riebeckite/spa 任意で有効にする SPA ナビゲーションランタイム README · SPA ナビゲーションの構造
@riebeckite/ui integration とプラグインが共有する UI コンテキストと、任意で使えるヘッドレス primitive(drawer、dialog、tabs、copy、behaviors)、Drawer CSS README · UI
@riebeckite/analytics-cloudflare analytics 用の Cloudflare Workers ・ D1・ KV ランタイム README · Cloudflare Worker
@riebeckite/webmention-cloudflare Webmention 用の Cloudflare Workers ・ D1・ KV ランタイム README · Webmention
@riebeckite/test テストヘルパー(assertGolden、assertGoldenJson)。e2e subpath に packed tarball の外部サイトエンジン README · テスト
@riebeckite/node Node.js 向けアダプター。ファイルシステムから読み込む FileSystemContentSource とパス用ヘルパー README · ソースと管理
@riebeckite/git-history プラグインが共有する Git リポジトリへのアクセス。test-support subpath にテスト用の使い捨てリポジトリ README
@riebeckite/plugin-* プラグインのファクトリと、ドキュメント化された subpath エクスポート プラグインのドキュメント
@riebeckite/theme-* テーマのファクトリと CSS エクスポート テーマのドキュメント

@riebeckite/diagnostics、@riebeckite/node、@riebeckite/git-history は、公式プラグインとフレームワーク内部で共有するパッケージです。個別の API ページはなく、使う場所は各機能のページ(たとえば ContentSource)で説明します。

依存関係は概ね次のようになります。

Diagram source
text
flowchart BT
    Site["サイト"]
    ExternalPlugin["外部プラグイン"]
    ExternalTheme["外部テーマ"]
 
    Honox["@riebeckite/honox"]
    Core["@riebeckite/core"]
 
    Site --> Honox
    Site --> Core
    ExternalPlugin --> Core
    ExternalTheme --> Core
    Honox --> Core

外部パッケージから Riebeckite モノレポの内部実装へ直接依存しないことが重要です。

公開 API と内部 API

外部パッケージでは、パッケージの公開エクスポートを利用します。

たとえば、次のようにインポートします。

ts
import {
  definePlugin,
  escapeHtml,
} from "@riebeckite/core";

一方、次のようなインポートは使用しないでください。

ts
import {
  something,
} from "@riebeckite/core/src/...";

また、次のような Riebeckite モノレポ内部のパスにも依存しないでください。

text
../../../../packages/core/...
Diagram source
text
flowchart LR
    Consumer["外部パッケージ"]
 
    Consumer -->|"✓"| Public["@riebeckite/core<br/>公開エクスポート"]
    Consumer -.->|"✗"| Internal["@riebeckite/core/src/**"]
    Consumer -.->|"✗"| Monorepo["モノレポ内部パス"]

公開 API は外部利用を前提とした取り決めです。src/** やモノレポ内部のパスは実装の詳細であり、パッケージの更新によって変更される可能性があります。

Local Graph

Nearby Notes