forked from tangled.org/core
this repo has no description

swap ordering of template parsing

Changed files
+35 -14
appview
pages
templates
+6 -2
appview/pages/pages.go
···
if !strings.HasPrefix(path, "templates/layouts/") {
// Add the page template on top of the base
-
tmpl, err := template.New(name).ParseFS(files, path, "templates/layouts/*.html")
if err != nil {
return fmt.Errorf("setting up template: %w", err)
}
···
return p.t[name].ExecuteTemplate(w, "layouts/base", params)
}
func (p *Pages) executeRepo(name string, w io.Writer, params any) error {
return p.t[name].ExecuteTemplate(w, "layouts/repoBase", params)
}
func (p *Pages) Login(w io.Writer, params LoginParams) error {
-
return p.execute("user/login", w, params)
}
type TimelineParams struct {
···
if !strings.HasPrefix(path, "templates/layouts/") {
// Add the page template on top of the base
+
tmpl, err := template.New(name).ParseFS(files, "templates/layouts/*.html", path)
if err != nil {
return fmt.Errorf("setting up template: %w", err)
}
···
return p.t[name].ExecuteTemplate(w, "layouts/base", params)
}
+
func (p *Pages) executePlain(name string, w io.Writer, params any) error {
+
return p.t[name].Execute(w, params)
+
}
+
func (p *Pages) executeRepo(name string, w io.Writer, params any) error {
return p.t[name].ExecuteTemplate(w, "layouts/repoBase", params)
}
func (p *Pages) Login(w io.Writer, params LoginParams) error {
+
return p.executePlain("user/login", w, params)
}
type TimelineParams struct {
+1 -1
appview/pages/templates/layouts/base.html
···
integrity="sha384-HGfztofotfshcF7+8n44JQL2oJmowVChPTg48S+jvZoztPfvwD79OC/LTtG6dMp+"
crossorigin="anonymous"
></script>
-
<title>{{block "title" .}}{{end}}</title>
</head>
<body>
<header class="topbar">
···
integrity="sha384-HGfztofotfshcF7+8n44JQL2oJmowVChPTg48S+jvZoztPfvwD79OC/LTtG6dMp+"
crossorigin="anonymous"
></script>
+
<title>{{block "title" .}}tangled{{end}}</title>
</head>
<body>
<header class="topbar">
+1
appview/pages/templates/layouts/topbar.html
···
{{ with .LoggedInUser }}
<nav>
<a href="/settings">settings</a>&nbsp;·
<a href="/knots">knots</a>&nbsp;·
<a href="/repo/new">add repos</a>&nbsp;·
···
{{ with .LoggedInUser }}
<nav>
+
<a href="/">timeline</a>&nbsp;·
<a href="/settings">settings</a>&nbsp;·
<a href="/knots">knots</a>&nbsp;·
<a href="/repo/new">add repos</a>&nbsp;·
+27 -11
appview/pages/templates/user/login.html
···
-
{{ define "title" }}login{{end}}
-
{{define "content"}}
-
<h1>login</h1>
-
<form method="POST" action="/login">
-
<label for="handle">handle</label>
-
<input type="text" id="handle" name="handle" required />
-
<label for="app_password">app password</label>
-
<input type="password" id="app_password" name="app_password" required />
-
<button type="submit">login</button>
-
</form>
-
{{end}}
···
+
{{ define "user/login" }}
+
<!doctype html>
+
<html lang="en">
+
<head>
+
<meta charset="UTF-8" />
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
+
<script
+
src="https://unpkg.com/htmx.org@2.0.4"
+
integrity="sha384-HGfztofotfshcF7+8n44JQL2oJmowVChPTg48S+jvZoztPfvwD79OC/LTtG6dMp+"
+
crossorigin="anonymous"
+
></script>
+
<title>login</title>
+
</head>
+
<body>
+
<main class="content">
+
<h1>login</h1>
+
<form method="POST" action="/login">
+
<label for="handle">handle</label>
+
<input type="text" id="handle" name="handle" required />
+
<label for="app_password">app password</label>
+
<input type="password" id="app_password" name="app_password" required />
+
<button type="submit">login</button>
+
</form>
+
</main>
+
</body>
+
</html>
+
{{ end }}