1 parent
36a73f6b63
commit
a07b8be38a
8 files changed
+93
-2
No files matched your search
@@ -5,7 +5,8 @@ Punkrock-Band aus Trier. Hugo-Seite, Deutsch, deployt mit `deploy.ps1`.
|
|||||||
## Website
|
## Website
|
||||||
|
|
||||||
- Inhalte: `content/` (Startseite `_index.md`, Band `about.md`, Musik `music/_index.md`)
|
- Inhalte: `content/` (Startseite `_index.md`, Band `about.md`, Musik `music/_index.md`)
|
||||||
- Shows: eine Datei pro Show in `content/shows/` (`title`, `date`, `location`, `poster`; `tba: true` für noch unbekannte Termine)
|
- Shows: eine Datei pro Show in `content/shows/` (`title`, `date`, `location`, `poster`; `tba: true` für noch unbekannte Termine; optional `city` und `address` für die Event-Daten bei Google, nur bestätigte Adressen)
|
||||||
|
- SEO: JSON-LD in `layouts/partials/schema.html` (Band auf der Startseite, kommende Shows auf `/shows/`), eigene Sitemap ohne Show-Einzelseiten in `layouts/_default/sitemap.xml`
|
||||||
- Release-Cover: `releases/JJJJMMTT_[Single|Album]_[Name].jpg`. Titel und Datum kommen aus dem Dateinamen.
|
- Release-Cover: `releases/JJJJMMTT_[Single|Album]_[Name].jpg`. Titel und Datum kommen aus dem Dateinamen.
|
||||||
- Design: `assets/css/main.css`. Farben `--deep #081226`, `--bolt #fff200` (Blitz-Gelb), `--red #e5232b`; Schriften Big Shoulders Display (Überschriften) und Archivo (Text), liegen in `static/fonts/`.
|
- Design: `assets/css/main.css`. Farben `--deep #081226`, `--bolt #fff200` (Blitz-Gelb), `--red #e5232b`; Schriften Big Shoulders Display (Überschriften) und Archivo (Text), liegen in `static/fonts/`.
|
||||||
- Links und E-Mail stehen in `hugo.toml` unter `[params]`.
|
- Links und E-Mail stehen in `hugo.toml` unter `[params]`.
|
||||||
|
|||||||
@@ -3,4 +3,5 @@ title: "Pink Future"
|
|||||||
date: 2024-06-07
|
date: 2024-06-07
|
||||||
location: Palastgarten Trier
|
location: Palastgarten Trier
|
||||||
poster: /img/shows/2024_Pink_Future.jpeg
|
poster: /img/shows/2024_Pink_Future.jpeg
|
||||||
|
aliases: ["/shows/2024_pink_future-copy/"]
|
||||||
---
|
---
|
||||||
@@ -2,5 +2,6 @@
|
|||||||
title: "Halloween Rock"
|
title: "Halloween Rock"
|
||||||
date: 2026-10-31
|
date: 2026-10-31
|
||||||
location: Gutweiler
|
location: Gutweiler
|
||||||
poster: /img/shows/2026_Haloween.jpeg
|
poster: /img/shows/2026_Halloween.jpeg
|
||||||
|
aliases: ["/shows/2026_haloween/"]
|
||||||
---
|
---
|
||||||
@@ -3,6 +3,7 @@ baseURL = "https://www.deepwatersurvival.de/"
|
|||||||
languageCode = "de"
|
languageCode = "de"
|
||||||
defaultContentLanguage = "de"
|
defaultContentLanguage = "de"
|
||||||
disableKinds = ["taxonomy", "term", "RSS"]
|
disableKinds = ["taxonomy", "term", "RSS"]
|
||||||
|
enableRobotsTXT = true
|
||||||
# Shows liegen in der Zukunft – ohne diese Option würde Hugo sie nicht bauen.
|
# Shows liegen in der Zukunft – ohne diese Option würde Hugo sie nicht bauen.
|
||||||
buildFuture = true
|
buildFuture = true
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
<link rel="preload" href="/fonts/archivo-latin-400-normal.woff2" as="font" type="font/woff2" crossorigin>
|
<link rel="preload" href="/fonts/archivo-latin-400-normal.woff2" as="font" type="font/woff2" crossorigin>
|
||||||
{{ $css := resources.Get "css/main.css" | minify | fingerprint }}
|
{{ $css := resources.Get "css/main.css" | minify | fingerprint }}
|
||||||
<link rel="stylesheet" href="{{ $css.RelPermalink }}" integrity="{{ $css.Data.Integrity }}">
|
<link rel="stylesheet" href="{{ $css.RelPermalink }}" integrity="{{ $css.Data.Integrity }}">
|
||||||
|
{{ partial "schema.html" . }}
|
||||||
</head>
|
</head>
|
||||||
<body class="{{ if .IsHome }}is-home{{ end }}">
|
<body class="{{ if .IsHome }}is-home{{ end }}">
|
||||||
<a class="skip-link" href="#inhalt">Zum Inhalt springen</a>
|
<a class="skip-link" href="#inhalt">Zum Inhalt springen</a>
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{{- /*
|
||||||
|
Eigene Sitemap: Die Einzelseiten unter /shows/ sind noindex-Weiterleitungen
|
||||||
|
auf /shows/ und gehören nicht hinein. lastmod in der Zukunft (kommt von
|
||||||
|
kommenden Shows) wird weggelassen.
|
||||||
|
*/ -}}
|
||||||
|
{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
{{- range .Pages }}
|
||||||
|
{{- if and .Permalink (not (and (eq .Section "shows") (eq .Kind "page"))) }}
|
||||||
|
<url>
|
||||||
|
<loc>{{ .Permalink }}</loc>
|
||||||
|
{{- if and (not .Lastmod.IsZero) (le .Lastmod now) }}
|
||||||
|
<lastmod>{{ safeHTML (.Lastmod.Format "2006-01-02T15:04:05-07:00") }}</lastmod>
|
||||||
|
{{- end }}
|
||||||
|
</url>
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
</urlset>
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
{{/*
|
||||||
|
JSON-LD für Suchmaschinen.
|
||||||
|
Startseite: die Band (MusicGroup) mit Besetzung, Album und Profilen.
|
||||||
|
/shows/: ein MusicEvent pro kommender Show mit Ort (TBA-Termine fehlen).
|
||||||
|
Optional im Show-Front-Matter: city (Ort, sonst wird location genommen)
|
||||||
|
und address (Straße und Hausnummer). Nur bestätigte Adressen eintragen.
|
||||||
|
*/}}
|
||||||
|
{{- $bandID := "/#band" | absURL -}}
|
||||||
|
{{- $band := dict "@type" "MusicGroup" "@id" $bandID "name" site.Title "url" site.Home.Permalink -}}
|
||||||
|
|
||||||
|
{{- if .IsHome -}}
|
||||||
|
{{- $band = merge $band (dict
|
||||||
|
"description" site.Params.description
|
||||||
|
"genre" "Punkrock"
|
||||||
|
"email" site.Params.email
|
||||||
|
"logo" ("/img/logo-crop.png" | absURL)
|
||||||
|
"location" (dict "@type" "Place" "name" "Trier" "address" (dict "@type" "PostalAddress" "addressLocality" "Trier" "addressCountry" "DE"))
|
||||||
|
"sameAs" (slice site.Params.spotify site.Params.instagram site.Params.youtube)
|
||||||
|
) -}}
|
||||||
|
{{- with resources.Get "img/AlbumReleaseParty_Stage_compressed.jpg" }}{{ with .Resize "1200x jpg q80" }}
|
||||||
|
{{- $band = merge $band (dict "image" .Permalink) -}}
|
||||||
|
{{- end }}{{ end -}}
|
||||||
|
{{- with site.GetPage "/about" }}{{ with .Params.members }}
|
||||||
|
{{- $members := slice -}}
|
||||||
|
{{- range . }}
|
||||||
|
{{- $members = $members | append (dict "@type" "OrganizationRole" "roleName" .role "member" (dict "@type" "Person" "name" .name)) -}}
|
||||||
|
{{- end }}
|
||||||
|
{{- $band = merge $band (dict "member" $members) -}}
|
||||||
|
{{- end }}{{ end -}}
|
||||||
|
{{- $albums := slice -}}
|
||||||
|
{{- range where (partial "releases.html" .) "kind" "Album" }}
|
||||||
|
{{- $album := dict "@type" "MusicAlbum" "name" .title "datePublished" (.date.Format "2006-01-02") "byArtist" (dict "@id" $bandID) -}}
|
||||||
|
{{- with .cover.Resize "800x webp q78" }}{{ $album = merge $album (dict "image" .Permalink) }}{{ end -}}
|
||||||
|
{{- $albums = $albums | append $album -}}
|
||||||
|
{{- end }}
|
||||||
|
{{- with $albums }}{{ $band = merge $band (dict "album" .) }}{{ end -}}
|
||||||
|
{{- $data := merge (dict "@context" "https://schema.org") $band }}
|
||||||
|
<script type="application/ld+json">{{ $data | jsonify | safeJS }}</script>
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- if and (eq .Kind "section") (eq .Section "shows") -}}
|
||||||
|
{{- $events := slice -}}
|
||||||
|
{{- range (where .Pages "Date" "ge" now).ByDate }}
|
||||||
|
{{- if and (not .Params.tba) .Params.location }}
|
||||||
|
{{- $address := dict "@type" "PostalAddress" "addressLocality" (.Params.city | default .Params.location) "addressCountry" "DE" -}}
|
||||||
|
{{- with .Params.address }}{{ $address = merge $address (dict "streetAddress" .) }}{{ end -}}
|
||||||
|
{{- $event := dict
|
||||||
|
"@type" "MusicEvent"
|
||||||
|
"name" (printf "%s mit %s" .Title site.Title)
|
||||||
|
"startDate" (.Date.Format "2006-01-02")
|
||||||
|
"eventStatus" "https://schema.org/EventScheduled"
|
||||||
|
"eventAttendanceMode" "https://schema.org/OfflineEventAttendanceMode"
|
||||||
|
"location" (dict "@type" "Place" "name" .Params.location "address" $address)
|
||||||
|
"performer" $band
|
||||||
|
"url" $.Permalink
|
||||||
|
-}}
|
||||||
|
{{- with .Params.poster }}{{ $event = merge $event (dict "image" (. | absURL)) }}{{ end -}}
|
||||||
|
{{- $events = $events | append $event -}}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with $events }}
|
||||||
|
<script type="application/ld+json">{{ dict "@context" "https://schema.org" "@graph" . | jsonify | safeJS }}</script>
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
User-agent: *
|
||||||
|
Allow: /
|
||||||
|
|
||||||
|
Sitemap: {{ "sitemap.xml" | absURL }}
|
||||||
Reference in new issue
Block a user