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>
2.6 KiB
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.