Commit Graph
25 Commits
Author SHA1 Message Date
gurix 2741f12b94 Merge branch 'main' into feature/add-blog-section 2025-10-31 08:43:17 +01:00
gurix 87f4f9045a Precise the script location so the agent can save a search. 2025-10-31 08:43:08 +01:00
gurixandClaude caf4c0b755 docs: create OpenSpec proposal for blog section
Add proposal, tasks, and specifications for implementing a blog section
with multilingual support. First article will be "KI Generierte Website -
ein Praxisbeispiel" from Notion.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 22:20:06 +01:00
gurix f587cdf13f Adjusted layout 2025-10-30 19:51:02 +01:00
gurixandClaude 28361b7d5c feat: add open source supporter information to homepage
Added bullet point highlighting open source enthusiasm and support
for free and open source software to both English and German versions
of the homepage.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 19:35:45 +01:00
gurixandClaude 24f162eb91 feat: add hugo-deployer agent for automated deployments
Add specialized agent for deploying Hugo site to production.
The agent handles:
- Branch verification (main only)
- Hugo build execution
- Deployment via rsync to markusgraf.ch

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 17:29:40 +01:00
gurixandClaude adbee2c655 chore: archive completed OpenSpec changes
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>
2025-10-30 17:22:03 +01:00
gurix 937e6a4ded Updated content 2025-10-28 16:43:31 +01:00
gurixandClaude 6af745f579 refactor: rename deployment change to simple-deployment
Rename the OpenSpec change from add-ftps-deployment to simple-deployment
to better reflect the current implementation using rsync over SSH.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 16:03:37 +01:00
gurixandClaude fcb82acc6f refactor: switch from FTPS/lftp to rsync for deployment
Replace the FTPS-based deployment approach with rsync over SSH for more
reliable and efficient mirroring of the Hugo site. This change addresses
issues with the previous approach and provides true mirror behavior.

Key changes:
- Replace lftp with rsync for file synchronization
- Add --delete flag for true mirror behavior (removes stale remote files)
- Simplify authentication to use SSH keys only (no password needed)
- Update all documentation and OpenSpec artifacts
- Add .envrc to gitignore for direnv users

Environment variables:
- SSH_USER: SSH username (required)
- SSH_HOST: server hostname (required)
- SSH_PORT: SSH port (optional, defaults to 22)
- REMOTE_ROOT: remote directory path (optional, defaults to /httpsdocs)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 16:02:35 +01:00
gurixandClaude acdce1d15e fix: improve lftp mirror command for existing directories
Change mirror command to work better with existing target directories:
- Use cd/lcd to change to directories first
- Simplify mirror command to work from current directories
- Add mkdir fallback if target directory doesn't exist
- Fix SSL setting from ssl-allow to ssl-force for proper FTPS

This resolves issues when httpsdocs directory already exists on server.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 11:27:52 +01:00
gurixandClaude 90e5f3f2b6 feat: implement FTPS deployment script
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>
2025-10-28 10:53:45 +01:00
gurixandClaude 4dc968e37f feat: add OpenSpec proposal for FTPS deployment
Create proposal for automated deployment script that uploads the Hugo site
to www.markusgraf.ch via FTPS. Includes:
- Deployment capability spec with 4 main requirements
- Implementation tasks for scripts/deploy.sh
- Secure credential management via environment variables

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 10:38:12 +01:00
gurix f3e9e1d434 Duplicate git workflow into AGENTS.md 2025-10-28 09:24:23 +01:00
gurix 8f497b197b removed legacy artefact 2025-10-28 00:00:14 +01:00
gurix cb5f33c5cb Merge feature/add-multilingual-support into main 2025-10-27 23:52:28 +01:00
gurixandClaude c3c747b7fa feat: add multilingual support with German and English
Implement complete multilingual support using Hugo's multilingual mode with German (de) as default and English (en) as secondary language.

Changes:
- Configure Hugo multilingual mode with language-specific parameters
- Reorganize content using language suffix pattern (filename.de.md, filename.en.md)
- Translate all content to English (home page and CV page)
- Implement language switcher that maintains page context
- Add language-specific navigation menus
- Update templates to use language-aware URL functions (relLangURL)
- Fix navbar brand and Home links to respect current language
- Add translationKey to content frontmatter for explicit translation linking

URL Structure:
- German: /de/ (home), /de/cv/ (CV page)
- English: /en/ (home), /en/cv/ (CV page)

Key Implementation Details:
- Use filename.{lang}.md pattern instead of {lang}/filename.md subdirectories
- Always use relLangURL for internal navigation, never .Site.BaseURL
- Menu URLs must include language prefix when defaultContentLanguageInSubdir = true
- Added translationKey to frontmatter for proper translation discovery

Documented 5 critical bugs and their solutions in design.md for future reference.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 23:52:08 +01:00
gurix c7d86d226d Updated conten 2025-10-27 22:53:49 +01:00
gurix 94cb583606 remove old content 2025-10-27 22:52:19 +01:00
gurix f1bcde9928 Merge feature/add-cv-page into main 2025-10-27 22:49:58 +01:00
gurixandClaude e2c20051f3 feat: add curriculum vitae page with secure download
Add dedicated CV page for HR professionals and recruiters with secure Tresorit download link.

Changes:
- Add CV content page at /cv/ with German text
- Configure CV navigation menu item "Curriculum Vitae"
- Enhance navigation template with active state handling for menu items
- Add secure external link with target="_blank" and security attributes (noopener, noreferrer, nofollow)
- Include email verification notice and information about certificates/references availability
- Create OpenSpec proposal for content-management capability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 22:49:28 +01:00
gurix fb7c6f1d71 use german as language code 2025-10-27 22:23:15 +01:00
gurix a72c98fe00 Merge branch 'feature/custom-bootstrap-styling' 2025-10-27 22:05:07 +01:00
gurixandClaude bf52fda68f feat: add custom Bootstrap styling with SCSS support
Implement SCSS-based custom styling system to enable Bootstrap customization while maintaining CDN delivery for core framework.

Changes:
- Add Hugo Pipes SCSS processing pipeline using css.Sass
- Create modular SCSS file structure (main.scss, _variables.scss, _custom.scss)
- Implement custom typography (base font size 1.25rem, adjusted heading sizes)
- Add custom link colors (#0b0089 primary, #0052a3 hover)
- Configure CSS minification and SHA-384 fingerprinting for cache busting
- Add comprehensive SCSS styling documentation

Technical details:
- Updated baseof.html to compile SCSS with Hugo Pipes
- CSS loads after Bootstrap CDN for proper cascade
- Minified output (~154 bytes)
- Supports live reload in development mode

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 22:04:52 +01:00
gurix 7a9b4ccd54 improved content 2025-10-27 21:31:47 +01:00