Commit graph

40 commits

Author SHA1 Message Date
George Cushen
0ef515fbae chore: update version in CITATION upon release 2025-11-25 00:28:01 +00:00
George Cushen
5f2290d590 starters: standardise starters dir name to templates 2025-10-23 23:43:50 +01:00
George Cushen
787ac94b5d feat: add Dev HUD & 15 Obsidian callouts; more collection filters
Dev tools
- Add HBX Dev HUD (floating button + panel) with live log viewer
- Add get-build-id helper to dedupe logs per build (during `hugo server` refreshes)

Callouts
- Implement Obsidian-compatible callouts (15+ types) with shared renderer
- Add i18n title translations (en, es, fr) for all callout types
- Deprecate `callout` shortcode with suppressible warning; keep working
- Migrate starters to Markdown callouts (>[!TYPE]) and update docs

Logging
- Centralize logging in partial `functions/logger` with info/warn/error levels
- Use fmt.Warnidf for suppressible warnings (consistent IDs)
- Only show info in Dev HUD/JSON (no longer use warnf for info logging); warn/error still printed in CLI
- Include source metadata and build ID on each entry

Blocks – Collection
- Add support for `content.filters.kinds`
- Add `content.filters.tags` (array) alongside existing `filters.tag` (string)

Build/Tailwind/JS
- Fix missing Tailwind v4 styles in Hugo render: include preact-built assets, extract classes from JSX/TSX to `@sources`
- Load Preact client per block, publish source maps in dev; on-demand Alpine

CI
- Re-implement fast fails with panicOnWarning now that info logging as warnf removed
- Fix package splitter change detection: strip trailing slashes; collapse paths to starter roots

Starters/Docs
- Restructure courses under `courses/hugo-blox/`
- Update menus and landing pages
- Replace deprecated callout usage in content and docs
- Replace missing hero icon `download` with `arrow-down-tray` in academic-cv guide

Icons
- Improve icon resolver: default pack inference, better fallback, and precise missing-icon warnings (with page ref)
2025-09-25 01:58:32 +01:00
George Cushen
220330d872 refactor: implement multi-tier logging and drop panicOnWarning
- Centralize logger: warnf/errorf for normal pages; HTML comments for adapters
- Add dev console logs and export structured logs to /hbx-debug.json
- Remove --panicOnWarning from dev scripts; builds no longer fail on warnings
- Fix prior lint/format issues across scripts and templates
2025-09-22 22:48:26 +01:00
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