98 lines
4.2 KiB
HTML
98 lines
4.2 KiB
HTML
{{ define "main" }}
|
|
|
|
|
|
|
|
<style>body { height: auto !important; min-height: 100vh !important; }</style>
|
|
<link rel="stylesheet" href="/css/projects.css">
|
|
<link rel="stylesheet" href="/css/contributors.css">
|
|
<link rel="stylesheet" href="/css/publications.css">
|
|
|
|
<div class="publications-page">
|
|
|
|
<h1 class="projects-title">Publications</h1>
|
|
<p class="projects-subtitle">Neuropsychobiology of Aggression</p>
|
|
<div class="area-bar" style="margin-bottom:2rem">
|
|
<div class="area-bar-a" style="flex:8"></div>
|
|
<div class="area-bar-b" style="flex:5"></div>
|
|
<div class="area-bar-c" style="flex:7"></div>
|
|
<div class="area-bar-q" style="flex:3"></div>
|
|
</div>
|
|
|
|
{{/* ── Intro + figure ── */}}
|
|
<div class="projects-intro-row" style="margin-bottom:2rem">
|
|
<div class="projects-intro-text">
|
|
{{ .Content }}
|
|
<div class="area-buttons">
|
|
<a href="/topics/research-area-a/" class="area-btn area-btn-a">Area A: Negative valence system (NVS)<span>→</span></a>
|
|
<a href="/topics/research-area-b/" class="area-btn area-btn-b">Area B: Cognitive system (CS)<span>→</span></a>
|
|
<a href="/topics/research-area-c/" class="area-btn area-btn-c">Area C: Interaction of NVS and CS<span>→</span></a>
|
|
</div>
|
|
</div>
|
|
<div class="projects-intro-figure">
|
|
<img src="/publications.png" alt="">
|
|
</div>
|
|
</div>
|
|
|
|
{{/* ── Area filter ── */}}
|
|
<div class="role-filters" style="margin-bottom:2rem">
|
|
<button class="role-btn active" data-filter="all">All</button>
|
|
<button class="role-btn" data-filter="research-area-a">Area A: NVS</button>
|
|
<button class="role-btn" data-filter="research-area-b">Area B: CS</button>
|
|
<button class="role-btn" data-filter="research-area-c">Area C: Interaction</button>
|
|
</div>
|
|
|
|
{{/* ── Year groups ── */}}
|
|
{{ range .Pages.GroupByDate "2006" }}
|
|
<div class="pub-year-group">
|
|
<h3 class="pub-year">{{ .Key }}</h3>
|
|
<div class="pub-grid">
|
|
{{ range .Pages }}
|
|
{{ $topics := delimit (.Params.topics | default slice) " " }}
|
|
{{ $url := .Params.external_url }}
|
|
<article class="pub-card" data-topics="{{ $topics }}">
|
|
<div class="pub-card-inner">
|
|
<div class="pub-meta-top">
|
|
<span class="pub-date">{{ .Date.Format "Jan 2006" }}</span>
|
|
{{ range .GetTerms "topics" }}
|
|
{{ if or (eq .Slug "research-area-a") (eq .Slug "research-area-b") (eq .Slug "research-area-c") }}
|
|
<span class="pub-area-dot pub-area-{{ substr .Slug -1 }}"></span>
|
|
{{ end }}
|
|
{{ end }}
|
|
</div>
|
|
<p class="pub-title-text">
|
|
<a href="{{ .Permalink }}" class="pub-card-link">{{ .Title }}</a>
|
|
</p>
|
|
<div class="pub-contributors">
|
|
{{ range .GetTerms "contributors" }}
|
|
<a class="project-tag" href="{{ .Permalink }}">{{ .Title }}</a>
|
|
{{ end }}
|
|
</div>
|
|
{{ with $url }}
|
|
<a class="pub-doi" href="{{ . }}" target="_blank" rel="noopener">→ DOI</a>
|
|
{{ end }}
|
|
</div>
|
|
</article>
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
<script>
|
|
document.querySelectorAll('.role-btn').forEach(btn => {
|
|
btn.addEventListener('click', () => {
|
|
document.querySelectorAll('.role-btn').forEach(b => b.classList.remove('active'));
|
|
btn.classList.add('active');
|
|
const filter = btn.dataset.filter;
|
|
document.querySelectorAll('.pub-card').forEach(card => {
|
|
card.style.display = (filter === 'all' || card.dataset.topics.includes(filter)) ? '' : 'none';
|
|
});
|
|
document.querySelectorAll('.pub-year-group').forEach(group => {
|
|
const visible = [...group.querySelectorAll('.pub-card')].some(c => c.style.display !== 'none');
|
|
group.style.display = visible ? '' : 'none';
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
{{ end }} |