From 049babbd97555b2f32c611948e0ebe66a021b7d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar?= Date: Sun, 17 Sep 2023 13:36:18 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(social-media-cards):=20support?= =?UTF-8?q?=20relative=20paths=20(#163)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/partials/header.html | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/templates/partials/header.html b/templates/partials/header.html index 406f430..b969e75 100644 --- a/templates/partials/header.html +++ b/templates/partials/header.html @@ -92,13 +92,32 @@ {# Image for social media sharing #} {%- set social_media_card = macros_settings::evaluate_setting_priority(setting="social_media_card", page=page | default(value=""), section=section | default(value=""), default_global_value="") -%} {% if social_media_card %} - - {%- set meta = get_image_metadata(path=social_media_card, allow_missing=true) -%} - {%- if meta -%} - - - {%- endif -%} - + {# Try to construct the image path relative to the current page #} + {% set colocated_path = page.colocated_path | default(value="") %} + {% set file_path = colocated_path ~ social_media_card %} + + {# Fetch metadata to verify image existence at the relative path #} + {%- set meta = get_image_metadata(path=file_path, allow_missing=true) -%} + + {# Check if relative path exists, else try absolute path #} + {% if meta %} + {% set final_path = file_path %} + {% else %} + {# If the relative path didn't work, try fetching metadata for the absolute path #} + {% set meta = get_image_metadata(path=social_media_card, allow_missing=true) %} + {% if meta %} + {% set final_path = social_media_card %} + {% else %} + {# Throw an error if the image doesn't exist at either path #} + {{ throw(message="Could not get metadata for the specified social media card image in page " ~ page.path ~ ". Attempted relative path: '" ~ file_path ~ "' and absolute path: '" ~ social_media_card ~ "'. Ensure the file exists at one of these locations.") }} + {% endif %} + {% endif %} + + {# Generate the social media meta tags #} + + + + {% endif %}