241bb4df78
- Add configuration field `social_preview_image` that sets the site-wide default social preview image. For pages that do not have `page.image` set in font matter, the seo tag will use the image specified by `site.social_preview_image` as the Open Graph image. - Refactored the generation of image URLs to reduce redundant code and enhance fault tolerance for missing or repeated slash `/` when defining image paths.
24 lines
679 B
HTML
24 lines
679 B
HTML
{%- comment -%}
|
|
Generate image final URL based on `site.img_cdn`, `page.img_path`
|
|
|
|
Arguments:
|
|
src - basic image path, required
|
|
img_path - relative path of image, optional
|
|
|
|
Return:
|
|
image URL
|
|
{%- endcomment -%}
|
|
|
|
{% assign url = include.src %}
|
|
|
|
{%- if url -%}
|
|
{%- comment -%} CND URL {%- endcomment -%}
|
|
{% assign prefix = site.img_cdn | default: '' | relative_url %}
|
|
|
|
{%- comment -%} Add page image path prefix {%- endcomment -%}
|
|
{% assign url = include.img_path | default: '' | append: '/' | append: url %}
|
|
|
|
{% assign url = prefix | append: '/' | append: url | replace: '///', '/' | replace: '//', '/' | replace: ':', ':/' %}
|
|
{%- endif -%}
|
|
|
|
{{- url -}}
|