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
2025-09-22 22:18:03 +01:00
2025-09-17 10:09:25 +01:00
2025-08-16 02:08:34 +01:00
2025-08-16 02:08:34 +01:00

中文

Build world-class sites with Hugo Blox

The #1 Open Source Toolkit for Technical & Academic Websites

Accelerate Your Impact: Build blazing-fast, SEO-optimized sites in minutes.

🚀 Get Started Free  •  Go Pro

Discord GitHub Stars Follow on GitHub


Why Hugo Blox?

  • Launch in Minutes, Not Months: Pick a template, customize with drag-and-drop blocks, and deploy. Build anything from SaaS landing pages and online courses to academic resumés and lab sites.
  • Own Your Content & Brand: You get static files with no vendor lock-in, leading to 100/100 Lighthouse scores. Your content, your rules.
  • Built for a Technical Workflow: A modern stack with Hugo and Tailwind CSS. Write in Markdown, Jupyter, or BibTeX. Auto-sync publications.
  • Open & Extendable: Start with a generous MIT-licensed core. Upgrade with premium templates and blocks or extend with React "islands" for custom interactivity.

Template previews

Browse Templates →


Get started

Recommended (fastest, no install):
👉 Start free in your browser — pick a template, customize blocks, and publish to GitHub Pages.

Prefer the CLI?
Use the local quickstart:

# 1) Install Hugo Extended → https://docs.hugoblox.com/getting-started/install-hugo/#prerequisites

# 2) Clone a starter (example: Academic CV) - see https://hugoblox.com/templates
git clone https://github.com/HugoBlox/theme-academic-cv my-site
cd my-site

# 3) Run locally
pnpm install && hugo server -D

For more guides, visit our documentation at https://docs.hugoblox.com/.


Free vs. Pro

Hugo Blox ships with a library of free blocks for heroes, features, testimonials, FAQs, and more. Pro is a one-time donation that adds exclusive, professionally designed blocks and full site templates to help you launch even faster.


What Creators Say

“Hugo Blox saved me 40+ hours on my lab site. Bibtex integration auto-updates publications — our citations are up 3×.” — Dr. Sarah Yang, AI Researcher

“We launched our documentation in 10 minutes. The block system is genius; onboarding time dropped by 60%.” — Alexandre Rodrigues, Founder


Support the Project

  • 💎 Pro (one-time donation) — Get lifetime access to all premium templates, blocks, and updates.
    Go Pro →

  • ☕️ Donate a Coffee — Support open source and open research.
    Sponsor on GitHub →

  • 🤝 Corporate Sponsors — Reach thousands of developers and researchers. Get your logo and link in this README.
    Become a Partner →


Community

Join the community to ask questions, share your work, and help us improve.


License

MIT © 2016–Present George Cushen — License Details

No tracking. No lock-in. Your content stays yours.

S
Description
🧱 Describe your site, AI builds it, you own it as Markdown. Snap together Tailwind blocks like Lego — landing pages, blogs, portfolios, docs & more. No AI slop. Free to deploy anywhere 👇
Readme MIT
79 MiB
0 Stars 1 Watchers 0 Forks
Languages
HTML 67.1%
JavaScript 16.6%
CSS 10.4%
Python 3.3%
Jupyter Notebook 1.8%
Other 0.7%