Commit graph

319 commits

Author SHA1 Message Date
George Cushen
04f3b2e8ae feat: re-design resume-biography-3 block & support full color palettes
Modern re-design of the main Resume block.

Awards block icons are no longer tied to the 'brands' pack - any pack can be used and specified in the form `icon: <pack>/<icon>

Refactor Tailwind CSS theming to support full primary/secondary palettes

Refactors the theme system to correctly apply primary and secondary color palettes from theme packs.

Previously, Tailwind's build-time resolution of CSS variables in the `@theme` block caused theme pack colors to be overridden by the default blue theme.

This commit resolves the issue by adopting a best-practice, two-layer token system:
1.  All theme packs now define `--hb-primary-*-rgb` and `--hb-secondary-*-rgb` variables with raw RGB values.
2.  The core `theme.css` now defines `--color-primary-*` and `--color-secondary-*` inside the `@theme` block using a `rgb(var(...))` function. This makes Tailwind aware of the themeable color names so it can generate all necessary utilities (`bg-`, `text-`, `ring-`, etc.) while ensuring the final color value is resolved in the browser at runtime.

This change fixes the build error related to unknown utility classes (e.g., `ring-primary-500`) and ensures that the selected theme pack is correctly applied across all components.
2025-09-06 21:59:27 +01:00
George Cushen
3b314fe4b2 fix: resolve dark mode code blocks and JavaScript errors after Tailwind migration
- Fix dark mode code block styling in chroma.css (background stays bright issue)
- Resolve JavaScript errors with window.hbb object initialization
- Fix Mermaid.js color parsing errors with proper CSS variable fallbacks
- Move inline JavaScript to external files for CSP compliance
- Create dedicated hb-search.js for search functionality
- Add proper error handling and validation for PagefindUI initialization
- Update .stylelintrc.yaml to disable no-descending-specificity rule
- Fix remaining lint issues: flex-flow shorthand and kebab-case IDs
- Ensure theme toggler functionality works correctly

Resolves regressions introduced during Tailwind 3→4 migration.
All functionality now works in both light and dark modes.
2025-09-06 18:19:08 +01:00
George Cushen
f1bd41ffa2 feat: add block metadata 2025-09-04 00:18:06 +01:00
George Cushen
bc8200c0ef docs: update readme 2025-08-31 00:44:37 +01:00
George Cushen
135c6fb0b6 feat: rename footer/header blox param to block 2025-08-31 00:44:37 +01:00
Jan-Willem Beenakker
9a3f497031
fix(style): white shadow on card hover in dark theme after Tailwind v4 upgrade (#3242) 2025-08-30 18:09:17 +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
76a0ca6fef fix: init.html refactoring error
Removed Scratch access (which caused the interface/Site context error)

Rely on caching at callsite: partialCached "init.html" . "hb_init_once"
2025-08-25 21:36:11 +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
72a4cedcdc perf(init): faster site builds
optimize site.AllPages with Site.Scratch guard and scope to pages only

- Add Site.Scratch guard to run init logic only once per build
- Limit .Content pre-warming to pages (Kind == 'page') to reduce overhead
- Preserve Hugo concurrency workaround for Page.Store and backlinks
- Maintain existing block configuration preloading for landing pages
2025-08-25 18:23:50 +01:00
dependabot[bot]
7844a5f5b5
build(deps): bump vite-plugin-static-copy in /modules/blox-tailwind (#3238)
Bumps [vite-plugin-static-copy](https://github.com/sapphi-red/vite-plugin-static-copy) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/sapphi-red/vite-plugin-static-copy/releases)
- [Changelog](https://github.com/sapphi-red/vite-plugin-static-copy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sapphi-red/vite-plugin-static-copy/compare/vite-plugin-static-copy@3.1.1...vite-plugin-static-copy@3.1.2)

---
updated-dependencies:
- dependency-name: vite-plugin-static-copy
  dependency-version: 3.1.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 00:50:48 +01:00
George Cushen
aa8bfd6271 fix: resume-experience width 2025-08-21 03:14:55 +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
github-actions[bot]
d33004ab56 chore(blox-tailwind): prepare v0.5.2 2025-08-20 19:28:08 +00:00
George Cushen
33bff5921f fix: nested menus in Tailwind 4 upgrade 2025-08-20 20:11:04 +01:00
George Cushen
4d1898f331 fix: section image backgrounds in Tailwind 4 upgrade 2025-08-20 20:02:28 +01:00
George Cushen
87a3cb06f4 fix: nested menus in Tailwind 4 upgrade 2025-08-20 20:01:56 +01:00
rodrigoalcarazdelaosa
eaa21cfd31
fix: typo in get_hook.html (#3236) 2025-08-20 13:58:05 +01:00
github-actions[bot]
3d7d01bd3a chore(blox-tailwind): prepare v0.5.1 2025-08-20 01:43:24 +00:00
George Cushen
d6bd137803 chore: bump version 2025-08-20 02:38:07 +01:00
github-actions[bot]
6dd38df345 chore(blox-tailwind): prepare v0.5.0 2025-08-20 00:43:55 +00:00
George Cushen
62f5b139d3 feat: apply more Hugo breaking changes of /partials -> /_partials
For compatibility with Hugo ~v0.148
2025-08-20 00:24:39 +01:00
rodrigoalcarazdelaosa
41f1f43aa4
feat: upgrade get_hook.html for Hugo ~v0.148 (#3235)
Apply Hugo breaking change of /partials -> /_partials

Fix for hooks not working after the update to the new Hugo template system.
2025-08-20 00:04:27 +01:00
George Cushen
ab52b86a3b feat: standardize page resource links via links + hugoblox.ids
Deprecates legacy fields
Closes #765

- Add `modules/blox-tailwind/data/link_types.yaml` registry for link types and derived URLs
- Add `layouts/_partials/functions/build_links.html` to normalize links (front matter, local pdf/cite.bib, `hugoblox.ids`, `projects`, `slides`), de-dupe, and warn on deprecated fields
- Refactor `page_links.html` and `page_links_div.html` to render normalized links; use `icon: "pack/name"`; add English label fallbacks and new i18n keys
- Migrate academic-cv starter: replace `external_link`/`url_*`, add SlideShare demo links, clear unresolved `slides` references
2025-08-19 23:59:31 +01:00
George Cushen
fc3e52b68f feat: prevent BiliBili autoplay to respect web standards
Also, remove BiliBili demo due to very slow loading outside China
2025-08-19 01:13:22 +01:00
George Cushen
108fdcfe53 feat: fix Tailwind 4 upgrade of resume-experience block 2025-08-19 01:12:03 +01:00
George Cushen
bab17c129d feat(images): add responsive srcset/sizes across Tailwind layouts
Introduce reusable partial process_responsive_image.html (fit/fill/resize/responsive), using Hugo .Process, WebP by default, skip GIFs, respect Hugo imaging defaults
Preserve original look: pre-fit/pre-fill to intended dimensions, then generate responsive variants; use fitted dims for width/height to avoid CLS
single.html: featured image pre-fit by placement (720/1200/2560), responsive srcset, fetchpriority=high; author avatar uses 2x retina (32→16)
article-grid.html: main image pre-fit 960×540 (fill/fit), responsive srcset; author avatar uses 2x retina (40→20)
card.html: pre-fill 655×655, responsive srcset
render-image.html: default display 760px with responsive srcset (matches prior layout)
page_author_card.html: high‑res avatar pipeline with srcset (sizes=96px)
testimonials.html: avatar uses 2x retina (96→48)
CTA/resume banners: responsive srcset + sizes
Fix issues: avoid using fallback dims for display

Closes #1988
2025-08-19 01:06:36 +01:00
George Cushen
bec38c8759 feat: improve avatar quality and add customizable sizing options
Resolves #3123

## What Changed

**Avatar Quality Improvements:**
- Generate avatars at 2x resolution for crisp display on high-DPI screens
- Updated Hugo imaging config with quality: 90, lanczos resampling, and picture hint
- Improved WebP compression quality across all avatar locations

**New Customization Parameters:**
- Added design.avatar.size with 5 options: small (150px), medium (200px), large (320px), xl (400px), xxl (500px)
- Added design.avatar.shape with 3 options: circle (default), square, rounded
- Sizing aligned with 2025 social media standards (LinkedIn/X: 400px, Instagram: 320px, TikTok: 200px)

**Updated Templates:**
- Enhanced resume-biography.html and resume-biography-3.html with flexible parameter system
- Updated all starter templates (academic-cv, resume, blog, link-in-bio) with example configurations
- Improved avatar CSS for dynamic sizing control
2025-08-18 02:43:55 +01:00
George Cushen
b90b1f245c feat: port author notes feature from Bootstrap to Tailwind module
Close #3125
2025-08-18 01:25:38 +01:00
George Cushen
25ba004afe feat: add support for pronouns
Close #3190
2025-08-17 22:56:49 +01:00
George Cushen
37518f31f5 feat: port 'cite' shortcode from Bootstrap module
Close #3226
2025-08-17 22:40:37 +01:00
George Cushen
0c41b518dc feat: copy bibtex citations rather than downloading them
Close #3141
2025-08-17 22:16:26 +01:00
George Cushen
9c48341ee8 fix: bug with multiple charts on same page
Fix #3207
2025-08-17 21:06:37 +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
1525b21059 chore: bump version 2025-08-17 16:18:14 +01:00
George Cushen
33ebd99049 feat: add support for breaking changes in Hugo's templating system
See https://discord.com/channels/722225264733716590/738924091511144489/1406144559188283494
See https://gohugo.io/templates/new-templatesystem-overview/
2025-08-16 23:12:42 +01:00
George Cushen
48bd10469c fix: Hugo v0.48.2 incorrectly parsing views
Due to Hugo breaking changes treating filenames differently
2025-08-16 03:18:25 +01:00
George Cushen
f309e9c9aa chore: bump version 2025-08-16 02:10:55 +01:00
George Cushen
91a55b4061 feat(blox-bootstrap): add support for Hugo v0.148 2025-08-16 02:08:34 +01:00
George Cushen
96c8bf099f feat(blox-tailwind): add support for Hugo v0.148 2025-08-16 02:08:34 +01:00
Riccardo M. BIANCHI, PhD
44e75541f7
feat(Tailwind): add reddit icon to brands pack (#3200)
The social sharing in 'page_sharer.yaml' can now use the built-in `brands/reddit` icon for sharing a page to Reddit.
2025-03-01 20:11:44 +00:00
George Cushen
6dc78be622 chore: bump version 2025-02-12 23:06:54 +00:00
George Cushen
ec0e30baa4 fix: code copy button
Fixes when copying a code block, the copy button was also copied, leading to copied text containing the word 'copy'.

Fix #3160
2025-02-12 23:05:28 +00:00
George Cushen
1dbdd068d6 fix: search result background and scrolling
Fix #3148
2025-02-12 22:50:06 +00:00
George Cushen
5c58e935f1 feat: allow hiding breadcrumb on docs pages
By adding following to Hugo config or page frontmatter: `show_breadcrumb: false`

Close #3178
2025-02-12 21:14:38 +00:00
zephyr-lai
4fab7b1fc8
i18n(zh): update 'experience' translation for Chinese (#3196) 2025-02-11 01:26:07 +00:00
George Cushen
cea5cbc3d9 feat: add warning if avatar image not found 2025-02-03 13:53:13 +00:00
crnh
71de892c1c
feat(blox-tailwind): fingerprint dist/wc.min.css (#3180) 2024-12-23 20:17:30 +00:00
Marco Grassia
910927f2ec
feat(blox-bootstrap): update Bootstrap from v4.6.1 to v4.6.2 (#3181) 2024-12-23 20:15:03 +00:00
Marco Grassia
e45ef47a09
feat(bootstrap): update FontAwesome to v6.6.0 (#3171) 2024-12-14 16:47:02 +00:00