Skip to content

Add Geografi › Naturgeografi category with 11 curriculum topics, source-linked content, and process demo - #57

Closed
rastermanden with Copilot wants to merge 7 commits into
mainfrom
copilot/geografi-naturgeografi-overview
Closed

rastermanden with Copilot wants to merge 7 commits into
mainfrom
copilot/geografi-naturgeografi-overview

Conversation

Copilot AI commented May 13, 2026

Copy link
Copy Markdown
Contributor

This PR implements the new Geografi › Naturgeografi umbrella area so it is navigable in the subject/category/topic model and usable from folkeskole to gymnasium level.
It adds the requested naturgeografi scope (landskabsdannelse, hydrologi, jordbund, økosystemer) with Danish UI content and explicit source attribution.

  • Category + routing surface

    • Added naturgeografi under geografi.categories with 🏔️ label and summary.
    • Registered 11 topic slugs so canonical routes are generated as:
      • /<subject>/<category>/<topic>
      • /<subject>/<category>/<topic>/quiz
  • Topic content set (11 topics)

    • New file: content/geografi/naturgeografi.ts
    • Added:
      • Istider og isens landskabsdannelse
      • Gletsjere
      • Floder og vandløb
      • Vandets kredsløb
      • Grundvand
      • Kysttyper og kystdannelse
      • Ørkener og ørkendannelse
      • Skove og biomer
      • Jordbund og jordtyper
      • Forvitring og erosion
      • Søer og vådområder
    • Each topic includes: Danish summary, concept sections, quiz items, and source-oriented sections.
    • Includes requested instructional elements across topics: case studies, cross-section/map references, and process-focused explanations.
  • Animation/demo integration

    • Added components/NaturgeografiProcesserDemo.tsx.
    • Wired demo into existing demoKey mapping in topic page rendering.
    • Scoped usage to the core glacial-landscape topic and improved accessibility labeling in the SVG diagram.
  • Source attribution quality

    • Added/expanded explicit source URLs in content sections.
    • Preserved figure-level source metadata through existing image.sourcePage pattern for rendered credits/links.
// content/geografi/index.ts
{
  slug: "naturgeografi",
  title: "Naturgeografi",
  emoji: "🏔️",
  topics: [
    istiderOgIsensLandskabsdannelse,
    gletsjere,
    floderOgVandloeb,
    vandetsKredsloeb,
    grundvand,
    kysttyperOgKystdannelse,
    oerkenerOgOerkendannelse,
    skoveOgBiomer,
    jordbundOgJordtyper,
    forvitringOgErosion,
    soeerOgVaadomraader,
  ],
}

Naturgeografi category UI

Copilot AI linked an issue May 13, 2026 that may be closed by this pull request
15 tasks
Copilot AI and others added 6 commits May 13, 2026 14:25
Copilot AI changed the title [WIP] Create umbrella issue for naturgeografi category in geography Add Geografi › Naturgeografi category with 11 curriculum topics, source-linked content, and process demo May 13, 2026
Copilot AI requested a review from rastermanden May 13, 2026 14:35
rastermanden added a commit that referenced this pull request May 13, 2026
* Split content registries to eliminate merge-conflict hot spots

Topic PRs all converged on the same three central files
(content/<subject>/index.ts, app/[subject]/[category]/[topic]/page.tsx,
README.md), so any two open topic PRs were guaranteed to conflict.
This refactor splits the registries so each PR only touches files it
owns.

Per-category content modules
- Add content/<subject>/categories/<category>.ts files that import
  their own topics and export the Category object.
- Slim content/matematik/index.ts and content/geografi/index.ts to
  just compose the category list. They only change when a brand-new
  category is added.
- Adding a topic to an existing category now touches a single shared
  file (its category file) instead of the subject index.

Per-topic demo components
- Replace the string-keyed demoKey field on Topic with an optional
  demoComponent: ComponentType reference.
- Each topic file imports its own demo component and sets it on the
  Topic object.
- Remove the central TOPIC_DEMO_COMPONENTS record in
  app/[subject]/[category]/[topic]/page.tsx; the page reads
  topic.demoComponent directly. Topic PRs no longer touch the page
  file at all.

Docs
- Document the new "adding a topic" workflow in AGENTS.md so future
  topic PRs land in the per-category file and the per-topic demo
  field, keeping the shared surface minimal.

Build still produces 131/131 static routes.

* Ignore /.claude/ local agent worktree dir

Claude Code's agent isolation creates worktrees under .claude/worktrees/;
these are per-machine and should not be checked in.

* Add Naturgeografi category to geografi (11 topics + 1 demo) — Re-roll of #57 onto the per-category content structure from #61.

---------

Co-authored-by: Claude <noreply@anthropic.com>
@rastermanden

Copy link
Copy Markdown
Owner

Superseded by #70, which has been merged into main. The single-file content/geografi/naturgeografi.ts and the NaturgeografiProcesserDemo component were preserved verbatim (with one fix: added missing "use client" so the demo can cross the server/client boundary); demoKey was converted to demoComponent. Registered in a new naturgeografi category against the per-category structure from #61. Closing.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Geografi › Naturgeografi (umbrella)

2 participants