diff --git a/snippetbox/cmd/web/handlers.go b/snippetbox/cmd/web/handlers.go index 21abc88..bac7b33 100644 --- a/snippetbox/cmd/web/handlers.go +++ b/snippetbox/cmd/web/handlers.go @@ -3,7 +3,7 @@ package main import ( "errors" "fmt" - //"html/template" + "html/template" "net/http" "strconv" @@ -63,7 +63,26 @@ func (app *application) snippetView(w http.ResponseWriter, r *http.Request) { return } - fmt.Fprintf(w, "%+v", snippet) + files := []string{ + "./ui/html/base.tmpl", + "./ui/html/partials/nav.tmpl", + "./ui/html/pages/view.tmpl", + } + + ts, err := template.ParseFiles(files...) + if err != nil { + app.serverError(w, r, err) + return + } + + data := templateData{ + Snippet: snippet, + } + + err = ts.ExecuteTemplate(w, "base", data) + if err != nil { + app.serverError(w, r, err) + } } // snippetCreate ... diff --git a/snippetbox/cmd/web/templates.go b/snippetbox/cmd/web/templates.go new file mode 100644 index 0000000..fa0f998 --- /dev/null +++ b/snippetbox/cmd/web/templates.go @@ -0,0 +1,9 @@ +package main + +import ( + "snippetbox.chaosfem.tw/internal/models" +) + +type templateData struct { + Snippet models.Snippet +} diff --git a/snippetbox/ui/html/pages/view.tmpl b/snippetbox/ui/html/pages/view.tmpl new file mode 100644 index 0000000..0cd8f92 --- /dev/null +++ b/snippetbox/ui/html/pages/view.tmpl @@ -0,0 +1,16 @@ +{{define "title"}}Snippet #{{.Snippet.ID}}{{end}} + +{{define "main"}} +
+
+ {{.Snippet.Title}} + #{{.Snippet.ID}} +
+ +
{{.Snippet.Content}}
+
+ + +
+
+{{end}}