Archive all 6 deployed changes following OpenSpec workflow: - add-minimal-hugo-site → hugo-site spec - add-multilingual-support → internationalization spec - migrate-site-content → content-migration + image-assets specs - add-custom-bootstrap-styling → styling spec - add-cv-page → content-management spec - simple-deployment → deployment spec All changes moved to archive/ with 2025-10-30 date prefix. Created 7 capability specs reflecting deployed functionality. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
3.8 KiB
3.8 KiB
image-assets Specification
Purpose
TBD - created by archiving change migrate-site-content. Update Purpose after archive.
Requirements
Requirement: Image Asset Discovery
The system SHALL identify and catalog all images from the live markusgraf.ch website for migration.
Scenario: Identify all images on live site
- GIVEN the live markusgraf.ch website HTML source
- WHEN images are catalogued from the HTML
- THEN all image URLs are documented
- AND image purposes (profile, project, icon, etc.) are identified
- AND image file formats and sizes are noted
Scenario: Create asset inventory
- GIVEN identified images from live site
- WHEN asset inventory is created
- THEN a complete list of images with URLs exists
- AND each image is categorized by type/purpose
- AND inventory documents source URLs for downloading
Requirement: Image Download and Organization
The system SHALL download images from the live site and organize them in Hugo's static directory following logical grouping principles.
Scenario: Download images from live site
- GIVEN list of image URLs from inventory
- WHEN images are downloaded
- THEN all images are successfully retrieved
- AND image files are verified for integrity
- AND no corrupted or failed downloads exist
Scenario: Organize images in static directory
- GIVEN downloaded images
- WHEN images are placed in Hugo project
- THEN images are saved to static/images/ or appropriate subdirectories
- AND directory structure reflects logical grouping (e.g., static/images/projects/, static/images/profile/)
- AND filenames are consistent and descriptive
Requirement: Image Reference Integration
The system SHALL update all image references in content files to use Hugo's static path conventions correctly.
Scenario: Update image paths in content
- GIVEN images are in Hugo static directory
- WHEN content files reference images
- THEN image paths use Hugo static conventions (e.g., /images/photo.jpg)
- AND all image references use correct relative or absolute paths
- AND markdown image syntax is properly formatted
Scenario: Verify image links resolve
- GIVEN Hugo site is built
- WHEN pages with images are rendered
- THEN all image references resolve correctly
- AND no broken image links exist
- AND no 404 errors occur for image resources
Requirement: Image Display Verification
The system SHALL ensure all migrated images display correctly in the built Hugo site.
Scenario: Images render correctly
- GIVEN Hugo site is built and served
- WHEN pages with images are viewed
- THEN all images display visually
- AND image aspect ratios are appropriate
- AND images load from correct static paths
- AND no missing or placeholder images appear
Scenario: Image dimensions and quality
- GIVEN images are displayed on site
- WHEN comparing to live site
- THEN image sizes are comparable to originals
- AND image quality is maintained
- AND no distortion or stretching occurs
Requirement: Image Accessibility
The system SHALL ensure all images have appropriate accessibility attributes for screen readers and assistive technologies.
Scenario: Alt text for all images
- GIVEN images in content files
- WHEN markdown image syntax is used
- THEN all images include descriptive alt text
- AND alt text meaningfully describes image content
- AND decorative images use empty alt text where appropriate
Scenario: Semantic image usage
- GIVEN images serve specific purposes
- WHEN images are integrated into content
- THEN images are used semantically (figures, illustrations, etc.)
- AND image context is clear from surrounding content