Lindenii Project Forge
Login

server

Lindenii Forge’s main backend daemon
Commit info
ID
0b581fef9eae616b8140d94a097db72db2f73389
Author
Runxi Yu <me@runxiyu.org>
Author date
Tue, 12 Aug 2025 08:22:33 +0800
Committer
Runxi Yu <me@runxiyu.org>
Committer date
Tue, 12 Aug 2025 08:22:33 +0800
Actions
Remove hr and forge name footer from error page templates
{{/*
	SPDX-License-Identifier: AGPL-3.0-only
	SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
*/}}
{{- define "400" -}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{- template "head_common" . -}}
		<title>400 Bad Request &ndash; {{ .global.forge_title }}</title>
	</head>
	<body class="400">
		{{- template "header" . -}}
		<div class="padding-wrapper complete-error-page">
			<h1>400 Bad Request</h1>
			<p>{{- .complete_error_msg -}}</p>
			<hr />
			<address>Lindenii Forge</address>
		</div>
		<footer>
			{{- template "footer" . -}}
		</footer>
	</body>
</html>
{{- end -}}
{{/*
	SPDX-License-Identifier: AGPL-3.0-only
	SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
*/}}
{{- define "400_colon" -}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{- template "head_common" . -}}
		<title>400 Bad Request &ndash; {{ .global.forge_title }}</title>
	</head>
	<body class="400-colon">
		{{- template "header" . -}}
		<div class="padding-wrapper complete-error-page">
			<h1>400 Bad Request</h1>
			<p>We recently switched URL schemes. Previously &ldquo;<code>:</code>&rdquo; was used as our URL group separator, but because OpenSMTPD does not implement local-part address quoting properly, we&rsquo;re unable to include &ldquo;<code>:</code>&rdquo; in URLs properly, hence we use &ldquo;<code>-</code>&rdquo; now.</p>
			<p>As a precaution in case visitors get confused, this page was set up. <strong>You should probably replace the &ldquo;<code>:</code>&rdquo;s with &ldquo;<code>-</code>&rdquo;s in the URL bar.</strong> If there are colons in the URL that <em>is not</em> the group separator&mdash;that&rsquo;s an edge case that we&rsquo;ll fix later.</p>
			<hr />
			<address>Lindenii Forge</address>
		</div>
		<footer>
			{{- template "footer" . -}}
		</footer>
	</body>
</html>
{{- end -}}
{{/*
	SPDX-License-Identifier: AGPL-3.0-only
	SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
*/}}
{{- define "403" -}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{- template "head_common" . -}}
		<title>403 Forbidden &ndash; {{ .global.forge_title }}</title>
	</head>
	<body class="403">
		{{- template "header" . -}}
		<div class="padding-wrapper complete-error-page">
			<h1>403 Forbidden</h1>
			<p>{{- .complete_error_msg -}}</p>
			<hr />
			<address>Lindenii Forge</address>
		</div>
		<footer>
			{{- template "footer" . -}}
		</footer>
	</body>
</html>
{{- end -}}
{{/*
	SPDX-License-Identifier: AGPL-3.0-only
	SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
*/}}
{{- define "404" -}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{- template "head_common" . -}}
		<title>404 Not Found &ndash; {{ .global.forge_title }}</title>
	</head>
	<body class="404">
		{{- template "header" . -}}
		<div class="padding-wrapper complete-error-page">
			<h1>404 Not Found</h1>
			<hr />
			<address>Lindenii Forge</address>
		</div>
		<footer>
			{{- template "footer" . -}}
		</footer>
	</body>
</html>
{{- end -}}
{{/*
	SPDX-License-Identifier: AGPL-3.0-only
	SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
*/}}
{{- define "451" -}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{- template "head_common" . -}}
		<title>451 Unavailable For Legal Reasons &ndash; {{ .global.forge_title }}</title>
	</head>
	<body class="451">
		{{- template "header" . -}}
		<div class="padding-wrapper complete-error-page">
			<h1>451 Unavailable For Legal Reasons</h1>
			<p>{{- .complete_error_msg -}}</p>
			<hr />
			<address>Lindenii Forge</address>
		</div>
		<footer>
			{{- template "footer" . -}}
		</footer>
	</body>
</html>
{{- end -}}
{{/*
	SPDX-License-Identifier: AGPL-3.0-only
	SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
*/}}
{{- define "500" -}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{- template "head_common" . -}}
		<title>500 Internal Server Error &ndash; {{ .global.forge_title }}</title>
	</head>
	<body class="500">
		{{- template "header" . -}}
		<div class="padding-wrapper complete-error-page">
			<h1>500 Internal Server Error</h1>
			<p>{{- .complete_error_msg -}}</p>
			<hr />
			<address>Lindenii Forge</address>
		</div>
		<footer>
			{{- template "footer" . -}}
		</footer>
	</body>
</html>
{{- end -}}
{{/*
	SPDX-License-Identifier: AGPL-3.0-only
	SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
*/}}
{{- define "501" -}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{- template "head_common" . -}}
		<title>501 Not Implemented &ndash; {{ .global.forge_title }}</title>
	</head>
	<body class="501">
		{{- template "header" . -}}
		<div class="padding-wrapper complete-error-page">
			<h1>501 Not Implemented</h1>
			<hr />
			<address>Lindenii Forge</address>
		</div>
		<footer>
			{{- template "footer" . -}}
		</footer>
	</body>
</html>
{{- end -}}