Lindenii Project Forge
Login
Commit info
ID32d164f08b3312858c39893254769e4859fe5a86
AuthorRunxi Yu<me@runxiyu.org>
Author dateMon, 10 Feb 2025 19:25:44 +0800
CommitterRunxi Yu<me@runxiyu.org>
Committer dateMon, 10 Feb 2025 19:27:16 +0800
Actions
Get patch
head.html: Add a common head template

I tried to define a base.html and extend it from there, but Go's
templating system doesn't support that.
{{- define "base" -}}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<link rel="stylesheet" href="/static/style.css" />
		<title>{{ block "title" . }}Lindenii Forge{{ end }}</title>
	</head>
	<body class="{{ block "body-class" . }}{{ end }}">
		<header>
			<a id="site-title" href="/">
				{{ block "forge-title" . }}
					Lindenii Forge
				{{ end }}
			</a>
			<span id="header-userinfo" href="/">
			</span>
		</header>
		<main>
		{{ block "main" . }}
		{{ end }}
		</main>
	</body>
</html>
{{- end -}}
{{- define "category_index" -}}
<!DOCTYPE html>
<html>
	<head>
		<link rel="stylesheet" href="/static/style.css" />
		{{ template "head_common" . }}
		<title>{{ .category_name }}</title>
	</head>
	<body class="category-index">
		<div class="padding-wrapper">
			<h1>
			Repos in {{ .category_name }}
			</h1>
			<ul>
				{{- range .repos }}
					<li>
						<a href="repos/{{ . }}/">{{ . }}</a>
					</li>
				{{- end }}
			</ul>
		</div>
	</body>
</html>
{{- end -}}
{{- define "head_common" -}}
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="/static/style.css" />
{{- end -}}
{{- define "index" -}}
<!DOCTYPE html>
<html>
	<head>
		<link rel="stylesheet" href="/static/style.css" />
		{{ template "head_common" . }}
		<title>Forge</title>
	</head>
	<body class="index">
		<div class="padding-wrapper">
			<h1>
				Categories
			</h1>
			<ul>
				{{- range .categories }}
					<li>
						<a href="{{ . }}/">{{ . }}</a>
					</li>
				{{- end }}
			</ul>
		</div>
	</body>
</html>
{{- end -}}
{{- define "repo_index" -}}
<!DOCTYPE html>
<html>
	<head>
		<link rel="stylesheet" href="/static/style.css" />
		{{ template "head_common" . }}
		<title>{{ .category_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 | 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>
					{{- $ref := .ref }}
					{{- range .files }}
						<tr>
							<td class="file-mode">{{ .Mode }}</td>
							<td class="file-name"><a href="tree/{{ $ref }}/{{ .Name }}">{{ .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">
			<div id="readme">
				{{ .readme -}}
			</div>
		</div>
	</body>
</html>
{{- end -}}
{{- define "repo_tree_dir" -}}
<!DOCTYPE html>
<html>
	<head>
		<link rel="stylesheet" href="/static/style.css" />
		{{ template "head_common" . }}
		<title>{{ .category_name }}/repos/{{ .repo_name }}/{{ .path_spec }}</title>
	</head>
	<body class="repo-tree-dir">
		<div class="padding-wrapper">
			<p>
				/{{ .path_spec }}/
			</p>
			<table id="file-tree">
				<thead>
					<tr>
						<th scope="col">Mode</th>
						<th scope="col">Name</th>
						<th scope="col">Size</th>
					</tr>
				</thead>
				<tbody>
					{{- $ref := .ref }}
					{{- $path_spec := .path_spec }}
					{{- range .files }}
						<tr>
							<td class="file-mode">{{ .Mode }}</td>
							<td class="file-name"><a href="{{ $path_spec }}/{{ .Name }}">{{ .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">
			<div id="readme">
				{{ .readme -}}
			</div>
		</div>
	</body>
</html>
{{- end -}}
{{- define "repo_tree_file" -}}
<!DOCTYPE html>
<html>
	<head>
		<link rel="stylesheet" href="/static/style.css" />
		{{ template "head_common" . }}
		<link rel="stylesheet" href="/static/chroma.css" />
		<title>{{ .category_name }}/repos/{{ .repo_name }}/{{ .path_spec }}</title>
	</head>
	<body class="repo-tree-file">
		<p>
			/{{ .path_spec }}
		</p>
		{{ .file_contents }}
	</body>
</html>
{{- end -}}