参照資料
このサイトのページは、Scraping KDL の使い方を伝える。 以下のドキュメントが正典である。 このサイトのページと以下のドキュメントが食い違う場合、正しいのは以下のドキュメントである。
| ドキュメント | 内容 |
|---|---|
| Language v0.1 | 文法、意味論、検証規則の全体。 |
| Built-ins v0.1 | 各組み込みトランスフォームのシグネチャと挙動。 |
| Selectors v0.1 | CSS の可搬な部分集合と、拒否される構文。 |
| Diagnostics | 各診断コードの重大度と条件。 |
| Grammar summary | 構文の EBNF 要約。 |
ツール向けの機械可読データ。
builtins-v0.1.contract.json:トランスフォームのシグネチャ。builtins-v0.1.authoring.json:エディタと補完のためのデータ。conformance-coverage.json:仕様に対するフィクスチャの網羅状況。
Validated IR
Section titled “Validated IR”| ドキュメント | 内容 |
|---|---|
| IR schema | Validated IR の JSON Schema。 |
| IR README | バージョン方針とディレクトリの構成。 |
| Example IR | 完全な IR ドキュメントの例。 |
IR はコンパイラとランタイムの境界である。 プログラムを読むツールや作るツールを書くときは、このスキーマを使う。
API 宣言
Section titled “API 宣言”- TypeScript
index.d.ts:可搬なエントリポイント。 - TypeScript
node.d.ts:ファイルシステム用のエントリポイント。 - TypeScript
authoring.d.ts:エディタツール向けのデータ。 - Public API v1:二つのランタイムの安定した公開面。
Go の API には go doc を使う。
go doc github.com/hsblabs/scrape-kdlランタイムのドキュメント
Section titled “ランタイムのドキュメント”| ドキュメント | 内容 |
|---|---|
| Compiler pipeline | 検証の七つの段階。 |
| HTTP runtime | リクエストとエラー回復の挙動。 |
| Browser runtime | アダプタの契約とワークフロー。 |
| Playwright adapter | TypeScript アダプタの詳細。 |
| go-rod adapter | Go アダプタの詳細。 |
| HTML compatibility | HTML の解析と、ブラウザとの差異。 |
| Performance | 計測された挙動と限界。 |
互換性とセキュリティ
Section titled “互換性とセキュリティ”| ドキュメント | 内容 |
|---|---|
| Compatibility | 対応する Go、Node.js、Bun のバージョン。 |
| Versioning | 言語、IR、リリースの各バージョン。 |
| Migrate to v1 | 以前のバージョンからの変更点。 |
| Changelog | リリースの履歴。 |
| Security model | 信頼の段階とランタイムの保護。 |
| Security policy | 脆弱性の報告方法。 |
| Responsible use | 運用者の責務。 |
プロジェクト
Section titled “プロジェクト”- Repository:ソース、フィクスチャ、テスト。
- Support:質問の場所。
- Contributing:変更の出し方。
- Code of conduct
- Decision records:各アーキテクチャ上の決定の理由。
- KDL:構文の基となるドキュメント言語。Scraping KDL は文書化された部分集合を受け付ける。
- RE2 syntax:正規表現のプロファイル。後読み、後方参照、名前付きグループは使えない。
- WHATWG HTML:HTML の解析の標準。
- CSS Selectors Level 4:言語の全体。可搬プロファイルはその小さな部分集合である。
- JSON Schema:IR ドキュメントのスキーマ言語。