From 8bf5d9d2c82560c81be6809522215bded0cf9911 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 16 Feb 2016 18:43:22 +0100 Subject: Inital import --- wiki.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 wiki.go (limited to 'wiki.go') diff --git a/wiki.go b/wiki.go new file mode 100644 index 0000000..5f096c1 --- /dev/null +++ b/wiki.go @@ -0,0 +1,39 @@ +package main + +import ( + "io/ioutil" + "net/http" + "text/template" +) + +type Page struct { + Title string + Body []byte + Pages []string + HTML string +} + +func (p *Page) fileName() string { + return "data/" + p.Title +} + +func (p *Page) save() error { + return ioutil.WriteFile(p.fileName(), p.Body, 0600) +} + +func loadPage(title string) (p *Page, err error) { + p = &Page{Title: title} + p.Body, err = ioutil.ReadFile(p.fileName()) + return +} + +func (p *Page) render(w http.ResponseWriter, tmpl *template.Template) { + err := tmpl.ExecuteTemplate(w, "root", p) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } +} + +func main() { + http.ListenAndServe(":8080", nil) +} -- cgit v1.2.3