{{ $playlistsData := index hugo.Data "playlists" }} {{ $playlists := index $playlistsData "playlists" }} {{ if $playlists }}

Playlists

{{ range $playlistIndex, $playlist := $playlists }} {{/* Debug: show the type and data */}} {{/*
Playlist {{ $playlistIndex }}: Type = {{ printf "%T" $playlist }}
*/}} {{/* Get the actual playlist object - it's the first element of the array */}} {{ $playlistObj := index $playlist 0 }} {{ if $playlistObj }} {{ $name := index $playlistObj "name" | default "Untitled Playlist" }} {{ $description := index $playlistObj "description" | default "" }} {{ $image := index $playlistObj "image" | default "" }} {{ $tracks := index $playlistObj "tracks" | default slice }}
{{ if $image }} {{ $name }} {{ end }}

{{ $name }}

{{ if $description }}

{{ $description }}

{{ end }} {{ if $tracks }} {{ len $tracks }} tracks {{ end }}
{{ if $tracks }}

Tracks

{{ range $track := $tracks }} {{ $trackTitle := index $track "title" | default "Untitled" }} {{ $trackArtist := index $track "artist" | default "Unknown Artist" }} {{ $trackAlbum := index $track "album" | default "" }} {{ $trackImage := index $track "image" | default "" }} {{ $trackUrl := index $track "url" | default "" }} {{ $trackDuration := index $track "duration" | default "" }} {{ $trackTags := index $track "tags" | default slice }}
{{ if $trackImage }} {{ $trackTitle }} {{ end }}
{{ $trackTitle }} {{ $trackArtist }} {{ if $trackAlbum }} {{ $trackAlbum }} {{ end }} {{ if $trackDuration }} {{ $trackDuration }}s {{ end }}
{{ if $trackUrl }} {{ end }} {{ if $trackTags }}
{{ range $trackTags }} {{ . }} {{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }} {{ end }}
{{ end }}