{{- $context := .context }} {{- $content := .content }} {{- $style := .style | default "transparent" }} {{- $title := .title | default ($style | T) | default ("Attachments-label" | T) }} {{- $title = trim $title " " }} {{- $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 "" }} {{- $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 }} {{- with $context }} <div class="box attachments cstyle {{ $style }}"> <div class="box-label">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ $title }}</div> <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 "\\" "/" }} {{- $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 }} {{- 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> {{- end }} {{- end }} </ul> {{- $content }} </div> {{- end }}