83 lines
2.8 KiB
Go
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"))))
|
|
}
|