Skip to content

feat: add @aeorank/hugo framework plugin #4

@vinpatel

Description

@vinpatel

Hugo is one of the largest static site generators on GitHub and is not yet covered by AEOrank's plugin suite. A Hugo integration would unlock a big cohort of Markdown-first documentation and blog sites.

Scope

Ship packages/hugo as a Hugo Module (or a simple template + docs) that:

  • Reads the site's config.toml / config.yaml at build time
  • Generates the 9 AEO files (llms.txt, llms-full.txt, ai.txt, CLAUDE.md, schema.json, robots-patch.txt, faq-blocks.html, citation-anchors.html, sitemap-ai.xml) into public/
  • Uses @aeorank/core for the generation logic — don't reimplement

Reference

The simplest existing plugin is packages/astro — it's ~50 LOC and shows the full shape: accept config → call @aeorank/core generators → write files. Copy that as the template.

Hugo plugs in via either:

  • A Hugo Module (idiomatic) — a tiny Go module that runs at build via the resources/templates pipeline
  • Or a standalone CLI step (npx @aeorank/hugo) that reads the Hugo config — simpler, ships first

Pick whichever is easier; the simpler CLI approach is fine for v1.

Acceptance

  • packages/hugo/package.json publishes as @aeorank/hugo
  • README.md in the package with a 5-line install + config snippet
  • A test scans a fixture Hugo site and verifies the 9 files exist in public/
  • apps/docs gets a /frameworks/hugo/ page (copy the Astro page)

Happy to review an early PR before you polish it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestframework-pluginNew or improved framework integration (Next, Astro, Hugo, etc.)good first issueGood for newcomershelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions