Our review
This quick reference guide provides an overview of a specific Astro blog's technical stack, frontmatter schema, routing conventions, and components to accelerate work in new sessions.
Strengths
- Comprehensive coverage of the blog's architecture (stack, file structure, CSS)
- Reduces time spent re-exploring the codebase
- Includes specific conventions (slug rules, Nynorsk writing style with split infinitive)
Limitations
- Tied to this one blog, not reusable for other projects
- Requires understanding of Nynorsk to apply writing conventions
- Does not cover error handling or advanced scenarios
When starting a new session working on this blog and needing to quickly recall its structure or conventions.
If working on a different project or if you already know the codebase well without assistance.
Security analysis
SafeThis skill is a static documentation reference for a personal blog. It contains no executable code, no destructive instructions, and no security concerns.
No concerns found
Examples
According to the blog reference, what is the file structure for content and pages? List the key directories and their purposes.Show me the required and optional frontmatter fields for a blog post in this Astro blog, as defined in the reference.What is the slug convention for blog post filenames? Provide an example based on the reference.Blogg-referanse for Claude
Rask oppslagsguide for denne bloggens tekniske struktur, stilmønster og konvensjonar. Bruk denne fila for å sleppe å re-utforska kodebasen i nye sesjonar.
Teknisk stack
- Framework: Astro 6.x (Content Layer), statisk HTML/CSS
- Hosting: GitHub Pages via GitHub Actions
- Innhald: Markdown-filer (
.md) isrc/content/blog/ - Ingen JS-framework — berre Astro og
@astrojs/rss(med React Islands for spesifikke komponentar)
Filstruktur
src/
├── content/
│ └── blog/
│ └── *.md # Blogginnlegg
├── content.config.ts # Schema for innhaldssamlingar
├── layouts/
│ ├── Grunnoppsett.astro # Hovudlayout (header, footer, tema-bryter)
│ └── Artikkel.astro # Artikkellayout (innhaldstabell, leseprosessbar)
├── pages/
│ ├── index.astro # Startsida (listar alle .md-innlegg)
│ ├── om.astro # Om-sida
│ ├── 404.astro # 404-side
│ ├── rss.xml.ts # RSS-feed
│ ├── tag/[tag].astro # Dynamiske tag-sider
│ └── [slug].astro # Dynamisk ruting for blogginnlegg
├── styles/
│ └── global.css # All CSS (éi fil, ingen komponent-CSS)
└── utils/
└── dato.ts # Datoformatering: formaterDato(dato, 'kort'|'lang')
Frontmatter-schema for innlegg
---
tittel: "Tittelen på innlegget" # Påkravd
publisertDato: "2026-04-14" # Påkravd, format YYYY-MM-DD
oppdatertDato: "2026-04-24" # Valfritt
ingress: "Kort ingress..." # Viast på startsida og i meta-tags
tags: ["geopolitikk", "økonomi"] # Valfritt, driv tag-sidene automatisk
lesetid: 12 # Valfritt, tal i minutt
---
Rutingmønster
| URL | Fil |
|----------------------------|------------------------------|
| / | src/pages/index.astro |
| /om | src/pages/om.astro |
| /mitt-innlegg | src/content/blog/mitt-innlegg.md (via [slug].astro) |
| /tag/geopolitikk | automatisk frå tag-array |
| /rss.xml | src/pages/rss.xml.ts |
Merk: Innlegg ligg i src/content/blog/.
Prosjektet brukar getCollection('blog') for å henta innlegg i staden for Astro.glob.
Slug-konvensjon for filnamn
- Berre små bokstavar og bindestrek
- Norske spesialbokstavar:
ø→o,å→a,æ→e - Eksempel:
petrodollaren-og-imperiet-sitt-sjolvmord.md
Komponentar
Grunnoppsett.astro
Props: tittel (påkravd), beskriving, erArtikkel (boolean)
Rendrar: sticky header med logo + navigasjon, mobil-meny (CSS checkbox-hack, ikkje JS), tema-bryter (lys/mørk), footer, Umami-analyse.
Artikkel.astro
Props: tittel, dato, ingress, tags[], lesetid
Rendrar: automatisk innhaldstabell (frå alle ##/###-overskrifter, viss ≥2),
leseprosessbar øvst, «attende til toppen»-knapp, Umami scroll-analyse (25/50/75/100 %).
CSS-designsystem (src/styles/global.css)
Fargepaletten (CSS-variablar)
--svart: #0f0f0f /* tekst */
--kvit: #f5f0e8 /* bakgrunn (krem) */
--grå: #6b6560
--lys-grå: #e8e2d8
--raud: #b8001f /* lenkjer og aksent */
--gull: #c4933f /* highlight */
Typografi
--skrift-brei: 'Playfair Display', serif /* overskrifter */
--skrift-brød: 'Source Serif 4', serif /* brødtekst */
--skrift-kode: 'JetBrains Mono', monospace /* kode og metadata */
Layout-klassar
.container— maks 720px (smal, for lesbarheit).container--brei— maks 960px (header/footer)
Mørk modus
Aktivert via html[data-theme="dark"]. Preferanse lagrast i localStorage.
Respekterer prefers-color-scheme: dark som fallback.
Skrivestil og språk
- Språk: Nynorsk med kløyvd infinitiv
- Korte verb (monosyllabisk stamme):
-a—vera,gjera,ta,sjå,gå,stå,la,ha,fara - Lange verb:
-e—skrive,lese,analysere,utvikle,fortelje
- Korte verb (monosyllabisk stamme):
- Tone: Analytisk, ikkje agitatorisk. Strukturalistisk — system framfor einskildpersonar
- Aldri bokmål
Kjeldereferansar (IEEE-stil)
Alle kjelder brukar IEEE-stil:
Inline i tekst
... som dokumentert i fleire studiar [1][2].
Referanseliste nedst (under ## Kjelder)
Nettbaserte kjelder:
[N] Forfattar/org, "Tittel," *Publikasjon*, Dato. [Online]. Available: URL. [Accessed: dato].
Interne/ikkje-offentlege rapportar (Deutsche Bank, Citigroup ol.):
[N] Deutsche Bank Research, "Tittel," intern rapport, mars 2026. (ikkje offentleg tilgjengeleg)
Innleggsstruktur (etablert mønster)
[Innleiingsparagraf utan overskrift — set kontekst og hovudpåstand]
## Seksjon 1
...
## Seksjon 2
...
---
*Dette innlegget er del av ein serie om det amerikanske imperiet sin strukturelle krise.*
## Kjelder
[1] ...
[2] ...
Taggsystem
Tags er sjølvoppdagande — berre legg dei til i frontmatter-arrayet.
Kvar ny tag får automatisk ei side på /tag/<tag> via src/pages/tag/[tag].astro.
Ingen manuell registrering nødvendig.
Konfigurasjon
// astro.config.mjs
site: 'https://hawk-on.github.io'
base: '/Blog'
// Markdown: Shiki syntax highlighting, github-dark tema, tekstbryting på
Git-oppsett
- Produksjonsgrein:
master - Feature-greinar:
claude/<namn>-<id> - Deploy: automatisk frå
mastervia GitHub Actions til GitHub Pages - GitHub-proxy: køyrer på
127.0.0.1:62343(telefon) — ved nettverksfeil, prøv push på nytt opptil 4 gonger med eksponentiell backoff (2s, 4s, 8s, 16s)
API Documentation Generator
Documentation
Automatically generates OpenAPI/Swagger API documentation.
Technical Writer
Documentation
Writes clear technical documentation following top style guides.
Create log entries with timestamps
Documentation
Creates timestamped log entries to document discoveries, meetings, code reviews, articles, or significant events. Structures information with a summary, event type, sources, and tags, then saves the file to `docs/log/` with a date-based filename and descriptive slug.