Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/CaiJimmy/hugo-theme-stack.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy Cai <jimmehcai@gmail.com>2021-02-12 15:21:43 +0300
committerGitHub <noreply@github.com>2021-02-12 15:21:43 +0300
commit8b17b8a4eeeacb3ae022822a6264aa43cba2576c (patch)
treedbe48c24c730b9688edb9f6acafd7d8ed889025f
parent326c052a24063aaa9503f7e35f7580c476da1635 (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.yaml38
-rw-r--r--layouts/partials/article/components/math.html15
-rw-r--r--layouts/partials/article/components/photoswipe.html6
-rw-r--r--layouts/partials/footer/components/script.html3
-rw-r--r--layouts/partials/helper/external.html29
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