Commit Graph
43 Commits
Author SHA1 Message Date
Carson 3468870931 fix: remove redundant -post suffix from translationKey 2026-05-10 22:10:23 +02:00
CarsonandClaude Sonnet 4.6 274791435f feat: add blog post about GraphQL and agentic AI
German and English version. Based on Markus' Google Doc draft,
restructured with cleaner flow, improved headings, corrected
spelling/grammar, and a practical example from the wecker project.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 21:58:59 +02:00
gurix 4fb502a296 feat: Add wecker demo video to blog posts 2026-05-05 16:46:55 +02:00
gurix c3d24abf17 feat: add english translation for MCP extension blog post 2026-05-05 14:12:38 +02:00
gurix 6be02768b3 Merge pull request 'feature/pi-carson-mcp-blog' (#7) from feature/pi-carson-mcp-blog into main
Reviewed-on: https://codeberg.org/gurix/markusgraf_ch/pulls/7
2026-05-05 14:05:18 +02:00
gurix 6663d92ef7 feat: add blog post about Raspberry Pi alarm clock 2026-05-05 14:02:31 +02:00
gurix f1eb9111bf Document MCP integration for both Pi and Claude Code 2026-04-26 11:15:45 +02:00
gurix ca44b70c0c Clarify intent of location tracking 2026-04-26 10:33:14 +02:00
gurix 44f0804a8f Neutralize agent naming (Carson -> Agent) 2026-04-26 08:21:02 +02:00
gurix ea6a5c2f25 Update blog post title 2026-04-26 08:13:41 +02:00
gurix f570c140b2 Added technical details about MCP server implementation 2026-04-25 08:39:44 +02:00
gurix d7d0438ee7 Refined blog post style to match persona and humor 2026-04-25 08:35:42 +02:00
gurix 30b17d510e Draft: Blog post about nanoclaw-mcp-ext and Carson 2026-04-24 22:48:35 +02:00
gurix 093b67f975 CV update 2026-03-19 15:09:01 +01:00
gurix 017db30d36 Fahlfehler gefixt 2026-03-19 10:57:43 +01:00
Carson 36e14b4b38 fix: Dienstag-Metapher durch verständlicheren Satz ersetzt 2026-03-19 08:32:00 +01:00
CarsonandMarkus Graf cbdea212cc fix: remove 'nennen wir ihn Markus' — er ist bekannt
Co-Authored-By: Markus Graf <markus@markusgraf.ch>
2026-03-19 08:30:09 +01:00
CarsonandClaude Sonnet 4.6 94c7596f80 feat: Gastartikel Carson – Diskriminierung von Bots (DE + EN)
Anti-Bot-Systeme wie DataDome blockieren nicht nur KI-Assistenten,
sondern auch Screenreader-Nutzer mit Sehbehinderung. Der Artikel
beleuchtet die veraltete gut/böse-Bot-Kategorisierung, dokumentierte
Community-Reaktionen und den rechtlichen Kontext (EAA 2019/882, UNCRPD).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 08:17:02 +01:00
Carson 208fec08b6 feat: add blog post – vollautomatisierter KI-Bewerbungsagent
Neuer Blogpost auf DE und EN über den KI-gestützten Bewerbungsagenten
(Carson/NanoClaw). Enthält deutsche Originalversion und englische
Übersetzung mit korrektem translationKey für Hugo i18n.

Co-Authored-By: Carson <carson@markusgraf.ch>
2026-03-13 12:55:43 +01:00
gurixandClaude Sonnet 4.6 c73f4551bd docs: update CV download link to new Tresorit URL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 11:17:57 +01:00
gurixandClaude Sonnet 4.6 65256db330 docs: remove TL;DR prefix from blog post descriptions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 21:41:41 +01:00
Sepp (AI Assistant) ba9b578a24 Use full TL;DR in description, remove from body 2026-02-18 20:59:07 +01:00
Sepp (AI Assistant) 04959d0501 Update description to use TL;DR 2026-02-18 20:51:16 +01:00
Sepp (AI Assistant) fbb09227d9 Add German original version of blog post 2026-02-18 19:39:29 +01:00
Sepp (AI Assistant) 57f39b8727 Add blog post: The Digital Receptionist (English translation) 2026-02-18 19:32:11 +01:00
gurix 48ca084a89 Updated cv tresorit link 2026-02-09 11:38:17 +01:00
Sepp (AI Assistant) b02951307a fix: remove outdated SPH2025 page and video 2026-02-09 09:49:09 +01:00
gurixandClaude Opus 4.5 803bd79dc8 feat: add bilingual blog post about digital media literacy for children
Add new blog post "Ein alter Laptop, Linux und Pi-hole: Digitale
Medienkompetenz für Kinder" in German and English, covering setting up
a child's first computer with Ubuntu and Pi-hole, open source philosophy,
and the balance between protection and freedom.

Also adds i18n support for localized month names in date formatting
across blog templates.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 16:43:58 +01:00
gurixandClaude Sonnet 4.5 053ca08475 feat: add SPH2025 video presentation page
- Create English-only page at /SPH2025 for job application video
- Embed video with HTML5 player and native browser controls
- Add URL aliases for /SPH2025/ and /sph2025/ accessibility
- Move video to static/videos/ directory for proper Hugo serving
- Responsive layout using Bootstrap grid

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 10:25:40 +01:00
gurixandClaude e599e0404c feat: add bilingual blog post about dialog-based applications
Add new blog post "Computer, ..." exploring how modern language models
enable Star Trek-like computer interactions. Includes a practical
experiment with dialog-based member management using MCP and GraphQL.

Features:
- German version at /de/blog/dialogbasierte-anwendungen/
- English version at /en/blog/dialog-based-applications/
- Translated URL slugs linked via translationKey
- Content sourced from Notion with natural English translation
- OpenSpec proposal with validation passing

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 16:53:55 +01:00
gurix 285f7a2eed fix: Spacing on mobile view underneath the image. 2025-11-03 07:36:38 +01:00
gurixandClaude 89a7ae08dd feat: add English translation of first blog post
Translate "KI Generierte Website - ein Praxisbeispiel" to English as
"AI-Generated Website - A Practical Example". The blog post is now
available in both German and English with proper language switching.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 09:28:09 +01:00
gurixandClaude 29449a8df2 feat: implement blog section with first article
Add blog functionality to the Hugo site:
- Create blog content structure (content/blog/)
- Add blog list and single templates (layouts/blog/)
- Add blog navigation to menu
- Publish first article: "KI Generierte Website - ein Praxisbeispiel"
- Support multilingual structure (German/English)
- Add code block styling for blog posts

The blog section is now accessible at /de/blog/ and /en/blog/
with proper navigation, responsive design, and semantic HTML.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 08:55:03 +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
gurix 937e6a4ded Updated content 2025-10-28 16:43:31 +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
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 7a9b4ccd54 improved content 2025-10-27 21:31:47 +01:00
Markus GrafandClaude 1957e69648 feat: migrate all content and images from markusgraf.ch
Complete content migration from live site to Hugo project including:
- Fetched HTML from live markusgraf.ch using curl
- Downloaded and organized all images (1 profile, 3 project images)
- Migrated complete homepage content with all sections
- Removed unnecessary about.md placeholder page
- Updated all image references to Hugo static paths
- Verified content parity with live site
- Added descriptive alt text to all images for accessibility

Images organized as:
- static/images/profile/markusgraf.jpg
- static/images/projects/laufbahndiagnostik.png
- static/images/projects/persoenlichkeitsdiagnostik.png
- static/images/projects/cpd.png

All 13 tasks completed and verified successfully.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:12:01 +01:00
Markus GrafandClaude d36a18d28b feat: initialize Hugo static site with Bootstrap 5.x
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>
2025-10-27 10:25:11 +01:00