Hi… I am well aware that this diff view is very suboptimal. It will be fixed when the refactored server comes along!
Use ref_query for ?branch=x, etc
{{- define "ref_query" -}}
{{- if .ref_type -}}?{{- .ref_type -}}={{- .ref_name -}}{{- end -}}
{{- end -}}
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "repo_index" -}}
{{- $root := . -}}
<!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">
<ul class="nav-tabs-standalone">
<li class="nav-item active">
<a class="nav-link" href="./">Summary</a>
<a class="nav-link" href="./{{- template "ref_query" $root -}}">Summary</a>
</li> <li class="nav-item">
<a class="nav-link" href="tree/">Tree</a>
<a class="nav-link" href="tree/{{- template "ref_query" $root -}}">Tree</a>
</li> <li class="nav-item">
<a class="nav-link" href="log/">Log</a>
<a class="nav-link" href="log/{{- template "ref_query" $root -}}">Log</a>
</li>
<li class="nav-item">
<a class="nav-link" href="branches/">Branches</a>
</li>
<li class="nav-item">
<a class="nav-link" href="tags/">Tags</a>
</li>
<li class="nav-item">
<a class="nav-link" href="settings/">Settings</a>
</li>
</ul>
</div>
<div class="padding-wrapper">
<div class="key-val-grid-wrapper">
<section id="repo-info" class="key-val-grid">
<div class="title-row">Repo info</div>
<div class="row-label">Name</div>
<div class="row-value">{{- .repo_name -}}</div>
{{- if .repo_description -}}
<div class="row-label">Description</div>
<div class="row-value">{{- .repo_description -}}</div>
{{- end -}}
<div class="row-label">SSH remote</div>
<div class="row-value"><code>{{- .ssh_clone_url -}}</code></div>
{{- if .notes -}}
<div class="row-label">Notes</div>
<div class="row-value">
<ul>
{{- range .notes -}}<li>{{- . -}}</li>{{- end -}}
</ul>
</div>
{{- end -}}
</section>
</div>
</div>
<div class="padding-wrapper">
<table id="branches">
<thead>
<tr class="title-row">
<th colspan="1">Branches</th>
</tr>
</thead>
<tbody>
{{- range .branches -}}
<tr>
<td>
<a href="./?branch={{ . }}">{{ . }}</a>
</td>
</tr>
{{- end -}}
</tbody>
</table>
</div>
<div class="padding-wrapper">
<p>
<a href="contrib/" class="btn-normal">Merge requests</a>
</p>
</div>
{{- if .commits -}}
<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>
<th colspan="3">Recent commits (<a href="log/{{- template "ref_query" $root -}}">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/{{- .Hash -}}">{{- .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 -}}
{{- if dereference_error .commits_err -}}
Error while obtaining commit log: {{ .commits_err }}
{{- end -}}
</tbody>
</table>
</div>
{{- end -}}
{{- if .readme -}}
<div class="padding-wrapper" id="readme">
{{- .readme -}}
</div>
{{- end -}}
<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" -}}
{{- $root := . -}}
<!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 .IsFile -}}/{{- end -}}{{- if $ref_type -}}?{{- $ref_type -}}={{- $ref -}}{{- end -}}">{{- .Name -}}</a>{{- if not .IsFile -}}/{{- end -}}</td>
<td class="file-name"><a href="{{- .Name -}}{{- if not .IsFile -}}/{{- end -}}{{- template "ref_query" $root -}}">{{- .Name -}}</a>{{- if not .IsFile -}}/{{- 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" -}}
{{ $root := . }}
<!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 .IsFile -}}/{{- end -}}{{- if $ref_type -}}?{{- $ref_type -}}={{- $ref -}}{{- end -}}">{{- .Name -}}</a>{{- if not .IsFile -}}/{{- end -}}</td>
<td class="file-name"><a href="{{- .Name -}}{{- if not .IsFile -}}/{{- end -}}{{- template "ref_query" $root -}}">{{- .Name -}}</a>{{- if not .IsFile -}}/{{- end -}}</td>
<td class="file-size">{{- .Size -}}</td>
</tr>
{{- end -}}
</tbody>
</table>
</div>
<div class="padding-wrapper">
<div id="refs">
</div>
</div>
{{- if .readme -}}
<div class="padding-wrapper" id="readme">
{{- .readme -}}
</div>
{{- end -}}
<footer>
{{- template "footer" . -}}
</footer>
</body>
</html>
{{- end -}}
{{/*
SPDX-License-Identifier: AGPL-3.0-only
SPDX-FileContributor: Runxi Yu <https://runxiyu.org>
*/}}
{{- define "repo_tree_file" -}}
{{- $root := . -}}
<!DOCTYPE html>
<html lang="en">
<head>
{{- template "head_common" . -}}
<link rel="stylesheet" href="/:/static/chroma.css" />
<title>/{{ .path_spec }} – {{ .repo_name }} – {{ template "group_path_plain" .group_path }} – {{ .global.forge_title -}}</title>
</head>
<body class="repo-tree-file">
{{- template "header" . -}}
<div class="padding">
<p>
/{{ .path_spec }} (<a href="/{{ template "group_path_plain" .group_path }}/:/repos/{{ .repo_name }}/raw/{{ .path_spec }}{{ if .ref_type }}?{{ .ref_type }}={{ .ref_name }}{{ end }}">raw</a>)
/{{ .path_spec }} (<a href="/{{ template "group_path_plain" .group_path }}/:/repos/{{ .repo_name }}/raw/{{ .path_spec }}{{- template "ref_query" $root -}}">raw</a>)
</p>
{{- .file_contents -}}
</div>
<footer>
{{- template "footer" . -}}
</footer>
</body>
</html>
{{- end -}}