66 lines
2.6 KiB
Markdown
66 lines
2.6 KiB
Markdown
# 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.
|