tleininger
a847507b46
Centre one 42rem reading column on content, post, event and FAQ pages
2026-10-01 18:48:55 +02:00
tleininger
7d09233ca2
Keep mobile menu links as pills with a full-width active stroke
2026-10-01 18:28:06 +02:00
tleininger and Claude Opus 5.5
8e4333b3ac
Keep design blocks in the reading column, rework key figures and tiles, drop focus ring on tabindex=-1
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 18:24:34 +02:00
tleininger
7e56e83953
Serve static maintenance page with 503 when PocketBase is unreachable
2026-10-01 17:12:00 +02:00
tleininger
ba65b18d29
Rework post page (lead, pager), add skip link, unified focus ring, reduced motion and keyboard-accessible menu
2026-10-01 16:48:52 +02:00
tleininger
0257b2e30b
Stretch team cards to equal row height and enlarge duty tags
2026-10-01 16:11:43 +02:00
tleininger
602f258257
Unify team grid, limit avatars to brand colours, keep duty tags on one line
2026-10-01 16:04:12 +02:00
tleininger
a5a68ed122
Add ::: team block rendering board members as person cards with initials avatars
2026-10-01 15:55:28 +02:00
tleininger
b2dc033de1
Add post and event cards, shared calendar sheet and per-event ICS; rework past events and next-event card
2026-10-01 15:32:01 +02:00
tleininger
6e5a30607e
Polish home page: clamp tile teasers, balance hero heading, fix embed gap
2026-10-01 14:44:55 +02:00
tleininger
c24ca16a41
Add home hero with intro and buttons from the body, next-event card and page tiles
2026-10-01 14:23:55 +02:00
tleininger
e51afeb34b
Add home hero with intro and buttons from the body, next-event card and page tiles
2026-10-01 14:05:25 +02:00
tleininger
d539fde09d
Refresh header and footer with signet, gradient, nav pills and three-column footer; fix box-sizing of design boxes
2026-10-01 13:36:26 +02:00
tleininger and Claude Opus 5.5
5eb36ad3e9
Style editor Markdown with .markdown-body and add ::: design blocks
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 12:52:51 +02:00
tleininger
33fa1e4e93
Add the design foundation: self-hosted Nunito, type scale, new tokens and an Icon component
2026-10-01 12:03:39 +02:00
tleininger
8fb5044062
Align the FAQ docs with the faq_topics collection
2026-10-01 11:37:04 +02:00
tleininger
818f4c508e
Warm up the contact page text and link the e-mail address
2026-09-30 23:02:22 +02:00
tleininger
ee43d133e9
Replace placeholder events with real past events and the go-live date
2026-09-30 22:58:39 +02:00
tleininger
cf799dd970
Reword the /posts intro to match the actual content mix
2026-09-30 22:47:23 +02:00
tleininger
de319d3b00
Replace placeholder posts with the real backup articles
2026-09-30 22:43:47 +02:00
tleininger
43e6ed7743
Unify post and event cards to one style on the home page
2026-09-30 21:52:59 +02:00
tleininger
4fa17429b5
Read heading and intro from the pages record on /posts and /events
2026-09-30 21:33:26 +02:00
tleininger
666614a3b2
Smoke-test /health for the reachable (200) and unreachable (503) cases
2026-09-30 21:07:40 +02:00
tleininger
c67c71ea28
Remove hover motion from cards and "more" links
2026-09-30 16:40:33 +02:00
tleininger
eacf95e041
Show FAQ topics as an in-page accordion instead of drill-down pages
2026-09-30 16:21:49 +02:00
tleininger
cb345975cb
Write proper FAQ page intro; drop dead faqs-embed from tests
2026-09-30 15:13:19 +02:00
tleininger
e38ebf078d
Render FAQ topics as cards, drop dead scoped CSS
2026-09-30 14:58:12 +02:00
tleininger
2ea8856d65
Group FAQs by a topic relation, ordered; drop unused FAQ teaser
2026-09-29 22:11:30 +02:00
tleininger
28944c155a
Sort FAQ entries by editor-defined order within each topic
2026-09-29 21:35:53 +02:00
tleininger and Claude Opus 4.8
ab4a1dd8fc
Apply IGMH brand colours, shrink subheadings, show page title as h1
...
- app.css: adopt the school's own colours (IGMH blue for header/links/headings, IGMH green as accent), light/dark; cooler near-neutral page bg
- app.css: reduce h2/h3 and give h4 its own size for a calmer heading scale
- ContentPage: render the page title as a visible <h1>, not only <PageTitle>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-25 16:26:13 +02:00
tleininger
44f07c8c13
Reduce heading sizes by one step
2026-09-25 09:12:10 +02:00
tleininger
455b603299
Extract date rendering into per-feature Date components
2026-09-25 08:49:44 +02:00
tleininger
c7c55c0c6c
Let editors define FAQ topics freely instead of a hard-coded map
2026-09-24 14:49:15 +02:00
tleininger
01d25eb04b
Take the page heading from the Markdown body, not a separate <h1>
2026-09-24 14:26:35 +02:00
tleininger
e242eaf79a
Serve 503 when PocketBase is unavailable across all content pages
2026-09-24 13:00:14 +02:00
tleininger
0f7e968c16
Harden the content contracts and enforce the slug rule
2026-09-24 12:08:56 +02:00
tleininger
d06af2891a
Centralize the home slug check on Page, case-insensitively
2026-09-24 10:23:30 +02:00
tleininger
66bc76af1c
Define the all-day rule once as Event.HasTime
2026-09-24 10:08:04 +02:00
tleininger
31b114982e
Move date converters onto the contracts
2026-09-24 09:20:14 +02:00
tleininger
6d3260db49
Read a post's date as the Berlin calendar day, not the raw UTC day
2026-09-24 09:11:37 +02:00
tleininger
aef05fb090
Convert PocketBase dates to Berlin time; document code conventions
2026-09-24 08:53:47 +02:00
tleininger
3fd4068762
Serve the home nav link from PocketBase, not a hard-coded copy
2026-09-23 22:32:01 +02:00
tleininger
d7e708a717
Follow the OS dark mode with a softer, readable palette
2026-09-23 21:05:52 +02:00
tleininger
fa49f80d65
Give the site a warm design system with card-based content lists
2026-09-23 20:28:15 +02:00
tleininger
02654c20d3
Add a mobile nav and pin the header while scrolling
2026-09-23 19:26:35 +02:00
tleininger
c3da5eb6e1
Auto-seed dev PocketBase and share its schema with the tests
2026-09-23 15:59:15 +02:00
tleininger
d5372963bb
Seed the dev PocketBase with example content on a fresh volume
2026-09-23 15:43:44 +02:00
tleininger
47d9841532
Remove the leftover file content layer and align the docs
2026-09-23 15:30:53 +02:00
tleininger
3fd3796d73
Generate navigation and render page embeds from PocketBase
2026-09-23 14:54:10 +02:00
tleininger
6b5d9dda55
Serve FAQs from PocketBase on a grouped /faqs page
2026-09-23 14:15:16 +02:00
tleininger
4136af6417
Serve pages and home from PocketBase, drop the file-based content layer
2026-09-23 13:30:48 +02:00
tleininger
da87716d97
Consume PocketBase for posts and events, with English routes
2026-09-23 13:09:22 +02:00
tleininger
b1d1953a62
Run PocketBase as a compose stack, tests included, without Testcontainers
2026-09-23 10:03:16 +02:00
tleininger
bbe792192d
Split compose into base + dev overlay for a local two-container stack
2026-09-23 08:40:00 +02:00
tleininger
d78a13815a
Add PocketBase client with contracts and containerized tests
2026-09-23 07:40:56 +02:00
tleininger
251f2d818b
Add PocketBase client with contracts and sharp build tooling
2026-09-22 19:32:32 +02:00
tleininger
f7fad64bcb
Dissolve plan.md into docs/, move open work to Gitea issues
2026-09-22 13:39:27 +02:00
tleininger
af051ef4bd
Add Gitea Actions workflow to build and push the image on main
2026-09-22 08:35:33 +02:00
tleininger
9d1f8fe0d4
Restructure into feature folders with code-behind and scoped CSS
2026-09-21 22:01:21 +02:00
tleininger
eeea3e7e11
Enable de-DE culture with ICU runtime image
2026-09-21 21:18:31 +02:00
tleininger
9459d2aeaa
Add events calendar with ICS feed and switch content naming to English
2026-09-21 16:22:56 +02:00
tleininger
f24a4e73a2
Add route smoke tests
2026-09-21 15:57:52 +02:00
tleininger
5e9146f2cb
Replace template home page with news teaser
2026-09-21 15:51:54 +02:00
tleininger
908a03a1f6
Add news post type with list and detail routes
2026-09-21 15:47:12 +02:00
tleininger
bed2db5972
Add FAQ subpages linked from the FAQ hub
2026-09-21 15:43:20 +02:00
tleininger
8dcf72495a
Add placeholder pages for all header nav targets
2026-09-21 15:41:46 +02:00
tleininger
6c5840ab8e
Add site layout with header navigation and footer
2026-09-21 15:37:39 +02:00
tleininger
c4c7ca2ee4
Switch code, scripts and docs to English; drop plan.md references
2026-09-21 15:25:01 +02:00
tleininger
76f1ad7825
Add Markdown content pipeline for static pages
2026-09-21 15:08:04 +02:00
tleininger
b59a96b90c
Document deployment workflow milestone
2026-09-21 08:49:31 +02:00
tleininger and Claude Opus 4.8
94d9cac77b
Add release/dev build scripts and branch-based deploy workflow
...
- scripts/release.sh: build from main, tag :latest + short SHA, push
both. Aborts if not on main or working tree is dirty; warns on
unpushed commits. Prevents dev states from becoming :latest.
- scripts/dev-build.sh: local dev image (tagged per branch), never
pushed -- keeps development builds off the registry.
- docs/deployment.md: document branch/PR workflow, replace manual
build/push steps with the scripts, SHA-based rollback now standard.
- .gitattributes: force LF on *.sh so the shebang works on Windows.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-21 07:58:46 +02:00
tleininger and Claude Opus 4.8
99dd052929
Document deployment milestone: Hello world running on Unraid
...
Update roadmap in plan.md: steps 1/3/6 done, deployment (step 6)
pulled ahead of the content pipeline to prove the build->registry->
Unraid chain early. Record the evening 2026-09-20 status and the
deliberate test-time deviations to unwind later (port mapping, latest
-only tag, plaintext token).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-21 00:13:08 +02:00
tleininger and Claude Opus 4.8
467c7a3eb9
Document Unraid registry login (pitfalls, plaintext token note)
...
Add a dedicated Unraid login step to deployment.md: terminal-based
login (plugin has no UI field), the PowerShell-vs-Unraid mix-up, the
stuck-wrong-username fix (logout first), and the plaintext token
warning. Note a credential helper as a later cleanup.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-21 00:09:51 +02:00
tleininger and Claude Opus 4.8
ee90877dea
Add deployment docs, switch compose to pull from registry
...
- docs/deployment.md: manual build/push/pull workflow via Gitea
registry, token handling (no secrets in repo), test vs. production
compose variants, rollback and later CI automation notes.
- compose.yaml: pull the prebuilt image from the Gitea registry instead
of building from source on Unraid (source is not checked out there).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-20 23:31:43 +02:00
tleininger and Claude Opus 4.8
95946a4349
Add Docker setup and fix proxy config for containerized deployment
...
- Program.cs: remove UseHsts/UseHttpsRedirection (NPM terminates TLS,
would loop behind the proxy, plan.md AE-4), add UseForwardedHeaders
with emptied known networks/proxies. Uses KnownIPNetworks (net10).
- Dockerfile: SDK build stage, chiseled aspnet runtime on port 8080.
- .dockerignore: keep build output, git and docs out of the image.
- compose.yaml: temporary test setup (builds from source, exposes
5000:8080) for the first run on Unraid without NPM or registry.
- .gitignore: exclude .idea/ (Rider project files).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-20 23:00:47 +02:00
tleininger and Claude Opus 4.8
2298051bf4
Add plan.md and CLAUDE.md
...
Architecture decisions with rationale (plan.md) and repo-specific
build/run commands plus style rules (CLAUDE.md).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-20 21:51:18 +02:00
tleininger and Claude Opus 4.8
8b172e2c3c
Initial Blazor Web App template
...
Rider-generated Blazor Web App (net10.0, interactive render mode None,
no auth scaffold, no sample pages). Includes Rider auto-formatting.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-09-20 21:51:10 +02:00