diff options
author | WANG Chucheng <me@wangchucheng.com> | 2022-02-03 08:12:39 +0300 |
---|---|---|
committer | WANG Chucheng <me@wangchucheng.com> | 2022-02-03 08:12:39 +0300 |
commit | 89c48bd92b34b165770069b01aa9e2511d0448ca (patch) | |
tree | 37a7633d768f79cc9ac0fff66253a505a8467354 /assets | |
parent | 72c35bec01c80baf75bcaf61b363ffe337ee7f2d (diff) |
refactor: reduce Font Awesome size with tree shaking
Diffstat (limited to 'assets')
-rw-r--r-- | assets/js/fontawesome.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/assets/js/fontawesome.js b/assets/js/fontawesome.js new file mode 100644 index 0000000..60e1c02 --- /dev/null +++ b/assets/js/fontawesome.js @@ -0,0 +1,29 @@ +{{- $icons := partial "utils/get-fontawesome-icons" . -}} +{{- $flattenedIcons := slice -}} + +{{- range $key, $value := $icons -}} + {{- if gt (len $value) 0 -}} + {{- $flattenedIcons = $flattenedIcons | append $value -}} + {{- if eq $key "fas" -}} + import { + {{- delimit $value ", " -}} + } from 'js/fontawesome/free-solid-svg-icons/index.es.js'; + {{- else if eq $key "far" -}} + import { + {{- delimit $value ", " -}} + } from 'js/fontawesome/free-regular-svg-icons/index.es.js'; + {{- else if eq $key "fab" -}} + import { + {{- delimit $value ", " -}} + } from 'js/fontawesome/free-brands-svg-icons/index.es.js'; + {{- end -}} + {{- end -}} +{{- end -}} + +import {library, dom} from 'js/fontawesome/fontawesome-svg-core/index.es.js'; + +library.add( + {{- delimit $flattenedIcons ", " -}} +) +dom.i2svg() +dom.watch()
\ No newline at end of file |