First post!
This commit is contained in:
parent
d8f8d7767f
commit
1e025b1ac5
1 changed files with 107 additions and 0 deletions
107
content/posts/hugo.md
Normal file
107
content/posts/hugo.md
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
---
|
||||||
|
title: "Hugo"
|
||||||
|
date: 2023-12-26T16:16:07+01:00
|
||||||
|
draft: false
|
||||||
|
toc: false
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
- web
|
||||||
|
- privat
|
||||||
|
---
|
||||||
|
|
||||||
|
Nå er bloggen gjennoppstått! Denne gangen med hjelp av [Hugo](https://gohugo.io/) :)
|
||||||
|
|
||||||
|
## Hva er Hugo?
|
||||||
|
Hugo er en statisk side generator. Du skriver innlegg i markdown, også rendres
|
||||||
|
disse til HTML. Når du har HTML-en, kan du egentlig gjøre det du vil med den:
|
||||||
|
Servere den fra en webserver, redigere den i VScode, eller sende den til
|
||||||
|
kompisen din og si at du kan lage nettsider.
|
||||||
|
|
||||||
|
## Motivasjon
|
||||||
|
Den forrige bloggen min var laget med [Wordpress](https://wordpress.com/), en
|
||||||
|
grafisk nettsidebygger som er laget med PHP og MySQL. Programmet kan brukes til
|
||||||
|
å lage alt fra blogger til nettbutikker. For mitt bruk, fungerte det egentlig
|
||||||
|
ganske greit, men det var et par punkter gjorde at det helt var helt optimalt.
|
||||||
|
|
||||||
|
En ting jeg ikke likte med Wordpress, var fokuset på utseende. Programmet er
|
||||||
|
designet slik at man lett skal kunne plassere ulike elementer i et
|
||||||
|
brukerdefinert layout. Det kan være kjekt om man:
|
||||||
|
|
||||||
|
1. Ønsker å definere layout selv
|
||||||
|
1. Ikke kan HTML
|
||||||
|
|
||||||
|
For meg gjelder ingen av delene. Jeg ønsker først og fremst å skrive tekster,
|
||||||
|
og i de tilfellene jeg bry meg om layout, klarer jeg fint å skrive litt HTML.
|
||||||
|
|
||||||
|
Det at at Wordpress er designet for å gjøre det lett å endre layout, gjør det
|
||||||
|
krunglete å skrive innlegg. Hvis jeg for eksempel skal skrive et innlegg med to
|
||||||
|
overskrifter, er det 4 elementer som må opprettes (et for hver overskrift og
|
||||||
|
hver tekst). Dette tar vekk fokuset fra skrivingen.
|
||||||
|
|
||||||
|
Med Hugo derimot, er fokuset rettet mot skrivingen. Når man skal lage et nytt
|
||||||
|
innlegg, kan man få Hugo til å generere en ny markdownfil for deg.
|
||||||
|
```bash
|
||||||
|
hugo new content posts/hugo
|
||||||
|
```
|
||||||
|
Nå har jeg en fil ny fil (`content/posts/hugo.md`). Denne kan man fint begynne
|
||||||
|
å skrive i og endre på med ditt yndlingstekstredigeringsprogram. Personlig
|
||||||
|
bruker jeg [Neovim](https://neovim.io/). Det at jeg nå kan klare meg uten
|
||||||
|
datamusa når jeg lager et nytt innleg, ser jeg på som en veldig positiv ting.
|
||||||
|
|
||||||
|
En annen fordel med at alle innleggene mine er markdown filer, er at det er
|
||||||
|
ekstremt kjekt å jobbe med tekstfiler! Om jeg skal endre på innholdet, kan jeg
|
||||||
|
bruke Neovim. Om jeg skal finne ut av når jeg skrev om en spesifikk ting, kan
|
||||||
|
jeg bruke [ripgrep](https://github.com/BurntSushi/ripgrep). Om jeg har lyst til
|
||||||
|
å slutte å bruke Hugo kan jeg også det, fordi det kun er tekst!
|
||||||
|
|
||||||
|
## Fremgangsmåte
|
||||||
|
Det å sette opp bloggen var egentlig veldig lett! Slik var fremgangsmåten:
|
||||||
|
|
||||||
|
### Sett opp Hugo
|
||||||
|
1. Installer Hugo.
|
||||||
|
```bash
|
||||||
|
sudo snap install hugo
|
||||||
|
```
|
||||||
|
1. Start et nytt prosjekt.
|
||||||
|
```bash
|
||||||
|
hugo new site blog
|
||||||
|
cd blog
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
1. Last ned et tema.
|
||||||
|
```bash
|
||||||
|
git add submodule https://github.com/rhazdon/hugo-theme-hello-friend-ng themes/hello-friend-ng
|
||||||
|
```
|
||||||
|
1. Fiks `hugo.toml` i henhold til [dokumentasjonen](https://github.com/rhazdon/hugo-theme-hello-friend-ng).
|
||||||
|
1. Enjoy!
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
Jeg er så heldig å ha tilgang til en server der jeg kan serevere hva enn jeg
|
||||||
|
måtte ønske! Det gjør jobben veldig lett :) På serveren har jeg en mappe
|
||||||
|
(`/var/www/kaholaz.net/`), der jeg putter ferdiggenerert HTML. Får å gjøre denne forflytningen lettvint, har jeg laget et kort skript for å generere html og flytte den over til serveren.
|
||||||
|
```sh
|
||||||
|
hugo || exit
|
||||||
|
rsync public/ vsbugge@navi.samfundet.no:/var/www/kaholaz.net/ -r --delete -P
|
||||||
|
```
|
||||||
|
|
||||||
|
Når dette er på plass, trenger vi bare et søtt lite Apache-config for å gjøre
|
||||||
|
susen.
|
||||||
|
```xml
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerName kaholaz.net
|
||||||
|
DocumentRoot /var/www/kaholaz.net/
|
||||||
|
<Location />
|
||||||
|
Options -Indexes
|
||||||
|
</Location>
|
||||||
|
|
||||||
|
ErrorDocument 404 /404.html
|
||||||
|
</VirtualHost>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Konklusjon
|
||||||
|
Jeg tror dette er en veldig flott løsning for en personlig blogg. Jeg kommer
|
||||||
|
til å tilgjegeliggjøre kildekoden på [min
|
||||||
|
GitHub](git@github.com:Kaholaz/hugo-blog.git), og fortsette å oppdatere bloggen
|
||||||
|
gjenvlig. Det er en del ting å fikse, slik som tagger og innleggstyper. Alt i
|
||||||
|
alt vil jeg anbefale Hugo om man ønsker en no-nonsense måte å skrive en blogg
|
||||||
|
på!
|
Loading…
Add table
Add a link
Reference in a new issue