Welcome to mirror list, hosted at ThFree Co, Russian Federation.

image.html « helper « partials « layouts - github.com/CaiJimmy/hugo-theme-stack.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: fc9925f21b6a1fa13b4b255a996db6feef24bd1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{{ $result := dict "exists" false "permalink" nil "resource" nil "isDefault" false }}
{{ $imageField := .Context.Params.image }}

{{ if $imageField }}
    <!-- If page has `image` field set -->
    {{ $result = merge $result (dict "exists" true) }}

    {{ $url := urls.Parse $imageField }}
    {{ if or (eq $url.Scheme "http") (eq $url.Scheme "https") }}
        <!-- Is a external image -->
        {{ $result = merge $result (dict "permalink" $imageField) }}
    {{ else }}
        {{ $pageResourceImage := .Context.Resources.GetMatch (printf "%s" ($imageField | safeURL)) }}
        {{ $siteResourceImage := resources.GetMatch (printf "%s" ($imageField | safeURL)) }}
        
        {{ if $pageResourceImage }}
            <!-- If image is found under page bundle -->
            {{ $result = merge $result (dict "permalink" $pageResourceImage.RelPermalink) }}
            {{ $result = merge $result (dict "resource" $pageResourceImage) }}
        {{ else if $siteResourceImage }}
            <!-- Try search image under site's assets folder -->
            {{ $result = merge $result (dict "permalink" $siteResourceImage.RelPermalink) }}
            {{ $result = merge $result (dict "resource" $siteResourceImage) }}
        {{ else }}
            <!-- Can not find the image -->
            {{ errorf "Failed loading image: %q" $imageField }}
            {{ $result = merge $result (dict "exists" false) }}
        {{ end }}
    {{ end }}

{{ else if and (ne .Type nil) (index .Context.Site.Params.defaultImage .Type) }}
    <!-- Type arg is set, check for defaultImage setting -->
    
    {{ $defaultImageSetting := index .Context.Site.Params.defaultImage .Type }}

    {{ if $defaultImageSetting.enabled }}
        {{ $result = merge $result (dict "isDefault" true) }}
        {{ $result = merge $result (dict "exists" true) }}

        {{ if $defaultImageSetting.local }}
            {{ $siteResourceImage := resources.GetMatch (printf "%s" ($defaultImageSetting.src | safeURL)) }}

            {{ if $siteResourceImage }}
                <!-- Try search image under site's assets folder -->
                {{ $result = merge $result (dict "permalink" $siteResourceImage.RelPermalink) }}
                {{ $result = merge $result (dict "resource" $siteResourceImage) }}
            {{ else }}
                <!-- Can not find the image -->
                {{ errorf "Failed loading image: %q" $defaultImageSetting.src }}
                {{ $result = merge $result (dict "exists" false) }}
            {{ end }}

        {{ else }}

            {{ $result = merge $result (dict "permalink" $defaultImageSetting.src) }}

        {{ end }}
    {{ end }}
{{ end }}

{{ return $result }}