docs: changelog 2026-07-11 逐元素標點樣式覆寫(data-jz-style/stylePolicy)+ index 選項/優先序

新增 changelog 2026-07-11 條目(下游需求:非段落/特定範圍用半角式;設置格式——data-jz-style
屬性+lang.stylePolicy 選擇器+優先序)+md-twin 同步。index 選項示例補 stylePolicy、擠壓政策
優先序補逐元素覆寫(data-jz-style/stylePolicy > policy > style > 內建)。changelog/index HTML
經 build.sh 重建。
This commit is contained in:
2026-07-11 01:49:06 +08:00
parent 5e74818153
commit 738c917a5e
4 changed files with 48 additions and 10 deletions
+21 -3
View File
@@ -1,11 +1,11 @@
<!-- built with theme=dracula, mode=report, at=2026-07-07T14:00:22Z -->
<!-- built with theme=dracula, mode=report, at=2026-07-10T17:48:40Z -->
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>變更紀錄(Changelog</title>
<meta name="generated-at" content="2026-07-07">
<meta name="generated-at" content="2026-07-11">
<meta name="source" content="cjk-autospace · 變更紀錄">
<style>
/* ---------- Core tokens ----------
@@ -2530,7 +2530,7 @@ main > *:nth-child(n+6) { animation-delay: 0.46s; }
<div class="meta">
<h1>變更紀錄(Changelog</h1>
<p class="subtitle">聚珍(Juzhen)/cjk-autospace 之版本變更紀錄。</p>
<p class="timestamp"><time>2026-07-07</time> · <span>cjk-autospace · 變更紀錄</span></p>
<p class="timestamp"><time>2026-07-11</time> · <span>cjk-autospace · 變更紀錄</span></p>
</div>
<div class="actions">
<button class="btn" type="button" data-action="export-md" title="Copy Markdown to clipboard">Copy MD</button>
@@ -2545,6 +2545,15 @@ main > *:nth-child(n+6) { animation-delay: 0.46s; }
<!-- BODY -->
<p class="lede">聚珍(Juzhen)/cjk-autospace 變更紀錄。<a href="./index.html">← 回文檔</a></p>
<h2>逐元素標點樣式覆寫(data-jz-stylestylePolicy <span class="badge accent">2026-07-11</span></h2>
<p>下游需求:非段落/特定範圍元素用半角式(banjiao),段落用全角/開明。原標點樣式僅由 <code>lang</code> 決定(<code>lang.policy</code><code>lang.style</code>),無逐元素覆寫。新增與 <code>data-jz-level</code><code>level.text</code> 同構之逐元素樣式機制(<code>banjiao</code> 渲染早已就緒、此為純路由,無新壓縮邏輯/CSS)。單元測試 121→127 全綠。</p>
<h3>設置格式</h3>
<ul>
<li><strong>HTML 屬性</strong><code>data-jz-style="banjiao|kaiming|quanjiao"</code>——標於元素或任一祖先,該子樹用此樣式。</li>
<li><strong>選項</strong><code>lang: { stylePolicy: [{ selector, style }] }</code>——如 <code>[{ selector: "h1, h2, button, .ui", style: "banjiao" }]</code></li>
<li><strong>優先序</strong>:逐元素覆寫(近祖先勝、同層屬性優先於選擇器)> <code>lang.policy</code> <code>lang.style</code> > 內建逐語言預設。屬性值非法(拼錯)則忽略、回退 lang。</li>
</ul>
<h2>專案整理:架構一致性 + 確認缺陷修復 + 文檔重整 <span class="badge accent">2026-07-07</span></h2>
<p>四路並行審計(coretypeset+CSS/設置 API/文檔)後之兩階段整理。核心:消除「透明穿越」判定之兩套口徑分裂,並修四個審計缺陷中之確認項(另一證偽、一延後)。單元測試 116→121 全綠。</p>
<h3>階段一 · 確認缺陷修復 清理</h3>
@@ -2761,6 +2770,15 @@ main > *:nth-child(n+6) { animation-delay: 0.46s; }
<script type="text/markdown" id="md-source">
# 變更紀錄(Changelog)— 聚珍(Juzhen)/cjk-autospace
## 逐元素標點樣式覆寫(data-jz-stylestylePolicy)(2026-07-11
下游需求:非段落/特定範圍元素用半角式,段落用全角/開明。原樣式僅由 lang 決定,新增逐元素覆寫(與 data-jz-level 同構、純路由,banjiao 渲染早已就緒)。測試 121→127 全綠。
### 設置格式
- HTML 屬性 data-jz-style="banjiao|kaiming|quanjiao"(標於元素或任一祖先,該子樹生效)。
- 選項 lang.stylePolicy: [{ selector, style }](如 [{selector:"h1,h2,button,.ui", style:"banjiao"}])。
- 優先序:逐元素覆寫(近祖先勝、屬性優先於選擇器)> lang.policy lang.style 內建;非法屬性值回退 lang。
## 專案整理:架構一致性 + 確認缺陷修復 + 文檔重整(2026-07-07
四路並行審計後之兩階段整理。核心:消除「透明穿越」判定之兩套口徑分裂。測試 116→121 全綠。
+20 -2
View File
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>變更紀錄(Changelog</title>
<meta name="generated-at" content="2026-07-07">
<meta name="generated-at" content="2026-07-11">
<meta name="source" content="cjk-autospace · 變更紀錄">
<!-- RUNTIME_CSS -->
</head>
@@ -14,7 +14,7 @@
<div class="meta">
<h1>變更紀錄(Changelog</h1>
<p class="subtitle">聚珍(Juzhen)/cjk-autospace 之版本變更紀錄。</p>
<p class="timestamp"><time>2026-07-07</time> · <span>cjk-autospace · 變更紀錄</span></p>
<p class="timestamp"><time>2026-07-11</time> · <span>cjk-autospace · 變更紀錄</span></p>
</div>
<div class="actions">
<!-- ACTIONS -->
@@ -25,6 +25,15 @@
<!-- BODY -->
<p class="lede">聚珍(Juzhen)/cjk-autospace 變更紀錄。<a href="./index.html">← 回文檔</a></p>
<h2>逐元素標點樣式覆寫(data-jz-stylestylePolicy <span class="badge accent">2026-07-11</span></h2>
<p>下游需求:非段落/特定範圍元素用半角式(banjiao),段落用全角/開明。原標點樣式僅由 <code>lang</code> 決定(<code>lang.policy</code><code>lang.style</code>),無逐元素覆寫。新增與 <code>data-jz-level</code><code>level.text</code> 同構之逐元素樣式機制(<code>banjiao</code> 渲染早已就緒、此為純路由,無新壓縮邏輯/CSS)。單元測試 121→127 全綠。</p>
<h3>設置格式</h3>
<ul>
<li><strong>HTML 屬性</strong><code>data-jz-style="banjiao|kaiming|quanjiao"</code>——標於元素或任一祖先,該子樹用此樣式。</li>
<li><strong>選項</strong><code>lang: { stylePolicy: [{ selector, style }] }</code>——如 <code>[{ selector: "h1, h2, button, .ui", style: "banjiao" }]</code></li>
<li><strong>優先序</strong>:逐元素覆寫(近祖先勝、同層屬性優先於選擇器)> <code>lang.policy</code> <code>lang.style</code> > 內建逐語言預設。屬性值非法(拼錯)則忽略、回退 lang。</li>
</ul>
<h2>專案整理:架構一致性 + 確認缺陷修復 + 文檔重整 <span class="badge accent">2026-07-07</span></h2>
<p>四路並行審計(coretypeset+CSS/設置 API/文檔)後之兩階段整理。核心:消除「透明穿越」判定之兩套口徑分裂,並修四個審計缺陷中之確認項(另一證偽、一延後)。單元測試 116→121 全綠。</p>
<h3>階段一 · 確認缺陷修復 清理</h3>
@@ -225,6 +234,15 @@
<script type="text/markdown" id="md-source">
# 變更紀錄Changelog 聚珍Juzhencjk-autospace
## 逐元素標點樣式覆寫data-jz-stylestylePolicy2026-07-11
下游需求非段落特定範圍元素用半角式段落用全角開明原樣式僅由 lang 決定新增逐元素覆寫 data-jz-level 同構純路由banjiao 渲染早已就緒測試 121127 全綠
### 設置格式
- HTML 屬性 data-jz-style="banjiao|kaiming|quanjiao"標於元素或任一祖先該子樹生效
- 選項 lang.stylePolicy: [{ selector, style }] [{selector:"h1,h2,button,.ui", style:"banjiao"}]
- 優先序逐元素覆寫近祖先勝屬性優先於選擇器 lang.policy lang.style 內建非法屬性值回退 lang
## 專案整理架構一致性 確認缺陷修復 文檔重整2026-07-07
四路並行審計後之兩階段整理核心消除透明穿越判定之兩套口徑分裂測試 116121 全綠
+4 -3
View File
@@ -1,4 +1,4 @@
<!-- built with theme=dracula, mode=report, at=2026-07-07T14:00:22Z -->
<!-- built with theme=dracula, mode=report, at=2026-07-10T17:48:40Z -->
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
@@ -2590,7 +2590,8 @@ createJuzhen({ lang: { default: "zh-Hant" } }).render(document.querySelector("ma
lang: {
default: "zh-Hant", // 無 lang 祖先時之預設語言標籤
style: "kaiming", // 全域擠壓預設:quanjiaokaimingbanjiao
policy: { "zh-Hant": "quanjiao" }, // 逐 lang 覆寫(最高優先)
policy: { "zh-Hant": "quanjiao" }, // 逐 lang 覆寫
stylePolicy: [ { selector: "h1,button,.ui", style: "banjiao" } ], // 逐元素樣式(優先於 lang)
},
scope: { root: document.body, include: ".prose", avoid: "blockquote.raw" },
spacing: true,
@@ -2603,7 +2604,7 @@ createJuzhen({ lang: { default: "zh-Hant" } }).render(document.querySelector("ma
justifyAtoms: true, // 分頁器下設 false 改 inline(見下)
blocks: [ { selector: ".code-comment", features: [ "spacing" ] } ],
});</code></pre>
<p>擠壓政策優先序:<strong>逐 lang <code>policy</code> 全域 <code>style</code> 內建預設</strong>(繁→全角、簡→開明)。</p>
<p>擠壓政策優先序:<strong>元素 <code>data-jz-style</code><code>stylePolicy</code> lang <code>policy</code> 全域 <code>style</code> 內建預設</strong>(繁→全角、簡→開明)。<strong>逐元素覆寫</strong>供「非段落/UI 元素用半角式、段落用全角/開明」等:屬性 <code>data-jz-style="banjiao|kaiming|quanjiao"</code>(標於元素或祖先)或選擇器 <code>stylePolicy</code>,近祖先勝、屬性優先於選擇器、非法值回退 lang。</p>
<h3>分塊功能選擇(HTML 屬性,就近繼承)</h3>
<pre><code>&lt;p data-juzhen="spacing jiya"&gt;&lt;/p&gt; &lt;!-- 白名單:僅此二功能 --&gt;
&lt;p data-juzhen-off="jiya"&gt;&lt;/p&gt; &lt;!-- 黑名單:停用 jiya,其餘繼承 --&gt;
+3 -2
View File
@@ -70,7 +70,8 @@ createJuzhen({ lang: { default: "zh-Hant" } }).render(document.querySelector("ma
lang: {
default: "zh-Hant", // 無 lang 祖先時之預設語言標籤
style: "kaiming", // 全域擠壓預設:quanjiaokaimingbanjiao
policy: { "zh-Hant": "quanjiao" }, // 逐 lang 覆寫(最高優先)
policy: { "zh-Hant": "quanjiao" }, // 逐 lang 覆寫
stylePolicy: [ { selector: "h1,button,.ui", style: "banjiao" } ], // 逐元素樣式(優先於 lang)
},
scope: { root: document.body, include: ".prose", avoid: "blockquote.raw" },
spacing: true,
@@ -83,7 +84,7 @@ createJuzhen({ lang: { default: "zh-Hant" } }).render(document.querySelector("ma
justifyAtoms: true, // 分頁器下設 false 改 inline(見下)
blocks: [ { selector: ".code-comment", features: [ "spacing" ] } ],
});</code></pre>
<p>擠壓政策優先序:<strong>逐 lang <code>policy</code> 全域 <code>style</code> 內建預設</strong>(繁→全角、簡→開明)。</p>
<p>擠壓政策優先序:<strong>元素 <code>data-jz-style</code><code>stylePolicy</code> lang <code>policy</code> 全域 <code>style</code> 內建預設</strong>(繁→全角、簡→開明)。<strong>逐元素覆寫</strong>供「非段落/UI 元素用半角式、段落用全角/開明」等:屬性 <code>data-jz-style="banjiao|kaiming|quanjiao"</code>(標於元素或祖先)或選擇器 <code>stylePolicy</code>,近祖先勝、屬性優先於選擇器、非法值回退 lang。</p>
<h3>分塊功能選擇(HTML 屬性,就近繼承)</h3>
<pre><code>&lt;p data-juzhen="spacing jiya"&gt;&lt;/p&gt; &lt;!-- 白名單:僅此二功能 --&gt;
&lt;p data-juzhen-off="jiya"&gt;&lt;/p&gt; &lt;!-- 黑名單:停用 jiya,其餘繼承 --&gt;