33 lines
564 B
Go
33 lines
564 B
Go
package main
|
|
|
|
import (
|
|
"html/template"
|
|
"net/http"
|
|
)
|
|
|
|
type Todo struct {
|
|
Title string
|
|
Done bool
|
|
}
|
|
|
|
type TodoPageData struct {
|
|
PageTitle string
|
|
Todos []Todo
|
|
}
|
|
|
|
func main() {
|
|
tmpl := template.Must(template.ParseFiles("layout.html"))
|
|
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
|
data := TodoPageData{
|
|
PageTitle: "My TODO list",
|
|
Todos: []Todo{
|
|
{Title: "Task 1", Done: false},
|
|
{Title: "Task 2", Done: true},
|
|
{Title: "Task 3", Done: true},
|
|
},
|
|
}
|
|
tmpl.Execute(w, data)
|
|
})
|
|
http.ListenAndServe(":8000", nil)
|
|
}
|