2022-06-22 18:32:18 +00:00
|
|
|
{{- $context := .context }}
|
2023-01-23 21:35:43 +00:00
|
|
|
{{- $color := .color | default "" }}
|
2022-06-22 18:32:18 +00:00
|
|
|
{{- $content := .content }}
|
2023-01-23 21:35:43 +00:00
|
|
|
{{- $style := .style | default "default" }}
|
|
|
|
{{- if and (not $color) (eq (len $color) 0) }}
|
|
|
|
{{- $style = .style | default "transparent" }}
|
|
|
|
{{- end }}
|
2022-06-22 18:32:18 +00:00
|
|
|
{{- $title := .title | default ($style | T) | default ("Attachments-label" | T) }}
|
2022-12-01 00:37:09 +00:00
|
|
|
{{- $title = trim $title " " }}
|
2022-06-22 18:32:18 +00:00
|
|
|
{{- $icon := .icon | default "" }}
|
|
|
|
{{- if and (not $icon) (eq (len $icon) 0) }}
|
|
|
|
{{- $icon = "paperclip" }}
|
|
|
|
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
|
|
|
|
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
|
|
|
|
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
|
|
|
|
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
|
|
|
|
{{- end }}
|
|
|
|
{{- $icon = trim $icon " " }}
|
|
|
|
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
|
|
|
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
|
|
|
{{- end }}
|
|
|
|
{{- $sort := .sort | default "asc" }}
|
|
|
|
{{- $pattern := .pattern | default "" }}
|
2022-12-23 02:23:33 +00:00
|
|
|
{{- $defaultLanguage := (index $context.Site.Home.AllTranslations 0).Lang }}
|
|
|
|
{{- $defaultLanguagePage := index (where $context.Page.AllTranslations "Language.Lang" $defaultLanguage) 0 }}
|
|
|
|
{{- $defaultUrlPrefix := strings.TrimRight "/" $defaultLanguagePage.RelPermalink }}
|
|
|
|
{{- $urlPrefix := strings.TrimRight "/" $context.Page.RelPermalink }}
|
2022-06-22 18:32:18 +00:00
|
|
|
{{- with $context }}
|
2023-01-23 21:35:43 +00:00
|
|
|
<div class="box attachments cstyle {{ $style }}"{{ if $color }} style="--VARIABLE-BOX-color: {{ $color }};"{{ end }}>
|
2022-12-01 00:37:09 +00:00
|
|
|
<div class="box-label">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ $title }}</div>
|
2022-06-22 18:32:18 +00:00
|
|
|
<ul class="box-content attachments-files">
|
|
|
|
{{- $fileLink := printf "%s/%s" (.Page.Language.ContentDir | default "content") .Page.File.Dir }}
|
|
|
|
{{- $fileLink = replace (replace $fileLink "\\" "/") "content/" "" }}
|
|
|
|
{{- $fileDir := printf "%s/%s" (.Page.Language.ContentDir | default "content") .Page.File.Dir }}
|
|
|
|
{{- $fileDir = replace $fileDir "\\" "/" }}
|
2022-12-23 02:23:33 +00:00
|
|
|
{{- $filesName := printf "%s.files" .Page.File.BaseFileName }}
|
|
|
|
{{- if and (eq .Page.File.BaseFileName "index") (fileExists (printf "%sfiles" $fileDir)) }}
|
|
|
|
{{- $c := "" }}{{/* backward compat to < 5.9.0 behavior */}}
|
|
|
|
{{- $filesName = "files" }}
|
|
|
|
{{- end }}
|
|
|
|
{{- $dir := printf "%s%s" $fileDir $filesName }}
|
2023-02-19 21:00:09 +00:00
|
|
|
{{- if fileExists $dir }}
|
|
|
|
{{- range sort (readDir $dir) "Name" $sort }}
|
|
|
|
{{- if findRE $pattern .Name}}
|
|
|
|
{{- $size := .Size }}
|
|
|
|
{{- $unit := "Byte-symbol" }}
|
|
|
|
{{- if ge $size 1024 }}
|
|
|
|
{{- $size = div $size 1024 }}
|
|
|
|
{{- $unit = "Kilobyte-symbol" }}
|
|
|
|
{{- end }}
|
|
|
|
{{- if ge $size 1024 }}
|
|
|
|
{{- $size = div $size 1024 }}
|
|
|
|
{{- $unit = "Megabyte-symbol" }}
|
|
|
|
{{- end }}
|
|
|
|
{{- $unitsymbol := $unit | T }}
|
|
|
|
{{- $link := (printf "%s%s/%s" $fileLink $filesName .Name) | relLangURL }}
|
|
|
|
{{- $c := "" }}{{/* Hugo stores the attachments always in the default language subdirectory */}}
|
|
|
|
{{- $link = replace $link $urlPrefix $defaultUrlPrefix 1 }}
|
|
|
|
<li><a href="{{ $link }}">{{.Name}}</a> ({{$size}} {{$unitsymbol}})</li>
|
2022-06-22 18:32:18 +00:00
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
|
|
|
</ul>
|
|
|
|
{{- $content }}
|
|
|
|
</div>
|
2023-01-22 20:52:54 +00:00
|
|
|
{{- end }}
|