Added step to create header image

This commit is contained in:
Leon Mika 2025-11-23 21:26:49 +11:00
parent 75fc8cc598
commit bb80a7315d
4 changed files with 76 additions and 1 deletions

View file

@ -12,10 +12,21 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: 21.1
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: 1.24
- name: Installing Netlify
run: |
npm install
npm install netlify-cli -g
- name: Building Site
run: |
mkdir -p build
cp -r site/* build/.
- name: Building Header Image
run: |
go run ./cmd/header-image -d build
- name: Deploying Site
run: |
netlify deploy --dir site --prod
netlify deploy --dir build --prod

View file

@ -0,0 +1,51 @@
package main
import (
"bytes"
"flag"
"io"
"log"
"net/http"
"os"
"path/filepath"
"github.com/disintegration/imaging"
)
func main() {
targetDir := flag.String("d", ".", "target directory")
flag.Parse()
var bfr bytes.Buffer
if err := fetchHeaderImage(&bfr, "https://lmika.org/uploads/2025/pxl-20251120-083552448.jpg"); err != nil {
log.Fatal(err)
}
img, err := imaging.Decode(&bfr, imaging.AutoOrientation(true))
if err != nil {
log.Fatal(err)
}
rImg := imaging.Resize(img, 1280, 0, imaging.Lanczos)
fullPath := filepath.Join(*targetDir, "header.jpg")
if err := os.MkdirAll(filepath.Dir(fullPath), 0755); err != nil {
log.Fatal(err)
}
if err := imaging.Save(rImg, fullPath, imaging.JPEGQuality(70)); err != nil {
log.Fatal(err)
}
}
func fetchHeaderImage(w io.Writer, url string) error {
r, err := http.Get(url)
if err != nil {
return err
}
defer r.Body.Close()
_, err = io.Copy(w, r.Body)
return err
}

8
go.mod Normal file
View file

@ -0,0 +1,8 @@
module lmika.dev/lmika/assets-for-lmika.org
go 1.25.3
require (
github.com/disintegration/imaging v1.6.2 // indirect
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 // indirect
)

5
go.sum Normal file
View file

@ -0,0 +1,5 @@
github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c=
github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 h1:hVwzHzIUGRjiF7EcUjqNxk3NCfkPxbDKRdnNE1Rpg0U=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=