Læringsplatform til Grundforløb 2 på data — learn.mags.dk/gf2.
- Next.js 15 (App Router) med
basePath: /gf2 - Pensum i MDX i
content/modules/ - Valgfrit live Notion per lektion (
notionPageIdi frontmatter) - YouTube-embed, sidebar-navigation, mørk/lys tilstand
- Docker (standalone) til Dokploy
npm install
cp .env.example .env.local # udfyld NOTION_API_KEY hvis du tester Notion
npm run devÅbn http://localhost:3000/gf2 (ikke kun / på roden).
Sker ofte hvis .next slettes mens npm run dev kører. Stop serveren (Ctrl+C), ryd cache, start igen:
npm run dev:cleanEller manuelt: slet mappen .next, kør derefter npm run dev.
Åbn http://localhost:3000/gf2.
content/modules/<modul-slug>/
module.json # titel, beskrivelse, rækkefølge
lessons/
01-velkommen.mdx # frontmatter + MDX-brødtekst
| Felt | Beskrivelse |
|---|---|
title |
Lektionstitel |
module |
Modul-slug |
order |
Sortering i modulet |
fag |
Fag (udfydes i fase 2) |
kompetencemaal |
Liste af mål |
timer |
Antal timer |
laereplanRef |
Reference til læreplan |
youtubeId |
YouTube video-ID (valgfri) |
notionPageId |
Notion side-ID — live indhold når sat |
Én kilde per lektion: Hvis notionPageId er udfyldt, hentes indhold fra Notion; ellers vises MDX.
Notion-links i indhold: Interne links til andre Notion-sider peger på /gf2/notion/<page-id> (eller på den tilsvarende lektion, hvis den findes i content/).
Sæt i lektionens frontmatter:
notionPageId: "..."
splitNotionByH1: trueHver Heading 1 (eller Heading 2, hvis der ikke findes H1) i Notion bliver et eget menupunkt under modulet. URL: /gf2/modul/<modul>/<lektion>/<sektion-slug>.
Krav i Notion: brug rigtige overskriftsblokke (Heading 1 / Heading 2) — fed tekst eller store fonte tæller ikke.
- Opret en internal integration i Notion.
- Kopiér secret til
NOTION_API_KEYi.env.local/ Dokploy. - Del relevante sider med integrationen (⋯ → Connect to → din integration).
- Side-ID findes i URL:
notion.so/.../<32-tegn-id>(med eller uden bindestreger). - Sæt
notionPageIdi lektionens frontmatter.
docker build -t gf2-learn .
docker run -p 3000:3000 -e NOTION_API_KEY=din-nøgle gf2-learnI Dokploy: peg GitHub-repo, build med Dockerfile, port 3000, env-vars fra .env.example.
Cloudflare Tunnel: peg learn.mags.dk mod containeren. Appen forventer at være tilgængelig under /gf2 (via reverse proxy path eller direkte med basePath).
output: "standalone"—content/kopieres med i Docker-image, så MDX kan læses ved runtime.- Auth kommer i en senere fase; platformen er offentlig i v1.
Udfyld moduler og lektioner efter GF2 Data læreplan, rigtige YouTube-IDs og Notion-sider.