diff --git a/Dockerfile b/Dockerfile index 450673e..4456e04 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM golang:1.26.2-alpine +RUN apk add --no-cache build-base vips-dev + WORKDIR /app COPY . . @@ -8,4 +10,4 @@ RUN go mod download EXPOSE 8000 -CMD ["go", "run", "."] \ No newline at end of file +CMD ["go", "run", "."] diff --git a/go.mod b/go.mod index 5e046e2..3f40c00 100644 --- a/go.mod +++ b/go.mod @@ -3,3 +3,5 @@ module piekarnikgosi go 1.26.2 require github.com/a-h/templ v0.3.1020 + +require github.com/h2non/bimg v1.1.9 // indirect diff --git a/go.sum b/go.sum index 0857b6f..2717b39 100644 --- a/go.sum +++ b/go.sum @@ -2,3 +2,5 @@ github.com/a-h/templ v0.3.1020 h1:ypAT/L5ySWEnZ6Zft/5yfoWXYYkhFNvEFOeeqecg4tw= github.com/a-h/templ v0.3.1020/go.mod h1:A2DlK61v+K+NRoGnhmYbNYVmtYHcFO5/AisMvBdDxTM= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/h2non/bimg v1.1.9 h1:WH20Nxko9l/HFm4kZCA3Phbgu2cbHvYzxwxn9YROEGg= +github.com/h2non/bimg v1.1.9/go.mod h1:R3+UiYwkK4rQl6KVFTOFJHitgLbZXBZNFh2cv3AEbp8= diff --git a/main.go b/main.go index a28a831..ff389d8 100644 --- a/main.go +++ b/main.go @@ -67,7 +67,7 @@ func mergeStyles() { bundledCSS = append(bundledCSS, '\n') } - err := os.WriteFile("www/style.css", bundledCSS, 0644) + err := os.WriteFile("www/style.css", bundledCSS, 0666) if err != nil { log.Fatal(err) } @@ -75,7 +75,7 @@ func mergeStyles() { func ensureDir() { log.Println("creating directories") - err := os.MkdirAll("www", 0644) + err := os.MkdirAll("www/images", 0777) if err != nil { log.Fatal(err) } diff --git a/resources/.DS_Store b/resources/.DS_Store index 3e1880e..d9c145f 100644 Binary files a/resources/.DS_Store and b/resources/.DS_Store differ diff --git a/resources/cakes.go b/resources/cakes.go index c353849..636448d 100644 --- a/resources/cakes.go +++ b/resources/cakes.go @@ -6,17 +6,17 @@ var Cakes = []types.Product{ {Name: "Malinowa chmurka", Image: "001", Price: "150", Description: "kruchy spód, warstwa malin w galaretce, krem śmietankowy, beza"}, {Name: "Sernik ulubiony", Image: "002", Price: "150", Description: "kruchy spód, aksamitna masa serowa, beza z kruszonką"}, {Name: "Jabłecznik z kruszonką", Image: "003", Price: "130", Description: "ciasto ucierane, jabłka, kruszonka"}, - {Name: "Sernik klasyczny", Image: "004", Price: "150", Description: "wykończony czekoladowym ganache lub oprószony cukrem pudrem"}, - {Name: "Sernik królewski", Image: "005", Price: "150", Description: "kakaowy spód i kruszonka, wilgotna masa serowa"}, - {Name: "Pleśniak", Image: "006", Price: "120", Description: "kruche ciasto waniliowe, powidła owocowe, kruche ciasto kakaowe, beza i kruszonka"}, - {Name: "Leśny mech z musem truskawkowym", Image: "007", Price: "110", Description: "biszkoptowe ciasto z dodatkiem szpinaku, mus truskawkowy"}, - {Name: "Snickers", Image: "008", Price: "150", Description: "dwie warstwy kakaowego biszkoptu a pomiędzy bezowy blat orzechowy , krem budyniowy , toffi i,orzeszki ziemne"}, - {Name: "Mleczna kanapka", Image: "009", Price: "120", Description: "dwa blaty czekoladowego ciasta, a pomiędzy krem waniliowy z dodatkiem cienkiej warstwy,czekoladowej"}, - {Name: "3Bit", Image: "010", Price: "120", Description: "herbatniki, krem budyniowy, toffi i śmietana"}, - {Name: "Biszkoptowe z kremem i owocami w galaretce", Image: "011", Price: "120", Description: "biszkopt, krem budyniowy, owoce"}, - {Name: "Kora orzechowa", Image: "012", Price: "150", Description: "dwa blaty bezy orzechowej a pomiędzy krem budyniowy na bazie soku z brzoskwiń, delicje,pomarańczowe, owoce brzoskwiń i galaretka"}, - {Name: "Nutelowiec z wiśniami", Image: "013", Price: "120", Description: "nutelowy spód , krem śmietankowy z dodatkiem twarożku, wiśnie i galaretka"}, - {Name: "Karpatka", Image: "014", Price: "120", Description: ""}, + {Name: "Sernik klasyczny", Image: "001", Price: "150", Description: "wykończony czekoladowym ganache lub oprószony cukrem pudrem"}, + {Name: "Sernik królewski", Image: "001", Price: "150", Description: "kakaowy spód i kruszonka, wilgotna masa serowa"}, + {Name: "Pleśniak", Image: "001", Price: "120", Description: "kruche ciasto waniliowe, powidła owocowe, kruche ciasto kakaowe, beza i kruszonka"}, + {Name: "Leśny mech z musem truskawkowym", Image: "001", Price: "110", Description: "biszkoptowe ciasto z dodatkiem szpinaku, mus truskawkowy"}, + {Name: "Snickers", Image: "001", Price: "150", Description: "dwie warstwy kakaowego biszkoptu a pomiędzy bezowy blat orzechowy , krem budyniowy , toffi i,orzeszki ziemne"}, + {Name: "Mleczna kanapka", Image: "001", Price: "120", Description: "dwa blaty czekoladowego ciasta, a pomiędzy krem waniliowy z dodatkiem cienkiej warstwy,czekoladowej"}, + {Name: "3Bit", Image: "001", Price: "120", Description: "herbatniki, krem budyniowy, toffi i śmietana"}, + {Name: "Biszkoptowe z kremem i owocami w galaretce", Image: "001", Price: "120", Description: "biszkopt, krem budyniowy, owoce"}, + {Name: "Kora orzechowa", Image: "001", Price: "150", Description: "dwa blaty bezy orzechowej a pomiędzy krem budyniowy na bazie soku z brzoskwiń, delicje,pomarańczowe, owoce brzoskwiń i galaretka"}, + {Name: "Nutelowiec z wiśniami", Image: "001", Price: "120", Description: "nutelowy spód , krem śmietankowy z dodatkiem twarożku, wiśnie i galaretka"}, + {Name: "Karpatka", Image: "001", Price: "120", Description: ""}, } var Desserts = []types.Product{ diff --git a/www/images/001.avif b/resources/images/001.avif similarity index 100% rename from www/images/001.avif rename to resources/images/001.avif diff --git a/www/images/002.avif b/resources/images/002.avif similarity index 100% rename from www/images/002.avif rename to resources/images/002.avif diff --git a/www/images/003.avif b/resources/images/003.avif similarity index 100% rename from www/images/003.avif rename to resources/images/003.avif diff --git a/www/images/004.avif b/resources/images/004.avif similarity index 100% rename from www/images/004.avif rename to resources/images/004.avif diff --git a/www/images/005.avif b/resources/images/005.avif similarity index 100% rename from www/images/005.avif rename to resources/images/005.avif diff --git a/www/images/006.avif b/resources/images/006.avif similarity index 100% rename from www/images/006.avif rename to resources/images/006.avif diff --git a/www/images/007.avif b/resources/images/007.avif similarity index 100% rename from www/images/007.avif rename to resources/images/007.avif diff --git a/www/images/008.avif b/resources/images/008.avif similarity index 100% rename from www/images/008.avif rename to resources/images/008.avif diff --git a/www/images/009.avif b/resources/images/009.avif similarity index 100% rename from www/images/009.avif rename to resources/images/009.avif diff --git a/www/images/010.avif b/resources/images/010.avif similarity index 100% rename from www/images/010.avif rename to resources/images/010.avif diff --git a/www/images/favicon.png b/resources/images/favicon.png similarity index 100% rename from www/images/favicon.png rename to resources/images/favicon.png diff --git a/www/images/logo.png b/resources/images/logo.png similarity index 100% rename from www/images/logo.png rename to resources/images/logo.png diff --git a/www/images/wyroby/.DS_Store b/resources/images/wyroby/.DS_Store similarity index 100% rename from www/images/wyroby/.DS_Store rename to resources/images/wyroby/.DS_Store diff --git a/www/images/wyroby/001.avif b/resources/images/wyroby/001.avif similarity index 100% rename from www/images/wyroby/001.avif rename to resources/images/wyroby/001.avif diff --git a/www/images/wyroby/002.avif b/resources/images/wyroby/002.avif similarity index 100% rename from www/images/wyroby/002.avif rename to resources/images/wyroby/002.avif diff --git a/www/images/wyroby/003.avif b/resources/images/wyroby/003.avif similarity index 100% rename from www/images/wyroby/003.avif rename to resources/images/wyroby/003.avif diff --git a/resources/photos/IMG_3615.HEIC b/resources/scr/IMG_3615.HEIC similarity index 100% rename from resources/photos/IMG_3615.HEIC rename to resources/scr/IMG_3615.HEIC diff --git a/resources/photos/IMG_3616.HEIC b/resources/scr/IMG_3616.HEIC similarity index 100% rename from resources/photos/IMG_3616.HEIC rename to resources/scr/IMG_3616.HEIC diff --git a/resources/photos/IMG_3617.HEIC b/resources/scr/IMG_3617.HEIC similarity index 100% rename from resources/photos/IMG_3617.HEIC rename to resources/scr/IMG_3617.HEIC diff --git a/resources/photos/IMG_3618.HEIC b/resources/scr/IMG_3618.HEIC similarity index 100% rename from resources/photos/IMG_3618.HEIC rename to resources/scr/IMG_3618.HEIC diff --git a/resources/photos/IMG_3619.HEIC b/resources/scr/IMG_3619.HEIC similarity index 100% rename from resources/photos/IMG_3619.HEIC rename to resources/scr/IMG_3619.HEIC diff --git a/resources/photos/IMG_3620.HEIC b/resources/scr/IMG_3620.HEIC similarity index 100% rename from resources/photos/IMG_3620.HEIC rename to resources/scr/IMG_3620.HEIC diff --git a/resources/photos/IMG_3621.HEIC b/resources/scr/IMG_3621.HEIC similarity index 100% rename from resources/photos/IMG_3621.HEIC rename to resources/scr/IMG_3621.HEIC diff --git a/resources/photos/IMG_3622.HEIC b/resources/scr/IMG_3622.HEIC similarity index 100% rename from resources/photos/IMG_3622.HEIC rename to resources/scr/IMG_3622.HEIC diff --git a/resources/photos/IMG_3623.HEIC b/resources/scr/IMG_3623.HEIC similarity index 100% rename from resources/photos/IMG_3623.HEIC rename to resources/scr/IMG_3623.HEIC diff --git a/resources/photos/IMG_3624.HEIC b/resources/scr/IMG_3624.HEIC similarity index 100% rename from resources/photos/IMG_3624.HEIC rename to resources/scr/IMG_3624.HEIC diff --git a/resources/photos/IMG_3625.HEIC b/resources/scr/IMG_3625.HEIC similarity index 100% rename from resources/photos/IMG_3625.HEIC rename to resources/scr/IMG_3625.HEIC diff --git a/resources/photos/IMG_3626.HEIC b/resources/scr/IMG_3626.HEIC similarity index 100% rename from resources/photos/IMG_3626.HEIC rename to resources/scr/IMG_3626.HEIC diff --git a/resources/photos/IMG_3627.HEIC b/resources/scr/IMG_3627.HEIC similarity index 100% rename from resources/photos/IMG_3627.HEIC rename to resources/scr/IMG_3627.HEIC diff --git a/resources/photos/IMG_3628.HEIC b/resources/scr/IMG_3628.HEIC similarity index 100% rename from resources/photos/IMG_3628.HEIC rename to resources/scr/IMG_3628.HEIC diff --git a/resources/photos/IMG_3629.HEIC b/resources/scr/IMG_3629.HEIC similarity index 100% rename from resources/photos/IMG_3629.HEIC rename to resources/scr/IMG_3629.HEIC diff --git a/resources/photos/IMG_3630.HEIC b/resources/scr/IMG_3630.HEIC similarity index 100% rename from resources/photos/IMG_3630.HEIC rename to resources/scr/IMG_3630.HEIC diff --git a/resources/photos/IMG_3631.HEIC b/resources/scr/IMG_3631.HEIC similarity index 100% rename from resources/photos/IMG_3631.HEIC rename to resources/scr/IMG_3631.HEIC diff --git a/resources/photos/IMG_3632.HEIC b/resources/scr/IMG_3632.HEIC similarity index 100% rename from resources/photos/IMG_3632.HEIC rename to resources/scr/IMG_3632.HEIC diff --git a/resources/photos/IMG_3633.HEIC b/resources/scr/IMG_3633.HEIC similarity index 100% rename from resources/photos/IMG_3633.HEIC rename to resources/scr/IMG_3633.HEIC diff --git a/resources/photos/IMG_3634.HEIC b/resources/scr/IMG_3634.HEIC similarity index 100% rename from resources/photos/IMG_3634.HEIC rename to resources/scr/IMG_3634.HEIC diff --git a/resources/photos/IMG_3635.HEIC b/resources/scr/IMG_3635.HEIC similarity index 100% rename from resources/photos/IMG_3635.HEIC rename to resources/scr/IMG_3635.HEIC diff --git a/resources/photos/IMG_3636.HEIC b/resources/scr/IMG_3636.HEIC similarity index 100% rename from resources/photos/IMG_3636.HEIC rename to resources/scr/IMG_3636.HEIC diff --git a/resources/photos/IMG_3637.HEIC b/resources/scr/IMG_3637.HEIC similarity index 100% rename from resources/photos/IMG_3637.HEIC rename to resources/scr/IMG_3637.HEIC diff --git a/resources/photos/IMG_3638.HEIC b/resources/scr/IMG_3638.HEIC similarity index 100% rename from resources/photos/IMG_3638.HEIC rename to resources/scr/IMG_3638.HEIC diff --git a/resources/photos/IMG_3639.HEIC b/resources/scr/IMG_3639.HEIC similarity index 100% rename from resources/photos/IMG_3639.HEIC rename to resources/scr/IMG_3639.HEIC diff --git a/resources/photos/IMG_3640.HEIC b/resources/scr/IMG_3640.HEIC similarity index 100% rename from resources/photos/IMG_3640.HEIC rename to resources/scr/IMG_3640.HEIC diff --git a/resources/photos/IMG_3641.HEIC b/resources/scr/IMG_3641.HEIC similarity index 100% rename from resources/photos/IMG_3641.HEIC rename to resources/scr/IMG_3641.HEIC diff --git a/resources/photos/IMG_3642.HEIC b/resources/scr/IMG_3642.HEIC similarity index 100% rename from resources/photos/IMG_3642.HEIC rename to resources/scr/IMG_3642.HEIC diff --git a/resources/photos/IMG_3643.HEIC b/resources/scr/IMG_3643.HEIC similarity index 100% rename from resources/photos/IMG_3643.HEIC rename to resources/scr/IMG_3643.HEIC diff --git a/resources/photos/IMG_3644.HEIC b/resources/scr/IMG_3644.HEIC similarity index 100% rename from resources/photos/IMG_3644.HEIC rename to resources/scr/IMG_3644.HEIC diff --git a/resources/photos/IMG_3645.HEIC b/resources/scr/IMG_3645.HEIC similarity index 100% rename from resources/photos/IMG_3645.HEIC rename to resources/scr/IMG_3645.HEIC diff --git a/resources/photos/IMG_3646.HEIC b/resources/scr/IMG_3646.HEIC similarity index 100% rename from resources/photos/IMG_3646.HEIC rename to resources/scr/IMG_3646.HEIC diff --git a/resources/photos/IMG_3647.HEIC b/resources/scr/IMG_3647.HEIC similarity index 100% rename from resources/photos/IMG_3647.HEIC rename to resources/scr/IMG_3647.HEIC diff --git a/resources/photos/IMG_3648.HEIC b/resources/scr/IMG_3648.HEIC similarity index 100% rename from resources/photos/IMG_3648.HEIC rename to resources/scr/IMG_3648.HEIC diff --git a/resources/photos/IMG_3649.HEIC b/resources/scr/IMG_3649.HEIC similarity index 100% rename from resources/photos/IMG_3649.HEIC rename to resources/scr/IMG_3649.HEIC diff --git a/resources/photos/IMG_3650.HEIC b/resources/scr/IMG_3650.HEIC similarity index 100% rename from resources/photos/IMG_3650.HEIC rename to resources/scr/IMG_3650.HEIC diff --git a/resources/photos/IMG_3651.HEIC b/resources/scr/IMG_3651.HEIC similarity index 100% rename from resources/photos/IMG_3651.HEIC rename to resources/scr/IMG_3651.HEIC diff --git a/resources/photos/IMG_3652.HEIC b/resources/scr/IMG_3652.HEIC similarity index 100% rename from resources/photos/IMG_3652.HEIC rename to resources/scr/IMG_3652.HEIC diff --git a/resources/photos/IMG_3653.HEIC b/resources/scr/IMG_3653.HEIC similarity index 100% rename from resources/photos/IMG_3653.HEIC rename to resources/scr/IMG_3653.HEIC diff --git a/resources/photos/IMG_3654.HEIC b/resources/scr/IMG_3654.HEIC similarity index 100% rename from resources/photos/IMG_3654.HEIC rename to resources/scr/IMG_3654.HEIC diff --git a/resources/photos/IMG_3655.HEIC b/resources/scr/IMG_3655.HEIC similarity index 100% rename from resources/photos/IMG_3655.HEIC rename to resources/scr/IMG_3655.HEIC diff --git a/resources/photos/IMG_3656.HEIC b/resources/scr/IMG_3656.HEIC similarity index 100% rename from resources/photos/IMG_3656.HEIC rename to resources/scr/IMG_3656.HEIC diff --git a/resources/photos/IMG_3657.HEIC b/resources/scr/IMG_3657.HEIC similarity index 100% rename from resources/photos/IMG_3657.HEIC rename to resources/scr/IMG_3657.HEIC diff --git a/resources/photos/IMG_3658.HEIC b/resources/scr/IMG_3658.HEIC similarity index 100% rename from resources/photos/IMG_3658.HEIC rename to resources/scr/IMG_3658.HEIC diff --git a/resources/photos/IMG_3659.HEIC b/resources/scr/IMG_3659.HEIC similarity index 100% rename from resources/photos/IMG_3659.HEIC rename to resources/scr/IMG_3659.HEIC diff --git a/resources/photos/IMG_3660.HEIC b/resources/scr/IMG_3660.HEIC similarity index 100% rename from resources/photos/IMG_3660.HEIC rename to resources/scr/IMG_3660.HEIC diff --git a/resources/photos/IMG_3661.HEIC b/resources/scr/IMG_3661.HEIC similarity index 100% rename from resources/photos/IMG_3661.HEIC rename to resources/scr/IMG_3661.HEIC diff --git a/resources/photos/IMG_3662.HEIC b/resources/scr/IMG_3662.HEIC similarity index 100% rename from resources/photos/IMG_3662.HEIC rename to resources/scr/IMG_3662.HEIC diff --git a/resources/photos/IMG_3663.HEIC b/resources/scr/IMG_3663.HEIC similarity index 100% rename from resources/photos/IMG_3663.HEIC rename to resources/scr/IMG_3663.HEIC diff --git a/resources/photos/IMG_3664.HEIC b/resources/scr/IMG_3664.HEIC similarity index 100% rename from resources/photos/IMG_3664.HEIC rename to resources/scr/IMG_3664.HEIC diff --git a/resources/photos/IMG_3665.HEIC b/resources/scr/IMG_3665.HEIC similarity index 100% rename from resources/photos/IMG_3665.HEIC rename to resources/scr/IMG_3665.HEIC diff --git a/resources/photos/IMG_3666.HEIC b/resources/scr/IMG_3666.HEIC similarity index 100% rename from resources/photos/IMG_3666.HEIC rename to resources/scr/IMG_3666.HEIC diff --git a/resources/photos/IMG_3667.HEIC b/resources/scr/IMG_3667.HEIC similarity index 100% rename from resources/photos/IMG_3667.HEIC rename to resources/scr/IMG_3667.HEIC diff --git a/resources/photos/IMG_3668.HEIC b/resources/scr/IMG_3668.HEIC similarity index 100% rename from resources/photos/IMG_3668.HEIC rename to resources/scr/IMG_3668.HEIC diff --git a/resources/photos/IMG_3669.HEIC b/resources/scr/IMG_3669.HEIC similarity index 100% rename from resources/photos/IMG_3669.HEIC rename to resources/scr/IMG_3669.HEIC diff --git a/resources/photos/IMG_3670.HEIC b/resources/scr/IMG_3670.HEIC similarity index 100% rename from resources/photos/IMG_3670.HEIC rename to resources/scr/IMG_3670.HEIC diff --git a/resources/photos/IMG_3671.HEIC b/resources/scr/IMG_3671.HEIC similarity index 100% rename from resources/photos/IMG_3671.HEIC rename to resources/scr/IMG_3671.HEIC diff --git a/resources/photos/IMG_3672.HEIC b/resources/scr/IMG_3672.HEIC similarity index 100% rename from resources/photos/IMG_3672.HEIC rename to resources/scr/IMG_3672.HEIC diff --git a/resources/photos/IMG_3673.HEIC b/resources/scr/IMG_3673.HEIC similarity index 100% rename from resources/photos/IMG_3673.HEIC rename to resources/scr/IMG_3673.HEIC diff --git a/resources/photos/IMG_3674.HEIC b/resources/scr/IMG_3674.HEIC similarity index 100% rename from resources/photos/IMG_3674.HEIC rename to resources/scr/IMG_3674.HEIC diff --git a/resources/photos/IMG_3675.HEIC b/resources/scr/IMG_3675.HEIC similarity index 100% rename from resources/photos/IMG_3675.HEIC rename to resources/scr/IMG_3675.HEIC diff --git a/resources/photos/IMG_3676.HEIC b/resources/scr/IMG_3676.HEIC similarity index 100% rename from resources/photos/IMG_3676.HEIC rename to resources/scr/IMG_3676.HEIC diff --git a/resources/photos/IMG_3677.HEIC b/resources/scr/IMG_3677.HEIC similarity index 100% rename from resources/photos/IMG_3677.HEIC rename to resources/scr/IMG_3677.HEIC diff --git a/resources/photos/IMG_3678.HEIC b/resources/scr/IMG_3678.HEIC similarity index 100% rename from resources/photos/IMG_3678.HEIC rename to resources/scr/IMG_3678.HEIC diff --git a/resources/photos/IMG_3679.HEIC b/resources/scr/IMG_3679.HEIC similarity index 100% rename from resources/photos/IMG_3679.HEIC rename to resources/scr/IMG_3679.HEIC diff --git a/resources/photos/IMG_3680.HEIC b/resources/scr/IMG_3680.HEIC similarity index 100% rename from resources/photos/IMG_3680.HEIC rename to resources/scr/IMG_3680.HEIC diff --git a/resources/photos/IMG_3681.HEIC b/resources/scr/IMG_3681.HEIC similarity index 100% rename from resources/photos/IMG_3681.HEIC rename to resources/scr/IMG_3681.HEIC diff --git a/resources/photos/IMG_3682.HEIC b/resources/scr/IMG_3682.HEIC similarity index 100% rename from resources/photos/IMG_3682.HEIC rename to resources/scr/IMG_3682.HEIC diff --git a/resources/photos/IMG_3683.HEIC b/resources/scr/IMG_3683.HEIC similarity index 100% rename from resources/photos/IMG_3683.HEIC rename to resources/scr/IMG_3683.HEIC diff --git a/resources/photos/IMG_3684.HEIC b/resources/scr/IMG_3684.HEIC similarity index 100% rename from resources/photos/IMG_3684.HEIC rename to resources/scr/IMG_3684.HEIC diff --git a/resources/photos/IMG_3685.HEIC b/resources/scr/IMG_3685.HEIC similarity index 100% rename from resources/photos/IMG_3685.HEIC rename to resources/scr/IMG_3685.HEIC diff --git a/resources/photos/IMG_3686.HEIC b/resources/scr/IMG_3686.HEIC similarity index 100% rename from resources/photos/IMG_3686.HEIC rename to resources/scr/IMG_3686.HEIC diff --git a/resources/photos/IMG_3687.HEIC b/resources/scr/IMG_3687.HEIC similarity index 100% rename from resources/photos/IMG_3687.HEIC rename to resources/scr/IMG_3687.HEIC diff --git a/resources/photos/IMG_3688.HEIC b/resources/scr/IMG_3688.HEIC similarity index 100% rename from resources/photos/IMG_3688.HEIC rename to resources/scr/IMG_3688.HEIC diff --git a/resources/photos/IMG_3689.HEIC b/resources/scr/IMG_3689.HEIC similarity index 100% rename from resources/photos/IMG_3689.HEIC rename to resources/scr/IMG_3689.HEIC diff --git a/resources/photos/IMG_3690.HEIC b/resources/scr/IMG_3690.HEIC similarity index 100% rename from resources/photos/IMG_3690.HEIC rename to resources/scr/IMG_3690.HEIC diff --git a/resources/photos/IMG_3691.HEIC b/resources/scr/IMG_3691.HEIC similarity index 100% rename from resources/photos/IMG_3691.HEIC rename to resources/scr/IMG_3691.HEIC diff --git a/resources/photos/IMG_3692.HEIC b/resources/scr/IMG_3692.HEIC similarity index 100% rename from resources/photos/IMG_3692.HEIC rename to resources/scr/IMG_3692.HEIC diff --git a/resources/photos/IMG_3894.HEIC b/resources/scr/IMG_3894.HEIC similarity index 100% rename from resources/photos/IMG_3894.HEIC rename to resources/scr/IMG_3894.HEIC diff --git a/resources/photos/IMG_3895.HEIC b/resources/scr/IMG_3895.HEIC similarity index 100% rename from resources/photos/IMG_3895.HEIC rename to resources/scr/IMG_3895.HEIC diff --git a/resources/photos/IMG_3908.HEIC b/resources/scr/IMG_3908.HEIC similarity index 100% rename from resources/photos/IMG_3908.HEIC rename to resources/scr/IMG_3908.HEIC diff --git a/resources/photos/IMG_3909.HEIC b/resources/scr/IMG_3909.HEIC similarity index 100% rename from resources/photos/IMG_3909.HEIC rename to resources/scr/IMG_3909.HEIC diff --git a/resources/photos/IMG_3910.HEIC b/resources/scr/IMG_3910.HEIC similarity index 100% rename from resources/photos/IMG_3910.HEIC rename to resources/scr/IMG_3910.HEIC diff --git a/resources/photos/IMG_7529.HEIC b/resources/scr/IMG_7529.HEIC similarity index 100% rename from resources/photos/IMG_7529.HEIC rename to resources/scr/IMG_7529.HEIC diff --git a/resources/photos/IMG_7530.HEIC b/resources/scr/IMG_7530.HEIC similarity index 100% rename from resources/photos/IMG_7530.HEIC rename to resources/scr/IMG_7530.HEIC diff --git a/resources/photos/IMG_7537.HEIC b/resources/scr/IMG_7537.HEIC similarity index 100% rename from resources/photos/IMG_7537.HEIC rename to resources/scr/IMG_7537.HEIC diff --git a/resources/photos/IMG_7538.HEIC b/resources/scr/IMG_7538.HEIC similarity index 100% rename from resources/photos/IMG_7538.HEIC rename to resources/scr/IMG_7538.HEIC diff --git a/resources/photos/IMG_7539.HEIC b/resources/scr/IMG_7539.HEIC similarity index 100% rename from resources/photos/IMG_7539.HEIC rename to resources/scr/IMG_7539.HEIC diff --git a/resources/photos/IMG_7540.HEIC b/resources/scr/IMG_7540.HEIC similarity index 100% rename from resources/photos/IMG_7540.HEIC rename to resources/scr/IMG_7540.HEIC diff --git a/resources/photos/IMG_7541.HEIC b/resources/scr/IMG_7541.HEIC similarity index 100% rename from resources/photos/IMG_7541.HEIC rename to resources/scr/IMG_7541.HEIC diff --git a/resources/photos/IMG_7542.HEIC b/resources/scr/IMG_7542.HEIC similarity index 100% rename from resources/photos/IMG_7542.HEIC rename to resources/scr/IMG_7542.HEIC diff --git a/templates/image.templ b/templates/image.templ new file mode 100644 index 0000000..abf0d3a --- /dev/null +++ b/templates/image.templ @@ -0,0 +1,52 @@ +package templates + +import ( + "crypto/sha256" + "encoding/hex" + "github.com/h2non/bimg" + "log" + "os" +) + +func processFilename(input string) (src, dst string) { + src = "resources/images/" + input + hash := sha256.Sum256([]byte(input)) + dst = "www/images/" + hex.EncodeToString(hash[:])[:16] + ".avif" + return src, dst +} + +func convertToAvif(fileName string) string { + src, dst := processFilename(fileName) + + _, err := os.Stat(dst) + if err == nil { + return dst[4:] + } + + log.Printf("generating image: %s %s", src, dst) + + buffer, err := bimg.Read(src) + if err != nil { + log.Fatal(err) + } + + options := bimg.Options{ + Type: bimg.AVIF, + Quality: 85, + } + newImage, err := bimg.NewImage(buffer).Process(options) + + if err != nil { + log.Fatal(err) + } + + if err := bimg.Write(dst, newImage); err != nil { + log.Fatal(err) + } + + return dst[4:] +} + +templ AvifImage(srcPath, alt string) { + { +} diff --git a/templates/image_templ.go b/templates/image_templ.go new file mode 100644 index 0000000..dd68706 --- /dev/null +++ b/templates/image_templ.go @@ -0,0 +1,113 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.3.1020 +package templates + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import templruntime "github.com/a-h/templ/runtime" + +import ( + "crypto/sha256" + "encoding/hex" + "github.com/h2non/bimg" + "log" + "os" +) + +func processFilename(input string) (src, dst string) { + src = "resources/images/" + input + hash := sha256.Sum256([]byte(input)) + dst = "www/images/" + hex.EncodeToString(hash[:])[:16] + ".avif" + return src, dst +} + +func convertToAvif(fileName string) string { + src, dst := processFilename(fileName) + + _, err := os.Stat(dst) + if err == nil { + return dst[4:] + } + + log.Printf("generating image: %s %s", src, dst) + + buffer, err := bimg.Read(src) + if err != nil { + log.Fatal(err) + } + + options := bimg.Options{ + Type: bimg.AVIF, + Quality: 85, + } + newImage, err := bimg.NewImage(buffer).Process(options) + + if err != nil { + log.Fatal(err) + } + + if err := bimg.Write(dst, newImage); err != nil { + log.Fatal(err) + } + + return dst[4:] +} + +func AvifImage(srcPath, alt string) templ.Component { + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { + return templ_7745c5c3_CtxErr + } + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) + if !templ_7745c5c3_IsBuffer { + defer func() { + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) + if templ_7745c5c3_Err == nil { + templ_7745c5c3_Err = templ_7745c5c3_BufErr + } + }() + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "\"")") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + return nil + }) +} + +var _ = templruntime.GeneratedTemplate diff --git a/templates/index.templ b/templates/index.templ index 0995721..d534966 100644 --- a/templates/index.templ +++ b/templates/index.templ @@ -13,17 +13,17 @@ templ Index() { Zobacz naszą ofertę
- tort + @AvifImage("001.avif", "tort")
- kawiarnia + @AvifImage("002.avif", "kawiarnia")
- kawiarnia + @AvifImage("003.avif", "kawiarnia")
@@ -45,7 +45,7 @@ templ Index() {

Nasze Wyroby

- tort + @AvifImage("004.avif", "tort")

Torty Okazjonalne

@@ -72,7 +72,7 @@ templ Index() {
- ciasto + @AvifImage("005.avif", "ciasto")

Domowe Ciasta

@@ -99,7 +99,7 @@ templ Index() {
- slodkosci + @AvifImage("006.avif", "slodkosci")

Słodkie Stoły

@@ -181,10 +181,10 @@ templ Index() {
- kawiarnia + @AvifImage("007.avif", "kawiarnia")
- ciasto i kawa + @AvifImage("008.avif", "ciasto i kawa")
diff --git a/templates/index_templ.go b/templates/index_templ.go index bb5b154..1d8f113 100644 --- a/templates/index_templ.go +++ b/templates/index_templ.go @@ -41,7 +41,71 @@ func Index() templ.Component { }() } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "

Słodkości tworzone z pasją

Naturalne składniki, domowe receptury i pasja. Tworzymy torty i wypieki na Twoje najważniejsze chwile - od codziennych radości po wielkie uroczystości

Zobacz naszą ofertę
\"tort\"
\"kawiarnia\"
\"kawiarnia\"
Tradycja i serce

O nas

„Piekarnik Gosi” to marzenie, które udało mi się zrealizować dzięki wsparciu i pomocy moich najbliższych. To pracownia cukiernicza stworzona z zamiłowania do pieczenia. Tworzę z pasją, z najwyższej jakości składników, słodkości, które uświetnią każdą uroczystość oraz spotkanie. Wszystkie wypieki wykonuje od podstaw własnoręcznie : od biszkoptu , frużelin owocowych, chrupek , kremów aż po elementy dekoracyjne. W mojej ofercie znajdują się torty weselne, słodkie stoły, torty okazjonalne, tarty i ciasta wykonywane na indywidualne zamówienia. Co wyróżnia moją pracownię? Domowy i naturalny smak 🙂 Realizuje życzenia klientów ze starannością i pełnym zaangażowaniem.

Nasze Wyroby

\"tort\"

Torty Okazjonalne

Weselne, urodzinowe i te bez okazji – od klasyki po nowoczesne musy.

Przeglądaj Torty
\"ciasto\"

Domowe Ciasta

Zapach tradycji: od serników po puszyste bezy

Wyberz ciasto
\"slodkosci\"

Słodkie Stoły

Kompleksowa oprawa słodkości na większe przyjęcia.

Sprawdź słodkie stoły

Twój drugi dom

Poczuj się jak w domu. Codziennie czekają na Ciebie świeże wypieki prosto z naszej pracowni, selekcja najlepszych herbat i przepyszna kawa. To tutaj nasze ciasta smakują najlepiej – podane z uśmiechem, w miejscu stworzonym z pasji do słodkości.

  • Miła atmosfera
  • Darmowe wifi
\"kawiarnia\"
\"ciasto
") + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "

Słodkości tworzone z pasją

Naturalne składniki, domowe receptury i pasja. Tworzymy torty i wypieki na Twoje najważniejsze chwile - od codziennych radości po wielkie uroczystości

Zobacz naszą ofertę
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("001.avif", "tort").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("002.avif", "kawiarnia").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("003.avif", "kawiarnia").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "
Tradycja i serce

O nas

„Piekarnik Gosi” to marzenie, które udało mi się zrealizować dzięki wsparciu i pomocy moich najbliższych. To pracownia cukiernicza stworzona z zamiłowania do pieczenia. Tworzę z pasją, z najwyższej jakości składników, słodkości, które uświetnią każdą uroczystość oraz spotkanie. Wszystkie wypieki wykonuje od podstaw własnoręcznie : od biszkoptu , frużelin owocowych, chrupek , kremów aż po elementy dekoracyjne. W mojej ofercie znajdują się torty weselne, słodkie stoły, torty okazjonalne, tarty i ciasta wykonywane na indywidualne zamówienia. Co wyróżnia moją pracownię? Domowy i naturalny smak 🙂 Realizuje życzenia klientów ze starannością i pełnym zaangażowaniem.

Nasze Wyroby

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("004.avif", "tort").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "

Torty Okazjonalne

Weselne, urodzinowe i te bez okazji – od klasyki po nowoczesne musy.

Przeglądaj Torty
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("005.avif", "ciasto").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "

Domowe Ciasta

Zapach tradycji: od serników po puszyste bezy

Wyberz ciasto
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("006.avif", "slodkosci").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "

Słodkie Stoły

Kompleksowa oprawa słodkości na większe przyjęcia.

Sprawdź słodkie stoły

Twój drugi dom

Poczuj się jak w domu. Codziennie czekają na Ciebie świeże wypieki prosto z naszej pracowni, selekcja najlepszych herbat i przepyszna kawa. To tutaj nasze ciasta smakują najlepiej – podane z uśmiechem, w miejscu stworzonym z pasji do słodkości.

  • Miła atmosfera
  • Darmowe wifi
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("007.avif", "kawiarnia").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("008.avif", "ciasto i kawa").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/templates/kawiarnia.templ b/templates/kawiarnia.templ index bb8c944..940527c 100644 --- a/templates/kawiarnia.templ +++ b/templates/kawiarnia.templ @@ -13,7 +13,7 @@ templ Kawiarnia() {

- kawiarnia + @AvifImage("009.avif", "kawiarnia")
diff --git a/templates/kawiarnia_templ.go b/templates/kawiarnia_templ.go index 6c23405..484494a 100644 --- a/templates/kawiarnia_templ.go +++ b/templates/kawiarnia_templ.go @@ -41,7 +41,15 @@ func Kawiarnia() templ.Component { }() } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
Miejsce spotkań

Chwila wytchnienia w sercu tradycji

Zapraszamy do naszej kawiarni, gdzie zapach świeżo mielonej kawy miesza się z aromatem wypieków prosto z pieca.

\"kawiarnia\"

Odwiedź nas

Czekamy na ciebie z świeżymi wypiekami i ciepłą kawą. Znajdź nas w samym centrum miasta.

Adres

ul. Dworcowa 3a
83-300 Kartuzy

Godziny Otwarcia

  • pn-pt9:00-19:00
  • sb-nd10:00-20:00

Zadzwoń do nas

Masz pytania? Chcesz zarezerwować stolik?

690 214 515

Nasza karta

Kawy

  • Espresso

    8 PLN
  • Espresso podwójne

    12 PLN
  • Espresso Affogato

    17 PLN
  • Americano

    10 PLN
  • Flat White

    12 PLN
  • Cappucino

    12 PLN
  • Caffee Latte

    14 PLN
  • Latte Macchiato

    15 PLN
  • Kawa Mrożona

    22 PLN
  • Ice Latte

    20 PLN
  • Dodatki

  • Bita śmietana

    4 PLN
  • Syrop

    2 PLN
  • Dodatkowa porcja espresso

    2 PLN

Słodkości

    Codziennie pieczemy coś innego! Zapytaj obsługę o dzisiejsze smaki.

  • Domowe ciasta

    10 - 20 LN
  • Deserki

    5 - 15 PLN
  • Mini Pavlova

    12 PLN

Herbaty

  • Czarna

    10 PLN
  • Zielona

    10 PLN
  • Cytryna

    10 PLN
  • Imbir

    10 PLN
  • Owocowa

    10 PLN
  • Cappucino

    10 PLN
  • Ice Tea

    18 PLN

Napoje

  • Woda gazowana

    6 PLN
  • Woda niegazowana

    6 PLN
  • Coca Cola

    8 PLN
  • Fanta

    8 PLN
  • Smoothie owocowe

    20 PLN
  • Milkshake

    24 PLN
  • Lemoniada

    18 PLN

Lody

  • Mała gałka

    6 PLN
  • Duża gałka

    8 PLN
  • Deser Lodowy

    26 PLN
  • Małe włoskie

    10 PLN
  • Duże włoskie

    14 PLN

Gofry

  • Gofr

    12 PLN
  • Gofr bąbelkowy

    24 PLN
  • Dodatki

  • Owoce

    5 PLN
  • Bita śmietana

    4 PLN
  • Posypka i/lub polewa

    2 PLN
  • Frużelina

    14 PLN
") + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "
Miejsce spotkań

Chwila wytchnienia w sercu tradycji

Zapraszamy do naszej kawiarni, gdzie zapach świeżo mielonej kawy miesza się z aromatem wypieków prosto z pieca.

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = AvifImage("009.avif", "kawiarnia").Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "

Odwiedź nas

Czekamy na ciebie z świeżymi wypiekami i ciepłą kawą. Znajdź nas w samym centrum miasta.

Adres

ul. Dworcowa 3a
83-300 Kartuzy

Godziny Otwarcia

  • pn-pt9:00-19:00
  • sb-nd10:00-20:00

Zadzwoń do nas

Masz pytania? Chcesz zarezerwować stolik?

690 214 515

Nasza karta

Kawy

  • Espresso

    8 PLN
  • Espresso podwójne

    12 PLN
  • Espresso Affogato

    17 PLN
  • Americano

    10 PLN
  • Flat White

    12 PLN
  • Cappucino

    12 PLN
  • Caffee Latte

    14 PLN
  • Latte Macchiato

    15 PLN
  • Kawa Mrożona

    22 PLN
  • Ice Latte

    20 PLN
  • Dodatki

  • Bita śmietana

    4 PLN
  • Syrop

    2 PLN
  • Dodatkowa porcja espresso

    2 PLN

Słodkości

    Codziennie pieczemy coś innego! Zapytaj obsługę o dzisiejsze smaki.

  • Domowe ciasta

    10 - 20 LN
  • Deserki

    5 - 15 PLN
  • Mini Pavlova

    12 PLN

Herbaty

  • Czarna

    10 PLN
  • Zielona

    10 PLN
  • Cytryna

    10 PLN
  • Imbir

    10 PLN
  • Owocowa

    10 PLN
  • Cappucino

    10 PLN
  • Ice Tea

    18 PLN

Napoje

  • Woda gazowana

    6 PLN
  • Woda niegazowana

    6 PLN
  • Coca Cola

    8 PLN
  • Fanta

    8 PLN
  • Smoothie owocowe

    20 PLN
  • Milkshake

    24 PLN
  • Lemoniada

    18 PLN

Lody

  • Mała gałka

    6 PLN
  • Duża gałka

    8 PLN
  • Deser Lodowy

    26 PLN
  • Małe włoskie

    10 PLN
  • Duże włoskie

    14 PLN

Gofry

  • Gofr

    12 PLN
  • Gofr bąbelkowy

    24 PLN
  • Dodatki

  • Owoce

    5 PLN
  • Bita śmietana

    4 PLN
  • Posypka i/lub polewa

    2 PLN
  • Frużelina

    14 PLN
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/templates/layout.templ b/templates/layout.templ index c16dba9..2a0bedb 100644 --- a/templates/layout.templ +++ b/templates/layout.templ @@ -17,7 +17,7 @@ templ layout(activePage string) {