HUGO is een statische site generator waarmee je snel en veilig websites kunt bouwen. In deze handleiding installeren we HUGO lokaal op een Arch Linux systeem, inclusief Node.js en NPM voor front-end tooling. Tot slot laten we zien hoe je wijzigingen met rsync naar de webserver verstuurt.
Informatie
Deze handleiding gaat uit van een bestaande webserver waarop je site gepubliceerd wordt, bijvoorbeeld onder /var/www/voorbeeld.nl/public/ zoals beschreven in andere artikelen.
Benodigdheden
- Een (lokaal) systeem met Arch Linux of een afgeleide (zoals EndeavourOS of Manjaro)
- Een domeinnaam
- DNS ingesteld naar het IP-adres van de server
- Een werkende webserver (NGINX) die verzoeken voor jouw domein verwerkt
- Rechten als
suofsudoom opdrachten als root uit te voeren
Voorbereiding
Zorg dat het systeem up-to-date is voordat je HUGO installeert.
- Open een terminal.
- Werk de pakketbron en geïnstalleerde pakketten bij.
sudo pacman -Syu
HUGO installeren
Op Arch Linux is HUGO beschikbaar in de officiële repositories.
- Installeer HUGO met
pacman.
sudo pacman -S hugo
- Controleer de versie om te verifiëren dat HUGO correct is geïnstalleerd.
hugo version
Node.js en NPM installeren
Voor veel thema’s en build-processen zijn Node.js en NPM nodig.
- Installeer Node.js en NPM.
sudo pacman -S nodejs npm
- Controleer of beide beschikbaar zijn.
node -v
npm -v
Nieuwe HUGO site maken
In dit voorbeeld maken we een testsite in de map ~/sites/voorbeeld.nl.
- Maak een map aan voor je sites en ga ernaartoe.
mkdir -p ~/sites/voorbeeld.nl
cd ~/sites/voorbeeld.nl
- Initialiseer een nieuwe HUGO site.
hugo new site .
- Voeg een thema toe (voorbeeld met een willekeurig thema via Git).
git init
git submodule add https://github.com/thema/voorbeeld-thema.git themes/voorbeeld-thema
- Stel het thema in in
config.toml.
nano config.toml
Voeg of wijzig de regel:
theme = "voorbeeld-thema"
Testsite lokaal draaien
Tijdens het bouwen en testen kun je HUGO als lokale webserver gebruiken.
- Start de ontwikkelserver.
hugo server -D
- Open een browser en ga naar:
http://localhost:1313
Je zou nu de HUGO site lokaal moeten kunnen bekijken. Wijzigingen in content en templates worden automatisch herladen zolang de server draait.
Productiebuild maken
Voor de definitieve versie op de webserver heb je een statische build nodig in de public/ map.
- Stop de ontwikkelserver (CTRL + C).
- Maak een productiebuild.
hugo
De gegenereerde site staat nu in de map:
./public/
Wijzigingen uploaden met rsync
Om de site online te zetten of bij te werken, gebruiken we rsync om de public/ map naar de webserver te kopiëren.
- Zorg dat je SSH-toegang hebt tot de server, bijvoorbeeld:
ssh gebruiker@server
- Voer op je lokale machine het volgende commando uit om de build over te zetten:
rsync -avz --delete ./public/ gebruiker@server:/var/www/voorbeeld.nl/public/
Na het uitvoeren van dit commando staat de nieuwste versie van je HUGO site op de server. Open de browser en ga naar jouw domein (bijvoorbeeld https://voorbeeld.nl) om de live site te bekijken.