Add automated deployment script that uploads the Hugo-built site to
www.markusgraf.ch via FTPS. Implementation includes:
- scripts/deploy.sh: Deployment script with full functionality
- Prerequisite checks (public/, lftp, FTPS_PASSWORD)
- FTPS connection with SSL/TLS to www.markusgraf.ch
- Mirror upload from public/ to httpsdocs/ with parallel transfers
- Colored output with progress reporting
- Comprehensive error handling with actionable messages
- DEPLOYMENT.md: Complete deployment documentation
- Setup instructions and prerequisites
- Usage examples and workflow
- Security best practices
- Troubleshooting guide
- .gitignore: Add entries for .env files to prevent credential leaks
- tasks.md: Mark all implementation tasks as completed
All spec requirements satisfied:
- FTPS Deployment Script provided (scripts/deploy.sh:1)
- Secure Credential Management via environment variables
- Deployment Status Feedback with colored output
- Deployment Prerequisites verified before upload
Tested with missing prerequisites, all checks working correctly.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>