All checks were successful
Deploy on webserver / Build site and deploy on success (push) Successful in 5m40s
106 lines
5 KiB
HTML
106 lines
5 KiB
HTML
{{ define "main" }}
|
|
|
|
{{/* ═════════════════════════════════════════════════════════════════
|
|
PARTICIPATE PAGE ("Ich möchte teilnehmen")
|
|
|
|
All content lives in the frontmatter of `content/participate/_index.md`
|
|
and `content/participate/_index.de.md` — one entry per study site under
|
|
`locations:`. To add a site, append an entry there; nothing in this
|
|
template needs to change.
|
|
|
|
Each location renders as a native <details> accordion. They share a
|
|
`name` attribute, so browsers that support exclusive accordions close
|
|
the other panels when one is opened; older browsers simply allow
|
|
several open at once. Each <details> carries the location `id` as its
|
|
HTML id, so /participate/#frankfurt links to a specific site.
|
|
|
|
The three UI labels (contact heading, PDF button, PDF language note)
|
|
come from `i18n/de.yaml` / `i18n/en.yaml`.
|
|
══════════════════════════════════════════════════════════════════ */}}
|
|
|
|
<link rel="stylesheet" href="/css/participate.css">
|
|
|
|
<div class="participate-page">
|
|
|
|
<h1 class="participate-title">{{ .Title }}</h1>
|
|
{{ with .Params.intro }}<p class="participate-intro">{{ . }}</p>{{ end }}
|
|
|
|
<div class="participate-sites">
|
|
{{ range .Params.locations }}
|
|
{{ $loc := . }}
|
|
<details class="site-acc" id="{{ $loc.id }}" name="participate-site">
|
|
<summary class="site-summary">
|
|
<span class="site-summary-text">
|
|
<span class="site-city">{{ $loc.city }}</span>
|
|
<span class="site-inst">{{ $loc.institution }}</span>
|
|
{{ with $loc.teaser }}<span class="site-teaser">{{ . }}</span>{{ end }}
|
|
</span>
|
|
<span class="site-chevron" aria-hidden="true"></span>
|
|
</summary>
|
|
|
|
<div class="site-body">
|
|
{{ with $loc.department }}<p class="site-dept">{{ . }}</p>{{ end }}
|
|
{{ with $loc.intro }}<p class="site-intro">{{ . }}</p>{{ end }}
|
|
|
|
{{ range $loc.blocks }}
|
|
<div class="site-block">
|
|
<h3 class="site-block-title">{{ .title }}</h3>
|
|
{{ with .text }}<p>{{ . }}</p>{{ end }}
|
|
{{ with .items }}
|
|
<ul class="site-list">
|
|
{{ range . }}<li>{{ . }}</li>{{ end }}
|
|
</ul>
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ with $loc.contact }}
|
|
<div class="site-contact">
|
|
<h3 class="site-block-title">{{ i18n "participate_contact" }}</h3>
|
|
{{ with .lead }}<p class="site-contact-lead">{{ . }}</p>{{ end }}
|
|
{{ with .extra }}<p class="site-contact-lead">{{ . }}</p>{{ end }}
|
|
{{ with .address }}<p class="site-contact-line">{{ . }}</p>{{ end }}
|
|
|
|
{{/* `people` is a list because a site can name more than one
|
|
contact (Aachen has separate ones for Viersen and Düren).
|
|
Phone and e-mail are both optional — Mannheim deliberately
|
|
lists only an address. */}}
|
|
{{ range .people }}
|
|
{{ $p := . }}
|
|
<div class="site-contact-person">
|
|
{{ with $p.role }}<span class="site-contact-role">{{ . }}</span>{{ end }}
|
|
<span class="site-contact-name">{{ $p.name }}</span>
|
|
{{ with $p.phone }}
|
|
<a class="site-contact-link" href="tel:{{ $p.phone_link | default . }}">{{ . }}</a>
|
|
{{ end }}
|
|
{{ with $p.email }}
|
|
<a class="site-contact-link" href="mailto:{{ . }}">{{ . }}</a>
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ with $loc.pdf }}
|
|
<div class="site-actions">
|
|
<a class="site-pdf-btn" href="{{ . }}" download>
|
|
<svg class="site-pdf-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
|
|
<polyline points="7 10 12 15 17 10" />
|
|
<line x1="12" y1="15" x2="12" y2="3" />
|
|
</svg>
|
|
{{ i18n "participate_download" }}
|
|
</a>
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
</details>
|
|
{{ end }}
|
|
</div>
|
|
|
|
{{ with .Params.pdf_note }}<p class="participate-note">{{ . }}</p>{{ end }}
|
|
{{ with .Content }}<div class="participate-outro">{{ . }}</div>{{ end }}
|
|
|
|
</div>
|
|
{{ end }}
|