Hi… I am well aware that this diff view is very suboptimal. It will be fixed when the refactored server comes along!
*: Add column headers to tables
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "group_view" -}}
{{ if .subgroups }}
<table class="wide">
<thead>
<tr>
<th colspan="2" class="title-row">Subgroups</th>
</tr>
<tr> <th scope="col">Name</th> <th scope="col">Description</th> </tr>
</thead>
<tbody>
{{- range .subgroups }}
<tr>
<td>
<a href="{{ .Name }}/">{{ .Name }}</a>
</td>
<td>
{{ .Description }}
</td>
</tr>
{{- end }}
</tbody>
</table>
{{ end }}
{{ if .repos }}
<table class="wide">
<thead>
<tr>
<th colspan="2" class="title-row">Repos</th>
<tr> <th scope="col">Name</th> <th scope="col">Description</th> </tr>
</tr>
</thead>
<tbody>
{{- range .repos }}
<tr>
<td>
<a href=":/repos/{{ .Name }}/">{{ .Name }}</a>
</td>
<td>
{{ .Description }}
</td>
</tr>
{{- end }}
</tbody>
</table>
{{ end }}
{{- end -}}
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "index" -}}
<!DOCTYPE html>
<html lang="en">
<head>
{{ template "head_common" . }}
<title>Index – {{ .global.forge_title }}</title>
</head>
<body class="index">
{{ template "header" . }}
<div class="padding-wrapper">
<table class="wide">
<thead>
<tr>
<th colspan="2" class="title-row">Groups</th>
</tr>
<tr> <th scope="col">Name</th> <th scope="col">Description</th> </tr>
</thead>
<tbody>
{{- range .groups }}
<tr>
<td>
<a href="{{ .Name }}/">{{ .Name }}</a>
</td>
<td>
{{ .Description }}
</td>
</tr>
{{- end }}
</tbody>
</table>
<div class="padding-wrapper">
<table class="wide">
<thead>
<tr>
<th colspan="2" class="title-row">
Info
</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">SSH public key</th>
<td><code>{{ .global.server_public_key_string }}</code></td>
</tr>
<tr>
<th scope="row">SSH fingerprint</th>
<td><code>{{ .global.server_public_key_fingerprint }}</code></td>
</tr>
</tbody>
</table>
</div>
<footer>
{{ template "footer" . }}
</footer>
</body>
</html>
{{- end -}}
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "repo_contrib_index" -}}
<!DOCTYPE html>
<html lang="en">
<head>
{{ template "head_common" . }}
<title>Merge requests – {{ .repo_name }} – {{ template "group_path_plain" .group_path }} – {{ .global.forge_title }}</title>
</head>
<body class="repo-contrib-index">
{{ template "header" . }}
<div class="padding-wrapper">
<table id="recent-merge_requests" class="wide">
<thead>
<tr class="title-row">
<th colspan="3">Merge requests</th>
</tr>
</thead>
<tr> <th scope="col">Name</th> <th scope="col">Description</th> <th scope="col">Status</th> </tr>
<tbody>
{{- range .merge_requests }}
<tr>
<td class="merge_request-id">{{ .ID }}</td>
<td class="merge_request-title"><a href="{{ .ID }}/">{{ .Title }}</a></td>
<td class="merge_request-status">{{ .Status }}</td>
</tr>
{{- end }}
</tbody>
</table>
</div>
<footer>
{{ template "footer" . }}
</footer>
</body>
</html>
{{- end -}}
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "repo_index" -}}
<!DOCTYPE html>
<html lang="en">
<head>
{{ template "head_common" . }}
<title>{{ .repo_name }} – {{ template "group_path_plain" .group_path }} – {{ .global.forge_title }}</title>
</head>
<body class="repo-index">
{{ template "header" . }}
<div class="padding-wrapper">
<table id="repo-info-table">
<thead>
<tr class="title-row">
<th colspan="2">Repo info</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Name</th>
<td>{{ .repo_name }}</td>
</tr>
{{ if .repo_description }}
<tr>
<th scope="row">Description</th>
<td>{{ .repo_description }}</td>
</tr>
{{ end }}
<tr>
<th scope="row">SSH remote</th>
<td><code>{{ .ssh_clone_url }}</code></td>
</tr>
</tbody>
</table>
</div>
<div class="padding-wrapper">
<p>
<a href="contrib/" class="btn-normal">Merge requests</a>
</p>
</div>
<div class="padding-wrapper scroll">
<table id="recent-commits" class="wide">
<thead>
<tr class="title-row">
<th colspan="3">Recent commits (<a href="log/{{ if .ref_type }}?{{ .ref_type }}={{ .ref_name }}{{ end }}">see all</a>)</th>
</tr>
<tr> <th scope="col">Title</th> <th scope="col">Author</th> <th scope="col">Author Date</th> </tr>
</thead>
<tbody>
{{- range .commits }}
<tr>
<td class="commit-title"><a href="commit/{{ .ID }}">{{ .Message | first_line }}</a></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 scroll">
<table id="file-tree" class="wide">
<thead>
<tr class="title-row">
<th colspan="3">/{{ if .ref_name }} on {{ .ref_name }}{{ end }}</th>
</tr> <tr> <th scope="col">Mode</th> <th scope="col">Filename</th> <th scope="col">Size</th>
</tr>
</thead>
<tbody>
{{- $ref_type := .ref_type }}
{{- $ref := .ref_name }}
{{- range .files }}
<tr>
<td class="file-mode">{{ .Mode }}</td>
<td class="file-name"><a href="tree/{{ .Name }}{{ if not .Is_file }}/{{ end }}{{ if $ref_type }}?{{ $ref_type }}={{ $ref }}{{ end }}">{{ .Name }}</a>{{ if not .Is_file }}/{{ end }}</td>
<td class="file-size">{{ .Size }}</td>
</tr>
{{- end }}
</tbody>
</table>
</div>
<div class="padding-wrapper" id="readme">
{{ .readme }}
</div>
<footer>
{{ template "footer" . }}
</footer>
</body>
</html>
{{- end -}}
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "repo_raw_dir" -}}
<!DOCTYPE html>
<html lang="en">
<head>
{{ template "head_common" . }}
<title>/{{ .path_spec }}{{ if ne .path_spec "" }}/{{ end }} – {{ .repo_name }} – {{ template "group_path_plain" .group_path }} – {{ .global.forge_title }}</title>
</head>
<body class="repo-raw-dir">
{{ template "header" . }}
<div class="padding-wrapper scroll">
<table id="file-tree" class="wide">
<thead>
<tr class="title-row">
<th colspan="3">
(Raw) /{{ .path_spec }}{{ if ne .path_spec "" }}/{{ end }}{{ if .ref_name }} on {{ .ref_name }}{{ end }}
</th>
</tr>
<tr> <th scope="col">Mode</th> <th scope="col">Filename</th> <th scope="col">Size</th> </tr>
</thead>
<tbody>
{{- $path_spec := .path_spec }}
{{- $ref := .ref_name }}
{{- $ref_type := .ref_type }}
{{- range .files }}
<tr>
<td class="file-mode">{{ .Mode }}</td>
<td class="file-name"><a href="{{ .Name }}{{ if not .Is_file }}/{{ end }}{{ if $ref_type }}?{{ $ref_type }}={{ $ref }}{{ end }}">{{ .Name }}</a>{{ if not .Is_file }}/{{ end }}</td>
<td class="file-size">{{ .Size }}</td>
</tr>
{{- end }}
</tbody>
</table>
</div>
<div class="padding-wrapper">
<div id="refs">
</div>
</div>
<footer>
{{ template "footer" . }}
</footer>
</body>
</html>
{{- end -}}
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "repo_tree_dir" -}}
<!DOCTYPE html>
<html lang="en">
<head>
{{ template "head_common" . }}
<title>/{{ .path_spec }}{{ if ne .path_spec "" }}/{{ end }} – {{ .repo_name }} – {{ template "group_path_plain" .group_path }} – {{ .global.forge_title }}</title>
</head>
<body class="repo-tree-dir">
{{ template "header" . }}
<div class="padding-wrapper scroll">
<table id="file-tree" class="wide">
<thead>
<tr class="title-row">
<th colspan="3">
/{{ .path_spec }}{{ if ne .path_spec "" }}/{{ end }}{{ if .ref_name }} on {{ .ref_name }}{{ end }}
</th>
<tr> <th scope="col">Mode</th> <th scope="col">Filename</th> <th scope="col">Size</th> </tr>
</tr>
</thead>
<tbody>
{{- $path_spec := .path_spec }}
{{- $ref := .ref_name }}
{{- $ref_type := .ref_type }}
{{- range .files }}
<tr>
<td class="file-mode">{{ .Mode }}</td>
<td class="file-name"><a href="{{ .Name }}{{ if not .Is_file }}/{{ end }}{{ if $ref_type }}?{{ $ref_type }}={{ $ref }}{{ end }}">{{ .Name }}</a>{{ if not .Is_file }}/{{ end }}</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">
{{ if .readme }}
<table class="wide">
<thead>
<tr class="title-row">
<th>{{ .readme_filename }}</th>
</tr>
</thead>
<tbody>
<tr>
<td id="readme">
{{ .readme -}}
</td>
</tr>
</tbody>
</table>
{{ end }}
{{ if .readme }}
<div class="padding-wrapper" id="readme">
{{ .readme -}}
</div>
{{ end }}
<footer>
{{ template "footer" . }}
</footer>
</body>
</html>
{{- end -}}