George Cushen
0ef515fbae
chore: update version in CITATION upon release
2025-11-25 00:28:01 +00:00
George Cushen
6015c70b1e
chore(lint): migrate CSS linting to Biome v2.3 (Tailwind v4) and remove stylelint
...
upgrade @biomejs/biome to ^2.3.2 and migrate biome.json to v2 schema
enable css.parser.tailwindDirectives; ignore .min.css and vendor CSS
remove stylelint deps and .stylelintrc.yaml; switch lint scripts to Biome
update workspace to use Biome for CSS; drop stylelint settings
2025-11-02 20:57:26 +00: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
d5d2f04c2d
chore: adopt Biome + Stylelint, modernize CI/CD, add security/support docs, minor JS fixes
...
- Linting/format
- Replace ESLint/Prettier with Biome; remove old configs; add `biome.json`; update scripts
- Tailwind-friendly `.stylelintrc.yaml`; Stylelint and Biome pass
- Enable Biome across `modules/**`; prune legacy JS globals; ignore oversized `devicon.json`
- Code fixes
- `hb-theme.js`: avoid assignment-in-expressions; clearer dataset updates
- `hugoblox-slides.js`: fix inner var scope (var → let); apply formatting
- CI/CD
- Split lint/build workflows; add path filters; Node via Corepack (pnpm from package.json)
- Hugo pinned to env `HUGO_VERSION`; add consistency check vs `starters/academic-cv/hugoblox.yaml`
- Nightly starters matrix build (academic-cv, landing-page); CodeQL weekly; resource caches
- Workflows/Community
- Greeter: switch to `pull_request_target`; add Contributor Guide to PR message
- PR labeler for path-based labels
- Repo policies/docs
- `CODEOWNERS` for `@gcushen`
- `SECURITY.md`, `SUPPORT.md`
- Documented branch protection in `.github/settings.yml`
- Move `CODE_OF_CONDUCT.md` to `.github/`
- docs(zh): update `README.zh.md` translation
Notes:
- pnpm is sourced from `package.json: packageManager` via Corepack; no hard-coded pnpm versions in CI.
2025-09-17 03:17:38 +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
88bd615768
build: unify vendor pipeline, externalize head JS, switch docs to pnpm
...
- Remove modules/blox-tailwind/vite.config.js; use root Vite vendor task
- Vendor alpinejs and markmap; add vendor-libs.js stub
- Replace inline head scripts with CSP-friendly hb-head.js; add font preload + fingerprint
- Update scripts/docs to pnpm; remove unused @tailwindcss/vite
2025-08-20 23:54:14 +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
655af4dd30
ci: update
2025-08-16 03:37:48 +01:00
George Cushen
6fb35fc7aa
build: update config
2025-08-16 02:08:34 +01:00
George Cushen
04d15375b2
build: update build config
2025-08-16 02:08:34 +01:00
George Cushen
9b2e271c7c
fix: links
2023-11-07 23:09:38 +00:00
George Cushen
6f622fb134
chore: update lint rules
2023-10-24 22:46:49 +01:00
rodrigoalcarazdelaosa
c329e54a1e
feat: update JS dependencies to their latest versions ( #2934 )
2023-04-20 21:35:43 +01:00
rodrigoalcarazdelaosa
24e842c9af
feat: upgrade FontAwesome from 6.0.0 to 6.1.2 ( #2788 )
2022-08-14 13:22:38 +01:00
Geo
aa03201adb
starters(notes): add Cover image
2022-05-16 19:53:40 +01:00
Geo
872132abc6
style: upgrade devDependencies
...
Stylelint added many new default rules
Added some temp rule exclusions until code can be refactored
Ran ESlint and Stylelint auto-fixer to fix any new errors which can be auto-fixed
2022-05-14 13:50:15 +01:00
Geo
6f48b6368a
fix: upstream Bootstrap bug in mobile menu toggle
...
Bootstrap error: TypeError: Cannot read properties of undefined (reading '_isTransitioning')
Resolved in Bootstrap v4.6.1
See https://discord.com/channels/722225264733716590/742863504515793149/967407603284078662
See https://github.com/twbs/bootstrap/releases/tag/v4.6.1
2022-04-23 18:40:13 +01:00
Geo
cc5708bb9c
feat: detect Mermaid on nested headless pages
...
See #2643
2022-03-22 21:27:41 +00:00
rodrigoalcarazdelaosa
acd5e742af
feat: update Font Awesome from v5.15.3 to v6 ( #2650 )
...
Close #2649
2022-03-09 00:06:24 +00:00
George Cushen
96826d5ea9
build: add script to view starters
2022-02-16 21:55:41 +00:00
George Cushen
994d21b3dd
feat: add support for Headroom
...
When header.on_scroll == "disappear", with sensible defaults
2021-12-18 19:42:10 +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
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
7b235ea453
feat: rewritten Figure shortcode supporting multi-resolutions
...
New shortcode supports
- enable re-usable *optimized* image assets from new primary media library location at `assets/images/`
- new behavior: load image from page dir falling back to media library at `assets/images/` and then to remote URI.
- multi-res support. leading to increased perf.
- custom ID for cross-refs
- efficient, vanilla (non-jQuery), MIT licensed image zooming
- FancyBox now only loaded for Gallery shortcode
- themeable SVG support
- native lazy loading
Experimental, may change.
BREAKING CHANGE:
Move any figure images (i.e. not the `sharing.*` image) from `static/media/` to `assets/images/`
See #2164
2021-02-14 22:59:12 +00:00
George Cushen
3f1c4b4df2
refactor: move test/ and yarn to repo root
...
Also lint and format entire repo, beyond just wowchemy/ dir
URL encode `(` and `)` in `[#MadeWithWowchemy](...(..)...)` in Readme.md for Prettier
2021-02-03 20:11:16 +00:00
George Cushen
2376fb5177
chore: move monorepo files to theme
2020-09-26 14:47:36 +01: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
92200d6327
refactor: convert CSS to SCSS
...
Remove Bootstrap from Header and assets.toml
Remove Bootstrap JS CDN version in footer and assets.toml
Add latest Bootstrap v4 SASS files locally
Include Bootstrap JS locally
Convert Academic's CSS to SASS (mainly SASS variables + Go templating)
Convert Academic's theming system to integrate with SASS
Parse SASS in header using Hugo and convert to CSS
Minify and md5 fingerprint bundled CSS
Fix Slider widget (reuses .wg-hero but animation and `clear` removed)
Add Bootstrap files to repo so that Node is not required
See #680
2019-04-24 23:56:41 +01:00