From f8f6e7d9134aad0d7316bc63855eaa4faacfe9ba Mon Sep 17 00:00:00 2001 From: bronkuu Date: Wed, 27 May 2026 16:23:55 +0200 Subject: [PATCH] images --- Dockerfile | 4 +- go.mod | 2 + go.sum | 2 + main.go | 4 +- resources/.DS_Store | Bin 14340 -> 14340 bytes resources/cakes.go | 22 ++-- {www => resources}/images/001.avif | Bin {www => resources}/images/002.avif | Bin {www => resources}/images/003.avif | Bin {www => resources}/images/004.avif | Bin {www => resources}/images/005.avif | Bin {www => resources}/images/006.avif | Bin {www => resources}/images/007.avif | Bin {www => resources}/images/008.avif | Bin {www => resources}/images/009.avif | Bin {www => resources}/images/010.avif | Bin {www => resources}/images/favicon.png | Bin {www => resources}/images/logo.png | Bin {www => resources}/images/wyroby/.DS_Store | Bin {www => resources}/images/wyroby/001.avif | Bin {www => resources}/images/wyroby/002.avif | Bin {www => resources}/images/wyroby/003.avif | Bin resources/{photos => scr}/IMG_3615.HEIC | Bin resources/{photos => scr}/IMG_3616.HEIC | Bin resources/{photos => scr}/IMG_3617.HEIC | Bin resources/{photos => scr}/IMG_3618.HEIC | Bin resources/{photos => scr}/IMG_3619.HEIC | Bin resources/{photos => scr}/IMG_3620.HEIC | Bin resources/{photos => scr}/IMG_3621.HEIC | Bin resources/{photos => scr}/IMG_3622.HEIC | Bin resources/{photos => scr}/IMG_3623.HEIC | Bin resources/{photos => scr}/IMG_3624.HEIC | Bin resources/{photos => scr}/IMG_3625.HEIC | Bin resources/{photos => scr}/IMG_3626.HEIC | Bin resources/{photos => scr}/IMG_3627.HEIC | Bin resources/{photos => scr}/IMG_3628.HEIC | Bin resources/{photos => scr}/IMG_3629.HEIC | Bin resources/{photos => scr}/IMG_3630.HEIC | Bin resources/{photos => scr}/IMG_3631.HEIC | Bin resources/{photos => scr}/IMG_3632.HEIC | Bin resources/{photos => scr}/IMG_3633.HEIC | Bin resources/{photos => scr}/IMG_3634.HEIC | Bin resources/{photos => scr}/IMG_3635.HEIC | Bin resources/{photos => scr}/IMG_3636.HEIC | Bin resources/{photos => scr}/IMG_3637.HEIC | Bin resources/{photos => scr}/IMG_3638.HEIC | Bin resources/{photos => scr}/IMG_3639.HEIC | Bin resources/{photos => scr}/IMG_3640.HEIC | Bin resources/{photos => scr}/IMG_3641.HEIC | Bin resources/{photos => scr}/IMG_3642.HEIC | Bin resources/{photos => scr}/IMG_3643.HEIC | Bin resources/{photos => scr}/IMG_3644.HEIC | Bin resources/{photos => scr}/IMG_3645.HEIC | Bin resources/{photos => scr}/IMG_3646.HEIC | Bin resources/{photos => scr}/IMG_3647.HEIC | Bin resources/{photos => scr}/IMG_3648.HEIC | Bin resources/{photos => scr}/IMG_3649.HEIC | Bin resources/{photos => scr}/IMG_3650.HEIC | Bin resources/{photos => scr}/IMG_3651.HEIC | Bin resources/{photos => scr}/IMG_3652.HEIC | Bin resources/{photos => scr}/IMG_3653.HEIC | Bin resources/{photos => scr}/IMG_3654.HEIC | Bin resources/{photos => scr}/IMG_3655.HEIC | Bin resources/{photos => scr}/IMG_3656.HEIC | Bin resources/{photos => scr}/IMG_3657.HEIC | Bin resources/{photos => scr}/IMG_3658.HEIC | Bin resources/{photos => scr}/IMG_3659.HEIC | Bin resources/{photos => scr}/IMG_3660.HEIC | Bin resources/{photos => scr}/IMG_3661.HEIC | Bin resources/{photos => scr}/IMG_3662.HEIC | Bin resources/{photos => scr}/IMG_3663.HEIC | Bin resources/{photos => scr}/IMG_3664.HEIC | Bin resources/{photos => scr}/IMG_3665.HEIC | Bin resources/{photos => scr}/IMG_3666.HEIC | Bin resources/{photos => scr}/IMG_3667.HEIC | Bin resources/{photos => scr}/IMG_3668.HEIC | Bin resources/{photos => scr}/IMG_3669.HEIC | Bin resources/{photos => scr}/IMG_3670.HEIC | Bin resources/{photos => scr}/IMG_3671.HEIC | Bin resources/{photos => scr}/IMG_3672.HEIC | Bin resources/{photos => scr}/IMG_3673.HEIC | Bin resources/{photos => scr}/IMG_3674.HEIC | Bin resources/{photos => scr}/IMG_3675.HEIC | Bin resources/{photos => scr}/IMG_3676.HEIC | Bin resources/{photos => scr}/IMG_3677.HEIC | Bin resources/{photos => scr}/IMG_3678.HEIC | Bin resources/{photos => scr}/IMG_3679.HEIC | Bin resources/{photos => scr}/IMG_3680.HEIC | Bin resources/{photos => scr}/IMG_3681.HEIC | Bin resources/{photos => scr}/IMG_3682.HEIC | Bin resources/{photos => scr}/IMG_3683.HEIC | Bin resources/{photos => scr}/IMG_3684.HEIC | Bin resources/{photos => scr}/IMG_3685.HEIC | Bin resources/{photos => scr}/IMG_3686.HEIC | Bin resources/{photos => scr}/IMG_3687.HEIC | Bin resources/{photos => scr}/IMG_3688.HEIC | Bin resources/{photos => scr}/IMG_3689.HEIC | Bin resources/{photos => scr}/IMG_3690.HEIC | Bin resources/{photos => scr}/IMG_3691.HEIC | Bin resources/{photos => scr}/IMG_3692.HEIC | Bin resources/{photos => scr}/IMG_3894.HEIC | Bin resources/{photos => scr}/IMG_3895.HEIC | Bin resources/{photos => scr}/IMG_3908.HEIC | Bin resources/{photos => scr}/IMG_3909.HEIC | Bin resources/{photos => scr}/IMG_3910.HEIC | Bin resources/{photos => scr}/IMG_7529.HEIC | Bin resources/{photos => scr}/IMG_7530.HEIC | Bin resources/{photos => scr}/IMG_7537.HEIC | Bin resources/{photos => scr}/IMG_7538.HEIC | Bin resources/{photos => scr}/IMG_7539.HEIC | Bin resources/{photos => scr}/IMG_7540.HEIC | Bin resources/{photos => scr}/IMG_7541.HEIC | Bin resources/{photos => scr}/IMG_7542.HEIC | Bin templates/image.templ | 52 ++++++++++ templates/image_templ.go | 113 +++++++++++++++++++++ templates/index.templ | 16 +-- templates/index_templ.go | 66 +++++++++++- templates/kawiarnia.templ | 2 +- templates/kawiarnia_templ.go | 10 +- templates/layout.templ | 4 +- templates/layout_templ.go | 46 ++++++--- templates/wyroby_ciasta.templ | 7 +- templates/wyroby_ciasta_templ.go | 79 ++++++-------- templates/wyroby_torty.templ | 2 +- templates/wyroby_torty_templ.go | 10 +- www/.DS_Store | Bin 10244 -> 0 bytes www/images/.DS_Store | Bin 10244 -> 0 bytes www/images/07b485230c890509.avif | Bin 0 -> 327871 bytes www/images/09007f40a0f592e6.avif | Bin 0 -> 230435 bytes www/images/0ff1bf91be101b51.avif | Bin 0 -> 550285 bytes www/images/1b04610ddb24b6a6.avif | Bin 0 -> 81952 bytes www/images/25a91758aef0bc8f.avif | Bin 0 -> 521558 bytes www/images/2bec68cbdeb9040b.avif | Bin 0 -> 123221 bytes www/images/50323dda05c658fb.avif | Bin 0 -> 194296 bytes www/images/6fc397e54afef5d3.avif | Bin 0 -> 135079 bytes www/images/7191e6608537890f.avif | Bin 0 -> 204522 bytes www/images/829e06e6388a08d6.avif | Bin 0 -> 308655 bytes www/images/ab211233b6576dbb.avif | Bin 0 -> 3549 bytes www/images/c007333636fea2c3.avif | Bin 0 -> 51733 bytes www/images/e281255e99ad9d77.avif | Bin 0 -> 159137 bytes www/images/f57a73ce15072dcb.avif | Bin 0 -> 147811 bytes 141 files changed, 342 insertions(+), 99 deletions(-) rename {www => resources}/images/001.avif (100%) rename {www => resources}/images/002.avif (100%) rename {www => resources}/images/003.avif (100%) rename {www => resources}/images/004.avif (100%) rename {www => resources}/images/005.avif (100%) rename {www => resources}/images/006.avif (100%) rename {www => resources}/images/007.avif (100%) rename {www => resources}/images/008.avif (100%) rename {www => resources}/images/009.avif (100%) rename {www => resources}/images/010.avif (100%) rename {www => resources}/images/favicon.png (100%) rename {www => resources}/images/logo.png (100%) rename {www => resources}/images/wyroby/.DS_Store (100%) rename {www => resources}/images/wyroby/001.avif (100%) rename {www => resources}/images/wyroby/002.avif (100%) rename {www => resources}/images/wyroby/003.avif (100%) rename resources/{photos => scr}/IMG_3615.HEIC (100%) rename resources/{photos => scr}/IMG_3616.HEIC (100%) rename resources/{photos => scr}/IMG_3617.HEIC (100%) rename resources/{photos => scr}/IMG_3618.HEIC (100%) rename resources/{photos => scr}/IMG_3619.HEIC (100%) rename resources/{photos => scr}/IMG_3620.HEIC (100%) rename resources/{photos => scr}/IMG_3621.HEIC (100%) rename resources/{photos => scr}/IMG_3622.HEIC (100%) rename resources/{photos => scr}/IMG_3623.HEIC (100%) rename resources/{photos => scr}/IMG_3624.HEIC (100%) rename resources/{photos => scr}/IMG_3625.HEIC (100%) rename resources/{photos => scr}/IMG_3626.HEIC (100%) rename resources/{photos => scr}/IMG_3627.HEIC (100%) rename resources/{photos => scr}/IMG_3628.HEIC (100%) rename resources/{photos => scr}/IMG_3629.HEIC (100%) rename resources/{photos => scr}/IMG_3630.HEIC (100%) rename resources/{photos => scr}/IMG_3631.HEIC (100%) rename resources/{photos => scr}/IMG_3632.HEIC (100%) rename resources/{photos => scr}/IMG_3633.HEIC (100%) rename resources/{photos => scr}/IMG_3634.HEIC (100%) rename resources/{photos => scr}/IMG_3635.HEIC (100%) rename resources/{photos => scr}/IMG_3636.HEIC (100%) rename resources/{photos => scr}/IMG_3637.HEIC (100%) rename resources/{photos => scr}/IMG_3638.HEIC (100%) rename resources/{photos => scr}/IMG_3639.HEIC (100%) rename resources/{photos => scr}/IMG_3640.HEIC (100%) rename resources/{photos => scr}/IMG_3641.HEIC (100%) rename resources/{photos => scr}/IMG_3642.HEIC (100%) rename resources/{photos => scr}/IMG_3643.HEIC (100%) rename resources/{photos => scr}/IMG_3644.HEIC (100%) rename resources/{photos => scr}/IMG_3645.HEIC (100%) rename resources/{photos => scr}/IMG_3646.HEIC (100%) rename resources/{photos => scr}/IMG_3647.HEIC (100%) rename resources/{photos => scr}/IMG_3648.HEIC (100%) rename resources/{photos => scr}/IMG_3649.HEIC (100%) rename resources/{photos => scr}/IMG_3650.HEIC (100%) rename resources/{photos => scr}/IMG_3651.HEIC (100%) rename resources/{photos => scr}/IMG_3652.HEIC (100%) rename resources/{photos => scr}/IMG_3653.HEIC (100%) rename resources/{photos => scr}/IMG_3654.HEIC (100%) rename resources/{photos => scr}/IMG_3655.HEIC (100%) rename resources/{photos => scr}/IMG_3656.HEIC (100%) rename resources/{photos => scr}/IMG_3657.HEIC (100%) rename resources/{photos => scr}/IMG_3658.HEIC (100%) rename resources/{photos => scr}/IMG_3659.HEIC (100%) rename resources/{photos => scr}/IMG_3660.HEIC (100%) rename resources/{photos => scr}/IMG_3661.HEIC (100%) rename resources/{photos => scr}/IMG_3662.HEIC (100%) rename resources/{photos => scr}/IMG_3663.HEIC (100%) rename resources/{photos => scr}/IMG_3664.HEIC (100%) rename resources/{photos => scr}/IMG_3665.HEIC (100%) rename resources/{photos => scr}/IMG_3666.HEIC (100%) rename resources/{photos => scr}/IMG_3667.HEIC (100%) rename resources/{photos => scr}/IMG_3668.HEIC (100%) rename resources/{photos => scr}/IMG_3669.HEIC (100%) rename resources/{photos => scr}/IMG_3670.HEIC (100%) rename resources/{photos => scr}/IMG_3671.HEIC (100%) rename resources/{photos => scr}/IMG_3672.HEIC (100%) rename resources/{photos => scr}/IMG_3673.HEIC (100%) rename resources/{photos => scr}/IMG_3674.HEIC (100%) rename resources/{photos => scr}/IMG_3675.HEIC (100%) rename resources/{photos => scr}/IMG_3676.HEIC (100%) rename resources/{photos => scr}/IMG_3677.HEIC (100%) rename resources/{photos => scr}/IMG_3678.HEIC (100%) rename resources/{photos => scr}/IMG_3679.HEIC (100%) rename resources/{photos => scr}/IMG_3680.HEIC (100%) rename resources/{photos => scr}/IMG_3681.HEIC (100%) rename resources/{photos => scr}/IMG_3682.HEIC (100%) rename resources/{photos => scr}/IMG_3683.HEIC (100%) rename resources/{photos => scr}/IMG_3684.HEIC (100%) rename resources/{photos => scr}/IMG_3685.HEIC (100%) rename resources/{photos => scr}/IMG_3686.HEIC (100%) rename resources/{photos => scr}/IMG_3687.HEIC (100%) rename resources/{photos => scr}/IMG_3688.HEIC (100%) rename resources/{photos => scr}/IMG_3689.HEIC (100%) rename resources/{photos => scr}/IMG_3690.HEIC (100%) rename resources/{photos => scr}/IMG_3691.HEIC (100%) rename resources/{photos => scr}/IMG_3692.HEIC (100%) rename resources/{photos => scr}/IMG_3894.HEIC (100%) rename resources/{photos => scr}/IMG_3895.HEIC (100%) rename resources/{photos => scr}/IMG_3908.HEIC (100%) rename resources/{photos => scr}/IMG_3909.HEIC (100%) rename resources/{photos => scr}/IMG_3910.HEIC (100%) rename resources/{photos => scr}/IMG_7529.HEIC (100%) rename resources/{photos => scr}/IMG_7530.HEIC (100%) rename resources/{photos => scr}/IMG_7537.HEIC (100%) rename resources/{photos => scr}/IMG_7538.HEIC (100%) rename resources/{photos => scr}/IMG_7539.HEIC (100%) rename resources/{photos => scr}/IMG_7540.HEIC (100%) rename resources/{photos => scr}/IMG_7541.HEIC (100%) rename resources/{photos => scr}/IMG_7542.HEIC (100%) create mode 100644 templates/image.templ create mode 100644 templates/image_templ.go delete mode 100644 www/.DS_Store delete mode 100644 www/images/.DS_Store create mode 100644 www/images/07b485230c890509.avif create mode 100644 www/images/09007f40a0f592e6.avif create mode 100644 www/images/0ff1bf91be101b51.avif create mode 100644 www/images/1b04610ddb24b6a6.avif create mode 100644 www/images/25a91758aef0bc8f.avif create mode 100644 www/images/2bec68cbdeb9040b.avif create mode 100644 www/images/50323dda05c658fb.avif create mode 100644 www/images/6fc397e54afef5d3.avif create mode 100644 www/images/7191e6608537890f.avif create mode 100644 www/images/829e06e6388a08d6.avif create mode 100644 www/images/ab211233b6576dbb.avif create mode 100644 www/images/c007333636fea2c3.avif create mode 100644 www/images/e281255e99ad9d77.avif create mode 100644 www/images/f57a73ce15072dcb.avif 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 3e1880ec142e45db6c5c082fc75c0a28e6fe142d..d9c145f9eaaa798b23e9ef168595e526c4c6ac18 100644 GIT binary patch delta 454 zcmZoEXepQ=#l*-lQN~zQgn@y9nSnuofuWe8fFYBih#`@oWa7calMPH*SQ&wmERz)! zr6$KH91$x{DNfEw%FoXM39|v!<^t8GZ#>A%wwaxSg@ciEvw~t7+h%@&PELLln(r2`$n2==_1g3RU_f`8a2vl|GrF>)|4DDZ4N r_?~$(zlkmn$d#b*XaM5LJ|-I{pA$2itfy(T`Ml0oMkF^-+eM-Pj)Q1r delta 368 zcmZoEXepQ=#l+AyQN~zQn1O+TnSnuofgzuv1c-~vf{XGd7Aj9RFkvxe1WK|1F&jex zLk6;focz3Wpg3cG5|9MyWpDywz5igaS&-=)>t+R}K*r7N94s7+Y@6%FdN_ds&sirc zF!eC;`HN`Y$ zZY1TK=L_#;LNPC1UD_N;L2iDEOHvNl?HmtS9txa!bleeWFp`-J#RVA +} 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) {