commit 0fdec621e76e4cd6fc47d66281acade14364f6ff Author: Claude Code Date: Wed Feb 11 15:01:42 2026 +0000 Initial Hugo site structure diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1c3fa73 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +public/ +resources/ +.hugo_build.lock diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..614003e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM hugomods/hugo:latest AS builder +WORKDIR /src +COPY . . +RUN hugo --minify + +FROM nginx:alpine +COPY --from=builder /src/public /usr/share/nginx/html +EXPOSE 80 diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..28c30e7 --- /dev/null +++ b/config.toml @@ -0,0 +1,13 @@ +baseURL = "https://hgv.brunk-garten.de/" +languageCode = "de" +title = "HGV - Heimat- und Gartenverein" +theme = "" + +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true + +[params] + description = "Heimat- und Gartenverein Brunkgarten" + author = "HGV Brunkgarten" diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..c761949 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,5 @@ +--- +title: "Willkommen beim HGV" +--- + +Willkommen auf der Website des Heimat- und Gartenvereins Brunkgarten. diff --git a/content/mitglieder/_index.md b/content/mitglieder/_index.md new file mode 100644 index 0000000..a1780d3 --- /dev/null +++ b/content/mitglieder/_index.md @@ -0,0 +1,8 @@ +--- +title: "Mitglieder" +menu: "main" +weight: 2 +layout: "members" +--- + +Unsere Mitglieder im Überblick. diff --git a/content/verein/_index.md b/content/verein/_index.md new file mode 100644 index 0000000..4bda67d --- /dev/null +++ b/content/verein/_index.md @@ -0,0 +1,7 @@ +--- +title: "Der Verein" +menu: "main" +weight: 1 +--- + +Informationen zum Verein. diff --git a/data/members.json b/data/members.json new file mode 100644 index 0000000..ea5b69a --- /dev/null +++ b/data/members.json @@ -0,0 +1,12 @@ +[ + { + "name": "Max Mustermann", + "rolle": "Vorsitzender", + "seit": "2020" + }, + { + "name": "Erika Muster", + "rolle": "Stellvertreterin", + "seit": "2021" + } +] diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..e22b2e5 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,27 @@ + + + + + + {{ .Title }} | {{ .Site.Title }} + + + +
+ +
+
+ {{ block "main" . }}{{ end }} +
+ + + diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..d4fb98e --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,12 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ .Content }} + {{ range .Pages }} + + {{ end }} +
+{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..a628b2c --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,6 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ .Content }} +
+{{ end }} diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..be0e834 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,6 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ .Content }} +
+{{ end }} diff --git a/layouts/mitglieder/members.html b/layouts/mitglieder/members.html new file mode 100644 index 0000000..59c05ed --- /dev/null +++ b/layouts/mitglieder/members.html @@ -0,0 +1,24 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ .Content }} + + + + + + + + + + {{ range .Site.Data.members }} + + + + + + {{ end }} + +
NameRolleMitglied seit
{{ .name }}{{ .rolle }}{{ .seit }}
+
+{{ end }} diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..64a0dbc --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,68 @@ +* { margin: 0; padding: 0; box-sizing: border-box; } + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; + line-height: 1.6; + color: #333; + max-width: 960px; + margin: 0 auto; + padding: 0 1rem; +} + +header nav { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1.5rem 0; + border-bottom: 1px solid #eee; +} + +header .logo { + font-weight: 700; + font-size: 1.2rem; + text-decoration: none; + color: #2d6a4f; +} + +header ul { + list-style: none; + display: flex; + gap: 1.5rem; +} + +header a { + text-decoration: none; + color: #555; +} + +header a:hover { color: #2d6a4f; } + +main { + padding: 2rem 0; + min-height: 60vh; +} + +h1 { margin-bottom: 1rem; color: #1b4332; } +h2 { margin: 1.5rem 0 0.5rem; } + +table { + width: 100%; + border-collapse: collapse; + margin-top: 1rem; +} + +th, td { + text-align: left; + padding: 0.75rem; + border-bottom: 1px solid #eee; +} + +th { background: #f8f9fa; font-weight: 600; } + +footer { + padding: 2rem 0; + border-top: 1px solid #eee; + text-align: center; + color: #888; + font-size: 0.9rem; +}