Denne siden er generert med Hugo. Hugo er en rask og fleksibel statisk nettstedsgenerator skrevet i Go, designet for å enkelt lage og vedlikeholde nettsteder. Den gir rask bygging og levering av nettsteder uten behov for en database, og lar utviklere bruke Markdown-filer for innhold og tilpasse utseendet ved hjelp av maler og temaer. Hugo er velegnet for utviklere som ønsker en effektiv måte å publisere innhold på nettet uten kompleksitet knyttet til dynamiske innholdsadministrasjonssystemer.

Denne siden gir videre en kort forklaring på stegene for å lage en entry-side med Hugo.

Opprette siden

hugo new site hugosite --format yaml

Endre default metadata for nytt innhold som lages

Default språk på konfigureringsfiler er TOML, men jeg foretrekker heller YAML og endret derfor til dette. Forøvrig er det noe default metadata som legges i filene, og som er satt inn i filen archetypes/default.md. Selv om jeg konfigurerte til å bruke YAML, var fortsatt denne filen i TOML format, noe som resulterer i at alle sider vil bli på TOML format.

Endret derfor fra TOML:

+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

til YAML:

---
date: '{{ .Date }}'
draft: true
title: '{{ replace .File.ContentBaseName `-` ` ` | title }}'
---

Lage innhold på siden

Nytt innhold legges inn med:

hugo new content posts/2024-02-18-ny-hugo-side.md

Innholdet av denne artikkelen legges inn som innhold med Markdown syntax.

Start Hugo server

Vi starter Hugo server med opsjon for å vise artikler i draft modus.

hugo server -D
Built in 60 ms
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

Konsollen viser at vi kan starte nettleseren på adressen localhost:1313.

Imidlertid, når siden åpnes står det kun Page Not Found! Og det er forsåvidt fornuftig, får vi har jo heller ikke installert noe som helst theme.

Installere tema “PaperMod”

Jeg ønsker å installere PaperMod, og velger da installasjonsveiledning for dette som beskrevet i innstallasjonsguide for dette temaet.

git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
git submodule update --init --recursive # needed when you reclone your repo (submodules may not get cloned automatically)
git submodule update --remote --merge

Deretter må vi oppdatere sidens konfigurasjon til å bruke dette temaet. Dette gjøres i hugo.yaml, ved å legge til:

theme: PaperMod

Hvis man deretter åpner nettleser igjen, vil man set at siden ser slik ut: Bilde av en enkel hugo side

Vi kan så deployere denne siden til en hvilken som helst server med å gjøre slik:

hugo

Dette vil bygge alt om til en statisk webside, og legges i public katalogen. Denne katalogen kan så enkelt og greit kopieres inn til webserveren.

Merk: det er kun sider som er markert med draft: false (se metadata i toppen av markdown filen) som blir med. For å også ta med sider som er i draft status kan du evt bygge med hugo --buildDrafts.