From 610f81f8fee70858135f81d3b910e918d8830bfa Mon Sep 17 00:00:00 2001 From: Ricardo Date: Mon, 9 Feb 2026 10:10:16 +0100 Subject: [PATCH] feat: add footer rendering and custom-html sidebar widget - Homepage builder now renders footer section below main content - Sidebar supports custom-html widget type with title + content - New homepage-footer.njk component for footer items Co-Authored-By: Claude Opus 4.6 --- _includes/components/homepage-builder.njk | 3 +++ _includes/components/homepage-footer.njk | 23 +++++++++++++++++++++++ _includes/components/homepage-sidebar.njk | 13 +++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 _includes/components/homepage-footer.njk diff --git a/_includes/components/homepage-builder.njk b/_includes/components/homepage-builder.njk index da718e5..b0ba263 100644 --- a/_includes/components/homepage-builder.njk +++ b/_includes/components/homepage-builder.njk @@ -81,3 +81,6 @@ {% endif %} + +{# Footer — rendered after the main layout, full width #} +{% include "components/homepage-footer.njk" %} diff --git a/_includes/components/homepage-footer.njk b/_includes/components/homepage-footer.njk new file mode 100644 index 0000000..c2eb75b --- /dev/null +++ b/_includes/components/homepage-footer.njk @@ -0,0 +1,23 @@ +{# Homepage Builder Footer — renders footer items from homepageConfig.footer #} +{% if homepageConfig.footer and homepageConfig.footer.length %} +
+ {% for section in homepageConfig.footer %} + {% if section.type == "custom-html" %} + {% set sectionConfig = section.config or {} %} +
+ {% if sectionConfig.title %} +

{{ sectionConfig.title }}

+ {% endif %} + {% if sectionConfig.content %} +
+ {{ sectionConfig.content | safe }} +
+ {% endif %} +
+ {% else %} + {# For non-custom sections, use the section dispatcher #} + {% include "components/homepage-section.njk" %} + {% endif %} + {% endfor %} +
+{% endif %} diff --git a/_includes/components/homepage-sidebar.njk b/_includes/components/homepage-sidebar.njk index 49561f9..d63e5d9 100644 --- a/_includes/components/homepage-sidebar.njk +++ b/_includes/components/homepage-sidebar.njk @@ -28,6 +28,19 @@ }); + {% elif widget.type == "custom-html" %} + {# Custom content widget #} + {% set wConfig = widget.config or {} %} + {% else %} {% endif %}