كيفية تخزين صور المعاينات في مجلد حزمة الصفحة لمواقع Hugo باستخدام نمط Mainroad
الحفاظ على جميع محتويات الصفحة في مجلد واحد...
Page content
لقد عانيت لفترة طويلة من إزعاج لوضع صور مصغرة للصفحات في دليل الملفات الثابتة. هذا ينطبق على Mainroad و Rodster ومواضيع Hugo المماثلة.
أفضل تنظيم محتوى الصفحات في Hugo كحزم صفحات، وأفضل أن يتم تخزين جميع الصور المرتبطة بالصفحة داخل هذا حزمة الصفحة.
وهنا أقدم لك حلًا!
كيفية الاحتفاظ بصور مصغرة لموضوع Mainroad في Hugo (ومواضيع مماثلة) داخل مجلد حزمة الصفحة
ما عليك سوى وضع هذا النص في الملف ./layouts/partials/post_thumbnail.html، ويمكنك تخزين صورك في أي مكان من حزمة الصفحة أو دليل الملفات الثابتة :).
{{- if $thumbnail := .page.Params.thumbnail }}
{{- $class := .class }}
{{- $visibility := .page.Site.Params.thumbnail.visibility | default (slice "list" "post") }}
{{- $valueType := printf "%T" $thumbnail -}}
{{- $isMap := in $valueType "map" -}}
{{- if $isMap }}
{{ $visibility = default (slice "list" "post") (default .page.Site.Params.thumbnail.visibility $thumbnail.visibility) }}
{{ $thumbnail = $thumbnail.src }}
{{- end }}
{{- if in $visibility $class }}
{{- $thumbnailURL := "" }}
{{- /* حاول أولاً العثور على الصورة كمورد للصفحة (للصفحات المجمعة) */ -}}
{{- $resource := .page.Resources.GetMatch $thumbnail }}
{{- if $resource }}
{{- $thumbnailURL = $resource.RelPermalink }}
{{- else }}
{{- /* التحول إلى دليل الملفات الثابتة باستخدام relURL */ -}}
{{- $thumbnailURL = $thumbnail | relURL }}
{{- end }}
<figure class="{{ with $class }}{{ . }}__thumbnail {{ end }}thumbnail">
{{ if eq $class "list" }}<a class="thumbnail__link" href="{{ .page.RelPermalink }}">{{ end }}
<img class="thumbnail__image" src="{{ $thumbnailURL }}" alt="{{ .page.Title }}">
{{ if eq $class "list" }}</a>{{ end }}
</figure>
{{- end }}
{{- end }}
كما ترى من التعليقات، هذا الجزء المتميز من النموذج يحاول إنشاء مرجع للصورة المخزنة في حزمة الصفحة، وإذا لم تُعثر على الصورة، فإنه يعود إلى الوضع الافتراضي - دليل الملفات الثابتة. إذن، فهو متوافق مع الإصدارات السابقة!
استمتع!
استمتع بـ Hugo!