🔒 🔧 Fixes #142 Optimize CDN service code
This commit is contained in:
parent
4e05bfb399
commit
c5c1f03557
@ -47,6 +47,14 @@
|
|||||||
|
|
||||||
img {
|
img {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
max-width: 50px;
|
||||||
|
@include mobile() {
|
||||||
|
max-width: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
max-height: 18px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$footer_vendors_imgs_len: length($footer_vendors_imgs_width);
|
$footer_vendors_imgs_len: length($footer_vendors_imgs_width);
|
||||||
|
@ -244,19 +244,18 @@ NexT.utils = {
|
|||||||
let npm_name = name;
|
let npm_name = name;
|
||||||
if (alias_name) npm_name = alias_name;
|
if (alias_name) npm_name = alias_name;
|
||||||
let res_src = '';
|
let res_src = '';
|
||||||
switch (plugins) {
|
|
||||||
case 'cdnjs':
|
switch (router.type) {
|
||||||
case 'bootcdn':
|
case 'modern':
|
||||||
case 'qiniu':
|
|
||||||
let cdnjs_name = alias || name;
|
let cdnjs_name = alias || name;
|
||||||
let cdnjs_file = file.replace(/^(dist|lib|source|\/js|)\/(browser\/|)/, '');
|
let cdnjs_file = file.replace(/^(dist|lib|source|\/js|)\/(browser\/|)/, '');
|
||||||
if (cdnjs_file.indexOf('min') == -1) {
|
if (cdnjs_file.indexOf('min') == -1) {
|
||||||
cdnjs_file = cdnjs_file.replace(/\.js$/, '.min.js');
|
cdnjs_file = cdnjs_file.replace(/\.js$/, '.min.js');
|
||||||
}
|
}
|
||||||
res_src = `${router}/${cdnjs_name}/${version}/${cdnjs_file}`
|
res_src = `${router.url}/${cdnjs_name}/${version}/${cdnjs_file}`
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
res_src = `${router}/${npm_name}@${version}/${file}`
|
res_src = `${router.url}/${npm_name}@${version}/${file}`
|
||||||
}
|
}
|
||||||
|
|
||||||
return res_src;
|
return res_src;
|
||||||
|
@ -1,33 +1,76 @@
|
|||||||
# CDN 公共资源商列表
|
# CDN 公共资源商列表
|
||||||
# Public CDN vendor list
|
# Public CDN vendor list
|
||||||
vendors:
|
vendors:
|
||||||
cdnjs: "https://cdnjs.cloudflare.com/ajax/libs"
|
- name: cdnjs
|
||||||
unpkg: "https://unpkg.com"
|
home: "https://cdnjs.com"
|
||||||
bootcdn: "https://cdn.bootcdn.net/ajax/libs"
|
logo: "https://cdnjs.com/_/f7a2ebfb819c118086546e481876aef6.svg"
|
||||||
qiniu: "https://cdn.staticfile.net"
|
type: "modern"
|
||||||
|
url: "https://cdnjs.cloudflare.com/ajax/libs"
|
||||||
|
|
||||||
|
- name: unpkg
|
||||||
|
home: "https://unpkg.com"
|
||||||
|
logo: "https://unpkg.fly.dev/_client/b870d5fb04d2854d.png"
|
||||||
|
type: "nodejs"
|
||||||
|
url: "https://unpkg.com"
|
||||||
|
|
||||||
|
- name: bootcdn
|
||||||
|
home: "https://www.bootcdn.cn"
|
||||||
|
logo: "https://www.bootcdn.cn/assets/img/logo.png"
|
||||||
|
type: "modern"
|
||||||
|
url: "https://cdn.bootcdn.net/ajax/libs"
|
||||||
|
|
||||||
|
- name: staticfile
|
||||||
|
home: "https://staticfile.net/"
|
||||||
|
logo: "https://www.staticfile.net/images/logo.png"
|
||||||
|
type: "modern"
|
||||||
|
url: "https://cdn.staticfile.net"
|
||||||
|
|
||||||
|
- name: 7ed
|
||||||
|
home: "https://www.7ed.net"
|
||||||
|
logo: "https://github.com/7ednet/homepage/raw/main/_images/logo.svg"
|
||||||
|
type: "modern"
|
||||||
|
url: "https://use.sevencdn.com/ajax/libs"
|
||||||
|
|
||||||
|
- name: zstatic
|
||||||
|
home: "https://www.zstatic.net"
|
||||||
|
logo: "https://www.zstatic.net/favicon/favicon-16x16.png"
|
||||||
|
type: "modern"
|
||||||
|
url: "https://s4.zstatic.net/ajax/libs"
|
||||||
|
|
||||||
|
- name: zeyao
|
||||||
|
home: "https://cdn.jsdmirror.com/"
|
||||||
|
logo: "https://img.cuteapi.com/2023/08/29/Background.png"
|
||||||
|
type: "nodejs"
|
||||||
|
url: "https://cdn.jsdmirror.com/npm"
|
||||||
|
|
||||||
|
- name: jsdelivr
|
||||||
|
home: "https://www.jsdelivr.com/"
|
||||||
|
logo: "https://www.jsdelivr.com/assets/0c183396fdb0079ea31849b02bc5e3429f1740de/img/jsdelivr-horizontal-regular.svg"
|
||||||
|
type: "nodejs"
|
||||||
|
url: "https://cdn.jsdelivr.net/npm"
|
||||||
|
|
||||||
# JavaScript 资源
|
# JavaScript 资源
|
||||||
# JavaScript Resources
|
# JavaScript Resources
|
||||||
js:
|
js:
|
||||||
- name: animejs
|
- name: animejs
|
||||||
version: 3.2.1
|
version: 3.2.2
|
||||||
file: lib/anime.min.js
|
file: lib/anime.min.js
|
||||||
- name: viewerjs
|
- name: viewerjs
|
||||||
version: 1.11.0
|
version: 1.11.6
|
||||||
file: dist/viewer.min.js
|
file: dist/viewer.min.js
|
||||||
|
|
||||||
# CSS 资源
|
# CSS 资源
|
||||||
# CSS Resources
|
# CSS Resources
|
||||||
css:
|
css:
|
||||||
- name: '@fortawesome/fontawesome-free'
|
- name: '@fortawesome/fontawesome-free'
|
||||||
version: 6.5.2
|
version: 6.6.0
|
||||||
file: css/all.min.css
|
file: css/all.min.css
|
||||||
alias: font-awesome
|
alias: font-awesome
|
||||||
- name: animate.css
|
- name: animate.css
|
||||||
version: 3.1.1
|
version: 4.1.1
|
||||||
file: animate.min.css
|
file: animate.min.css
|
||||||
- name: viewerjs
|
- name: viewerjs
|
||||||
version: 1.11.0
|
version: 1.11.6
|
||||||
file: dist/viewer.min.css
|
file: dist/viewer.min.css
|
||||||
|
|
||||||
# 第三方服务组件资源
|
# 第三方服务组件资源
|
||||||
@ -84,11 +127,11 @@ livere:
|
|||||||
# Full text search
|
# Full text search
|
||||||
algolia:
|
algolia:
|
||||||
name: algoliasearch
|
name: algoliasearch
|
||||||
version: 4.14.2
|
version: 4.24.0
|
||||||
file: dist/algoliasearch-lite.umd.js
|
file: dist/algoliasearch.umd.min.js
|
||||||
instant:
|
instant:
|
||||||
name: instantsearch.js
|
name: instantsearch.js
|
||||||
version: 4.49.0
|
version: 4.73.2
|
||||||
file: dist/instantsearch.production.min.js
|
file: dist/instantsearch.production.min.js
|
||||||
|
|
||||||
plugins:
|
plugins:
|
||||||
@ -96,26 +139,26 @@ plugins:
|
|||||||
mathjax:
|
mathjax:
|
||||||
js:
|
js:
|
||||||
name: mathjax
|
name: mathjax
|
||||||
version: 3.2.0
|
version: 3.2.2
|
||||||
file: es5/tex-mml-chtml.js
|
file: es5/tex-mml-chtml.min.js
|
||||||
katex:
|
katex:
|
||||||
js:
|
js:
|
||||||
- name: katex
|
- name: katex
|
||||||
version: 0.16.0
|
version: 0.16.11
|
||||||
file: dist/katex.min.js
|
file: dist/katex.min.js
|
||||||
- name: auto-render
|
- name: auto-render
|
||||||
alias_name: katex
|
alias_name: katex
|
||||||
version: 0.16.0
|
version: 0.16.11
|
||||||
file: dist/contrib/auto-render.min.js
|
file: dist/contrib/auto-render.min.js
|
||||||
css:
|
css:
|
||||||
name: katex
|
name: katex
|
||||||
version: 0.16.0
|
version: 0.16.11
|
||||||
file: dist/katex.min.css
|
file: dist/katex.min.css
|
||||||
# 画图渲染
|
# 画图渲染
|
||||||
mermaid:
|
mermaid:
|
||||||
js:
|
js:
|
||||||
name: mermaid
|
name: mermaid
|
||||||
version: 9.1.7
|
version: 10.9.1
|
||||||
file: dist/mermaid.min.js
|
file: dist/mermaid.min.js
|
||||||
# 文章访问/评论统计
|
# 文章访问/评论统计
|
||||||
waline:
|
waline:
|
||||||
|
@ -1113,9 +1113,8 @@ params:
|
|||||||
# Warning: If you are using the latest master branch of NexT, please set `internal: local`
|
# Warning: If you are using the latest master branch of NexT, please set `internal: local`
|
||||||
internal: local
|
internal: local
|
||||||
# The default CDN provider of third-party plugins.
|
# The default CDN provider of third-party plugins.
|
||||||
# Available values: local | unpkg | cdnjs| qiniu | bootcdn | custom
|
# Available values: local | | cdnjs | unpkg | bootcdn | staticfile | 7ed | zstatic | zeyao | jsdelivr | custom
|
||||||
# Dependencies for `plugins: local`: https://github.com/next-theme/plugins
|
plugins: jsdelivr
|
||||||
plugins: qiniu
|
|
||||||
# TODO
|
# TODO
|
||||||
# Custom CDN URL
|
# Custom CDN URL
|
||||||
# For example:
|
# For example:
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
</main>
|
</main>
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<div class="footer-inner">
|
<div class="footer-inner">
|
||||||
{{ partialCached "footer.html" . }}
|
{{ partial "footer.html" . }}
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $file := .res.file }}
|
{{ $file := .res.file }}
|
||||||
|
|
||||||
{{ if ne .vendor "unpkg" }}
|
{{ if ne .router.type "nodejs" }}
|
||||||
{{ with .res.alias }}
|
{{ with .res.alias }}
|
||||||
{{ $npm = . }}
|
{{ $npm = . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@ -16,6 +16,6 @@
|
|||||||
{{ $fmt = "%s/%s/%s/%s" }}
|
{{ $fmt = "%s/%s/%s/%s" }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ $pluginRes := printf $fmt .router $npm .res.version $file }}
|
{{ $pluginRes := printf $fmt .router.url $npm .res.version $file }}
|
||||||
|
|
||||||
{{ return $pluginRes }}
|
{{ return $pluginRes }}
|
@ -51,6 +51,10 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
</a>
|
</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ $cv := $.Scratch.Get "router" }}
|
||||||
|
<a target="_blank" href="{{ $cv.home }}" title="{{ $cv.name }}">
|
||||||
|
<img src="/imgs/img-lazy-loading.gif" data-src="{{ $cv.logo }}" alt="{{ $cv.name }}" />
|
||||||
|
</a>
|
||||||
<span>{{ .title }}</span>
|
<span>{{ .title }}</span>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -21,7 +21,13 @@
|
|||||||
{{ $globalVars.Set "tagsCount" (len .Site.Taxonomies.tags) }}
|
{{ $globalVars.Set "tagsCount" (len .Site.Taxonomies.tags) }}
|
||||||
|
|
||||||
{{ $vendor := .Site.Params.vendors.plugins }}
|
{{ $vendor := .Site.Params.vendors.plugins }}
|
||||||
{{ $router := index .Site.Data.resources.vendors $vendor }}
|
{{ $router := dict }}
|
||||||
|
{{ range .Site.Data.resources.vendors }}
|
||||||
|
{{ if eq .name $vendor }}
|
||||||
|
{{ $router = . }}
|
||||||
|
{{ break }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
{{ $globalVars.Set "vendor" $vendor }}
|
{{ $globalVars.Set "vendor" $vendor }}
|
||||||
{{ $globalVars.Set "router" $router }}
|
{{ $globalVars.Set "router" $router }}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
{{ $router := .Scratch.Get "router" }}
|
{{ $router := .Scratch.Get "router" }}
|
||||||
{{ range $jsRes }}
|
{{ range $jsRes }}
|
||||||
{{ $pluginJS := partial "_funs/get_res.html" (dict "res" . "vendor" $vendor "router" $router) }}
|
{{ $pluginJS := partial "_funs/get_res.html" (dict "res" . "vendor" $vendor "router" $router) }}
|
||||||
<script type="text/javascript" src="{{ $pluginJS }}" defer></script>
|
<script type="text/javascript" src="{{ $pluginJS }}" crossorigin="anonymous" defer></script>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<script class="next-config" data-name="main" type="application/json">{{ .Scratch.Get "config" }}</script>
|
<script class="next-config" data-name="main" type="application/json">{{ .Scratch.Get "config" }}</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user