Site updated: 2023-07-01 14:06:53

This commit is contained in:
qinglong
2023-07-01 14:06:56 +08:00
parent 6920aad390
commit d059c7ccb3
169 changed files with 171 additions and 175 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -4
View File
@@ -25,9 +25,7 @@
<div class="note primary">
<p>该篇文章介绍了如何对 shoka 主题进行 jsdelivr 聚合拆分,以便使用国内镜像源和异步加载,从而优化网站速度。具体操作包括更改模板、注册 helper 和更改配置。其中,推荐使用 advVendors 配置,可自定义加载源和 js 文件名,同时支持异步加载、pjax 刷新和 integrity 防 XXS 等特性。</p>
</div>
<p>众所周知,jsdelivr 在国内的速度可以用慢的一批来形容<br />
而 shoka 主题使用了 jsdelivr 的 combine 功能加载第三方 js, 而 combine 在国内没有镜像源<br />
并且阻断了使用 CDN 并发加速的道路,本篇博文会将 jsdelivr 聚合拆分为几个独立的 js, 以便使用国内镜像源和异步加载。</p>
<p>众所周知,jsdelivr 在国内的速度可以用慢的一批来形容而 shoka 主题使用了 jsdelivr 的 combine 功能加载第三方 js, 而 combine 在国内没有镜像源并且阻断了使用 CDN 并发加速的道路,本篇博文会将 jsdelivr 聚合拆分为几个独立的 js, 以便使用国内镜像源和异步加载。</p>
<div class="note info">
<p>此方案相较于本地化而言有较大速度优势,尤其在 CDN 并发加持下</p>
</div>
@@ -37,7 +35,7 @@
</ol>
<p>打开 <span class="red">shoka\layout_partials\layout.njk</span>,找到第 144 行左右:</p>
<figure class="highlight html"><figcaption data-lang="HTML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://cdn.polyfill.io/v3/polyfill.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token script"></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span></pre></td></tr><tr><td data-num="2"></td><td><pre>{{ _vendor_js() }}</pre></td></tr><tr><td data-num="3"></td><td><pre>{{ _js('app.js') }}</pre></td></tr><tr><td data-num="4"></td><td><pre>{{ partial('_partials/third-party/baidu-analytics.njk', {}, {cache: true}) }}</pre></td></tr></table></figure><p>更改为如下内容:</p>
<figure class="highlight html"><figcaption data-lang="HTML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://cdn.polyfill.io/v3/polyfill.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token script"></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token comment"></span></pre></td></tr><tr><td data-num="5"></td><td><pre>{{ _vendor_js() }}</pre></td></tr><tr><td data-num="6"></td><td><pre><span class="token comment"></span></pre></td></tr><tr><td data-num="7"></td><td><pre>{{ _js('app.js')}}</pre></td></tr><tr><td data-num="8"></td><td><pre>{{ partial('_partials/third-party/baidu-analytics.njk', {}, {cache: true}) }}</pre></td></tr></table></figure><ol start="2">
<figure class="highlight html"><figcaption data-lang="HTML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://cdn.polyfill.io/v3/polyfill.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token script"></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span></pre></td></tr><tr><td data-num="2"></td><td><pre>{%- if theme.advVendors.enable %}</pre></td></tr><tr><td data-num="3"></td><td><pre> {% for i in _list_vendor_js() %}</pre></td></tr><tr><td data-num="4"></td><td><pre> {{ _adv_vendor_js(i) }}</pre></td></tr><tr><td data-num="5"></td><td><pre> {% endfor %}</pre></td></tr><tr><td data-num="6"></td><td><pre>{%- else %}</pre></td></tr><tr><td data-num="7"></td><td><pre>{{ _vendor_js() }}</pre></td></tr><tr><td data-num="8"></td><td><pre>{%- endif %}</pre></td></tr><tr><td data-num="9"></td><td><pre>{{ _js('app.js')}}</pre></td></tr><tr><td data-num="10"></td><td><pre>{{ partial('_partials/third-party/baidu-analytics.njk', {}, {cache: true}) }}</pre></td></tr></table></figure><ol start="2">
<li>注册 helper</li>
</ol>
<p>打开 <span class="red">shoka\scripts\helpers\asset.js</span>, 最后一行新建空行,增加如下内容:</p>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -4
View File
@@ -35,9 +35,7 @@
<div class="note primary">
<p>该篇文章介绍了如何对 shoka 主题进行 jsdelivr 聚合拆分,以便使用国内镜像源和异步加载,从而优化网站速度。具体操作包括更改模板、注册 helper 和更改配置。其中,推荐使用 advVendors 配置,可自定义加载源和 js 文件名,同时支持异步加载、pjax 刷新和 integrity 防 XXS 等特性。</p>
</div>
<p>众所周知,jsdelivr 在国内的速度可以用慢的一批来形容<br />
而 shoka 主题使用了 jsdelivr 的 combine 功能加载第三方 js, 而 combine 在国内没有镜像源<br />
并且阻断了使用 CDN 并发加速的道路,本篇博文会将 jsdelivr 聚合拆分为几个独立的 js, 以便使用国内镜像源和异步加载。</p>
<p>众所周知,jsdelivr 在国内的速度可以用慢的一批来形容而 shoka 主题使用了 jsdelivr 的 combine 功能加载第三方 js, 而 combine 在国内没有镜像源并且阻断了使用 CDN 并发加速的道路,本篇博文会将 jsdelivr 聚合拆分为几个独立的 js, 以便使用国内镜像源和异步加载。</p>
<div class="note info">
<p>此方案相较于本地化而言有较大速度优势,尤其在 CDN 并发加持下</p>
</div>
@@ -47,7 +45,7 @@
</ol>
<p>打开 <span class="red">shoka\layout_partials\layout.njk</span>,找到第 144 行左右:</p>
<figure class="highlight html"><figcaption data-lang="HTML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://cdn.polyfill.io/v3/polyfill.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token script"></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span></pre></td></tr><tr><td data-num="2"></td><td><pre>{{ _vendor_js() }}</pre></td></tr><tr><td data-num="3"></td><td><pre>{{ _js('app.js') }}</pre></td></tr><tr><td data-num="4"></td><td><pre>{{ partial('_partials/third-party/baidu-analytics.njk', {}, {cache: true}) }}</pre></td></tr></table></figure><p>更改为如下内容:</p>
<figure class="highlight html"><figcaption data-lang="HTML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://cdn.polyfill.io/v3/polyfill.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token script"></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token comment"></span></pre></td></tr><tr><td data-num="5"></td><td><pre>{{ _vendor_js() }}</pre></td></tr><tr><td data-num="6"></td><td><pre><span class="token comment"></span></pre></td></tr><tr><td data-num="7"></td><td><pre>{{ _js('app.js')}}</pre></td></tr><tr><td data-num="8"></td><td><pre>{{ partial('_partials/third-party/baidu-analytics.njk', {}, {cache: true}) }}</pre></td></tr></table></figure><ol start="2">
<figure class="highlight html"><figcaption data-lang="HTML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://cdn.polyfill.io/v3/polyfill.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token script"></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span></pre></td></tr><tr><td data-num="2"></td><td><pre>{%- if theme.advVendors.enable %}</pre></td></tr><tr><td data-num="3"></td><td><pre> {% for i in _list_vendor_js() %}</pre></td></tr><tr><td data-num="4"></td><td><pre> {{ _adv_vendor_js(i) }}</pre></td></tr><tr><td data-num="5"></td><td><pre> {% endfor %}</pre></td></tr><tr><td data-num="6"></td><td><pre>{%- else %}</pre></td></tr><tr><td data-num="7"></td><td><pre>{{ _vendor_js() }}</pre></td></tr><tr><td data-num="8"></td><td><pre>{%- endif %}</pre></td></tr><tr><td data-num="9"></td><td><pre>{{ _js('app.js')}}</pre></td></tr><tr><td data-num="10"></td><td><pre>{{ partial('_partials/third-party/baidu-analytics.njk', {}, {cache: true}) }}</pre></td></tr></table></figure><ol start="2">
<li>注册 helper</li>
</ol>
<p>打开 <span class="red">shoka\scripts\helpers\asset.js</span>, 最后一行新建空行,增加如下内容:</p>
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More