piekarnikgosipl/main.go
2026-05-17 22:10:08 +02:00

83 lines
2.8 KiB
Go

package main
import (
"fmt"
"html/template"
"net/http"
"os"
)
func saveFile(t *template.Template, name string, data any) {
file, err := os.Create("www/" + name + ".html")
if err != nil {
panic(err)
}
defer file.Close()
err = t.ExecuteTemplate(file, name+".gohtml", data)
if err != nil {
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() {
t, err := template.ParseGlob(`templates/*.gohtml`)
if err != nil {
panic(err)
}
saveFile(t, `index`, nil)
saveFile(t, `kawiarnia`, nil)
saveFile(t, `portfolio`, nil)
saveFile(t, `wyroby`, Cakes)
saveFile(t, `wyroby_torty`, nil)
saveFile(t, `wyroby_slodkie_stoly`, nil)
saveFile(t, `wyroby_lody`, nil)
}
func main() {
fmt.Println("generating html")
err := os.MkdirAll("www/styles", 0777)
if err != nil {
panic(err)
}
generateHTML()
fmt.Println("generating css")
t, err := template.ParseGlob(`templates/styles/*`)
if err != nil {
panic(err)
}
file, err := os.Create("www/styles/style.css")
if err != nil {
panic(err)
}
defer file.Close()
err = t.ExecuteTemplate(file, "style.gohtml", nil)
if err != nil {
panic(err)
}
fmt.Println("listening on :8000")
panic(http.ListenAndServe(":8000", http.FileServer(http.Dir("www"))))
}