Skip to content

feat: migrate from Gatsby to Hugo with Tailwind v4#3063

Merged
piotrkwiecinski merged 7 commits into
masterfrom
hugo-migration
Jan 2, 2026
Merged

feat: migrate from Gatsby to Hugo with Tailwind v4#3063
piotrkwiecinski merged 7 commits into
masterfrom
hugo-migration

Conversation

@piotrkwiecinski

Copy link
Copy Markdown
Contributor

Summary

  • Replace Gatsby.js with Hugo static site generator
  • Create custom theme with Tailwind CSS v4
  • Replace CircleCI with GitHub Actions for S3 deployment
  • Update Nix flake for Hugo dev shell
  • Remove contact form, newsletter, and GTM (as discussed)

Changes

Added

  • Hugo site structure (layouts/, archetypes/, data/, static/)
  • Tailwind CSS v4 with CSS-first configuration
  • GitHub Actions workflow for build and S3 deployment
  • Responsive templates with mobile menu
  • Blog templates with JSON-LD schema for SEO

Removed

  • All Gatsby configuration and plugins
  • React components (src/)
  • CircleCI configuration
  • Contact form and newsletter functionality
  • Google Tag Manager integration

Migrated

  • 3 blog posts with updated frontmatter (comingSoondraft)
  • Privacy policy page
  • Author data to data/authors.json
  • Static assets (images, icons, favicon)

Test plan

  • Run npm install && npm run build:css && hugo server --buildDrafts
  • Verify homepage renders with services, blog preview, team section
  • Verify blog listing and individual posts render correctly
  • Verify mobile menu works
  • Verify privacy policy page renders
  • Test nix build succeeds
  • Configure GitHub Secrets before merging:
    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY
    • AWS_REGION
    • S3_BUCKET_NAME

🤖 Generated with Claude Code

piotrkwiecinski and others added 7 commits January 1, 2026 21:44
Replace Gatsby.js framework with Hugo static site generator:

- Add Hugo site structure (layouts, archetypes, data, static)
- Create custom theme with Tailwind CSS v4
- Migrate blog posts and privacy policy content
- Add responsive header with mobile menu
- Add blog templates with JSON-LD schema
- Replace CircleCI with GitHub Actions for S3 deployment
- Update Nix flake for Hugo dev shell
- Remove all React components and Gatsby configuration
- Remove contact form and newsletter (as requested)
- Remove Google Tag Manager integration

BREAKING CHANGE: Site now uses Hugo instead of Gatsby

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update footer to dark background (bg-neutral-900)
- Add company details to footer (Partita iva)
- Update blog cards to card style with shadow and sky-500 top border
- Add "Coming soon" label for draft posts
- Add reading time calculation
- Update blog section with gray background and white overlay
- Match original grid gap spacing

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update header to match original styling (sticky, border-b-2, centered nav)
- Add mobile menu panel with shadow and close button
- Add "Let's work together" contact section with phone and email
- Update footer navigation to include Contact link
- Update blog link in footer to point to /#blog section
- Refactor mobile menu JavaScript for better organization

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add CSS rules for prose code blocks:
- overflow-x: auto on pre elements for horizontal scrolling
- word-break handling for inline vs block code

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Target .highlight wrapper for code block overflow handling:
- overflow-x: auto on .highlight container
- border-radius on highlight blocks
- Reset margins on pre and table elements inside highlight

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Only show published posts in the blog preview section. When there are
no published posts, the entire section is hidden.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@piotrkwiecinski piotrkwiecinski merged commit 4d659dd into master Jan 2, 2026
2 checks passed
@piotrkwiecinski piotrkwiecinski deleted the hugo-migration branch January 2, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant