Parsing data from YAML and outputting HTML
This commit is contained in:
parent
37ad11a9b4
commit
e2b5cdc9d9
7 changed files with 50 additions and 0 deletions
2
go-templates/.gitignore
vendored
Normal file
2
go-templates/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/index.html
|
||||
/out
|
5
go-templates/build
Executable file
5
go-templates/build
Executable file
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
go build -o out main.go
|
1
go-templates/data.yaml
Normal file
1
go-templates/data.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
Name: Oliver Davies
|
5
go-templates/go.mod
Normal file
5
go-templates/go.mod
Normal file
|
@ -0,0 +1,5 @@
|
|||
module go-templates
|
||||
|
||||
go 1.24.4
|
||||
|
||||
require gopkg.in/yaml.v3 v3.0.1 // indirect
|
3
go-templates/go.sum
Normal file
3
go-templates/go.sum
Normal file
|
@ -0,0 +1,3 @@
|
|||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
33
go-templates/main.go
Normal file
33
go-templates/main.go
Normal file
|
@ -0,0 +1,33 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"text/template"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
func check(err error) {
|
||||
if err != nil {
|
||||
log.Fatalf("error: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
out, err := os.Create("index.html")
|
||||
check(err)
|
||||
defer out.Close()
|
||||
|
||||
data := map[string]any{}
|
||||
|
||||
buf, err := os.ReadFile("data.yaml")
|
||||
check(err)
|
||||
err = yaml.Unmarshal(buf, &data)
|
||||
check(err)
|
||||
|
||||
t, err := template.ParseGlob("tmpl/*")
|
||||
check(err)
|
||||
err = t.Execute(out, data)
|
||||
check(err)
|
||||
}
|
1
go-templates/tmpl/_.html
Normal file
1
go-templates/tmpl/_.html
Normal file
|
@ -0,0 +1 @@
|
|||
<h1>{{.Name}}</h1>
|
Loading…
Add table
Add a link
Reference in a new issue