package main

import (
	"net/http"
	"text/template"
)

func renderPage(w http.ResponseWriter, page string) (err error) {
	t, err := template.ParseFiles("html/master.tmpl.html", "html/"+page+".tmpl.html")
	if err != nil {
		return err
	}

	err = t.Execute(w, nil)
	if err != nil {
		return err
	}

	return nil
}

func renderBlog(w http.ResponseWriter, page string, p []*Post, a []*Post) (err error) {
	t, err := template.ParseFiles("html/master.tmpl.html", "html/"+page+".tmpl.html")
	if err != nil {
		return err
	}

	data := make(map[string]interface{})

	if page == "blog2" {
		data["Posts"] = p
		data["Archive"] = a
	}

	err = t.Execute(w, data)
	if err != nil {
		return err
	}

	return nil
}

func renderPost(w http.ResponseWriter, page string, p *Post) (err error) {
	t, err := template.ParseFiles("html/master.tmpl.html", "html/post.tmpl.html", "html/blog/"+page+".tmpl.html")
	if err != nil {
		return err
	}

	err = t.Execute(w, p)
	if err != nil {
		return err
	}

	return nil
}

func renderArchivePost(w http.ResponseWriter, page string, p *Post) (err error) {
	t, err := template.ParseFiles("html/master.tmpl.html", "html/post.tmpl.html", "html/archive/"+page+".tmpl.html")
	if err != nil {
		return err
	}

	err = t.Execute(w, p)
	if err != nil {
		return err
	}

	return nil
}