//nbkelley /homelab

Hugo Deployment to Cloudflare Pages - Troubleshooting

Hugo Deployment to Cloudflare Pages - Troubleshooting#

What Was Established#

Patterns for resolving missing assets (favicons, CSS, styling) and build failures when deploying Hugo-generated static sites to Cloudflare Pages.

Key Decisions#

  • Build Configuration: Set build command to hugo, output directory to public, and explicitly match the local Hugo version in Cloudflare Pages settings.
  • Static Asset Placement: Ensure all static files (e.g., favicon.ico, CSS) reside in the static/ directory root or theme-specific static folders.
  • Rebuild Enforcement: Use hugo --cleanDestinationDir or manually remove the public/ directory to force Hugo to regenerate all assets and detect changes.
  • Cache Management: Clear both Cloudflare Pages deployment cache and browser cache to prevent stale asset delivery.
  • Verification Workflow: Validate locally via hugo server, inspect the generated public/ directory, review Cloudflare deployment logs, and confirm full Git commits.

Current Configuration#

  • Build Command: hugo
  • Output Directory: public
  • Static Directory: static/
  • Config File: config.toml / config.yaml (verify baseURL matches target domain)

Obsidian Integration for Hugo Date Format#

Hugo expects ISO 8601 dates with timezone offset: 2025-11-22T23:11:12-05:00

Ilmarë Website

Ilmarë Website#

What Was Established#

  • Static Hugo site hosted on Varda (192.168.1.131).
  • Features CSS Grid layout, hamburger menu, and parallax hero.

Development Patterns#

Conditional Title Suffixes#

  • Goal: Append a suffix (e.g., /home) to the page title only on the index page.
  • Implementation: Leverage Hugo’s .IsHome boolean within template conditionals.
  • Pattern:
    {{ if .IsHome }}{{ .Site.Title }}/home{{ else }}{{ .Title }}{{ end }}
    or using a variable for cleaner syntax:
    {{ $suffix := "" }}
    {{ if .IsHome }}{{ $suffix = "/home" }}{{ end }}
    {{ if .IsHome }}{{ .Site.Title }}{{ $suffix }}{{ else }}{{ .Title }}{{ end }}
  • Context: Applied to layouts/index.html or base templates to differentiate the root URL from inner pages.

Current Configuration#

  • Host: Varda (192.168.1.131)
  • Stack: Hugo static site generation
  • Template Engine: Go templates

Historical Notes#

  • Conversation dated 2025-11-24. Pattern confirmed for Hugo static site generation.

Open Questions#

  • None.

Sources#

  • ingested/chats/115-Adding -home to index page conditionally.md