hugoDocs/content/nn/configuration/introduction.md
2025-06-28 20:16:38 +02:00

9.7 KiB

title description categories keywords weight
Introduksjon Konfigurer nettstaden din ved hjelp av filer, mapper og miljøvariablar.
10

Fornuftige standardverdiar

Hugo tilbyr mange konfigurasjonsalternativ, men standardverdiane er ofte tilstrekkelege. Ein ny nettstad krev berre desse innstillingane:

{{< code-toggle file=hugo >}} baseURL = 'https://example.org/' languageCode = 'en-us' title = 'My New Hugo Site' {{< /code-toggle >}}

Definer berre innstillingar som avvik frå standardverdiane. Ei mindre konfigurasjonsfil er enklare å lese, forstå og feilsøkje. Hald konfigurasjonen din kortfatta.

Note

Den beste konfigurasjonsfila er ei kort konfigurasjonsfil.

Konfigurasjonsfil

Opprett ei konfigurasjonsfil for nettstaden i rotmappa til prosjektmappa, med namnet hugo.toml, hugo.yaml, eller hugo.json, i denne prioriteringsrekkjefølgja.

my-project/
└── hugo.toml

Note

For versjonar v0.109.0 og tidlegare, heitte konfigurasjonsfila for nettstaden config. Sjølv om du framleis kan bruka dette namnet, er det tilrådd å byta til den nyare namnjekonvensjonen, hugo.

Eit enkelt døme:

{{< code-toggle file=hugo >}} baseURL = 'https://example.org/' languageCode = 'en-us' title = 'ABC Widgets, Inc.' [params] subtitle = 'The Best Widgets on Earth' [params.contact] email = 'info@example.org' phone = '+1 202-555-1212' {{< /code-toggle >}}

For å bruka ei anna konfigurasjonsfil når du byggjer nettstaden, bruk --config-flagget:

hugo --config other.toml

Kombiner to eller fleire konfigurasjonsfiler, med venstre-til-høgre prioritet:

hugo --config a.toml,b.yaml,c.json

Note

Sjå spesifikasjonane for kvart filformat: TOML, YAML, og JSON.

Konfigurasjonsmappe

I staden for ei enkelt konfigurasjonsfil for nettstaden, kan du dela konfigurasjonen din etter ASD, rotkonfigurajonsnøkkel og språk. Til dømes:

my-project/
└── config/
    ├── _default/
    │   ├── hugo.toml
    │   ├── menus.en.toml
    │   ├── menus.de.toml
    │   └── params.toml
    └── production/
        └── params.toml

Rotkonfigurasjonsnøklane er {{< root-configuration-keys >}}.

Utelat rotnøkkelen

Når du deler konfigurasjonen etter rotnøkkel, utelat rotnøkkelen i komponentfila. Til dømes er desse ekvivalente:

{{< code-toggle file=config/_default/hugo >}} [params] foo = 'bar' {{< /code-toggle >}}

{{< code-toggle file=config/_default/params >}} foo = 'bar' {{< /code-toggle >}}

Rekursiv parsing

Hugo parsar config-mappa rekursivt, noko som tillèt deg å organisera filene i undermappper. Til dømes:

my-project/
└── config/
    └── _default/
        ├── navigation/
        │   ├── menus.de.toml
        │   └── menus.en.toml
        └── hugo.toml

Døme

my-project/
└── config/
    ├── _default/
    │   ├── hugo.toml
    │   ├── menus.en.toml
    │   ├── menus.de.toml
    │   └── params.toml
    ├── production/
    │   ├── hugo.toml
    │   └── params.toml
    └── staging/
        ├── hugo.toml
        └── params.toml

Med utgangspunkt i strukturen ovanfor, når du køyrer hugo --environment staging, vil Hugo bruka alle innstillingar frå config/_default og fletta staging sine oppå desse.

La oss ta eit døme for å forstå dette betre. La oss seia at du brukar Google Analytics for nettstaden din. Dette krev at du spesifiserer ein Google tag ID i nettstadkonfigurasjonen din:

{{< code-toggle file=hugo >}} [services.googleAnalytics] ID = 'G-XXXXXXXXX' {{< /code-toggle >}}

Vurder no følgjande scenario:

  1. Du vil ikkje lasta inn analysekodan når du køyrer hugo server.
  2. Du ønskjer å bruka forskjellige Google tag ID-ar for produksjons- og oppsettsmiljøa dine. Til dømes:
    • G-PPPPPPPPP for produksjon
    • G-SSSSSSSSS for oppsett

For å tilfredsstilla desse krava, kan du konfigurera nettstaden din slik:

  1. config/_default/hugo.toml

    • Utelat services.googleAnalytics-seksjonen. Dette vil hindra lasting av analysekoden når du køyrer hugo server.
    • Som standard set Hugo environment til development når du køyrer hugo server. I fråvere av ei config/development-mappe, brukar Hugo config/_default-mappa.
  2. config/production/hugo.toml

    • Ta berre med denne seksjonen:

      {{< code-toggle file=hugo >}} [services.googleAnalytics] ID = 'G-PPPPPPPPP' {{< /code-toggle >}}

    • Du treng ikkje inkludera andre parametrar i denne fila. Inkluder berre dei parametrane som er spesifikke for produksjonsmiljøet ditt. Hugo vil fletta desse parametrane med standardkonfigurasjonen.

    • Som standard set Hugo environment til production når du køyrer hugo. Analysekodan vil bruka G-PPPPPPPPP tag ID-en.

  3. config/staging/hugo.toml

    • Ta berre med denne seksjonen:

      {{< code-toggle file=hugo >}} [services.googleAnalytics] ID = 'G-SSSSSSSSS' {{< /code-toggle >}}

    • Du treng ikkje inkludera andre parametrar i denne fila. Inkluder berre dei parametrane som er spesifikke for oppsetsmiljøet ditt. Hugo vil fletta desse parametrane med standardkonfigurasjonen.

    • For å byggja oppsettsnettstaden din, køyr hugo --environment staging. Analysekodan vil bruka G-SSSSSSSSS tag ID-en.

Fletting av konfigurasjonsinnstillingar

Hugo flettar konfigurasjonsinnstillingar frå tema og modular, og prioriterar prosjektet sine eigne innstillingar. Gitt denne forenkla prosjektstrukturen med to tema:

project/
├── themes/
│   ├── theme-a/
│   │   └── hugo.toml
│   └── theme-b/
│       └── hugo.toml
└── hugo.toml

og denne prosjektnivåkonfigurasjonen:

{{< code-toggle file=hugo >}} baseURL = 'https://example.org/' languageCode = 'en-us' title = 'My New Hugo Site' theme = ['theme-a','theme-b'] {{< /code-toggle >}}

Hugo flettar innstillingar i denne rekkjefølgja:

  1. Prosjektkonfigurasjon (hugo.toml i prosjektrota)
  2. theme-a konfigurasjon
  3. theme-b konfigurasjon

Innstillinga _merge innanfor kvar toppnivåkonfigurasjonsnøkkel kontrollerar kva innstillingar som vert fletta og korleis dei vert fletta.

Verdien for _merge kan vera ein av:

none
Inga fletting.
shallow
Legg berre til verdiar for nye nøklar.
deep
Legg til verdiar for nye nøklar, flett eksisterande.

Merk at du ikkje treng vera så detaljert som i standardoppsettet nedanfor; ein _merge-verdi høgare oppe vil bli arva om den ikkje er sett.

{{< code-toggle file=hugo dataKey="config_helpers.mergeStrategy" skipHeader=true />}}

Miljøvariablar

Du kan òg konfigurera innstillingar ved hjelp av miljøvariablar i operativsystemet:

export HUGO_BASEURL=https://example.org/
export HUGO_ENABLEGITINFO=true
export HUGO_ENVIRONMENT=staging
hugo

Det ovanståande set konfigurasjonsvala baseURL, enableGitInfo, og environment og byggjer deretter nettstaden din.

Note

Ei miljøvariabel har prioritet over verdiane sett i konfigurasjonsfila. Dette betyr at om du set ein konfigurasjonsverdi med både ei miljøvariabel og i konfigurasjonsfila, vil verdien i miljøvariabelen verta brukt.

Miljøvariablar forenklar konfigurasjonen for CI/CD-implementeringar som GitHub Pages, GitLab Pages og Netlify ved å tillata deg å setja verdiar direkte i dei respektive konfigurasjonane og arbeidsflytsfilene.

Note

Miljøvariabelnamna må ha prefiks HUGO_.

For å setja tilpassa nettstad-parametrar, set prefiks til namnet med HUGO_PARAMS_.

For snake_case-variabelnamn, vil ikkje standardprefikset HUGO_ fungera. Hugo sluttar seg til skiljetegnet frå det første tegnet etter HUGO. Dette gjer det mogleg med variantar som HUGOxPARAMSxAPI_KEY=abcdefgh ved bruk av alle tillatne skiljetegn.

I tillegg til å konfigurera standardinnstillingar, kan miljøvariablar brukast til å overstyra standardverdiar for visse interne innstillingar:

DART_SASS_BINARY
(string) Den absolute filsystempatha til Dart Sass-programmet. Som standard søkjer Hugo etter programmet i kvar av filbanane i miljøvariabelen PATH.
HUGO_FILE_LOG_FORMAT
(string) Ein formatstreng for filstien, linjenummeret og kolonnenummeret som vert vist når feil vert rapportert, eller når Position-metoden vert kalla frå ein shortcode eller ein Markdown-renderingskrok. Gyldige token er :file, :line, og :col. Standard er :file::line::col.
HUGO_MEMORYLIMIT
{{< new-in 0.123.0 />}}
(int) Den maksimale mengda systemminne, i gigabyte, som Hugo kan bruka under rendering av nettstaden din. Standard er 25% av totalt systemminne. Merk at HUGO_MEMORYLIMIT er ei "best effort"-innstilling. Ikkje forvent at Hugo skal byggja ein million sider med berre 1 GB minne. Du kan få meir informasjon om korleis dette oppfører seg under bygginga ved å byggja med hugo --logLevel info og sjå etter dynacache-etiketten.
HUGO_NUMWORKERMULTIPLIER
(int) Talet på arbeidarar som vert brukte i parallell behandling. Standard er talet på logiske CPUar.

Gjeldande konfigurasjon

Vis den fullstendige nettstadkonfigurasjonen med:

hugo config

Vis ei spesifikk konfigurasjonsinnstilling med:

hugo config | grep [key]

Vis dei konfigurerte filmonteringane med:

hugo config mounts