Skip to content

Sync Hextra Theme Fork with Upstream v0.12 #57

Description

@AliParvini

Description:

The IAUbbmag/hextra theme fork was created from a very early version of [imfing/hextra](https://github.com/imfing/hextra), roughly around v0.9. The upstream theme has since been updated to v0.12.3 with significant structural reorganization, new components, and API changes that are required for compatibility with Hugo v0.146 and later. The current fork is missing several files and uses an outdated structure that causes build errors.


Problems to Fix:

  1. Missing partial files:

    • Several partials that the theme now depends on were added in upstream v0.10–v0.12 and are absent from the fork, causing fatal build errors when those sections are rendered
  2. Outdated scripts pipeline:

    • The scripts.html partial references individual JavaScript files that have been reorganized in the upstream theme, causing a build failure on every page render
  3. Reserved i18n key conflict:

    • The translation files (en.yaml, fa.yaml) use the key description, which Hugo now reserves for internal use — this causes a fatal error that prevents the entire site from building
  4. Layout directory structure:

    • Hugo v0.146 changed how layout directories are organized. The old partials/ folder is now _partials/, and shortcodes/ is now _shortcodes/. The fork needs to reflect this.

Tasks:

  • Compare the fork against upstream v0.12.3 and list all missing or outdated partial files
  • Add missing partials from upstream, preserving any existing customizations in the fork
  • Rewrite the scripts partial to use the modular approach introduced in upstream v0.10
  • Rename the reserved description key in all i18n files and update every template that references it
  • Confirm the layout directory structure matches what Hugo v0.146+ expects

Expected Outcome:

The hextra fork should build cleanly against Hugo v0.162.1 with no missing partials, no i18n key conflicts, and no JavaScript pipeline errors. All existing custom sections should continue to function as before.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions