{# Reusable meta tags include for SEO and social media. Parameters: - item: The content object (post or page) - content_type: "article" or "website" - include_keywords: Boolean to include keywords meta tag (default: false) - include_article_tags: Boolean to include article-specific OG tags (default: false) #} {# Set default values for optional parameters #} {% set include_keywords = include_keywords | default(false) %} {% set include_article_tags = include_article_tags | default(false) %} {# Standard SEO meta tags #} {% set item_author = item.metadata.get('author') if item.metadata else none %} {% set effective_author = item_author if item_author else default_author %} {% set item_author_url = item.metadata.get('author_url') if item.metadata else none %} {% set effective_author_url = item_author_url if item_author_url else default_author_url %} {% if effective_author %} {% endif %} {% set description = item.description if item.description else site_description %} {% if description %} {% endif %} {% if include_keywords and item.tags %} {% elif include_keywords and site_keywords %} {% endif %} {# Determine the primary image for social media and JSON-LD #} {% set raw_cover = item.metadata.get('cover') if item.metadata else none %} {% set social_image_url = none %} {% if raw_cover %} {% if raw_cover.startswith(('http://', 'https://')) %} {% set social_image_url = raw_cover %} {% elif raw_cover.startswith('/') %} {% set social_image_url = site_url ~ raw_cover %} {% else %} {% set social_image_url = site_url ~ '/' ~ raw_cover %} {% endif %} {% elif has_platform_icons %} {% set social_image_url = site_url ~ '/icons/android-chrome-512x512.png' %} {% elif site_logo %} {% if site_logo.startswith(('http://', 'https://')) %} {% set social_image_url = site_logo %} {% elif site_logo.startswith('/') %} {% set social_image_url = site_url ~ site_logo %} {% else %} {% set social_image_url = site_url ~ '/' ~ site_logo %} {% endif %} {% endif %} {# Open Graph meta tags #} {% if description %} {% endif %} {% if social_image_url %} {% endif %} {# Article-specific Open Graph tags #} {% if include_article_tags %} {% if item.date %} {% endif %} {% if item.modified_date %} {% elif item.date %} {% endif %} {% if item.metadata and item.metadata.get('author') %} {% endif %} {% if item.category %} {% endif %} {% if item.tags %} {% for tag in item.tags %} {% endfor %} {% endif %} {% endif %} {# Twitter Card meta tags #} {% if description %} {% endif %} {% if social_image_url %} {% endif %} {% if item.metadata and item.metadata.get('twitter_creator') %} {% endif %} {% if item.metadata and item.metadata.get('twitter_site') %} {% endif %} {# JSON-LD Structured Data #} {# BreadcrumbList JSON-LD #}