2. Concept Types
OKF の概念型(concept)の書き方
Concept 型の書き方
OKF は「1 概念 = 1 ファイル」です。各 .qmd の先頭に YAML frontmatter(type は必須)を置きます。
共通フィールド:
type(必須): 概念の種別title/description: 表示名 / 一言要約resource: 対象リソースの URItags: タグgenerated: 生成者と日時{ by, at }verified: 検証イベントby/atstatus:draft|stable|deprecatedstale_after: 鮮度切れ日sources: 出所の一覧(id/resource/title/ 信頼シグナル)
型の拡張
型は tools/okf-types.json の type レジストリで管理しています。 ここが単一の source of truth です。エントリを 1 つ追加し、スキーマを再生成すれば、 frontmatter の検証・サイト描画・抽出規約が追随します。
{
"MyNewType": {
"description": "新しい概念型の説明",
"frontmatter": ["resource", "tags"],
"headings": ["Summary", "Examples"],
"icon": "note"
}
}型を追加/変更したら、レジストリから Quarto フィルタのスキーマを再生成します。
node tools/gen-schema.mjs # _extensions/okf/okf-meta.lua のスキーマを更新
node tools/gen-schema.mjs --check # (CI で使用) 差分があると終了コード 1frontmatter… その型に必須のフィールド(共通のtype/status/generated/verified/stale_afterは常に付与)headings… 推奨見出し規約(見出しベースの DOM 抽出を安定させる)
共通フィールド
共通必須:
type(必須): 概念の種別status:draft|stable|deprecatedgenerated: 生成者と日時{ by, at }verified: 検証イベントby/atstale_after: 鮮度切れ日
任意(型共通):
title/description/resource/tagssources: 出所の一覧(id/resource/title)
見出し規約
型ごとに固定した見出し(tools/okf-types.json の headings)を使うことで、 Playwright による DOM 抽出(見出しベースのセクション走査)が安定します。