From ab31e080bb25465ce5c70bb3e7468fcde1d2aa84 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Wed, 25 Feb 2026 14:56:11 +0100 Subject: [PATCH] feat: update interests templates for category-based data model Interests are now grouped by category (matching skills pattern). Updated cv-interests.njk to iterate categories, cv.js fallback to {}, and cv.njk hasCvData check to include interests. --- _data/cv.js | 2 +- .../components/sections/cv-interests.njk | 26 ++++++++++++------- cv.njk | 3 ++- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/_data/cv.js b/_data/cv.js index 5c4f479..a64d08f 100644 --- a/_data/cv.js +++ b/_data/cv.js @@ -30,7 +30,7 @@ export default function () { skillTypes: {}, languages: [], education: [], - interests: [], + interests: {}, interestTypes: {}, }; } diff --git a/_includes/components/sections/cv-interests.njk b/_includes/components/sections/cv-interests.njk index 681504a..d7b9d1d 100644 --- a/_includes/components/sections/cv-interests.njk +++ b/_includes/components/sections/cv-interests.njk @@ -1,21 +1,29 @@ {# - CV Interests Section - interest tags + CV Interests Section - interests grouped by category Data fetched from /cv/data.json via homepage plugin #} -{% if cv and cv.interests and cv.interests.length %} +{% if cv and cv.interests and (cv.interests | dictsort | length) %}

{{ section.config.title or "Interests" }}

- {% set hasTypeData = cv.interestTypes and (cv.interestTypes | dictsort | length > 0) %} -
- {% for interest in cv.interests %} - {% if not filterType or (hasTypeData and cv.interestTypes[interest] == filterType) or not hasTypeData %} - - {{ interest }} - +
+ {% for category, items in cv.interests | dictsort %} + {% if not filterType or (cv.interestTypes and cv.interestTypes[category] == filterType) or not cv.interestTypes or not cv.interestTypes[category] %} +
+

+ {{ category }} +

+
+ {% for interest in items %} + + {{ interest }} + + {% endfor %} +
+
{% endif %} {% endfor %}
diff --git a/cv.njk b/cv.njk index ead9112..a477a75 100644 --- a/cv.njk +++ b/cv.njk @@ -10,7 +10,8 @@ pagefindIgnore: true {% set hasCvData = (cv.experience and cv.experience.length) or (cv.projects and cv.projects.length) or - (cv.skills and ((cv.skills or {}) | dictsort | length)) %} + (cv.skills and ((cv.skills or {}) | dictsort | length)) or + (cv.interests and ((cv.interests or {}) | dictsort | length)) %} {% if hasCvData %}