Files
markusgraf_ch/openspec/project.md
T
Markus GrafandClaude d36a18d28b feat: initialize Hugo static site with Bootstrap 5.x
Initialize minimal Hugo site structure with Bootstrap 5.3.2 integration for
markusgraf.ch conversion. Implements OpenSpec proposal add-minimal-hugo-site.

Features:
- Hugo project structure with standard directories
- Base layout template (baseof.html) with Bootstrap 5.3.2 via CDN
- Homepage (index.html) and single page (single.html) templates
- Reusable partials: header, footer, navigation
- Responsive Bootstrap grid layout
- Mobile-first design with semantic HTML5
- Valid HTML output with basic accessibility features
- Taxonomies disabled for minimal site (see docs/TAXONOMIES.md)

Documentation:
- IMPLEMENTATION_SUMMARY.md - Complete implementation guide
- docs/TAXONOMIES.md - Guide for re-enabling categories/tags
- static/README.md - Guide for placing static assets

Configuration:
- hugo.toml configured for markusgraf.ch
- .gitignore for Hugo build artifacts

All 24 tasks from OpenSpec proposal completed successfully.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 10:25:11 +01:00

2.6 KiB

Project Context

Purpose

Converting the existing static HTML website at markusgraf.ch into a Hugo-based static site. This project maintains the current content while establishing a foundation for future expansion with CV and blog sections.

Tech Stack

  • Static Site Generator: Hugo (latest stable version)
  • Templating: Go templates (Hugo's templating engine)
  • Styling: Bootstrap (upgrading from current version to latest Bootstrap 5.x)
  • Scripting: None (no JavaScript/TypeScript at this stage)
  • Deployment: Static HTML output
  • Version Control: Git

Project Conventions

Code Style

  • Use semantic HTML5 elements
  • Follow Hugo best practices for template organization
  • Use consistent indentation (2 spaces) in HTML and templates
  • Keep templates DRY (Don't Repeat Yourself) using partials
  • Use descriptive names for partials and layouts
  • Comment complex template logic

Architecture Patterns

  • Hugo Structure: Follow standard Hugo directory structure
    • /layouts - Template files (baseof.html, partials, shortcodes)
    • /content - Markdown content files
    • /static - Static assets (images, fonts, etc.)
    • /assets - Files to be processed (SCSS, if needed)
    • /data - Data files (YAML, JSON, TOML)
    • /config.toml (or config.yaml) - Site configuration
  • Template Hierarchy: Use Hugo's template lookup order effectively
  • Partials: Break down templates into reusable partials (header, footer, nav, etc.)
  • Content Organization: Use page bundles and sections as appropriate

Testing Strategy

  • No automated testing currently implemented
  • Manual testing in browsers for layout and functionality
  • Playwright for E2E testing will be introduced in a future phase

Git Workflow

  • Branching: Feature branches from main (e.g., feature/convert-homepage)
  • Commits: Conventional commits format (feat:, fix:, docs:, refactor:, etc.)
  • PRs: Required for all changes, squash and merge
  • Branch Protection: Main branch requires review

Domain Context

Currently migrating existing markusgraf.ch content to Hugo:

  • Existing static HTML pages and content
  • Current design and layout using Bootstrap

Future planned additions:

  • Curriculum Vitae (CV) page
  • Blog section

The migration focuses on preserving current content and functionality while establishing a maintainable Hugo foundation.

Important Constraints

  • Must be performant (Lighthouse score >90)
  • Must be accessible (WCAG 2.1 AA compliance)
  • Must be responsive (mobile-first design)
  • Keep output file size minimal

External Dependencies

None currently required. Site is fully self-contained static HTML.