From 74b24d75d0024b91453248c42da83218eda4ffe1 Mon Sep 17 00:00:00 2001 From: commilitia Date: Mon, 1 Jun 2026 19:04:01 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B8=85=E7=A9=BA=20main=EF=BC=8C?= =?UTF-8?q?=E5=BE=9E=E9=9B=B6=E9=87=8D=E5=AF=AB=E7=82=BA=20=E8=81=9A?= =?UTF-8?q?=E7=8F=8D=EF=BC=88Juzhen=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除 v1 的 cjk-autospace 來源(pangu shim + Pass D halt 擠壓)與過早建立 的鷹架。v1 完整保留於 v1-autospace 分支。main 自此作為「現代簡/繁中文 網頁排版套件」之全新重寫起點。保留 .gitignore 作為倉庫基礎設施。 --- README.md | 109 ------- cjk-autospace.d.ts | 109 ------- cjk-autospace.js | 716 --------------------------------------------- 3 files changed, 934 deletions(-) delete mode 100644 README.md delete mode 100644 cjk-autospace.d.ts delete mode 100644 cjk-autospace.js diff --git a/README.md b/README.md deleted file mode 100644 index 481047f..0000000 --- a/README.md +++ /dev/null @@ -1,109 +0,0 @@ -# cjk-autospace - -CJK ↔ Latin / 數字 / 標點 / 引號 / 括號 / 運算子等邊界之自動間距 shim。Pangu.js v7.2.1 規則之 ES5 端口,加上「跨樣式標籤透明 + 行內塊邊界」兩 pass 架構,再加 Pass C 長英文段 `` 包裝(讓瀏覽器原生連字斷詞)、Pass D 開明式標點擠壓(句內點號半形)。工廠模式,由消費端注入配置。 - -> **詳細文檔 + Changelog 位於 `docs` 分支**:架構解析、雙 pass 流程、整合範例見 [`index.html`](https://git.commilitia.net/admin/cjk-autospace/src/branch/docs/index.html);變更記錄見 [`CHANGELOG.html`](https://git.commilitia.net/admin/cjk-autospace/src/branch/docs/CHANGELOG.html)。本機並列檢出:`git worktree add ../cjk-autospace-docs docs`。 - -## API - -```js -const autospace = createCjkAutospace({ - pillSelector: "code, kbd, .your-pill-class", -}); -autospace.apply(document.body); -``` - -回傳 `{ apply(root?) }`。冪等:在已注入 marker 之 DOM 上重跑會跳過既有 `.cjk-autospace`。完整選項見 `cjk-autospace.d.ts`。 - -## CSS 需求 - -```css -.cjk-autospace { - -webkit-user-select: none; - user-select: none; - /* 視覺寬度由消費端決定,例如 0.25em via inline-block + width */ -} -``` - -`user-select: none` 讓選取與剪貼板跳過 marker;marker 內含真實 ASCII space(layout 視為 whitespace:行末 collapse、容許換行、justify 可拉伸)。 - -開明式標點擠壓(Pass D)另需: - -```css -/* 句內點號半形——CSS 表達不了「只擠句內、不擠句末」,故由 lib 逐字包裝, - 此處只負責把被包裝者擠成半形。需字型具 halt(Noto Sans/Serif CJK 皆有)。 */ -.cjk-squeeze { - font-feature-settings: "halt" 1; -} - -/* 連續標點擠壓 + 行端壓縮(clreq)——原生 layout-aware,套在正文容器上。 - Chrome 123+ 預設即 normal,明確標注以防被 reset;同樣要求字型具 halt/chws。 */ -.article { - text-spacing-trim: normal; -} -``` - -不加 `.cjk-squeeze` 規則則 span 惰性(DOM 變更但無視覺效果)。`text-spacing-trim` 於 Chromium 不支援時優雅降級(句內半角仍由 `halt` 生效)。 - -## 標籤三分類 - -- **STYLE_INLINES**(`` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `` / `