Files
web_marszalekarchitekten/CLAUDE.md
2026-05-22 11:44:47 +02:00

3.1 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What this repo is

Static one-page website for Marszalek Architekten (Perchtoldsdorf, Austria). No build system, no framework — the entire site is a single index.html served by nginx inside Docker. A 2-page A4 PDF info sheet lives alongside it as a pre-generated static asset.

Key commands

Regenerate the PDF

Requires Node.js and Google Chrome installed locally. Close the PDF in any viewer first (Windows locks open files).

node generate-pdf.js

The script uses puppeteer-core with the system Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe. If Chrome moves, update executablePath in generate-pdf.js.

Build and run via Docker

docker compose up --build -d   # build image and start on port 3080
docker compose down            # stop

Install Node deps (only needed to regenerate the PDF locally)

npm install

Architecture

index.html                        ← entire website (HTML + CSS + JS, no external assets)
infosheet-template.html           ← HTML source rendered to PDF by Puppeteer
generate-pdf.js                   ← Node script: opens template in Chrome → exports A4 PDF
marszalek-architekten-infosheet.pdf  ← pre-generated output; committed to repo
nginx.conf                        ← serves index.html + PDF; sets caching & download headers
Dockerfile                        ← nginx:alpine, copies index.html + PDF + nginx.conf
docker-compose.yml                ← single service, host port 3080 → container port 80

PDF workflow

infosheet-template.html is a self-contained 2-page A4 HTML document styled for print (mm units, print-color-adjust: exact, page-break-after: always between pages). generate-pdf.js loads it via a file:/// URL in headless Chrome, waits 1.5 s for Google Fonts, then calls page.pdf(). The output PDF is committed directly — Docker does not regenerate it at build time.

Website structure

index.html is a single-page site with five anchor-linked sections: #home (hero), #projekte (portfolio grid with JS category filter), #leistungen (services), #ueber-uns (team), #kontakt (contact + download banner). All portfolio images load directly from the original WordPress CDN at marszalekarchitekten.at. Google Fonts (Cormorant Garamond + Inter) are loaded from fonts.googleapis.com.

Brand colours

  • Green accent: #99cc00 (matches original site — used in nav bar and PDF header)
  • Near-black: #0f0f0f
  • The green is defined in index.html as the nav background and hardcoded in infosheet-template.html as --green: #99cc00.

Deployment (Portainer)

Add a stack pointing at https://git.stranto.com/cgasser/web_marszalekarchitekten, branch master. Portainer pulls the repo and runs docker compose up. The site is available on the host at port 8082.

When content changes: edit index.html and/or infosheet-template.html, regenerate the PDF locally with node generate-pdf.js, commit both, and redeploy the stack in Portainer.