Hugoifier

45 commits
.github Create dependabot.yml 1 week, 1 day ago
about Deployed 3eed7c6 with MkDocs version: 1.6.1 4 weeks, 1 day ago
architecture Deployed 3eed7c6 with MkDocs version: 1.6.1 4 weeks, 1 day ago
assets Deployed 3eed7c6 with MkDocs version: 1.6.1 4 weeks, 1 day ago
cli-reference Deployed 3eed7c6 with MkDocs version: 1.6.1 4 weeks, 1 day ago
docs docs: add edge CDN section — static HTML is perfect for edg… 4 weeks, 1 day ago
getting-started Deployed 3eed7c6 with MkDocs version: 1.6.1 4 weeks, 1 day ago
hugoifier fix: lint errors and CI — remove macOS, fix unused vars, ad… 3 weeks, 3 days ago
search Deployed 3eed7c6 with MkDocs version: 1.6.1 4 weeks, 1 day ago
tests feat: default single/list layouts, frontmatter quoting fix,… 3 weeks, 3 days ago
.gitignore Remove 3rd-party Hugo theme ZIPs from tracking 3.4 KB 4 weeks, 1 day ago
.nojekyll Deployed 3eed7c6 with MkDocs version: 1.6.1 4 weeks, 1 day ago
404.html Deployed 3eed7c6 with MkDocs version: 1.6.1 20.8 KB 4 weeks, 1 day ago
CNAME Deployed 3eed7c6 with MkDocs version: 1.6.1 13 bytes 4 weeks, 1 day ago
Dockerfile feat: package as hugoifier PyPI distribution - Rename src/… 390 bytes 4 weeks, 1 day ago
LICENSE chore: add OSS community health files (LICENSE, CoC, CONTRI… 1.1 KB 4 weeks, 1 day ago
MANIFEST.in feat: package as hugoifier PyPI distribution - Rename src/… 92 bytes 4 weeks, 1 day ago
README.md docs: rewrite README with accurate docs and attribution to … 2.6 KB 3 weeks, 3 days ago
docker-compose.yml fix(docker): broken CMD, wrong subcommand, missing env vars… 359 bytes 4 weeks, 1 day ago
index.html Deployed 3eed7c6 with MkDocs version: 1.6.1 31.8 KB 4 weeks, 1 day ago
mkdocs.yml docs: add 'Why Hugo + Cloudflare' about page 2.0 KB 4 weeks, 1 day ago
prompts.md feat(hugoifier): somewhat working POC 9.0 KB 1 year, 2 months ago
pyproject.toml fix: lint errors and CI — remove macOS, fix unused vars, ad… 1.9 KB 3 weeks, 3 days ago
requirements.txt chore: remove dead code (analyze_html.py) and unused depend… 44 bytes 4 weeks, 1 day ago
setup.py feat: package as hugoifier PyPI distribution - Rename src/… 115 bytes 4 weeks, 1 day ago
sitemap.xml Deployed 3eed7c6 with MkDocs version: 1.6.1 949 bytes 4 weeks, 1 day ago
sitemap.xml.gz Deployed 3eed7c6 with MkDocs version: 1.6.1 256 bytes 4 weeks, 1 day ago
README

Hugoifier

Convert any website to a production-ready Hugo site with Decap CMS — pixel-perfect, no content loss.

How it works

Hugoifier takes three types of input and produces a deployable Hugo site with CMS:

Input Method AI needed?
Hugo theme Assembles, patches deprecated APIs, adds CMS No
Next.js app Captures rendered HTML from dev server No
Raw HTML Extracts head/body directly into Hugo templates No

AI is only used as a fallback (Next.js without a running dev server) or for lightweight structural analysis.

Quick start

pip install hugoifier

# Convert a Hugo theme
hugoifier complete themes/my-theme

# Convert a Next.js app (start your dev server first)
hugoifier complete path/to/nextjs-app

# Convert a raw HTML site
hugoifier complete path/to/html-site

Output goes to output/{name}/ — a complete Hugo site ready to serve:

cd output/my-site && hugo serve

What you get

  • Hugo site with all content, styles, and assets preserved
  • Decap CMS at /admin/ with GitHub OAuth (Cloudflare Pages Functions)
  • functions/api/auth.js + callback.js for OAuth flow
  • Whitelabel CMS branding (--cms-name, --cms-logo, --cms-color)

Deploy to Cloudflare Pages

hugo --minify
npx wrangler pages deploy public --project-name my-site

Set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET as environment variables for CMS auth.

Configuration

# Choose AI backend (only needed for fallback conversion)
HUGOIFIER_BACKEND=anthropic  # or openai, google
ANTHROPIC_API_KEY=sk-...

# Whitelabel CMS
hugoifier complete my-site --cms-name "My CMS" --cms-logo https://... --cms-color "#515be3"

Development

git clone https://github.com/ConflictHQ/hugoifier.git
cd hugoifier
pip install -e ".[dev]"
pytest

Built with

Hugoifier is built on top of two excellent open-source projects:

We're grateful to both communities for building the tools that make this project possible.

License

MIT — see LICENSE for details.

Made by Conflict.

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button