diff --git a/site/data/nav.yml b/site/data/nav.yml new file mode 100644 index 0000000..07cbc9b --- /dev/null +++ b/site/data/nav.yml @@ -0,0 +1,23 @@ +- name: Home + url: / + weight: 1 + +- name: Docs + url: /docs/ + weight: 2 + +- name: Notes + url: /notes/ + weight: 3 + +- name: Essays + url: /essays/ + weight: 4 + +- name: Articles + url: /articles/ + weight: 5 + +- name: Tags + url: /tags/ + weight: 6 diff --git a/site/hugo.toml b/site/hugo.toml index faea02d..a39a9be 100644 --- a/site/hugo.toml +++ b/site/hugo.toml @@ -7,37 +7,11 @@ title = 'ASW — Agentic Semantic Web' [taxonomies] tag = "tags" + category = "categories" -# ── Navigation menus ────────────────────────────────────────────────── -[[menus.main]] - name = "Home" - url = "/" - weight = 1 - -[[menus.main]] - name = "Docs" - url = "/docs/" - weight = 2 - -[[menus.main]] - name = "Notes" - url = "/notes/" - weight = 3 - -[[menus.main]] - name = "Essays" - url = "/essays/" - weight = 4 - -[[menus.main]] - name = "Articles" - url = "/articles/" - weight = 5 - -[[menus.main]] - name = "Tags" - url = "/tags/" - weight = 6 +# ── Navigation ────────────────────────────────────────────────────── +# Top nav is driven by data/nav.yml (editable via Decap CMS). +# Docs sidebar is auto-generated from content/docs/ subdirectories. # ── Docs sidebar ───────────────────────────────────────────────────── # Auto-generated from content/docs/ subdirectories. diff --git a/site/layouts/partials/nav.html b/site/layouts/partials/nav.html index e60a014..f482877 100644 --- a/site/layouts/partials/nav.html +++ b/site/layouts/partials/nav.html @@ -1,8 +1,8 @@ diff --git a/site/static/admin/config.yml b/site/static/admin/config.yml index 0215946..c09daea 100644 --- a/site/static/admin/config.yml +++ b/site/static/admin/config.yml @@ -17,7 +17,26 @@ slug: encoding: ascii clean_accents: true +# ── Site settings (file-based collections) ─────────────────────────── + collections: + - name: settings + label: Settings + files: + - name: nav + label: Navigation + file: data/nav.yml + fields: + - label: Navigation Links + name: items + widget: list + fields: + - { label: Name, name: name, widget: string } + - { label: URL, name: url, widget: string } + - { label: Weight, name: weight, widget: number, hint: "Sort order (lower = first)" } + +# ── Content collections ────────────────────────────────────────────── + - name: docs-getting-started label: "Docs: Getting Started" folder: content/docs/getting-started @@ -66,6 +85,7 @@ collections: - { label: Title, name: title, widget: string } - { label: Description, name: description, widget: string, required: false } - { label: Date, name: date, widget: datetime, format: "YYYY-MM-DD" } + - { label: Categories, name: categories, widget: list, required: false, hint: "e.g. framework, tutorial, deep-dive" } - { label: Tags, name: tags, widget: list, required: false } - { label: AI Disclosure, name: ai-disclosure, widget: select, options: ["generated", "assisted", "none"], default: "assisted" } - { label: AI Model, name: ai-model, widget: string, required: false } @@ -88,6 +108,7 @@ collections: - { label: Date, name: date, widget: datetime, format: "YYYY-MM-DD" } - { label: Tags, name: tags, widget: list, required: false } - { label: Draft, name: draft, widget: boolean, default: true } + - { label: Categories, name: categories, widget: list, required: false } - { label: AI Disclosure, name: ai-disclosure, widget: select, options: ["generated", "assisted", "none"], default: "assisted" } - { label: AI Model, name: ai-model, widget: string, required: false } - { label: AI Provider, name: ai-provider, widget: string, required: false, default: "Anthropic" }