1---2pagination:3 data: forge.pages.commits4---5{% extends "base.njk" %}6{% import "macros.njk" as m with context %}7{% import "ui.njk" as ui %}8{% set c = p.commit %}9{% set u = p.repo.urls %}10{% set about = c.author.name ~ ' committed ' ~ c.short ~ ' to ' ~ p.repo.slug ~ ((': ' ~ (c.body | excerpt)) if c.body else (', +' ~ c.stats.add ~ ' -' ~ c.stats.del)) %}11{% block head %}{{ m.meta(p.title, about, u.commit(c.sha).href) }}{% endblock %}12{% block scripts %}<script src="{{ assets.diffs }}" defer></script>13{% endblock %}14{% block content %}15{% css %}16dl.facts { display: grid; grid-template-columns: max-content 1fr; align-items: baseline; gap: var(--space-1) var(--space-4); margin: 0; padding: var(--space-3); font-size: var(--text-sm); }17dl.facts dt { color: var(--muted); }18dl.facts dd { margin: 0; overflow-wrap: anywhere; }19{% endcss %}20<div class="meta-head">21<h1>{{ c.subject }}</h1>22</div>23{% set head %}<span class="grow"><b>{{ c.author.name }}</b> committed {{ c.author.date | ago }}</span><span class="end"><span class="sha">{{ c.short }}</span></span>{% endset %}24{% call ui.panel(head) %}25{% if c.body %}<pre class="msg">{{ c.body }}</pre>{% endif %}26<dl class="facts">27<dt>commit</dt><dd class="sha">{{ c.sha }}</dd>28{% for par in c.parents %}<dt>parent</dt><dd class="sha">{{ par | commitLink(p.repo, par) | safe }}</dd>{% endfor %}29<dt>author</dt><dd>{{ c.author.name }} <{{ c.author.email }}></dd>30{% if c.ci %}<dt>ci</dt><dd>{{ c.ci | ciHtml(true) | safe }}{% if c.ci.latest.via %} <span class="desc">(same tree as {{ c.ci.latest.via | commitLink(p.repo) | safe }})</span>{% endif %}</dd>{% endif %}31{% if c.jev %}<dt>kind</dt><dd>{{ m.jevLabel(c) }}</dd>{% endif %}32{% for rv in c.reviews %}<dt>review</dt><dd><a href="{{ u.review(rv.id).href }}">#{{ rv.id }} {{ rv.title }}</a></dd>{% endfor %}33</dl>34{% endcall %}35{% if c.ci %}36{% call ui.panel('<b>ci attestation</b>', '', '', 'closed') %}37<pre>{{ c.ci.latest.payload | statement }}</pre>38<p class="desc">Signature: {% if c.ci.latest.verification.ok %}good, {{ c.ci.latest.verification.signer }}{% if c.ci.latest.verification.key %} {{ c.ci.latest.verification.key }}{% endif %}{% else %}{{ c.ci.latest.verification.reason }}{% endif %}</p>39{% endcall %}40{% endif %}41{% set tools %}{{ ui.checkbox('wrap lines', false, 'data-wrap') }}{% endset %}42{{ c.files | diffstatHtml('', tools) | safe }}43{{ c.files | diffHtml(p.repo) | safe }}44{% endblock %}