docs-matrix-spec/layouts/docs/changelog.html
Kévin Commaille 4ff9a851e6
Add link to git commit for unstable changelog too (#2078)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-03-05 09:43:27 +00:00

54 lines
2 KiB
HTML

{{- /*
Template to render a page with a `changelog` layout or the `changelog`
section page. This conflation seems to be a limitation of Hugo currently, it
uses this template for both cases.
For the `changelog` section page, this redirects the page to the latest
version's changelog page.
For a page with a `changelog` layout, this adds a table at the top of the
page with information about the release:
* A link to the matrix-spec repository at the time of the release, with the
version taken from the `linkTitle` in the frontmatter of the page, unless
it is the unstable changelog.
* The date of the release, taken from the `date` in the frontmatter of the
page, unless it is the unstable changelog.
* A link to the markdown checklist format of the changelog. The `outputs` in
the frontmatter of the page must include `checklist`.
*/ -}}
{{ define "main" }}
{{ if .IsSection -}}
{{ with index .RegularPages.ByDate.Reverse 0 -}}
<meta http-equiv="refresh" content="0; url={{ .RelPermalink }}">
{{ end -}}
{{ else -}}
{{ $version := lower .LinkTitle -}}
<div class="td-content">
<h1>{{ .Title }}</h1>
<table class="release-info">
{{ $rev := $version }}
{{ if eq $version "unstable" -}}
{{- /*
Extract the git SHA from the frontmatter of the changelog, where
it was stashed by `generate-changelog.sh`.
*/ -}}
{{ $rev = .Params.commit -}}
{{ end -}}
{{ $commitLink := printf "https://github.com/matrix-org/matrix-spec/tree/%s" $rev -}}
<tr><th>Git commit</th><td><a href="{{ $commitLink }}">{{ $commitLink }}</a></td>
{{ if ne $version "unstable" }}
<tr><th>Release date</th><td>{{ .Date | time.Format ":date_long" }}</td>
{{ end -}}
{{ $checklist := .OutputFormats.Get "checklist" -}}
<tr><th>Checklist</th><td><a href="{{ $checklist.RelPermalink }}">checklist.md</a></td>
</table>
{{ .Content }}
</div>
{{ end -}}
{{ end }}