aboutsummaryrefslogtreecommitdiff
path: root/templates/issues.html
diff options
context:
space:
mode:
authorLena <lena@omega>2026-08-01 00:00:00 +0000
committerLena <lena@omega>2026-08-01 00:00:00 +0000
commitbb6bc2387d58c737dbf92e73f8544bf39319dbd8 (patch)
tree6d5eaf5dac213074cd832da50f64260fce728fed /templates/issues.html
downloadgit-forge-master.tar.gz
Enter git-forgeHEADmaster
A small self-hosted git forge: HTTP push and pull, cgit browsing, local and OIDC accounts, TOTP, scoped push tokens, per-repo permissions, issues, a wiki, and outbound mail. It does not reimplement git. git-http-backend and cgit run as CGI behind its own listener, which authorises every request before exec'ing either. One binary, one data directory, one listener: no database, no JavaScript, and state is JSON in a git repo with a working tree.
Diffstat (limited to 'templates/issues.html')
-rw-r--r--templates/issues.html34
1 files changed, 34 insertions, 0 deletions
diff --git a/templates/issues.html b/templates/issues.html
new file mode 100644
index 0000000..e0907ce
--- /dev/null
+++ b/templates/issues.html
@@ -0,0 +1,34 @@
+{{define "title"}}Issues, {{.Data.Path}} - {{.Site}}{{end}}
+{{define "main"}}
+<div class="bar">
+<form method="get" action="/{{.Data.Path}}/issues">
+<input id="q" name="q" value="{{.Data.Query}}" placeholder="search the tracker" size="30">
+<input type="hidden" name="state" value="{{.Data.State}}">
+<button type="submit">search</button>
+</form>
+<span>
+{{if eq .Data.State "open"}}<strong>open</strong>{{else}}<a href="/{{.Data.Path}}/issues?state=open&amp;q={{.Data.Query}}">open</a>{{end}}
+{{if eq .Data.State "closed"}}<strong>closed</strong>{{else}}<a href="/{{.Data.Path}}/issues?state=closed&amp;q={{.Data.Query}}">closed</a>{{end}}
+<a href="/{{.Data.Path}}.issues/">history</a>
+{{if .Data.Can}}<a href="/{{.Data.Path}}/issues/new">open an issue</a>{{end}}
+</span>
+</div>
+
+<table summary="issues" class="list nowrap">
+<tr class="nohover">
+<th class="left">#</th><th class="left">Title</th>
+<th class="left">Labels</th><th class="left">Author</th><th class="left">Updated</th>
+</tr>
+{{range .Data.Issues}}
+<tr>
+<td>{{.ID}}</td>
+<td><a href="/{{$.Data.Path}}/issues/{{.ID}}">{{.Title}}</a></td>
+<td class="dim">{{range .Labels}}<span class="label">{{.}}</span> {{end}}</td>
+<td>{{template "who" .Author}}</td>
+<td class="dim">{{.Updated.Format "2006-01-02"}}</td>
+</tr>
+{{else}}
+<tr><td colspan="5" class="dim">Nothing here.</td></tr>
+{{end}}
+</table>
+{{end}}