Compare commits

..

No commits in common. "a3d91e7304844dbc93e35bbf724f93acf8cdfe96" and "45640416cd455d1fdb84f0a282c5e871445e88c1" have entirely different histories.

5 changed files with 56 additions and 64 deletions

View File

@ -1,23 +1,7 @@
package routes
import (
"html/template"
"net/http"
)
import "net/http"
func ExampleHandler(w http.ResponseWriter, r *http.Request) {
data := PageData{
Title: "Example Page",
}
tmpl, err := template.ParseFiles("web/views/.layout.html", "web/views/example.html")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = tmpl.ExecuteTemplate(w, "layout", data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
http.ServeFile(w, r, "web/views/example.html")
}

View File

@ -14,13 +14,13 @@ func RootHandler(w http.ResponseWriter, r *http.Request) {
Title: "Home Page",
}
tmpl, err := template.ParseFiles("web/views/.layout.html", "web/views/index.html")
tmpl, err := template.ParseFiles("web/views/index.html")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = tmpl.ExecuteTemplate(w, "layout", data)
err = tmpl.Execute(w, data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}

View File

@ -1,16 +0,0 @@
{{define "layout"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>GO Web App - {{.Title}}</title>
<link rel="stylesheet" href="/static/output.css" />
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon" />
<script src="/static/htmx.min.js"></script>
</head>
<body class="text-center text-blue-300 bg-gray-800">
{{template "view" .}}
</body>
</html>
{{end}}

View File

@ -1,4 +1,13 @@
{{define "view"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Example Route</title>
<link rel="stylesheet" href="/static/output.css" />
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon" />
</head>
<body class="text-center text-blue-400 bg-gray-800">
<header>
<h1 class="mt-8 mb-8 text-3xl font-bold text-blue-300">
This is an additional example route
@ -14,4 +23,5 @@
<footer>
<p>&copy; 2024 My Web App</p>
</footer>
{{end}}
</body>
</html>

View File

@ -1,4 +1,14 @@
{{define "view"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>GO Web App</title>
<link rel="stylesheet" href="/static/output.css" />
<link rel="icon" href="/static/img/favicon.ico" type="image/x-icon" />
<script src="/static/htmx.min.js"></script>
</head>
<body class="text-center text-blue-300 bg-gray-800">
<header>
<h1 class="mt-8 mb-8 text-3xl font-bold text-blue-400">
Welcome to My GO Web App Framework {{.Title}}
@ -7,7 +17,10 @@
<main>
<section>
<button hx-get="/api/example" class="p-2 text-white bg-blue-400 rounded-md">
<button
hx-get="/api/example"
class="p-2 text-white bg-blue-400 rounded-md"
>
Click Me!
</button>
<h1 class="font-bold">API Example</h1>
@ -24,4 +37,5 @@
<footer>
<p>&copy; 2024 My Web App</p>
</footer>
{{end}}
</body>
</html>