{{/*
The SourceHut chrome. The brand, the service switcher, the login block and
the environment banner are NOT rendered here: they come from sr-ht-ecore's
shared partials ("srht-env-banner", "srht-nav"), which every custom service
on this instance draws from one copy. The dot is this package's viewData,
which embeds chrome.Page, so the fields those partials read promote into it.
What is left is the document and three seams:
head — extra <head> content. A block, so a page that needs none renders.
content — the page itself; every page template defines it.
scripts — nothing uses it yet; the proposal page's script goes in "head"
with defer.
*/}}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{.Title}}</title>
{{/* The stylesheet and the favicon, both from sr-ht-ecore's own partial and
both guarded there rather than emitted empty: <link href=""> re-requests
the page it is on, which is a page load per page load, and the
stylesheet is empty in a binary built without `make css`.
The icon used to be the literal /static/logo.svg written here. It is
still that file, but the href is now resolved at startup through
assets.Resolve: a path a template asserts is one that 404s on every page
load if the file is ever renamed or hashed, where a resolved one is
absent once, at startup, in front of whoever can fix it. */}}
{{template "srht-head-links" .}}
{{block "head" .}}{{end}}
</head>
<body>
{{template "srht-env-banner" .}}
<nav class="container navbar navbar-light navbar-expand-sm">
{{template "srht-nav" .}}
</nav>
<div class="{{.ContainerClass}}">
{{template "content" .}}
</div>
</body>
</html>