wyroby template

This commit is contained in:
bronkuu 2026-05-17 22:10:08 +02:00
parent 179038d26e
commit 6f5fdcb594
3 changed files with 52 additions and 154 deletions

47
main.go
View file

@ -7,35 +7,62 @@ import (
"os" "os"
) )
func saveFile(t *template.Template, name string) { func saveFile(t *template.Template, name string, data any) {
file, err := os.Create("www/" + name + ".html") file, err := os.Create("www/" + name + ".html")
if err != nil { if err != nil {
panic(err) panic(err)
} }
defer file.Close() defer file.Close()
err = t.ExecuteTemplate(file, name+".gohtml", nil) err = t.ExecuteTemplate(file, name+".gohtml", data)
if err != nil { if err != nil {
panic(err) panic(err)
} }
} }
type Product struct {
Name string
Image string
Price string
Description string
}
var Cakes = []Product{
{"Malinowa chmurka", "001", "150", "kruchy spód, warstwa malin w galaretce, krem śmietankowy, beza"},
{"Sernik ulubiony", "002", "150", "kruchy spód, aksamitna masa serowa, beza z kruszonką"},
{"Jabłecznik z kruszonką", "003", "130", "ciasto ucierane, jabłka, kruszonka"},
{"Sernik klasyczny", "004", "150", "wykończony czekoladowym ganache lub oprószony cukrem pudrem"},
{"Sernik królewski", "005", "150", "kakaowy spód i kruszonka, wilgotna masa serowa"},
{"Pleśniak", "006", "120", "kruche ciasto waniliowe, powidła owocowe, kruche ciasto kakaowe, beza i kruszonka"},
{"Leśny mech z musem truskawkowym", "007", "110", "biszkoptowe ciasto z dodatkiem szpinaku, mus truskawkowy"},
{"Snickers", "008", "150", "dwie warstwy kakaowego biszkoptu a pomiędzy bezowy blat orzechowy , krem budyniowy , toffi i,orzeszki ziemne"},
{"Mleczna kanapka", "009", "120", "dwa blaty czekoladowego ciasta, a pomiędzy krem waniliowy z dodatkiem cienkiej warstwy,czekoladowej"},
{"3Bit", "010", "120", "herbatniki, krem budyniowy, toffi i śmietana"},
{"Biszkoptowe z kremem i owocami w galaretce", "011", "120", "biszkopt, krem budyniowy, owoce"},
{"Kora orzechowa", "012", "150", "dwa blaty bezy orzechowej a pomiędzy krem budyniowy na bazie soku z brzoskwiń, delicje,pomarańczowe, owoce brzoskwiń i galaretka"},
{"Nutelowiec z wiśniami", "013", "120", "nutelowy spód , krem śmietankowy z dodatkiem twarożku, wiśnie i galaretka"},
{"Karpatka", "014", "120", ""},
}
func generateHTML() { func generateHTML() {
t, err := template.ParseGlob(`templates/*.gohtml`) t, err := template.ParseGlob(`templates/*.gohtml`)
if err != nil { if err != nil {
panic(err) panic(err)
} }
saveFile(t, `index`) saveFile(t, `index`, nil)
saveFile(t, `kawiarnia`) saveFile(t, `kawiarnia`, nil)
saveFile(t, `portfolio`) saveFile(t, `portfolio`, nil)
saveFile(t, `wyroby`) saveFile(t, `wyroby`, Cakes)
saveFile(t, `wyroby_torty`) saveFile(t, `wyroby_torty`, nil)
saveFile(t, `wyroby_slodkie_stoly`) saveFile(t, `wyroby_slodkie_stoly`, nil)
saveFile(t, `wyroby_lody`) saveFile(t, `wyroby_lody`, nil)
} }
func main() { func main() {
fmt.Println("generating html") fmt.Println("generating html")
os.MkdirAll("www/styles", 0777) err := os.MkdirAll("www/styles", 0777)
if err != nil {
panic(err)
}
generateHTML() generateHTML()
fmt.Println("generating css") fmt.Println("generating css")
t, err := template.ParseGlob(`templates/styles/*`) t, err := template.ParseGlob(`templates/styles/*`)

12
templates/card.gohtml Normal file
View file

@ -0,0 +1,12 @@
{{define "card"}}
<div class="card">
<div>
<img alt="{{.Name}}" src="images/wyroby/{{.Image}}.avif"/>
</div>
<div>
<h3>{{.Name}}</h3>
<span>{{.Price}}zł</span>
<p>{{.Description}}</p>
</div>
</div>
{{end}}

View file

@ -3,150 +3,9 @@
{{template "wyroby_header" "ciasta"}} {{template "wyroby_header" "ciasta"}}
<section> <section>
<div id="wyroby"> <div id="wyroby">
{{range .}}
<div class="card"> {{template "card" . }}
<div> {{end}}
<img alt="Malinowa chmurka" src="images/wyroby/001.avif"/>
</div>
<div>
<h3>Malinowa chmurka</h3>
<span>150zł</span>
<p>kruchy spód, warstwa malin w galaretce, krem śmietankowy, beza</p>
</div>
</div>
<div class="card">
<div>
<img alt="Sernik ulubiony" src="images/wyroby/002.avif"/>
</div>
<div>
<h3>Sernik ulubiony</h3>
<span>150zł</span>
<p>kruchy spód, aksamitna masa serowa, beza z kruszonką</p>
</div>
</div>
<div class="card">
<div>
<img alt="Jabłecznik z kruszonką" src="images/wyroby/003.avif"/>
</div>
<div>
<h3>Jabłecznik z kruszonką</h3>
<span>130zł</span>
<p>ciasto ucierane, jabłka, kruszonka</p>
</div>
</div>
<div class="card">
<div>
<img alt="Sernik klasyczny" src="www/images/wyroby/004.avif"/>
</div>
<div>
<h3>Sernik klasyczny</h3>
<span>150zł</span>
<p>wykończony czekoladowym ganache lub oprószony cukrem pudrem</p>
</div>
</div>
<div class="card">
<div>
<img alt="Sernik królewski" src="www/images/wyroby/005.avif"/>
</div>
<div>
<h3>Sernik królewski</h3>
<span>150zł</span>
<p>kakaowy spód i kruszonka, wilgotna masa serowa</p>
</div>
</div>
<div class="card">
<div>
<img alt="Pleśniak" src="www/images/wyroby/006.avif"/>
</div>
<div>
<h3>Pleśniak</h3>
<span>120zł</span>
<p>kruche ciasto waniliowe, powidła owocowe, kruche ciasto kakaowe, beza i kruszonka</p>
</div>
</div>
<div class="card">
<div>
<img alt="Leśny mech z musem truskawkowym" src="www/images/wyroby/007.avif"/>
</div>
<div>
<h3>Leśny mech z musem truskawkowym</h3>
<span>110zł</span>
<p>biszkoptowe ciasto z dodatkiem szpinaku, mus truskawkowy</p>
</div>
</div>
<div class="card">
<div>
<img alt="Snickers" src="www/images/wyroby/008.avif"/>
</div>
<div>
<h3>Snickers</h3>
<span>150zł</span>
<p>dwie warstwy kakaowego biszkoptu a pomiędzy bezowy blat orzechowy , krem budyniowy , toffi i
orzeszki ziemne</p>
</div>
</div>
<div class="card">
<div>
<img alt="Mleczna kanapka" src="www/images/wyroby/009.avif"/>
</div>
<div>
<h3>Mleczna kanapka</h3>
<span>120zł</span>
<p>dwa blaty czekoladowego ciasta, a pomiędzy krem waniliowy z dodatkiem cienkiej warstwy
czekoladowej</p>
</div>
</div>
<div class="card">
<div>
<img alt="3Bit" src="www/images/wyroby/010.avif"/>
</div>
<div>
<h3>3Bit</h3>
<span>120zł</span>
<p>herbatniki, krem budyniowy, toffi i śmietana</p>
</div>
</div>
<div class="card">
<div>
<img alt="Biszkoptowe z kremem i owocami w galaretce" src="www/images/wyroby/011.avif"/>
</div>
<div>
<h3>Biszkoptowe z kremem i owocami w galaretce</h3>
<span>120zł</span>
<p>biszkopt, krem budyniowy, owoce</p>
</div>
</div>
<div class="card">
<div>
<img alt="Kora orzechowa" src="www/images/wyroby/012.avif"/>
</div>
<div>
<h3>Kora orzechowa</h3>
<span>150zł</span>
<p>dwa blaty bezy orzechowej a pomiędzy krem budyniowy na bazie soku z brzoskwiń, delicje
pomarańczowe, owoce brzoskwiń i galaretka</p>
</div>
</div>
<div class="card">
<div>
<img alt="Nutelowiec z wiśniami" src="www/images/wyroby/013.avif"/>
</div>
<div>
<h3>Nutelowiec z wiśniami</h3>
<span>120zł</span>
<p>nutelowy spód , krem śmietankowy z dodatkiem twarożku, wiśnie i galaretka</p>
</div>
</div>
<div class="card">
<div>
<img alt="Karpatka" src="www/images/wyroby/014.avif">
</div>
<div>
<h3>Karpatka</h3>
<span>120zł</span>
<p></p>
</div>
</div>
</div> </div>
</section> </section>
</main> </main>