{{- $rel := "" -}} {{- $external := false -}} {{- $noreferrer := true -}} {{- if eq .Noreferrer false -}} {{- $noreferrer = false -}} {{- end -}} {{- if (urls.Parse .Destination).Host | or .Newtab -}} {{- $rel = cond $noreferrer "external nofollow noopener noreferrer" "external nofollow" -}} {{- $external = true -}} {{- end -}} {{- $class := .Class | default "" -}} {{- if eq .Card true -}} {{- $class = trim (printf "%v %v" "card-link" $class) " " -}} {{- end -}} {{- if ne .Card true -}} {{- with .Icon -}} {{- partial "plugin/icon.html" . }} {{ end -}} {{- with .Content -}} {{- . | safeHTML -}} {{- end -}} {{- if (.ExternalIcon | default false) | and $external | and (eq (hasPrefix .Content ``) | or (strings.HasSuffix .Content `):`)) false) -}} {{- if .Download -}} {{- dict "Class" "fa-solid fa-cloud-download-alt fa-fw ms-1 text-secondary" | partial "plugin/icon.html" -}} {{- else -}} {{- dict "Class" "fa-solid fa-external-link-alt fa-fw fa-xs ms-1 text-secondary" | partial "plugin/icon.html" -}} {{- end -}} {{- else if .Download }} {{- dict "Class" "fa-solid fa-download fa-fw ms-1 text-secondary" | partial "plugin/icon.html" -}} {{- end -}} {{- else -}} {{- with .Icon -}} {{- partial "plugin/icon.html" . }} {{ end -}} {{- with .Content -}} {{- . | safeHTML -}} {{- end -}} {{- .Destination | safeURL -}} {{- if .Download -}} {{- else -}} {{- end -}} {{- end -}} {{- /* EOF */ -}}