setto-nostr-web/themes/one-pager/layouts/index.html

180 lines
7.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- SEO -->
{{ partial "seo.html" . }}
<meta name="robots" content="index" />
<meta name="geo.region" content="CH-GE" />
<meta name="geo.placename" content="Geneva" />
<meta name="geo.position" content="46.203918;6.133011" />
<meta name="ICBM" content="46.203918, 6.133011" />
<link rel="canonical" href="https://setto.basspistol.com" />
<link rel="alternate" hreflang="x-default" href="https://setto.basspistol.com" />
{{ $style := resources.Get "css/style.css" | resources.Minify | fingerprint }}
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
</head>
<body>
{{ partial "header.html" . }}
<main>
<!-- BLOG SECTION - Longform -->
<section id="blog" class="section">
<h2>Now Log</h2>
<div class="blog-grid">
{{ $blogPosts := slice }}
{{ range $path, $entries := hugo.Data.longform }}
{{ range $entries }}
{{ $blogPosts = $blogPosts | append . }}
{{ end }}
{{ end }}
{{ $sortedPosts := sort $blogPosts "created_at" "desc" }}
{{ range first 2 $sortedPosts }}
{{ $title := "" }}
{{ $summary := "" }}
{{ $image := "" }}
{{ $tags := slice }}
{{ $d := "" }}
{{ $createdAt := int .created_at }}
{{ range .tags }}
{{ if eq (index . 0) "title" }}
{{ $title = index . 1 }}
{{ else if eq (index . 0) "summary" }}
{{ $summary = index . 1 }}
{{ else if eq (index . 0) "image" }}
{{ $image = index . 1 }}
{{ else if eq (index . 0) "t" }}
{{ $tags = $tags | append (index . 1) }}
{{ else if eq (index . 0) "d" }}
{{ $d = index . 1 }}
{{ end }}
{{ end }}
<div class="blog-card">
{{ if $image }}
<img src="{{ $image }}" alt="{{ $title }}" class="blog-header-image" loading="lazy">
{{ end }}
<div class="blog-content">
<h3>{{ $title }}</h3>
<p class="blog-meta">
{{ dateFormat "January 2, 2006" (time (int .created_at)) }}
</p>
{{ if $summary }}
<p class="blog-description">{{ $summary }}</p>
{{ end }}
<div class="blog-tags">
{{ range $tags }}
<span class="tag"><span>{{ . }}</span></span>
{{ end }}
</div>
<button class="read-more-toggle">Read More</button>
<div class="blog-full-content" style="display: none;">
{{ .content | markdownify }}
</div>
</div>
</div>
{{ end }}
</div>
</section>
<!-- MUSIC SECTION -->
<section id="music" class="section">
<h2>Music Traxxx</h2>
<div style="text-align: right; margin-bottom: 1rem;">
<button onclick="refreshMusic()" class="refresh-button">
<span>🎲 Randomize</span>
</button>
</div>
<div class="music-grid" id="musicGrid">
{{ $allMusic := slice }}
{{ range $path, $entries := hugo.Data.music }}
{{ range $entries }}
{{ $allMusic = $allMusic | append . }}
{{ end }}
{{ end }}
{{ $musicData := jsonify $allMusic }}
<script>
window.allMusicData = {{ $musicData | safeJS }};
</script>
</div>
</section>
<!-- PICTURES SECTION -->
<section id="pictures" class="section">
<h2>Pix & Doodles</h2>
<div style="text-align: right; margin-bottom: 1rem;">
<button onclick="refreshPictures()" class="refresh-button">
<span>🎲 Randomize</span>
</button>
</div>
<div class="photo-grid" id="photoGrid">
{{ $allPictures := slice }}
{{ range $path, $entries := hugo.Data.pictures }}
{{ range $entries }}
{{ $allPictures = $allPictures | append . }}
{{ end }}
{{ end }}
<!-- Store all pictures data in a JSON array -->
{{ $picturesData := jsonify $allPictures }}
<script>
window.allPicturesData = {{ $picturesData | safeJS }};
</script>
</div>
</section>
<!-- VIDEO SECTION -->
<section id="videos" class="section">
<h2>Vidz</h2>
<div style="text-align: right; margin-bottom: 1rem;">
<button onclick="refreshVideos()" class="refresh-button">
<span>🎲 Randomize</span>
</button>
</div>
<div class="video-grid" id="videoGrid">
{{ $allVideos := slice }}
{{ range $path, $entries := hugo.Data.videos }}
{{ range $entries }}
{{ $allVideos = $allVideos | append . }}
{{ end }}
{{ end }}
<!-- Store all videos data in a JSON array -->
{{ $videosData := jsonify $allVideos }}
<script>
window.allVideosData = {{ $videosData | safeJS }};
</script>
</div>
</section>
</main>
<!-- Footer -->
{{ partial "footer.html" . }}
<!-- Custom Lightbox -->
<div class="custom-lightbox" id="customLightbox">
<span class="custom-lightbox-close" id="lightboxClose"></span>
<button class="custom-lightbox-prev" id="lightboxPrev"></button>
<button class="custom-lightbox-next" id="lightboxNext"></button>
<div class="custom-lightbox-content">
<img id="lightboxImage" src="" alt="">
<div class="custom-lightbox-caption">
<span id="lightboxCaption"></span>
<span class="lightbox-meta" id="lightboxMeta"></span>
</div>
</div>
<div class="custom-lightbox-counter" id="lightboxCounter">1 / 1</div>
</div>
{{ $js := resources.Get "js/scripts.js" | resources.Minify | fingerprint }}
<script src="{{ $js.RelPermalink }}"></script>
</body>
</html>