George Cushen
a2aaa838c0
feat(preact+landing): enable Preact block rendering + reusable landing page content system
...
## Preact Block Integration
- Enable Preact component detection for data-driven pages:
- Fix init.html to resolve sections_source + per-section ref before Preact detection
- Correct resource paths: blox/* → js/hbx/blocks/* (Hugo module mounts)
- Update libraries.html to load Preact core + compiled block scripts
- Add dynamic icon rendering for Preact components:
- Create Icon.jsx component with SVG decoding
- Add get_icon_data.html partial for passing icon strings to Preact props
- Update preact-wrapper.html to fetch icon data and inject into props
- Wire hero component to render dynamic icons via <Icon svg={icon_svg} />
- Centralized logging system:
- Add functions/logger.html to wrap warnf/errorf safely
- Degrade to HTML comments in constrained contexts (content adapters)
## Reusable Landing Page Content System
- Add sections_source support:
- Page front matter: sections_source: pages/<key> loads base from data/pages/<key>.yaml
- Inline sections deep-merge over base by position; extras appended
- Add per-section ref system:
- Any section: ref: blocks/<slug> loads from data/blocks/<slug>.yaml
- Inline section properties deep-merge over ref (content/design submaps)
- Enable content reuse across multiple landing pages
- Create reusable block library:
- Add test/data/blocks/: hero_basic.yaml, features_basic.yaml
- Add test/content/linked/index.md demo using refs with overrides
- Add pragmatic deep merge for content/design override handling
## Infrastructure & Schemas
- Update base-block.json schema:
- Fix gradient structure: flat → nested (gradient.start/end/direction)
- Fix color structure: string|{light,dark} (matches parse_block_v3.html)
- Update hero schema to properly extend base via $ref
- Fix Tailwind source path generation:
- Add tailwind_sources.html with test vs starter site logic
- scripts/view-test.sh: export HUGO_BLOX_TEST_SITE=true
- Update block directory structure:
- blox/<name>/config.html (was blox/<name>--CONFIG.html)
- Apply to init.html + parse_block_v2.html
- Code quality improvements:
- Biome config: match Prettier rules
## Content Adapters (Removed)
- Investigated Hugo content adapters for landing pages
- Found execution context limitations (early build phase, limited site methods)
- Archived to backups/content-adapters-*.zip and removed from test site
- Decision: use standard pages + data linking instead of adapters
This enables dynamic Preact rendering with proper icon support while providing a flexible, reusable content system for landing pages that maintains the "single file = page" mental model with optional advanced linking.
2025-09-22 22:18:03 +01:00
George Cushen
1495a500e5
ci: fix
2025-09-21 16:17:58 +01:00
George Cushen
c5625bd0b7
ci: add --update-starters-to-commits option to release script
...
Add standalone option to update starter templates with latest module
commits using Go pseudo-versions instead of creating new release tags.
- New functions for commit info extraction and pseudo-version formatting
- Updates go.mod files with v0.0.0-YYYYMMDDHHMMSS-abcdefabcdef format
- Updates Hugo versions in hugoblox.yaml, netlify.toml, and deploy.yml
- Uses deploy.yml workflow filename (GitHub Pages convention)
- Supports --dry-run for preview and --yes for execution
- Perfect for GitHub UI workflows and development environments
Validated with:
`poetry run python scripts/release_modules.py --update-starters-to-commits --dry-run --log-level INFO`
2025-09-17 00:25:56 +01:00
George Cushen
e6734f33ae
feat(scripts): default to academic-cv starter when no argument provided
...
- Update view-starter-dev.sh to default to academic-cv if no starter specified
- Update view-starter-prod.sh to default to academic-cv if no starter specified
- Update usage documentation to show starter name as optional parameter
- Maintain backward compatibility with existing usage patterns
2025-09-17 00:16:19 +01:00
George Cushen
93585c868d
feat: refactor block system
...
Refactored from legacy layouts/partials/blox/* system to:
- blox/<block-id>/block.html source structure
- Hugo module mounts to layouts/partials/hbx/blocks/<block-id>/block.html
- Resolver-based lookup
- Support for data-driven pages and client islands
2025-08-30 14:43:37 +01:00
George Cushen
507f03411f
refactor: move Bootstrap modules and templates to dedicated repo
...
See https://github.com/HugoBlox/hugo-blox-bootstrap
2025-08-25 21:16:45 +01:00
George Cushen
ee50bbf7e8
build: refactor build scripts
2025-08-20 18:17:19 +01:00
George Cushen
eda76fd050
ci: fix releaser action
2025-08-20 02:37:50 +01:00
George Cushen
33cde7169c
ci: fix releaser action
2025-08-20 01:27:19 +01:00
George Cushen
a6dc896c98
ci: add releaser action
2025-08-20 01:03:08 +01:00
George Cushen
7722abcd66
feat: upgrade from Tailwind v3 to v4
...
See Tailwind v4 breaking changes: https://tailwindcss.com/docs/upgrade-guide
See Hugo's new integration with Tailwind v4: https://gohugo.io/functions/css/tailwindcss/
Close #3211
2025-08-17 20:58:14 +01:00
George Cushen
6fb35fc7aa
build: update config
2025-08-16 02:08:34 +01:00
George Cushen
358962ce08
feat(tailwind): port brand icons, tags page, search, Awards block, card zoom
2023-11-16 07:57:40 +00:00
George Cushen
9b2e271c7c
fix: links
2023-11-07 23:09:38 +00:00
Federico Agostini
342a418071
build: preserve comments in language pack synchroniser ( #2831 )
...
By migrating from PyYAML to Ruamel for YAML parsing
2022-09-17 15:56:54 +01:00
George Cushen
b49528cf1e
refactor: move Reveal.JS plugin to its own module
...
```
module:
imports:
- path: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-reveal
```
See #2792
2022-08-15 18:06:37 +01:00
Geo
bfb7d8e3f3
build: update view-starter-dev.sh with renamed modules
...
See #2754
2022-06-28 20:29:01 +01:00
Geo
50de7bd87e
feat: check that Chroma theme exists
...
Also renames global Chroma theme variables to:
site.Params.features.syntax_highlighter.theme_light
site.Params.features.syntax_highlighter.theme_dark
2022-06-02 20:00:37 +01:00
Geo
aa03201adb
starters(notes): add Cover image
2022-05-16 19:53:40 +01:00
Geo
1325f0a9c1
starters: redesign of Minimal template
2022-04-21 13:35:30 +01:00
George Cushen
96826d5ea9
build: add script to view starters
2022-02-16 21:55:41 +00:00
George Cushen
64c3c7e8a2
feat: rename repo to wowchemy-hugo-themes
...
Except repo name in module names as that would be a breaking change
2021-10-04 12:18:12 +01:00
George Cushen
c750304197
perf: install core libs directly rather than via external CDN
...
Increase performance in countries such as China.
Addresses the case where countries block or restrict CDNs, or when external CDNs go offline.
See https://github.com/wowchemy/wowchemy-hugo-modules/pull/2351
2021-07-17 14:03:31 +01:00
George Cushen
142c7c1d5d
i18n: sync language packs
2021-03-06 14:44:28 +00:00
George Cushen
3ae036b9c3
feat(style): update Bootstrap from 4.5 to 4.6
...
Get fixes and minor improvements
2021-02-19 10:01:40 +00:00
George Cushen
0153af8283
refactor(yaml): run code formatter
2021-01-09 00:12:12 +00:00
George Cushen
38b599c504
fix(scripts): path
2020-11-21 22:27:16 +00:00
George Cushen
c67339ac16
refactor: update remaining Academic refs
2020-09-26 23:16:52 +01:00
George Cushen
1f6beec9f7
fix: GA outbound link tracking
...
Fixes external links opening both in current tab and new tab when `google_analytics` enabled.
Fix #1511
2020-01-26 16:38:01 +00:00
George Cushen
df2e1ed79d
docs: update language pack lister
2020-01-25 22:35:02 +00:00
George Cushen
d9e553a96b
style: upgrade Bootstrap from 4.3.1 to 4.4.1
2020-01-23 22:15:37 +00:00
George Cushen
eb953ed475
demo: sync preprocessed resources for Hugo Themes Site
2020-01-01 12:56:19 +00:00
George Cushen
f30d3252a7
refactor: rename sass folder to scss
2019-10-19 20:53:42 +01:00
George Cushen
ede8cef959
feat: update vendor assets & refactor custom CSS path
...
- Upgrade MathJax from v2 to v3
- Updated Highlight, Leaflet, Fancybox, Mermaid, FontAwesome
- Fixed multilingual icon paths in Web App Manifest
- View Demo script now binds to all network I/F to enable testing on
other physical devices like smart phones
BREAKING CHANGES:
Removed `plugins_css` from `params.toml`.
Override `custom.scss` to add custom styling.
Close #1400
2019-10-19 20:33:56 +01:00
George Cushen
ec8b60f71f
feat: move social share buttons below content
...
Also, add page_footer.html to help make page footers more consistent.
Close #1383
2019-10-12 17:23:08 +01:00
George Cushen
93150a55e9
i18n: sync language packs against master to fix missing interface text
...
The structure of some language packs is very outdated, leading to
missing user interface text when using these packs.
Developed a Python script to sync the structure of all language packs
against the master pack (English) so that each pack has the latest set
of localisation strings.
Note that synced items will still need translating, this commit just
ensures that all language packs have the same structure.
Fix #1062
2019-05-05 20:14:39 +01:00