My branding website
  • Go 66.6%
  • CSS 18.8%
  • templ 13.4%
  • JavaScript 0.6%
  • Dockerfile 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
onlyati 81307370fd
All checks were successful
ci/woodpecker/push/change_log Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/tag/release Pipeline was successful
ci/woodpecker/cron/renovate Pipeline was successful
ci/woodpecker/cron/release Pipeline was successful
ci/woodpecker/cron/auto_merge Pipeline was successful
fix: Make the unit test correct (#14)
Reviewed-on: #14
2026-10-03 15:40:56 +00:00
data fix: Make the generated CV shorter (#7) 2026-10-03 01:02:50 +00:00
docs feat: Add profile photo to the home page, app bar, CV and share previews, with a square-cropped and metadata-free image 2026-10-02 22:54:38 +02:00
internal fix: Make the unit test correct (#14) 2026-10-03 15:40:56 +00:00
test feat: Add templ views, HTTP server, print-friendly CV page and tests 2026-10-02 19:46:24 +02:00
web feat: Add a floating desktop window, PDF and Markdown CV, llms.txt, robots.txt, sitemap, per-page meta, at-a-glance strip and footer email (#10) 2026-10-03 09:53:03 +00:00
.gitignore fix: Make the unit test correct (#14) 2026-10-03 15:40:56 +00:00
.goreleaser.yaml feat: Add experience summary, job durations, preferences, website link, last updated date and QR code to the CV 2026-10-02 23:23:02 +02:00
.markdownlint.json feat: Very initial commit 2026-10-02 19:27:08 +02:00
.prettierrc.json feat: Very initial commit 2026-10-02 19:27:08 +02:00
CLAUDE.md feat: Add a floating desktop window, PDF and Markdown CV, llms.txt, robots.txt, sitemap, per-page meta, at-a-glance strip and footer email (#10) 2026-10-03 09:53:03 +00:00
Containerfile ci: Fix bootstrap leftovers in goreleaser and Containerfile, drop duplicate prettier config 2026-10-02 19:36:37 +02:00
go.mod feat: Add a floating desktop window, PDF and Markdown CV, llms.txt, robots.txt, sitemap, per-page meta, at-a-glance strip and footer email (#10) 2026-10-03 09:53:03 +00:00
go.sum feat: Add a floating desktop window, PDF and Markdown CV, llms.txt, robots.txt, sitemap, per-page meta, at-a-glance strip and footer email (#10) 2026-10-03 09:53:03 +00:00
main.go feat: Add experience summary, job durations, preferences, website link, last updated date and QR code to the CV 2026-10-02 23:23:02 +02:00
main_test.go feat: Add experience summary, job durations, preferences, website link, last updated date and QR code to the CV 2026-10-02 23:23:02 +02:00
README.md fix: Make the generated CV shorter (#7) 2026-10-03 01:02:50 +00:00
renovate.json feat: Very initial commit 2026-10-02 19:27:08 +02:00

attilamolnar.goapp

Personal branding website of Attila Molnár. A single, statically linked Go binary serves server-rendered pages (templ) built from YAML content files. Content, CSS, fonts and htmx are all embedded, so there is nothing else to deploy.

Editing content

All content lives in data/:

File Content
general.yaml Name, headline, summary, contacts, languages, preferences
experience.yaml Jobs, newest first (YYYY-MM dates, omit end for current)
education.yaml Degrees and certifications
skills.yaml Skill groups with levels (beginner … expert)
projects.yaml Projects with status and featured flag for home page and CV

Each file starts with a comment listing its allowed values. After editing, run go test ./...: it loads the embedded files and reports every validation problem (unknown keys, missing fields, bad dates or URLs). The server also refuses to start with invalid data.

Running locally

templ generate            # only needed after changing a .templ file
go run . serve            # http://localhost:9000

Configuration is environment-only:

Variable Default Description
ATTILAMOLNAR_LISTEN_ADDR :9000 Listen address
ATTILAMOLNAR_LOG_LEVEL info debug, info, warn, error

attilamolnar version prints the build version. /healthz returns ok for health checks.

Building

go vet ./... && go test ./... && golangci-lint run ./...
CGO_ENABLED=0 go build -o attilamolnar .

Release artifacts and the container image:

goreleaser build --snapshot --clean --single-target
podman build -t attilamolnar -f Containerfile .
podman run --rm -p 9000:9000 attilamolnar

Pages

  • / — about, current role, featured projects, languages and preferences
  • /experience, /education, /skills, /projects
  • /cv — condensed CV; use the "Print / Save as PDF" button for a clean printout

License

GPL-3.0. Bundled fonts (Cantarell, JetBrains Mono) are under the SIL Open Font License, see web/static/fonts/.