Hi… I am well aware that this diff view is very suboptimal. It will be fixed when the refactored server comes along!
repo_index: Use the first line of the commit message
package main
import (
	"embed"
	"html/template"
	"io/fs"
	"net/http"
)
//go:embed templates/* static/*
var resources_fs embed.FS
var templates *template.Template
func load_templates() (err error) {
templates, err = template.ParseFS(resources_fs, "templates/*")
	templates, err = template.New("templates").Funcs(template.FuncMap{"first_line": first_line}).ParseFS(resources_fs, "templates/*")
	return err
}
func serve_static() (err error) {
	static_fs, err := fs.Sub(resources_fs, "static")
	if err != nil {
		return err
	}
	http.Handle("/static/{name}",
		http.StripPrefix(
			"/static/",
			http.FileServer(http.FS(static_fs)),
		),
	)
	return nil
}
package main
import "strings"
func first_line(s string) string {
	before, _, _ := strings.Cut(s, "\n")
	return before
}
{{- define "repo_index" -}}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/static/style.css" />
<title>{{ .project_name }}/repos/{{ .repo_name }}</title>
</head>
<body class="repo-index">
<div class="padding-wrapper">
<table id="recent-commits">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">Title</th>
<th scope="col">Author</th>
<th scope="col">Time</th>
</tr>
</thead>
<tbody>
{{- range .commits }}
<tr>
<td class="commit-id">{{ slice .Hash.String 0 8 }}</td>
<td class="commit-title">{{ .Message }}</td>
<td class="commit-title">{{ .Message | first_line }}</td>
<td class="commit-author">
<a class="email-name" href="mailto:{{ .Author.Email }}">{{ .Author.Name }}</a>
</td>
<td class="commit-time">
{{ .Author.When.Format "2006-01-02 15:04:05 -0700" }}
</td>
</tr>
{{- end }}
</tbody>
</table>
</div>
<div class="padding-wrapper">
<table id="file-tree">
<thead>
<tr>
<th scope="col">Mode</th>
<th scope="col">Name</th>
<th scope="col">Size</th>
</tr>
</thead>
<tbody>
{{- range .files }}
<tr>
<td class="file-mode">{{ .Mode }}</td>
<td class="file-name">{{ .Name }}</td>
<td class="file-size">{{ .Size }}</td>
</tr>
{{- end }}
</tbody>
</table>
</div>
<div class="padding-wrapper">
<div id="refs">
</div>
</div>
<div class="padding-wrapper">
<div id="readme">
{{ .readme -}}
</div>
</div>
</body>
</html>
{{- end -}}