diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | main.ha | 4 | ||||
-rw-r--r-- | templates/_head_common.htmpl | 3 | ||||
-rw-r--r-- | templates/index.htmpl | 14 |
5 files changed, 24 insertions, 5 deletions
@@ -1 +1,2 @@ /forge +/templates.ha @@ -1,2 +1,5 @@ -forge: main.ha - hare build -o $@ $^ +forge: main.ha templates.ha + hare build -o $@ . + +templates.ha: templates/*.htmpl + htmplgen -o $@ $^ @@ -67,7 +67,5 @@ export fn main() void = { export fn handlereq(conn: io::handle, request: *http::request) (void | io::error | nomem) = { htmpl::write(conn, "HTTP/1.1 200 OK\r\n")?; htmpl::write(conn, "Content-Type: text/html\r\n\r\n")?; - htmpl::write(conn, "<!DOCTYPE html><html><body><h1>")?; - htmpl::write_escape_html(conn, "Hey there <3")?; - htmpl::write(conn, "</h1></body></html>")?; + tp_index(conn)?; }; diff --git a/templates/_head_common.htmpl b/templates/_head_common.htmpl new file mode 100644 index 0000000..6fcfea1 --- /dev/null +++ b/templates/_head_common.htmpl @@ -0,0 +1,3 @@ +{{ define _tp_head_common(handle: io::handle, title: str = "Untitled") (void | io::error | nomem) }} +<title>{{ title }}</title> +{{ end }} diff --git a/templates/index.htmpl b/templates/index.htmpl new file mode 100644 index 0000000..3562c86 --- /dev/null +++ b/templates/index.htmpl @@ -0,0 +1,14 @@ +{{ define tp_index(handle: io::handle) (void | io::error | nomem) }} +{! + let title: str = "Test"; +!} +<!DOCTYPE html> +<html lang="en"> +<head> +{{ render _tp_head_common(handle, title) }} +</head> +<body> +<h1>{{ title }}</h1> +</body> +</html> +{{ end }} |