Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions content/post/2025-07-19-zine-migration.smd
Original file line number Diff line number Diff line change
Expand Up @@ -170,21 +170,21 @@ Zine 布局有几个关键特性:
// file: layouts/post.shtml
<ctx :if="$page.custom.getOr('math', false)">
<link
href="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.15.2/katex.min.css"
integrity="sha512-g1pxMKWnqCJA5bTMwnw0Xwe0KQAfnj47+1pB0oISMqVFjm8Bg1vA3RENj+iGunE9j4zDLPWbau7jirWwJyshdQ=="
href="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.16.9/katex.min.css"
integrity="sha512-fHwaWebuwA7NSF5Qg/af4UeDx9XqUpYpOGgubo3yWu+b2IQR4UeQwbb42Ti7gVAjNtVoI/I9TEoYeu9omwcC6g=="
crossorigin="anonymous"
rel="stylesheet"
/>
<script
defer
src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.15.2/katex.min.js"
integrity="sha512-iegr9Cbvw50rG0agCU/1HUJ0w5GflT+Lsk2SRI1jOjEC15RRgJW9vMLDFxIF3mBxoIDIS41fnENNuSZD+WhIOA=="
src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.16.9/katex.min.js"
integrity="sha512-LQNxIMR5rXv7o+b1l8+N1EZMfhG7iFZ9HhnbJkTp4zjNr5Wvst75AqUeFDxeRUa7l5vEDyUiAip//r+EFLLCyA=="
crossorigin="anonymous"
></script>
<script
defer
src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.15.2/contrib/auto-render.min.js"
integrity="sha512-ZA/RPrAo88DlwRnnoNVqKINnQNcWERzRK03PDaA4GIJiVZvGFIWQbdWCsUebMZfkWohnfngsDjXzU6PokO4jGw=="
src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.16.9/contrib/auto-render.min.js"
integrity="sha512-iWiuBS5nt6r60fCz26Nd0Zqe0nbk1ZTIQbl3Kv7kYsX+yKMUFHzjaH2+AnM6vp2Xs+gNmaBAVWJjSmuPw76Efg=="
crossorigin="anonymous"
onload="renderMathInElement(document.body);"
></script>
Expand Down
10 changes: 5 additions & 5 deletions layouts/post.shtml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<extend template="content.shtml">
<head id="head">
<ctx :if="$page.custom.getOr('math', false)">
<link href="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.15.2/katex.min.css" integrity="sha512-g1pxMKWnqCJA5bTMwnw0Xwe0KQAfnj47+1pB0oISMqVFjm8Bg1vA3RENj+iGunE9j4zDLPWbau7jirWwJyshdQ==" crossorigin="anonymous" rel="stylesheet">
<link href="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.16.9/katex.min.css" integrity="sha512-fHwaWebuwA7NSF5Qg/af4UeDx9XqUpYpOGgubo3yWu+b2IQR4UeQwbb42Ti7gVAjNtVoI/I9TEoYeu9omwcC6g==" crossorigin="anonymous" rel="stylesheet">
<script
defer
src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.15.2/katex.min.js"
integrity="sha512-iegr9Cbvw50rG0agCU/1HUJ0w5GflT+Lsk2SRI1jOjEC15RRgJW9vMLDFxIF3mBxoIDIS41fnENNuSZD+WhIOA=="
src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.16.9/katex.min.js"
integrity="sha512-LQNxIMR5rXv7o+b1l8+N1EZMfhG7iFZ9HhnbJkTp4zjNr5Wvst75AqUeFDxeRUa7l5vEDyUiAip//r+EFLLCyA=="
crossorigin="anonymous"
></script>
<script defer src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.15.2/contrib/auto-render.min.js" integrity="sha512-ZA/RPrAo88DlwRnnoNVqKINnQNcWERzRK03PDaA4GIJiVZvGFIWQbdWCsUebMZfkWohnfngsDjXzU6PokO4jGw==" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
<script defer src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/0.16.9/contrib/auto-render.min.js" integrity="sha512-iWiuBS5nt6r60fCz26Nd0Zqe0nbk1ZTIQbl3Kv7kYsX+yKMUFHzjaH2+AnM6vp2Xs+gNmaBAVWJjSmuPw76Efg==" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
</ctx>
<ctx :if="$page.custom.getOr('mermaid', false)">
<script defer src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/mermaid/8.14.0/mermaid.min.js" integrity="sha512-vLumCjg7NKEQKGM+xAgBYTvQ90DVu6Eo7vS1T/iPf2feNLcrpGxvumuUUmE3CPiCUPgviyKbtpWGDbhnVnmJxg==" crossorigin="anonymous" onload="mermaid.initialize({startOnLoad:true});"></script>
<script defer src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/mermaid/11.12.0/mermaid.min.js" integrity="sha512-5TKaYvhenABhlGIKSxAWLFJBZCSQw7HTV7aL1dJcBokM/+3PNtfgJFlv8E6Us/B1VMlQ4u8sPzjudL9TEQ06ww==" crossorigin="anonymous" onload="mermaid.run();"></script>
</ctx>
Comment on lines 3 to 15
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To improve maintainability and avoid repeating version numbers and integrity hashes, you could define them as variables in a parent <ctx> block. This centralizes the configuration, making future updates easier and less error-prone. Based on the project's blog post, it seems Scripty supports string interpolation with {$...}, which would make this refactoring possible.

  <ctx
    katex_version="0.16.9"
    katex_css_integrity="sha512-fHwaWebuwA7NSF5Qg/af4UeDx9XqUpYpOGgubo3yWu+b2IQR4UeQwbb42Ti7gVAjNtVoI/I9TEoYeu9omwcC6g=="
    katex_js_integrity="sha512-LQNxIMR5rXv7o+b1l8+N1EZMfhG7iFZ9HhnbJkTp4zjNr5Wvst75AqUeFDxeRUa7l5vEDyUiAip//r+EFLLCyA=="
    katex_autorender_integrity="sha512-iWiuBS5nt6r60fCz26Nd0Zqe0nbk1ZTIQbl3Kv7kYsX+yKMUFHzjaH2+AnM6vp2Xs+gNmaBAVWJjSmuPw76Efg=="
    mermaid_version="11.12.0"
    mermaid_js_integrity="sha512-5TKaYvhenABhlGIKSxAWLFJBZCSQw7HTV7aL1dJcBokM/+3PNtfgJFlv8E6Us/B1VMlQ4u8sPzjudL9TEQ06ww=="
  >
    <ctx :if="$page.custom.getOr('math', false)">
      <link href="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/{$ctx.katex_version}/katex.min.css" integrity="{$ctx.katex_css_integrity}" crossorigin="anonymous" rel="stylesheet">
      <script defer src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/{$ctx.katex_version}/katex.min.js" integrity="{$ctx.katex_js_integrity}" crossorigin="anonymous"></script>
      <script defer src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/KaTeX/{$ctx.katex_version}/contrib/auto-render.min.js" integrity="{$ctx.katex_autorender_integrity}" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
    </ctx>
    <ctx :if="$page.custom.getOr('mermaid', false)">
      <script defer src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/mermaid/{$ctx.mermaid_version}/mermaid.min.js" integrity="{$ctx.mermaid_js_integrity}" crossorigin="anonymous" onload="mermaid.initialize({startOnLoad:true});"></script>
    </ctx>
  </ctx>

</head>
<div id="content">
Expand Down