Files
FixIt/layouts/partials/plugin/icon.html
T
2024-08-29 17:52:56 +08:00

26 lines
818 B
HTML

{{- with .Class -}}
<i class="{{ . }}" aria-hidden="true"></i>
{{- else -}}
{{- $src := .Src -}}
{{- with .Simpleicons -}}
{{- $prefix := $.Prefix | default "lib/simple-icons/icons" | strings.TrimSuffix "/" -}}
{{- $src = printf "%v/%v.svg" $prefix . -}}
{{- end -}}
{{ if not $src }}
{{- errorf "Icon src is missing" -}}
{{- end -}}
{{- if (urls.Parse $src).Host | not -}}
{{- $resource := resources.Get $src | minify -}}
{{ if not $resource }}
{{- errorf "Icon does not exist %v" $src -}}
{{- end -}}
{{- $resource := $resource.Content -}}
{{- $resource | replaceRE `<svg ` `<svg class="icon" ` | safeHTML -}}
{{- else -}}
{{- /* fetch svg icon from external source */ -}}
<i data-svg-src="{{ $src }}" aria-hidden="true"></i>
{{- end -}}
{{- end -}}