feat: wire homepage builder layout system and sidebar control

- base.njk: skip hardcoded sidebar when homepage builder is active
- homepage-builder.njk: implement 3 layouts (single-column, two-column,
  full-width-hero) with CSS grid and sidebar rendering
- homepage-section.njk: section type dispatcher (extracted for reuse)
- homepage-sidebar.njk: maps widget types to existing widget partials

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ricardo
2026-02-08 19:08:27 +01:00
parent b8c60b1a81
commit b4bc2f6f07
4 changed files with 138 additions and 39 deletions

View File

@@ -270,7 +270,7 @@
</header>
<main class="container py-8" data-pagefind-body>
{% if withSidebar %}
{% if withSidebar and not (homepageConfig and homepageConfig.sections) %}
<div class="layout-with-sidebar">
<div class="main-content">
{{ content | safe }}
@@ -279,6 +279,9 @@
{% include "components/sidebar.njk" %}
</aside>
</div>
{% elif withSidebar and homepageConfig and homepageConfig.sections %}
{# Homepage builder controls its own layout and sidebar #}
{{ content | safe }}
{% elif withBlogSidebar %}
<div class="layout-with-sidebar">
<div class="main-content">