import kgva site

This commit is contained in:
2026-06-29 01:37:03 +02:00
commit f7643602cb
103 changed files with 2015 additions and 0 deletions
+109
View File
@@ -0,0 +1,109 @@
# Decap CMS — a lightweight, git-based admin for this Hugo site.
# It commits markdown straight to the Gitea repo; the public site stays static.
# Setup (Gitea OAuth app, deploy trigger): see /ADMIN.md.
backend:
name: gitea
repo: karim/kgva # TODO: owner/repo on git.kgva.ch
base_url: https://git.kgva.ch # your Gitea instance
branch: main # TODO: your default branch
app_id: REPLACE_WITH_GITEA_OAUTH_CLIENT_ID
# For editing locally without auth: run `npx decap-server` and uncomment:
# local_backend: true
media_folder: static/img
public_folder: /img
collections:
# ── Projects ────────────────────────────────────────────────────────────
- name: portfolio
label: Portfolio
label_singular: Project
folder: content/portfolio
create: true
slug: "{{slug}}"
summary: "{{title}}"
editor:
preview: false
fields:
- { label: Title, name: title, widget: string }
- { label: Slug, name: slug, widget: string, hint: "url part, e.g. textilsteinwerk" }
- { label: Date, name: date, widget: datetime }
- { label: Draft, name: draft, widget: boolean, default: true, required: false }
- { label: Thumbnail, name: thumbnail, widget: image, required: false }
- { label: Studies path, name: studies, widget: string, required: false, hint: "/studies/hslu/ba/semester_05" }
- { label: School, name: schools, widget: select, multiple: true, options: [hslu, ost], required: false }
- { label: Degree, name: degrees, widget: select, multiple: true, options: [ba, ma], required: false }
- { label: Semester, name: semesters, widget: list, required: false, hint: "e.g. semester_05" }
- { label: Vimeo ID, name: vimeo, widget: string, required: false }
- label: Images
name: images
widget: list
required: false
summary: "{{fields.name}}"
fields:
- { label: File, name: src, widget: image }
- { label: Name (caption), name: name, widget: string }
- { label: Description, name: body, widget: markdown, required: false }
# ── Single pages ────────────────────────────────────────────────────────
- name: pages
label: Pages
files:
- label: Home (hero image)
name: home
file: content/_index.md
fields:
- { label: Title, name: title, widget: string }
- { label: Description, name: description, widget: string }
- { label: Hero image, name: heroImage, widget: image }
- label: About
name: about
file: content/about.md
fields:
- { label: Title, name: title, widget: hidden, default: about }
- { label: Description, name: description, widget: string }
- { label: Layout, name: layout, widget: hidden, default: about }
- { label: Body, name: body, widget: markdown }
- label: Studio
name: studio
file: content/studio.md
fields:
- { label: Title, name: title, widget: hidden, default: studio }
- { label: Description, name: description, widget: string }
- { label: Body, name: body, widget: markdown }
- label: Openbureau
name: openbureau
file: content/openbureau.md
fields:
- { label: Title, name: title, widget: hidden, default: openbureau }
- { label: Description, name: description, widget: string }
- { label: Body, name: body, widget: markdown }
- label: CV
name: cv
file: content/cv.md
fields:
- { label: Title, name: title, widget: hidden, default: cv }
- { label: Description, name: description, widget: string }
- { label: Body, name: body, widget: markdown }
- label: Colophon
name: colophon
file: content/colophon.md
fields:
- { label: Title, name: title, widget: hidden, default: colophon }
- { label: Description, name: description, widget: string }
- { label: Dotfile, name: dotfile, widget: hidden, default: true }
- { label: Body, name: body, widget: markdown }
# ── Legal notice sections ────────────────────────────────────────────────
- name: legal
label: Legal notice
label_singular: Section
folder: content/legal
create: true
slug: "{{slug}}"
fields:
# keep these hidden ones so the section stays a non-rendered fragment
- { label: build, name: build, widget: hidden, default: { render: never, list: never } }
- { label: Body, name: body, widget: markdown }
+14
View File
@@ -0,0 +1,14 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<title>kgva · admin</title>
</head>
<body>
<!-- Decap CMS. To self-host instead of the CDN, download the bundle to
static/admin/decap-cms.js and point the src there (see ADMIN.md). -->
<script src="https://unpkg.com/decap-cms@^3.3.3/dist/decap-cms.js"></script>
</body>
</html>