42 lines
No EOL
1.6 KiB
HTML
42 lines
No EOL
1.6 KiB
HTML
{{ define "header" }}
|
|
{{ partial "nav-strip.html" . }}
|
|
{{ end }}
|
|
|
|
{{ define "main" }}
|
|
<section class="section playlists-list">
|
|
<h1>{{ .Title }}</h1>
|
|
{{ if .Content }}
|
|
<div class="section-description">{{ .Content }}</div>
|
|
{{ else }}
|
|
<p class="section-description">Explore all my curated playlists from the Nostr network</p>
|
|
{{ end }}
|
|
|
|
{{ if .Pages }}
|
|
<div class="playlists-grid">
|
|
{{ range .Pages }}
|
|
{{ $name := .Title }}
|
|
{{ $description := .Params.playlist_description | default "" }}
|
|
{{ $image := .Params.playlist_image | default "" }}
|
|
{{ $tracks := .Params.playlist_tracks | default slice }}
|
|
<div class="playlist-card">
|
|
<a href="{{ .RelPermalink }}" class="playlist-link">
|
|
{{ if $image }}
|
|
<img src="{{ $image }}" alt="{{ $name }}" class="playlist-image" loading="lazy">
|
|
{{ end }}
|
|
<div class="playlist-info">
|
|
<h2>{{ $name }}</h2>
|
|
{{ if $description }}<p class="playlist-description">{{ $description }}</p>{{ end }}
|
|
{{ if $tracks }}<span class="playlist-track-count">{{ len $tracks }} tracks</span>{{ end }}
|
|
</div>
|
|
<div class="playlist-hover-overlay">
|
|
<span class="playlist-view-btn">▶ View Playlist</span>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
{{ else }}
|
|
<p class="no-tracks">No playlists found. Run <code>./fetch-playlist.sh</code> and <code>./generate-playlist-pages.sh</code>.</p>
|
|
{{ end }}
|
|
</section>
|
|
{{ end }} |