mirror of
				https://github.com/adityatelange/hugo-PaperMod.git
				synced 2025-11-04 10:22:44 +01:00 
			
		
		
		
	* Refactor cover.html * Refactor 2 * Refactor 3 * Refactor 4 * Refactor 5 * add comments and refactor more * Refactor cover.html to use <figcaption> for image captions * Add comments and manage whitespace * Remove pointer-event prevention from entry-cover image
		
			
				
	
	
		
			66 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{{- with .cxt}} {{/* Apply proper context from dict */}}
 | 
						|
{{- if (and .Params.cover.image (not $.isHidden)) }}
 | 
						|
<figure class="entry-cover">
 | 
						|
    {{- $loading := cond $.IsSingle "eager" "lazy" }}
 | 
						|
    {{- $addLink := (and site.Params.cover.linkFullImages $.IsSingle) }}
 | 
						|
    {{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
 | 
						|
    {{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }}
 | 
						|
    {{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }}
 | 
						|
 | 
						|
    {{- $pageBundleCover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
 | 
						|
    {{- $globalResourcesCover := (resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
 | 
						|
    {{- $cover := (or $pageBundleCover $globalResourcesCover)}}
 | 
						|
    {{- /* We are not using the .Param.cover.relative to decide the location of image */}}
 | 
						|
    {{- /* If we have the image in pageBundle or globalResources we can process the image */}}
 | 
						|
 | 
						|
    {{- $sizes := (slice "360" "480" "720" "1080" "1500") }}
 | 
						|
    {{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
 | 
						|
    {{- if hugo.IsExtended -}}
 | 
						|
        {{- $processableFormats = $processableFormats | append "webp" -}}
 | 
						|
    {{- end -}}
 | 
						|
 | 
						|
    {{- $imgdl := (.Params.cover.image) | absURL }}
 | 
						|
    {{- if $cover -}}
 | 
						|
        {{- $imgdl = $cover.Permalink }}
 | 
						|
    {{- end -}}
 | 
						|
 | 
						|
    {{- if $addLink }}
 | 
						|
        <a href="{{ $imgdl }}" target="_blank" rel="noopener noreferrer">
 | 
						|
    {{- end }}
 | 
						|
 | 
						|
    {{- if $cover -}}
 | 
						|
        {{/* i.e it is present in page bundle */}}
 | 
						|
        {{- if (and (in $processableFormats $cover.MediaType.SubType) ($responsiveImages) (eq $prod true)) }}
 | 
						|
            <img loading="{{$loading}}"
 | 
						|
                srcset='{{- range $size := $sizes -}}
 | 
						|
                            {{- if (ge $cover.Width $size) }}
 | 
						|
                                {{- printf "%s %s" (($cover.Resize (printf "%sx" $size)).Permalink) (printf "%sw," $size) }}
 | 
						|
                            {{- end }}
 | 
						|
                        {{- end }}
 | 
						|
                        {{- printf "%s %dw" ($cover.Permalink) ($cover.Width) }}'
 | 
						|
                src="{{ $cover.Permalink }}"
 | 
						|
                sizes="(min-width: 768px) 720px, 100vw"
 | 
						|
                width="{{ $cover.Width }}" height="{{ $cover.Height }}"
 | 
						|
                alt="{{ $alt }}">
 | 
						|
        {{- else }}{{/* Unprocessable image or responsive images disabled */}}
 | 
						|
            <img loading="{{ $loading }}" src="{{ $imgdl }}" alt="{{ $alt }}">
 | 
						|
        {{- end }}
 | 
						|
    {{- else }}
 | 
						|
        {{- /* For absolute urls and external links, no img processing here */}}
 | 
						|
        <img loading="{{ $loading }}" src="{{ $imgdl }}" alt="{{ $alt }}">
 | 
						|
    {{- end }}
 | 
						|
 | 
						|
    {{- if $addLink }}
 | 
						|
        </a>
 | 
						|
    {{- end -}}
 | 
						|
 | 
						|
    {{- /*  Display Caption  */}}
 | 
						|
    {{- if $.IsSingle }}
 | 
						|
        {{ with .Params.cover.caption -}}
 | 
						|
            <figcaption>{{ . | markdownify }}</figcaption>
 | 
						|
        {{- end }}
 | 
						|
    {{- end }}
 | 
						|
</figure>
 | 
						|
{{- end }}{{/* End image */}}
 | 
						|
{{- end -}}{{/* End context */ -}}
 |