diff options
author | Jimmy Cai <jimmehcai@gmail.com> | 2021-02-12 15:21:43 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-12 15:21:43 +0300 |
commit | 8b17b8a4eeeacb3ae022822a6264aa43cba2576c (patch) | |
tree | dbe48c24c730b9688edb9f6acafd7d8ed889025f | |
parent | 326c052a24063aaa9503f7e35f7580c476da1635 (diff) |
feat: add data/external.yaml (#140)
* feat: add data/external.yaml
Manage all external resources URL in one file
* style: format data/external
* style(helper/external): error message
* remove whitespace
-rw-r--r-- | data/external.yaml | 38 | ||||
-rw-r--r-- | layouts/partials/article/components/math.html | 15 | ||||
-rw-r--r-- | layouts/partials/article/components/photoswipe.html | 6 | ||||
-rw-r--r-- | layouts/partials/footer/components/script.html | 3 | ||||
-rw-r--r-- | layouts/partials/helper/external.html | 29 |
5 files changed, 72 insertions, 19 deletions
diff --git a/data/external.yaml b/data/external.yaml new file mode 100644 index 0000000..2721e76 --- /dev/null +++ b/data/external.yaml @@ -0,0 +1,38 @@ +Vibrant: + - src: https://cdn.jsdelivr.net/npm/node-vibrant@3.1.5/dist/vibrant.min.js + integrity: sha256-5NovOZc4iwiAWTYIFiIM7DxKUXKWvpVEuMEPLzcm5/g= + type: script + +PhotoSwipe: + - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js + integrity: sha256-ePwmChbbvXbsO02lbM3HoHbSHTHFAeChekF1xKJdleo= + type: script + defer: true + + - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js + integrity: sha256-UKkzOn/w1mBxRmLLGrSeyB4e1xbrp4xylgAWb3M42pU= + type: script + defer: true + + - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.css + integrity: sha256-c0uckgykQ9v5k+IqViZOZKc47Jn7KQil4/MP3ySA3F8= + type: style + + - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.css + integrity: sha256-SBLU4vv6CA6lHsZ1XyTdhyjJxCjPif/TRkjnsyGAGnE= + type: style + +KaTeX: + - src: https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css + integrity: sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X + type: style + + - src: https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js + integrity: sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4 + type: script + defer: true + + - src: https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js + integrity: sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa + type: script + defer: true diff --git a/layouts/partials/article/components/math.html b/layouts/partials/article/components/math.html index 0f85127..d05861c 100644 --- a/layouts/partials/article/components/math.html +++ b/layouts/partials/article/components/math.html @@ -1,14 +1,6 @@ -<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" - integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous"> -<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js" - integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4" - crossorigin="anonymous"></script> -<script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js" - integrity="sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa" crossorigin="anonymous" - onload="StackLaTeX()"></script> - +{{- partial "helper/external" (dict "Context" . "Namespace" "KaTeX") -}} <script> - function StackLaTeX() { + window.addEventListener("DOMContentLoaded", () => { renderMathInElement(document.querySelector(`.article-content`), { delimiters: [ { left: "$$", right: "$$", display: true }, @@ -16,6 +8,5 @@ { left: "\\(", right: "\\)", display: false }, { left: "\\[", right: "\\]", display: true } ] - }); - } + });}) </script>
\ No newline at end of file diff --git a/layouts/partials/article/components/photoswipe.html b/layouts/partials/article/components/photoswipe.html index ed1c677..c33ff49 100644 --- a/layouts/partials/article/components/photoswipe.html +++ b/layouts/partials/article/components/photoswipe.html @@ -65,8 +65,4 @@ </div> -<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"></script> -<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"></script> - -<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.css"> -<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.css">
\ No newline at end of file +{{- partial "helper/external" (dict "Context" . "Namespace" "PhotoSwipe") -}}
\ No newline at end of file diff --git a/layouts/partials/footer/components/script.html b/layouts/partials/footer/components/script.html index 08e357b..83522ff 100644 --- a/layouts/partials/footer/components/script.html +++ b/layouts/partials/footer/components/script.html @@ -1,5 +1,4 @@ -<script src="https://cdn.jsdelivr.net/npm/node-vibrant@3.1.5/dist/vibrant.min.js" - integrity="sha256-5NovOZc4iwiAWTYIFiIM7DxKUXKWvpVEuMEPLzcm5/g=" crossorigin="anonymous"></script> +{{- partial "helper/external" (dict "Context" . "Namespace" "Vibrant") -}} {{- $opts := dict "minify" hugo.IsProduction -}} {{- $script := resources.Get "ts/main.ts" | js.Build $opts -}} diff --git a/layouts/partials/helper/external.html b/layouts/partials/helper/external.html new file mode 100644 index 0000000..e1505d4 --- /dev/null +++ b/layouts/partials/helper/external.html @@ -0,0 +1,29 @@ +{{- $List := index .Context.Site.Data.external .Namespace -}} +{{- with $List -}} + {{- range . -}} + {{- if eq .type "script" -}} + <script + src="{{ .src }}" + {{- with .integrity -}} + integrity="{{ . }}" + {{- end -}} + crossorigin="anonymous" + defer="{{ default false .defer }}" + > + </script> + {{- else if eq .type "style" -}} + <link + rel="stylesheet" + href="{{ .src }}" + {{- with .integrity -}} + integrity="{{ . }}" + {{- end -}} + crossorigin="anonymous" + > + {{- else -}} + {{- errorf "Error: unknown external resource type: %s" .type -}} + {{- end -}} + {{- end -}} +{{- else -}} + {{- errorf "Error: external resource '%s' is not found" .Namespace -}} +{{- end -}}
\ No newline at end of file |