規格全表

sinopac-deck 的全部功能元素 1404 條、34 章:自動抽出 1395 條、人寫補充 9 條。每一條的「出處」就是規則的真相源。

做 deck 的流程69 條

SKILL.md 的條目、粗體標籤與規則表(按節取:ref.py doc SKILL <標題>)

名稱類名/鍵/指令做什麼出處
唯一產物是 content.md不寫、不手改 deck.html(blank 的 html: 圍欄是唯一可寫標記之處);SKILL.md「鐵則」
裝不下砍字不縮字級、不削內距、不改引擎(處理順序:ref.py doc playbook 溢出處理的優先順序)。SKILL.md「鐵則」
紙本=閱讀態的開檔畫面主張、結論、數字放在預設畫面(正文、預設頁籤、不收合);SKILL.md「鐵則」
動筆前驗證事實使用者給的數字與專有名詞對得上附件才寫,對不上先問。SKILL.md「鐵則」
# custom-css 只用 em 與既有…# custom-css 只用 em 與既有 token、不寫死色碼與 px、hover 包 @media screen、字不縮到下限以下(內文與表格 12pt、結論列 14pt⋯SKILL.md「鐵則」
一副 deck 一條分支、永不合併進 main;SKILL.md「鐵則」
分支從 main 開 deck/YYYYMMDD-<slug>(日期=檔名日期;slug 小寫英數、單字間單一 -、≤14 字元;分支名 ≤28 字元;中文主題寫在 # deck 的⋯SKILL.md「開工(新 session 照順序做)」
讀既有脈絡deck 目錄的 storyline.md(通案規則、用語表、「vN 較 vN-1」表)與 CONTEXT.md(若有)。SKILL.md「開工(新 session 照順序做)」
問清楚、寫進 storyline.md 檔頭(寫錯要全篇重寫): 密度:投影講述(每頁一事、字大)或傳閱自讀(bluf 帶完整結論);SKILL.md「開工(新 session 照順序做)」
>10 頁先核可給 3 條敘事線候選(純文字、不產 HTML 預覽,各附頁數),使用者選定才展開逐頁。SKILL.md「開工(新 session 照順序做)」
本檔=鐵則+開工+流程+查法,照順序做規則細節在 references/,按節取、不整檔讀:python3 scripts/ref.py doc <檔> <標題或節號>…(不帶標題=目錄;好幾節空白分隔、一次取完);SKILL.md「讀法」
片段與圖表一次查完要用的幾段寫在同一條 ref.py snippet|chart <名稱> <名稱>…,共用規則只附一次;SKILL.md「讀法」
做 deck 時不讀context/(理由、原話、沿革;只在 §五 最後兩列的情況用 ref.py ctx)、docs/、README.md、MAINTAINING.md、site/;SKILL.md「讀法」
工具訊息自帶規則與改法✗ 照訊息改;SKILL.md「讀法」
S0 storyline.md每頁一列「頁碼|版型|標籤|頁標題|本頁回答的問題」。SKILL.md「流程」
S1 content.md版型 python3 scripts/build_deck.py --list;SKILL.md「流程」
S2+S3bash scripts/verify.sh content.md -o 20260730_主題_V01.html(改字迭代加 --quick;交付前不加):lint → bui⋯SKILL.md「流程」
S4 交付bash scripts/verify.sh content.md --ship 產 _交付.html(寄出去的是這份;維運版留著改字與對帳)。SKILL.md「流程」
定版使用者說可以或交付的那一輪,〔待回灌〕的通案從 main 另開 claude/<主題>-rules-to-main 送 PR(ref.py doc playbook 分支協作);SKILL.md「流程」
全內容頁固定配備title(三秒層)、bluf 結論列(缺了 build 出 △);SKILL.md「content.md 格式」
行內標記 粗、[k]、[kb]、[hl]、[t⋯html: 圍欄裡寫 HTML(換行 <br>)。SKILL.md「content.md 格式」
自訂樣式與 JS 寫在 # custom-cs⋯(寫在圍欄外會被靜默忽略)。SKILL.md「content.md 格式」
議程 3–8 項,對得上章名或章數才掛跳章只有 2 章的 deck 不放議程頁(章節頁籤照樣自動生成)。SKILL.md「content.md 格式」
格式不對 build 會中止,訊息附正確寫法SKILL.md「content.md 格式」
形狀片段(階梯、矩陣、甘特⋯)讀:ref.py list snippet → ref.py snippet <名稱> <名稱>…(要用的幾段一次查完,共用規則與要一起貼的依賴只附一次)SKILL.md「查法(遇到什麼才讀什麼)」
圖表讀:ref.py list chart → ref.py chart <ec-名稱> ecFit(一次查完:共通規則只附一次,其中「版面」條管圖的高度、.fill 掛哪裡、圖旁欄⋯SKILL.md「查法(遇到什麼才讀什麼)」
時間軸、步驟、流程、檢核列讀:ref.py doc components 檢核列-橫向流程;範例 ref.py example p12-p13SKILL.md「查法(遇到什麼才讀什麼)」
收合、白話 tooltip、頁內頁籤、一鍵複製⋯讀:ref.py doc components 收合-結論列SKILL.md「查法(遇到什麼才讀什麼)」
判斷元素多大、層級夠不夠;# custom-c⋯讀:ref.py doc components 字階SKILL.md「查法(遇到什麼才讀什麼)」
lint 報禁詞、破折號、中國用語、商務加嚴⋯讀:ref.py doc writing 四.1、ref.py doc writing 六.1-反向誤殺警告SKILL.md「查法(遇到什麼才讀什麼)」
同一數字要上兩頁、多個分母、兩條判定軸、全稱詞⋯讀:ref.py doc writing 四.9-18SKILL.md「查法(遇到什麼才讀什麼)」
引外部數據、掛連結、改版刪概念、要推翻既有結論讀:ref.py doc writing 來源與連結紀律SKILL.md「查法(遇到什麼才讀什麼)」
改寫或引用別人的文字(原稿、他人文件、法遵條文)讀:ref.py doc writing 保護清單SKILL.md「查法(遇到什麼才讀什麼)」
有英文、縮寫或技術名詞讀:ref.py doc writing 中英並列與技術名詞SKILL.md「查法(遇到什麼才讀什麼)」
語體是書面語帶(主管決策、討論場合),或被點名⋯讀:ref.py doc writing 口語詞帶SKILL.md「查法(遇到什麼才讀什麼)」
知識型教材(講義、訓練 deck)讀:ref.py doc writing 知識型教材SKILL.md「查法(遇到什麼才讀什麼)」
想不到這一頁該長什麼樣讀:ref.py layout --group <組名> → ref.py layout <名稱>SKILL.md「查法(遇到什麼才讀什麼)」
逐步揭示、逐列聚焦、講者備註;就地展開、狀態切⋯讀:ref.py doc present 一-二、ref.py doc present 三;範例 ref.py example p18、ref.py example p19SKILL.md「查法(遇到什麼才讀什麼)」
頁籤、收合、切換、浮層在紙本上印什麼讀:ref.py doc present 列印印什麼SKILL.md「查法(遇到什麼才讀什麼)」
某段內容該不該放 hover、放哪一種讀:ref.py doc design 分層揭露SKILL.md「查法(遇到什麼才讀什麼)」
自畫裝飾、官方色與語意色 token讀:ref.py doc brandSKILL.md「查法(遇到什麼才讀什麼)」
批註回寫、改版協作讀:ref.py doc playbook 一SKILL.md「查法(遇到什麼才讀什麼)」
改字找行號、手改過 HTML 要急救讀:§六;ref.py doc playbook 十一SKILL.md「查法(遇到什麼才讀什麼)」
△ 看不懂怎麼改、版面空洞或溢出;量測結果可疑讀:ref.py doc playbook 三、ref.py doc playbook 四SKILL.md「查法(遇到什麼才讀什麼)」
附錄、章節結構;需求盤點類、討論/評述類 de⋯讀:ref.py doc playbook 六、ref.py doc playbook 七、ref.py doc playbook 八、ref.py doc playbook 九SKILL.md「查法(遇到什麼才讀什麼)」
交付版、產出標記、發布預覽網址讀:ref.py doc deliverySKILL.md「查法(遇到什麼才讀什麼)」
示範稿(範本、教學、假資料)讀:ref.py doc writing 七SKILL.md「查法(遇到什麼才讀什麼)」
固定結構反覆更新的主題頁讀:ref.py doc components 五SKILL.md「查法(遇到什麼才讀什麼)」
定版回灌 main讀:ref.py doc playbook 十SKILL.md「查法(遇到什麼才讀什麼)」
舊 deck 併 main 後外觀或驗收變了讀:ref.py ctx history(遷移表)SKILL.md「查法(遇到什麼才讀什麼)」
有人提外部建議、要改規則、問為什麼讀:ref.py ctx(context/ 條目清單,再取一條;平常不讀)SKILL.md「查法(遇到什麼才讀什麼)」
正規python3 scripts/build_deck.py content.md --where p05.bluf(也吃 p05、bluf)→ 改那一行 → 重跑 verify。SKILL.md「改字與對帳」
check_slots.py 連 EDIT-M⋯手改過 HTML 它會擋。SKILL.md「改字與對帳」
逐頁看 1920 截圖 node script⋯(避頭缺口、折行、重複句、數字拆行量不到);SKILL.md「交付前只能人看的」
三秒測試只看標題+主角說得出主張;SKILL.md「交付前只能人看的」
結論列不是複述、請示/決議轉紅全副標題句式一致;SKILL.md「交付前只能人看的」
紙本要看的都在開檔畫面紙本讀者一定要懂的名詞在正文寫清楚SKILL.md「交付前只能人看的」
網格預設開放欄,有框的 .solid 有理由卡內不空、留白不沉頁底SKILL.md「交付前只能人看的」
第三色只給語意、漲紅跌綠一致狀態「顏色+文字」雙標;SKILL.md「交付前只能人看的」
圖例為色塊且貼著圖千點以上的圖已彙總;SKILL.md「交付前只能人看的」
引數據頁有 src(評述類出處全掛 .tip.s 者除外);SKILL.md「交付前只能人看的」
storyline 用語表逐詞 grep 全副⋯(含 html: 圍欄、封底、note);SKILL.md「交付前只能人看的」
有逐步頁node scripts/shots.js deck.html --walk(報沒亮起的步驟)+node scripts/check_present.js deck.html(簡⋯SKILL.md「交付前只能人看的」
用了 列印展開: on浮層都有補充頁、每一態都印得出來、攤開後裝得下;SKILL.md「交付前只能人看的」
--where 抽查 2–3 個槽位匯出 Markdown 抽看:node scripts/shots.js deck.html --md 另存一份並點名頁數與 undefined/[object,頁籤全片、表格合⋯SKILL.md「交付前只能人看的」
寄出去的是 --ship 交付版檔名與版號對、改版未覆蓋舊檔;SKILL.md「交付前只能人看的」
YYYYMMDD_中文標題_V01.html# deck 填 主題: 與 版號:(v1、1 都正規化成 V01),未給 -o 自動命名;SKILL.md「檔名」
文字稿固定叫 content.md(放 deck 目錄,不改名、檔名不帶版號);SKILL.md「檔名」
使用者指定固定檔名時,每次 build 都帶同⋯SKILL.md「檔名」

檔頭鍵19 條

content.md 最前面 # deck 區段能寫的鍵(build_deck.py --schema deck)

名稱類名/鍵/指令做什麼出處
titletitle: 任意文字任意文字:瀏覽器分頁名(<title>)build_deck.py --schema deck
單位單位: 單位全稱單位全稱:出品單位,記進 EDIT-MAP;不進檔名。封面上的單位寫在 cover 的 who:(全稱,如「金控總經理辦公室」,可附報告人)build_deck.py --schema deck
主題主題: 中文標題中文標題:自動檔名的中文標題(YYYYMMDD_主題_V01.html);分支目錄 decks/YYYYMMDD_主題/ 用同一個名字build_deck.py --schema deck
版號版號: V01V01(v1、V1、1、v01 都接受):自動檔名的版號,一律正規化成 V+兩位數;改版遞增 V02、V03…,上一版的檔不覆蓋build_deck.py --schema deck
日期日期: YYYYMMDDYYYYMMDD:自動檔名的日期=會議或交付場合當天;沒寫=build 當天(定了就寫,隔天重組才不會多出第二份檔)build_deck.py --schema deck
配色模式配色模式: 深色深色(預設)/淺色:淺色=投影片外圍的頁面底色改淺灰(body.light-canvas);投影片本身不變build_deck.py --schema deck
章節頁章節頁: 淺色淺色(預設)/深色:深色=章節隔頁轉深藍反白(.divider.dark,與封底同深面家族,形成淺深節奏)build_deck.py --schema deck
互動集互動集: fullfull(預設)/off:off=不跑任何過場:進場動畫、數字滾動、hover 換色、收合箭頭、簡報態的步驟與聚焦一律直接到位(步驟照走、沒有過場);圖表載入即畫、不播動畫。OS「減少動態效果」同效build_deck.py --schema deck
手機版手機版: 縮放縮放(預設)/重排:縮放=小螢幕整張等比縮小、版面同列印;重排=手機直立改文件流重排(版面與投影、列印不同)build_deck.py --schema deck
內文字級內文字級: 1212(預設)/14:12=內文與表格 12pt、標題 28pt、焦點數字 48pt;14=大會場字階(內文 14pt、標題 32pt、焦點數字 49pt)build_deck.py --schema deck
垂直節奏垂直節奏: onon(預設)/off:on=內容止於畫布九成以下的頁,自動放大區段與列的間距、留白不沉頁底;off=只關間距(彈性字級照跑)build_deck.py --schema deck
彈性字級彈性字級: onon(預設)/off:on=內容少的頁,內容區整區升到 13 或 14pt、滿的頁維持 12pt;off=一律 12pt(垂直節奏照跑)。單頁不升:頁內任一元素加 .fz-fix;「內文字級: 14」的 deck 不升build_deck.py --schema deck
簡報態簡報態: onon(預設)/off:on=講者按 P/F5(或網址 ?present)進簡報態:逐步揭示、逐列聚焦、雷射筆、黑幕、概覽、講者視窗;閱讀、手機、列印永遠是閱讀態(步驟全亮)。off=整副沒有簡報態:P/F5/?present、數字跳頁、概覽、按鍵說明都不作用(F5 照常重新整理),步驟屬性無作用build_deck.py --schema deck
列印展開列印展開: offoff(預設)/on:off=列印/PDF=閱讀態的開檔畫面:頁籤只印開檔那一片、收合照開檔狀態、白話不印、就地展開的浮層不印、狀態切換只印開檔那一態(明寫 data-print 的照它)。on=個案才用的全展開:頁籤全部攤開、收合全開、白話轉括號、狀態切換並排、就地展開的浮層印到最後的補充頁(附錄級細節也要印在紙上的核示 deck)build_deck.py --schema deck
講者備註講者備註: 不交付不交付(預設)/交付/匯出:不交付=note: 只留在維運版,--ship 交付版剝除;交付=交付版也保留(給代講的同事);匯出=交付版保留,且匯出 Markdown 在每頁後面帶「> 備註:…」build_deck.py --schema deck
結論行數結論行數: 1–51–5(預設 3):結論列行數上限:lint 的結論列字數帶等比縮放(1 限定調頁等短結論);覆寫時 lint 出 △,交付說明要註明build_deck.py --schema deck
示範示範: offoff(預設)/on:on=示範稿、教材範本:示範與占位字樣(DEMO_RE:範例金控、示範案例、(示範)、假數…)改印 ○、不計入 △,verify 的下一步也不叫你清;整副都沒有示範字樣時出 △(封面主標要帶「(示範案例)」)。正式稿不要寫build_deck.py --schema deck
密度上限密度上限: (沒有作用):寫了 lint 會提醒刪除;blank 的溢出由 measure_deck.js 量測(MAINTAINING.md「舊 deck 相容」)build_deck.py --schema deck
不可覆寫brand、logo、品牌外框、字型、官方色、母片、色票品牌外框與官方色是硬規格,寫了直接中止組裝build_deck.py --schema deck

版型與槽位25 條

五種版型、每個槽位的用途與字數帶(build_deck.py --schema <版型>)

名稱類名/鍵/指令做什麼出處
cover 版型## pNN cover <標籤>封面:標題+報告人+日期build_deck.py --schema cover
cover · ctct:〔必填〕主標(名詞短語;示範稿帶「(示範案例)」);≤18 字、1 行build_deck.py --schema cover
cover · whowho:〔選用〕報告單位全稱(如「金控總經理辦公室」,可附報告人);≤14 字、1 行build_deck.py --schema cover
cover · datedate:〔選用〕日期(如 2026 / 07;會議場合寫到日=會議日期)build_deck.py --schema cover
agenda 版型## pNN agenda <標籤>議程:3–8 段目錄(只有 2 章的 deck 不掛議程;使用者明確要時照放,項目寫內容段落、不掛跳章)build_deck.py --schema agenda
agenda · kickerkicker:〔選用〕眉標(預設 Agenda)build_deck.py --schema agenda
agenda · titletitle:〔選用〕頁標題(預設「今日議程」)build_deck.py --schema agenda
agenda · itemitem:〔必填〕議程項目(項目名與章名或章數對得上,才掛得上跳章;對不上 build 印 ○)build_deck.py --schema agenda
agenda · item.name name:〔必填〕項目名(名詞短語);≤8 字、1 行build_deck.py --schema agenda
agenda · item.sub sub:〔選用〕一句預告;≤12 字、1 行build_deck.py --schema agenda
divider 版型## pNN divider <標籤>章節隔頁:章號放進紅「章」+章名+章旨(章節頁籤自動取 dt 當頁籤名)build_deck.py --schema divider
divider · numnum:〔必填〕章節號(01、02…)build_deck.py --schema divider
divider · dtdt:〔必填〕章名;≤8 字、1 行build_deck.py --schema divider
divider · dxdx:〔選用〕本章要回答的問題;≤24 字、1 行build_deck.py --schema divider
blank 版型## pNN blank <標籤>內容頁:html 圍欄用元件包類名排版(元件與容量:ref.py doc components)build_deck.py --schema blank
blank · kickerkicker:〔選用〕章節眉標(可省略);≤10 字、一行,格式「NN · 章名」(如「02 · 內容元件」)build_deck.py --schema blank
blank · titletitle:〔建議必填〕頁標題:三秒層,讀者翻到這頁三秒內看到的判斷;缺了 build 出 △;≤26 字=一行(判斷句建議 12–22 字、框架名 <12 字;整副只用一種句式);「內文字級: 14」時 ≥23 字出 △build_deck.py --schema blank
blank · blufbluf:〔建議必填〕結論列「文字」或「前置章|文字」;請示/行動/決議自動轉紅;缺了 build 出 △;目標 3 行 88–175 字(每行約 64 字、硬上限 190);寫「結論+所以呢+下一步」,不複述標題;# deck 的「結論行數: N」等比縮放build_deck.py --schema blank
blank · srcsrc:〔選用〕來源註(引用數據必填);一行 ≤40 字,「資料來源:⋯|註:⋯」;出處頁碼、卷期改掛 [tip=…]build_deck.py --schema blank
blank · htmlhtml:〔選用〕原始 HTML 圍欄:用元件包類名組裝;內容區 12pt、來源註 10pt 是字級下限,裝不下砍字、不縮字級;內容區 12pt 約 17–19 行單位(1 行單位=一行內文含行距)、全寬一行約 71 字;結論列每多一行,內容少約 1.2 行單位;元件的行單位成本:python3 scripts/ref.py doc components 各元件的行單位成本build_deck.py --schema blank
blank · notenote:〔選用〕講者備註(選用):講稿、預期問答,只在簡報態的講者視窗(S)顯示;永不上投影片、永不列印,--ship 交付版預設剝除(# deck「講者備註: 交付」才保留)build_deck.py --schema blank
closing 版型## pNN closing <標籤>深色封底:收束金句(明體)build_deck.py --schema closing
closing · qq:〔必填〕金句(須附證據,證據放 sub;[hl]…[/hl] 反白);≤32 字(一行 16 字、≤2 行);超過 16 字排成兩行時瀏覽器把字數平分、斷點不看語意:在語意邊界寫 [br](如「先補齊標準,[br]再談擴點」)build_deck.py --schema closing
closing · subsub:〔選用〕補充一行:下一步/窗口/佐證數字;≤32 字、1 行build_deck.py --schema closing
頁層設定 scrollscroll: 1設 1=內容偏密時 .inner 加捲動;止血用:紙本捲不動,交付前回 S1 砍字build_deck.py --schema blank

行內標記10 條

槽位文字裡能用的行內標記(html 圍欄裡改寫 HTML)

名稱類名/鍵/指令做什麼出處
粗體**粗體**粗體:轉成 <b>build_deck.py 檔頭「行內標記」
k[k]紅[/k]紅:轉成 <span>(.k)build_deck.py 檔頭「行內標記」
kb[kb]藍[/kb]藍:轉成 <span>(.kb)build_deck.py 檔頭「行內標記」
mark[mark]淡底[/mark]淡底:轉成 <span>(.mark)build_deck.py 檔頭「行內標記」
mute[mute]弱化[/mute]弱化:轉成 <span>(.mute)build_deck.py 檔頭「行內標記」
hl[hl]封底金句強調[/hl]封底金句強調:轉成 <span>(.hl)build_deck.py 檔頭「行內標記」
br[br]換行:轉成 <br>build_deck.py 檔頭「行內標記」
tip[tip=白話]名詞[/tip]名詞:轉成 <span>(.tip)build_deck.py 檔頭「行內標記」
a[a=網址]連結文字[/a]連結文字:轉成 <a>(.xl)build_deck.py 檔頭「行內標記」
ev[ev=鍵或選擇器]結論片語[/ev]結論片語(滑過時框出本頁的證據;鍵=html:轉成 <span>(.ev)build_deck.py 檔頭「行內標記」

元件類名142 條

規格文件寫到、引擎樣式裡找得到的類名(找不到的不收;components.md 為主,引擎內部的在 MAINTAINING.md)

名稱類名/鍵/指令做什麼出處
字階.innerpt 以列印母片換算(框高 19.04cm,.inner 1em=14pt,與 PowerPoint 同尺度)。components.md「字階」
字階.hero焦點數字 .hero .v:48pt:.big 77pt;components.md「字階」
字階.v焦點數字 .hero .v:48pt:.big 77pt;components.md「字階」
字階.big焦點數字 .hero .v:48pt:.big 77pt;components.md「字階」
字階.cell.kpi指標磚 .cell.kpi 24ptcomponents.md「字階」
字階.lv-k關鍵句 .lv-k:20pt:比卡片關鍵句 .ck 大一級,一段裡最先被讀到components.md「字階」
字階.ck關鍵句 .lv-k:20pt:比卡片關鍵句 .ck 大一級,一段裡最先被讀到components.md「字階」
字階.tpt 以列印母片換算(框高 19.04cm,.inner 1em=14pt,與 PowerPoint 同尺度)。components.md「字階」
字階.ch小重點:16pt:區段標題 .sh .t、卡名 .ch .t、卡關鍵句 .ck、區塊標題 .blk-h、格標 .cell b、節點標題 .ti b/.st b⋯components.md「字階」
字階.blk-h小重點:16pt:區段標題 .sh .t、卡名 .ch .t、卡關鍵句 .ck、區塊標題 .blk-h、格標 .cell b、節點標題 .ti b/.st b⋯components.md「字階」
字階.cell指標磚 .cell.kpi 24ptcomponents.md「字階」
字階.ti頁標題 h2.title:28pt:一行約 30 字;components.md「字階」
字階.st小重點:16pt:區段標題 .sh .t、卡名 .ch .t、卡關鍵句 .ck、區塊標題 .blk-h、格標 .cell b、節點標題 .ti b/.st b⋯components.md「字階」
字階.fs小重點:16pt:區段標題 .sh .t、卡名 .ch .t、卡關鍵句 .ck、區塊標題 .blk-h、格標 .cell b、節點標題 .ti b/.st b⋯components.md「字階」
字階.bluf結論列 .bluf、眉標:14pt:.inner 基準字;components.md「字階」
字階.canvas內文與表格(.canvas 內):12pt:內容區下限;components.md「字階」
字階.srcline資料來源 .srcline、元件英文小標、膠囊:10pt:全片絕對下限components.md「字階」
字階.stmt結構頁大字(不隨內容區縮):49/43/34/32:封面主標/章名/定調句 .stmt/封底金句components.md「字階」
容量模型.lad.solid個別元件要實心或有框的外觀寫 .lad.solid、.tb.solid、.g2/.g3/.g4.solid(沒有整副切換外觀的開關)。components.md「容量模型」
容量模型.tb.solid個別元件要實心或有框的外觀寫 .lad.solid、.tb.solid、.g2/.g3/.g4.solid(沒有整副切換外觀的開關)。components.md「容量模型」
容量模型.g2個別元件要實心或有框的外觀寫 .lad.solid、.tb.solid、.g2/.g3/.g4.solid(沒有整副切換外觀的開關)。components.md「容量模型」
容量模型.g3個別元件要實心或有框的外觀寫 .lad.solid、.tb.solid、.g2/.g3/.g4.solid(沒有整副切換外觀的開關)。components.md「容量模型」
容量模型.g4.solid個別元件要實心或有框的外觀寫 .lad.solid、.tb.solid、.g2/.g3/.g4.solid(沒有整副切換外觀的開關)。components.md「容量模型」
各元件的行單位成本.solid網格內的元件分開放欄與 .solid 兩種,未實量的標估算)components.md「容量模型」
各元件的行單位成本.card.card 卡頭+關鍵句:3.4 開放欄/4.3 .solid:.ch+.ck(兩者 16pt);components.md「容量模型」
各元件的行單位成本.kv.kv li(1 行):1.3:2 行=2.3components.md「容量模型」
各元件的行單位成本.lr.lr(1 行):1.6:2 行=2.6;components.md「容量模型」
各元件的行單位成本.cr.cr 檢核列:1.5:三欄各一句components.md「容量模型」
各元件的行單位成本.note.note:1.7/行:含上方虛線與間距components.md「容量模型」
各元件的行單位成本.tb.tb 表格列:1.45/列:表頭另計約 1.3components.md「容量模型」
各元件的行單位成本.tl.h.tl.h 橫向時間軸:2.5–4.8:整條=最高節點:日期+標題 ≈2.5,+兩行說明 ≈4.8;components.md「容量模型」
各元件的行單位成本.flow.flow 橫向流程:2.9–3.8:整條=最高格:眉標+標題 ≈2.9(估算),+一句 ≈3.8components.md「容量模型」
各元件的行單位成本.cf.cf 卡尾:1.6(估算):一行+上方髮絲線與間距components.md「容量模型」
各元件的行單位成本.lad.c2.lad.c2(1 列=兩組):1.6:兩組短句並排成一列,高度約為單欄的一半components.md「容量模型」
各元件的行單位成本tr.grptr.grp 群組列:1.3(估算):小號藍字+上方留白components.md「容量模型」
骨架.seg.canvas 直排,各 .seg 依內容的自然高度由上而下排、本身不撐高;components.md「元件總表(類名+最小 DOM)」
網格.g4網格:.g2 / .g3 / .g4(等分並排)。components.md「元件總表(類名+最小 DOM)」
網格.hot.hot/.warn/.ok 在開放欄只留字色(卡的關鍵句、格的格標、.ch .n 號圈),不留底色塊——開放欄裡一塊淡底像沒拆乾淨的卡。components.md「元件總表(類名+最小 DOM)」
網格.warn.hot/.warn/.ok 在開放欄只留字色(卡的關鍵句、格的格標、.ch .n 號圈),不留底色塊——開放欄裡一塊淡底像沒拆乾淨的卡。components.md「元件總表(類名+最小 DOM)」
網格.ok.hot/.warn/.ok 在開放欄只留字色(卡的關鍵句、格的格標、.ch .n 號圈),不留底色塊——開放欄裡一塊淡底像沒拆乾淨的卡。components.md「元件總表(類名+最小 DOM)」
網格.n.hot/.warn/.ok 在開放欄只留字色(卡的關鍵句、格的格標、.ch .n 號圈),不留底色塊——開放欄裡一塊淡底像沒拆乾淨的卡。components.md「元件總表(類名+最小 DOM)」
網格.sync- 有框的卡寫 .g2/.g3/.g4.solid:卡與卡要逐項比較(主卡的同位列,常配 .sync)、components.md「元件總表(類名+最小 DOM)」
網格.fill- .fill(撐滿到區段底):開放欄與含圖表的格撐滿(撐長的只是欄間髮絲線;components.md「元件總表(類名+最小 DOM)」
主卡.en.n 編號與 .en 英文可省——中文 deck 預設不加 .en:英文小標只在它本身就是資訊時才寫(專有名詞、components.md「元件總表(類名+最小 DOM)」
同位對齊.g4.sync同位對齊 .g2/.g3/.g4.sync+卡尾 .cf:並排卡的卡頭、關鍵句、列點、卡尾跨卡同高(subgrid)。components.md「元件總表(類名+最小 DOM)」
同位對齊div.ck每張卡依序放 .ch、.ck、.kv、(可省).cf;components.md「元件總表(類名+最小 DOM)」
小格卡.kpi指標磚(格標就是數字時加 .kpi:數字 24pt mono、單位 .u 縮小;components.md「元件總表(類名+最小 DOM)」
小格卡.ub 可掛 data-count="999" 讓數字滾動)components.md「元件總表(類名+最小 DOM)」
小格卡.dlt滾完才淡入的差額膠囊寫 .dlt(.up 紅漲、.dn 綠跌),寫法見 present.md「數字從基準值滾動」。components.md「元件總表(類名+最小 DOM)」
小格卡.up滾完才淡入的差額膠囊寫 .dlt(.up 紅漲、.dn 綠跌),寫法見 present.md「數字從基準值滾動」。components.md「元件總表(類名+最小 DOM)」
小格卡.dn滾完才淡入的差額膠囊寫 .dlt(.up 紅漲、.dn 綠跌),寫法見 present.md「數字從基準值滾動」。components.md「元件總表(類名+最小 DOM)」
對照列.lr.ok例外:方案比較頁以 .lr.ok=優、.lr.warn=缺標出各案優缺,那是語意標記、不是重點列,不受「一組一列」限制components.md「元件總表(類名+最小 DOM)」
對照列.lr.warn例外:方案比較頁以 .lr.ok=優、.lr.warn=缺標出各案優缺,那是語意標記、不是重點列,不受「一組一列」限制components.md「元件總表(類名+最小 DOM)」
時間軸div.tl.h4–6 個短節點用 .tl.h 橫排,節點說明兩行以上或放側欄才直排,design.md「16:9 是橫幅:序列橫排,兩軸才用矩陣」)components.md「元件總表(類名+最小 DOM)」
序號步驟div.g2四步以上、每步一句時拆兩欄 <div class="g2"><div class="steps">1–2</div><div class="steps">3–⋯components.md「元件總表(類名+最小 DOM)」
表格.rl列間髮絲線、不鋪底、不畫直線,首欄 .rl 墨色粗體靠左、頂對齊。components.md「元件總表(類名+最小 DOM)」
表格.fit表格的推薦寫法:<table class="tb fit lite">components.md「元件總表(類名+最小 DOM)」
表格.lite表格的推薦寫法:<table class="tb fit lite">components.md「元件總表(類名+最小 DOM)」
表格.f表格的推薦寫法:<table class="tb fit lite">components.md「元件總表(類名+最小 DOM)」
表格ul.kv表格旁的說明直接放一列 ul.kv,外包components.md「元件總表(類名+最小 DOM)」
表格table.tb.solidcomponents.md「元件總表(類名+最小 DOM)」
表格table.tb.fit.litecomponents.md「元件總表(類名+最小 DOM)」
表格tr.hotth/td 加 .n 右齊(數字用西文字型在前的堆疊,Mac 上才對得齊),唯一重點列 <tr class="hot">。components.md「元件總表(類名+最小 DOM)」
表格tr.sum淡底+表頭品牌色線)、<tr class="sum"> 小計/合計(粗體+上方墨線)、<tr class="sub"> 子項(首格縮排、不粗體)、components.md「元件總表(類名+最小 DOM)」
表格tr.sub淡底+表頭品牌色線)、<tr class="sum"> 小計/合計(粗體+上方墨線)、<tr class="sub"> 子項(首格縮排、不粗體)、components.md「元件總表(類名+最小 DOM)」
表格span.t寫 <table class="tb solid">。components.md「元件總表(類名+最小 DOM)」
表格div.split.fitcomponents.md「元件總表(類名+最小 DOM)」
表格table.tb寫 <table class="tb solid">。components.md「元件總表(類名+最小 DOM)」
表格th.rl列間髮絲線、不鋪底、不畫直線,首欄 .rl 墨色粗體靠左、頂對齊。components.md「元件總表(類名+最小 DOM)」
表格div.tblwrap寬表外包 <div class="tblwrap">:桌面不捲、debug 檢查視為可捲區;components.md「元件總表(類名+最小 DOM)」
文級.jumpsrc 的「|註:」格式不受影響)、.jump 頁內跳轉膠囊(列印自動隱藏;components.md「元件總表(類名+最小 DOM)」
文級.note.xref主文↔附錄的膠囊字寫「附錄:頁名」「回主文:頁名」,revision-playbook.md「主文與附錄雙向互連」)、.note.xref 回程膠囊列components.md「元件總表(類名+最小 DOM)」
文級.eh.eh 中英標籤行、.xl 內文連結([a=] 標記在槽位裡自動產生同款)。components.md「元件總表(類名+最小 DOM)」
文級.xl.eh 中英標籤行、.xl 內文連結([a=] 標記在槽位裡自動產生同款)。components.md「元件總表(類名+最小 DOM)」
文級.tip.s.tip.s 淡樣式 tooltip <span class="tip s" tabindex="0" data-tip="…">(出處頁碼、案號:字色跟上下⋯components.md「元件總表(類名+最小 DOM)」
文級.lgd圖例:.lgd 列+.sw 色塊由引擎提供(色義類 g/n/b/a/r、自動色票 p1–p6),components.md「元件總表(類名+最小 DOM)」
文級.sw圖例:.lgd 列+.sw 色塊由引擎提供(色義類 g/n/b/a/r、自動色票 p1–p6),components.md「元件總表(類名+最小 DOM)」
文級span.tip.s.tip.s 淡樣式 tooltip <span class="tip s" tabindex="0" data-tip="…">(出處頁碼、案號:字色跟上下⋯components.md「元件總表(類名+最小 DOM)」
文級div.xhb-ec圖表:blank 內放 <div class="xhb-ec">+script.echarts-opt;components.md「元件總表(類名+最小 DOM)」
四級層級.lv-b一段裡最先被讀到)≈2.1、兩行 ≈3.5、.lv-b 內文 12pt 1.0/行、.lv-n 註解(上方虛線)≈1.6。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
四級層級.lv-n一段裡最先被讀到)≈2.1、兩行 ≈3.5、.lv-b 內文 12pt 1.0/行、.lv-n 註解(上方虛線)≈1.6。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
inline 強調.kinline 強調(皆官方色):.k 紅關鍵字、.kb 藍關鍵字、.mark 淡紅底螢光、.mute 弱化。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
inline 強調.kbinline 強調(皆官方色):.k 紅關鍵字、.kb 藍關鍵字、.mark 淡紅底螢光、.mute 弱化。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
inline 強調.markinline 強調(皆官方色):.k 紅關鍵字、.kb 藍關鍵字、.mark 淡紅底螢光、.mute 弱化。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
inline 強調.muteinline 強調(皆官方色):.k 紅關鍵字、.kb 藍關鍵字、.mark 淡紅底螢光、.mute 弱化。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
icon 清單.ilisticon 清單 .ilist+.ic(圖示格;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
icon 清單.icicon 清單 .ilist+.ic(圖示格;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
icon 清單.ic.b.ic.b 藍款)+.kw 前置詞+.rev 補述,≈1.6/列。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
icon 清單.kw.ic.b 藍款)+.kw 前置詞+.rev 補述,≈1.6/列。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
icon 清單.rev.ic.b 藍款)+.kw 前置詞+.rev 補述,≈1.6/列。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
段落.split.rev段落要窄,是因為同一列還有圖或表:左文右圖寫 .split.rev、components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
段落.split段落要窄,是因為同一列還有圖或表:左文右圖寫 .split.rev、components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
段落.split.even左主右副 .split、圖文各半 .split.even、兩段並排 .g2,寬度由版面決定。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
主從版面.split.fit.split.even(1fr/1fr,圖文各半)、.split.fit(左欄跟內容寬、右欄放列點)+.hero 焦點大數字(≈5 行單位)+.side .s⋯components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
主從版面.side.split.even(1fr/1fr,圖文各半)、.split.fit(左欄跟內容寬、右欄放列點)+.hero 焦點大數字(≈5 行單位)+.side .s⋯components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
主從版面.s主從版面 .split(1.5fr/.9fr 網格,左主右副);components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
主從版面.serif.hero .v、.cell b、.side .s .n 可加 .serif 轉明體大數字(引擎自帶 -0.02em 收字距);components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
收合.acc收合 details+summary(外包 .acc):列印照開檔狀態(寫 open 的才印開;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
tooltip.tiptooltip .tip(data-tip):桌面=body 層浮層(不受框裁切、貼邊自動翻位)、components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
頁內頁籤.tabbar頁內頁籤 [data-tabs]+.tabbar/.tabpane:列印只印開檔那一片(寫 class="tabpane on" 的那片;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
頁內頁籤.tabpane頁內頁籤 [data-tabs]+.tabbar/.tabpane:列印只印開檔那一片(寫 class="tabpane on" 的那片;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
頁內頁籤.lad- 每片同一版型:開頭一行 .blk-h 寫該類的判斷句,其下 .lad 明細,必要時一排格;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
一鍵複製.copy一鍵複製 .copy(data-copy 或 data-copy-for)。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
圖例用色塊,不用文字色名.sw.p1沒自帶 color 的圖用 .sw.p1–.p6 對引擎自動色票(藍→紅→藍淡→紅淡→灰→淺藍灰)。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
圖例用色塊,不用文字色名.p6沒自帶 color 的圖用 .sw.p1–.p6 對引擎自動色票(藍→紅→藍淡→紅淡→灰→淺藍灰)。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
圖例用色塊,不用文字色名div.lgd<div class="lgd"><span><span class="sw n"></span>解除後可執行 29</span>⋯</div>;components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
兩群比較用兩張並列圓餅,不用內⋯.xhb-ec的 .chart2 兩欄(兩個 .xhb-ec 各 12em 最小高度分屬兩個 seg 會相加撐破畫布)。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
滿版組合(實戰驗證過的頁型,直⋯split.fit表格+列點:split.fit:左 tb.fit.lite、右 ul.kv 3–4 列:表 ≤6 列(每列 1.5);components.md「滿版組合(實戰驗證過的頁型,直接抄)」
滿版組合(實戰驗證過的頁型,直⋯tb.fit.lite表格+列點:split.fit:左 tb.fit.lite、右 ul.kv 3–4 列:表 ≤6 列(每列 1.5);components.md「滿版組合(實戰驗證過的頁型,直接抄)」
作者要寫的互動(總覽)button.drill就地展開 button.drill[popovertarget]+[popover]:被追問時當場攤開拆解:本檔「就地展開」present.md「作者要寫的互動(總覽)」
作者要寫的互動(總覽).state狀態切換 [data-switch]+.state[data-name]:同一組數字換一種看法(金額/占比、表/圖、各時距):本檔「狀態切換」present.md「作者要寫的互動(總覽)」
兩態契約.stepmark畫面:步驟全亮、沒有聚焦與釘住:步驟與聚焦類屬性(data-step、data-walk、data-focus、.stepmark 的逐段)不作用;present.md「兩態契約」
逐步揭示 data-step.stepmark.ul.stepmark.ul 底線、.stepmark.dot 著重號(橫行標在字下)。present.md「簡報態才作用的寫法」
逐步揭示 data-step.stepmark.dot.stepmark.ul 底線、.stepmark.dot 著重號(橫行標在字下)。present.md「簡報態才作用的寫法」
逐步揭示 data-step.steps逐列聚焦 data-walk/data-focus:data-walk 掛在容器上(tbody、.lad、.g3、.kv、.steps⋯),子元素從第 N 步起present.md「簡報態才作用的寫法」
數字從基準值滾動 data-f⋯.dlt.up.dlt.up 紅漲、.dlt.dn 綠跌(語意第三色);present.md「閱讀態也作用的互動」
數字從基準值滾動 data-f⋯.dlt.dn.dlt.up 紅漲、.dlt.dn 綠跌(語意第三色);present.md「閱讀態也作用的互動」
聯動.tb.heat熱力表 .tb.heat 與符號矩陣 .tb.sym 不做(格的底色與燈號就是資料)。present.md「閱讀態也作用的互動」
聯動.tb.sym熱力表 .tb.heat 與符號矩陣 .tb.sym 不做(格的底色與燈號就是資料)。present.md「閱讀態也作用的互動」
聯動span.ev- 結論↔證據:結論列或內文寫 [ev=鍵]結論片語[/ev](圍欄內寫 <span class="ev" data-ev="鍵">),滑過時本頁 data-kpresent.md「閱讀態也作用的互動」
列印印什麼.tblwrap- scroll: 1 的頁與 .tblwrap 寬表:紙本捲不動,裝不下就被裁掉;present.md「列印印什麼」
點.divider章節頁放大成 2.6em 的紅「章」,裡面是章號(.divider .num)。brand.md「筆畫母題:點・橫折・圓」
點.num章節頁放大成 2.6em 的紅「章」,裡面是章號(.divider .num)。brand.md「筆畫母題:點・橫折・圓」
橫折(內容頁標題列).head2. 橫折(內容頁標題列):.head 之上一橫(2.6em × M),左端折下一豎托住眉標與標題、長度隨標題行數;brand.md「筆畫母題:點・橫折・圓」
橫(結構頁).tt3. 橫(結構頁):章節頁與封底在標題之上寫一橫,長度=標題寬的 5/8(.tt 包住橫與標題);brand.md「筆畫母題:點・橫折・圓」
橫(結構頁).cline封底的橫(.cline)右端上方同樣一點。brand.md「筆畫母題:點・橫折・圓」
封面.crule標題下置中的細紅線(.crule)沿用。brand.md「筆畫母題:點・橫折・圓」
主角要大一個量級,而且只有一個。.hero.big焦點數字至少是內文的 2 倍:.cell.kpi 24pt、.hero 48pt、hero 分到半頁以上高度時 .hero.big 77pt。design.md「簡報的精神:留下來的九件事」
非線性導覽。.x(掛 .sh .x,無處可掛用 .note.xref);design.md「HTML 的優勢:拿來用的八件事」
版面檢核(S3 讀 △ 時).center(例如刻意的大留白主張頁不用 .center),在 storyline 記一句理由即可,不必為了消 △ 硬塞內容。design.md「版面檢核(S3 讀 △ 時)」
16:9 框架section.slide垂直 scroll-snap,一個 <section class="slide"> 一張。MAINTAINING.md「引擎內部規格」
字級實作.scrollscroll: 1 加 .scroll。MAINTAINING.md「引擎內部規格」
彈性字級與垂直節奏的求解console.warn求解失敗 console.warn。MAINTAINING.md「引擎內部規格」
列印實作.slide列印實作:列印時 .slide/.frame 寫死 33.87cm × 19.04cm(高度留 0.1mm 捨入,免得多吐空白頁)、取消圓角陰影與MAINTAINING.md「引擎內部規格」
列印實作.frame列印實作:列印時 .slide/.frame 寫死 33.87cm × 19.04cm(高度留 0.1mm 捨入,免得多吐空白頁)、取消圓角陰影與MAINTAINING.md「引擎內部規格」
列印實作body.has-chapbaraspect-ratio,.frame 與特異性較高的 body.has-chapbar .frame 一起覆寫;MAINTAINING.md「引擎內部規格」
引擎自動做的事.chap-map- 章節地圖 .chap-map(≥2 張 divider,本章點亮、可點擊、列印照印);MAINTAINING.md「引擎內部規格」
引擎自動做的事.tip-float.tip-float 掛在 body 不受影響。MAINTAINING.md「引擎內部規格」
審回灌時優先看的片段.tb.tb.tb- 欄組表頭 tr.cg:片段用 .tb.tb.tb 把特異性提到 (0,4,2) 才蓋得過表頭墨線;MAINTAINING.md「回灌審查」
明體子集內嵌.quote明體子集內嵌:build 掃出明體語境(.k/em/.stmt/.quote/.serif,以及 custom-css 裡用 --font-serif 的類名⋯MAINTAINING.md「交付與產出標記內部」
明體子集內嵌.foot頁尾英文標語(.foot .tag .en,細字+italic)刻意不吃 --font-serif,避免合成假斜體。MAINTAINING.md「交付與產出標記內部」
明體子集內嵌.tag頁尾英文標語(.foot .tag .en,細字+italic)刻意不吃 --font-serif,避免合成假斜體。MAINTAINING.md「交付與產出標記內部」

語意變體6 條

元件的 .hot(紅強調)/.warn(琥珀)/.ok(綠)組合:引擎樣式裡有定義的才收(一組只標一個)

名稱類名/鍵/指令做什麼出處
.card 的變體.card.hot .card.warn .card.ok紅強調、琥珀注意、綠達成template.html(引擎樣式)
.cell 的變體.cell.hot .cell.warn .cell.ok紅強調、琥珀注意、綠達成template.html(引擎樣式)
.fs 的變體.fs.hot紅強調template.html(引擎樣式)
.lr 的變體.lr.hot .lr.warn .lr.ok紅強調、琥珀注意、綠達成template.html(引擎樣式)
.st 的變體.st.hot紅強調template.html(引擎樣式)
.ti 的變體.ti.hot紅強調template.html(引擎樣式)

屬性19 條

寫在 html 圍欄元素上的 data- 屬性(規格文件寫到、引擎程式或樣式裡找得到的)

名稱類名/鍵/指令做什麼出處
data-countdata-countb 可掛 data-count="999" 讓數字滾動)components.md「元件總表(類名+最小 DOM)」
data-fromdata-from要從去年值(基準值)滾到今年值,另寫 data-from="1203400";components.md「元件總表(類名+最小 DOM)」
data-decdata-dec整數與小數都帶千分位),要指定位數寫 data-dec="2";components.md「元件總表(類名+最小 DOM)」
data-tipdata-tip.tip.s 淡樣式 tooltip <span class="tip s" tabindex="0" data-tip="…">(出處頁碼、案號:字色跟上下⋯components.md「元件總表(類名+最小 DOM)」
data-tabsdata-tabs頁內頁籤 [data-tabs]+.tabbar/.tabpane:列印只印開檔那一片(寫 class="tabpane on" 的那片;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
data-switchdata-switch狀態切換 [data-switch]+.state[data-name]:同一組數字換一種看法(金額/占比、表/圖、各時距):本檔「狀態切換」present.md「作者要寫的互動(總覽)」
data-namedata-name狀態切換 [data-switch]+.state[data-name]:同一組數字換一種看法(金額/占比、表/圖、各時距):本檔「狀態切換」present.md「作者要寫的互動(總覽)」
data-kdata-k結論↔證據 [ev=鍵]…[/ev]、表圖聯動 data-k、同詞 data-hl(精準指標螢幕):「這個結論從哪裡看出來」一滑就框出證據:本檔「聯動」present.md「作者要寫的互動(總覽)」
data-hldata-hl結論↔證據 [ev=鍵]…[/ev]、表圖聯動 data-k、同詞 data-hl(精準指標螢幕):「這個結論從哪裡看出來」一滑就框出證據:本檔「聯動」present.md「作者要寫的互動(總覽)」
data-mddata-mddeck 自訂的元件,元素加 data-md="…"(空字串=略過),present.md「作者要寫的互動(總覽)」
data-stepdata-step畫面:步驟全亮、沒有聚焦與釘住:步驟與聚焦類屬性(data-step、data-walk、data-focus、.stepmark 的逐段)不作用;present.md「兩態契約」
data-walkdata-walk畫面:步驟全亮、沒有聚焦與釘住:步驟與聚焦類屬性(data-step、data-walk、data-focus、.stepmark 的逐段)不作用;present.md「兩態契約」
data-focusdata-focus畫面:步驟全亮、沒有聚焦與釘住:步驟與聚焦類屬性(data-step、data-walk、data-focus、.stepmark 的逐段)不作用;present.md「兩態契約」
data-refdata-ref編號自動 A1、A2⋯,要固定就在浮層寫 data-ref。present.md「閱讀態也作用的互動」
data-printdata-print列印:沒寫 data-print=開檔畫面,只印開檔那一態(data-default 那一態,沒寫就是主態),分段鈕照印、亮開檔那一顆;present.md「閱讀態也作用的互動」
data-defaultdata-default列印:沒寫 data-print=開檔畫面,只印開檔那一態(data-default 那一態,沒寫就是主態),分段鈕照印、亮開檔那一顆;present.md「閱讀態也作用的互動」
data-primarydata-primary主態=第一態或掛 data-primary,開頁顯示哪一態掛 data-default。present.md「閱讀態也作用的互動」
data-evdata-ev- 結論↔證據:結論列或內文寫 [ev=鍵]結論片語[/ev](圍欄內寫 <span class="ev" data-ev="鍵">),滑過時本頁 data-kpresent.md「閱讀態也作用的互動」
data-linkdata-link圖表加 data-link,present.md「閱讀態也作用的互動」

引擎函式7 條

# custom-js 可以呼叫或監聽的引擎函式與事件(規格文件寫到、引擎程式裡找得到的)

名稱類名/鍵/指令做什麼出處
deckMdRuledeckMdRule或在 # custom-js 呼叫 deckMdRule('選擇器', (el, h) => 字串)(h.txt/h.flat/h.table/h.line);present.md「作者要寫的互動(總覽)」
deckExportMarkdowndeckExportMarkdown主控台 deckExportMarkdown() 取字串。present.md「作者要寫的互動(總覽)」
deckSettledeckSettle圖表翻到才初始化、量測與列印前 deckSettle() 補成終態。MAINTAINING.md「引擎內部規格」
deckInitChartsdeckInitCharts容器與載入方式見 components.md(.xhb-ec+script.echarts-opt,# custom-js 呼叫 deckInitCharts⋯snippets.md「ECharts option 範例(寫在 blank 的 `.xhb-ec` 容器,由引擎載入與畫圖)」
deck:chartdeck:chart在該 .xhb-ec 上發 deck:chart(冒泡到 document),e.detail.chart=ECharts 實例、e.detail.el=容器⋯snippets.md「圖表共通規則(先讀再抄)」
deckChartsdeckCharts互動集 off、小螢幕,以及 # custom-js 的程式用到 window.deckCharts(走訪引擎的圖表陣列)的 deck,維持「載入即畫」;snippets.md「圖表共通規則(先讀再抄)」
deckChartOptdeckChartOptdeckChartOpt(el) 當底:它是引擎實際套用的 option(補過色票與表圖聯動樣式),用 JSON 原文會把這些洗掉。snippets.md「圖表共通規則(先讀再抄)」

色彩與字型 token36 條

引擎 :root 的 CSS 變數(官方色、語意色、紙面與墨色、字型);自訂樣式只用這些,不寫死色碼

名稱類名/鍵/指令做什麼出處
--brand--brand: #d03238| --brand | #D03238 | 官方紅=行動/強調/招牌筆畫(點、橫、章) |template.html :root;brand.md
--brand-deep--brand-deep: #a82329| --brand-deep | #A82329 | 深一階紅:小字級紅、hover |template.html :root;brand.md
--brand-soft--brand-soft: #e58b8f| --brand-soft / --brand-bg | #E58B8F / #FBE9EA | 紅的淡化 |template.html :root;brand.md
--brand-bg--brand-bg: #fbe9ea| --brand-soft / --brand-bg | #E58B8F / #FBE9EA | 紅的淡化 |template.html :root;brand.md
--brand-rgb--brand-rgb: 208 50 56引擎預設值template.html :root
--blue--blue: #003f98| --blue | #003F98 | 官方藍=結構/輔助/現況 |template.html :root;brand.md
--blue-soft--blue-soft: #3a63ac| --blue-soft / --blue-bg | #3A63AC / #E8EDF7 | 藍的淡化 |template.html :root;brand.md
--blue-bg--blue-bg: #e8edf7| --blue-soft / --blue-bg | #3A63AC / #E8EDF7 | 藍的淡化 |template.html :root;brand.md
--blue-ink--blue-ink: #0a1830引擎預設值template.html :root
--blue-rgb--blue-rgb: 0 63 152引擎預設值template.html :root
--canvas--canvas: #0b1322| --canvas | #0B1322 | 頁面畫布 |template.html :root;brand.md
--paper--paper: #edf0f4| --paper 系 | #EDF0F4… | 卡片紙面 |template.html :root;brand.md
--paper-2--paper-2: #e3e8ef引擎預設值template.html :root
--card--card: #ffffff引擎預設值template.html :root
--card-2--card-2: #f8fafc引擎預設值template.html :root
--ink--ink: #222631引擎預設值template.html :root
--ink-soft--ink-soft: #3f4653內文 --ink-soft;template.html :root;brand.md
--ink-mute--ink-mute: #5c6673弱化只到 --ink-mute。template.html :root;brand.md
--line--line: #dce1ea引擎預設值template.html :root
--line-2--line-2: #cad1dd引擎預設值template.html :root
--line-brand--line-brand: rgb(var(--brand-rgb)/.10)引擎預設值template.html :root
--brand-bd--brand-bd: #f0d2d4引擎預設值template.html :root
--ok--ok: #2e7a57| --ok / --ok-bg | #2E7A57 / #E6F2EA | 達成/正常 |template.html :root;brand.md
--ok-bg--ok-bg: #e6f2ea| --ok / --ok-bg | #2E7A57 / #E6F2EA | 達成/正常 |template.html :root;brand.md
--up--up: #b3282e| --up / --up-bg | #B3282E / #FDECEC | 漲(紅) |template.html :root;brand.md
--up-bg--up-bg: #fdecec| --up / --up-bg | #B3282E / #FDECEC | 漲(紅) |template.html :root;brand.md
--dn--dn: #2e7a57| --dn / --dn-bg | #2E7A57 / #E6F2EA | 跌(綠) |template.html :root;brand.md
--dn-bg--dn-bg: #e6f2ea| --dn / --dn-bg | #2E7A57 / #E6F2EA | 跌(綠) |template.html :root;brand.md
--warn--warn: #8a5a00| --warn / --warn-bg | #8A5A00 / #FDF3E1 | 注意/風險中 |template.html :root;brand.md
--warn-bg--warn-bg: #fdf3e1| --warn / --warn-bg | #8A5A00 / #FDF3E1 | 注意/風險中 |template.html :root;brand.md
--bad--bad: #b3282e| --bad / --bad-bg | #B3282E / #FDECEC | 未達/風險高 |template.html :root;brand.md
--bad-bg--bad-bg: #fdecec| --bad / --bad-bg | #B3282E / #FDECEC | 未達/風險高 |template.html :root;brand.md
--font-display--font-display: "Noto Sans TC","PingFang TC","Microsoft⋯引擎預設值template.html :root
--font-body--font-body: "Noto Sans TC","PingFang TC","Microsoft⋯引擎預設值template.html :root
--font-serif--font-serif: "SPX Serif TC","Noto Serif TC","Songti⋯引擎預設值template.html :root
--font-mono--font-mono: "JetBrains Mono","SF Mono","Consolas","⋯引擎預設值template.html :root

版面片段41 條

snippets.md §一:依功能分十類,貼進 blank 的 html 圍欄、樣式寫 # custom-css(ref.py snippet <名稱>)

名稱類名/鍵/指令做什麼出處
定義框.defn名詞第一次出現、讀者可能不懂時(知識工程、CSM、調整後淨值);snippets.md「定義框」〔文字與說明〕
問答階梯.lad把讀者心裡的問題當頁面骨架:主管 Q&A 準備、立院質詢重點(問→機關答)、FAQ。snippets.md「問答階梯」〔文字與說明〕
方塊標籤.lad定義頁、教學頁、辦法說明:三到五個剛好四個字的面向(適用對象/申請方式/額度上限)。snippets.md「方塊標籤」〔文字與說明〕
條文摘錄.xcpt讓讀者看原文而不是轉述:立院財委會監看(法案條文、附帶決議)、法遵報告(新規定摘錄)、合約條款。snippets.md「條文摘錄」〔文字與說明〕
剪報卡.g2同業動態月報、市場新聞摘要、競品觀察:媒體|日期|標題|一兩句關鍵引句|對我們的意涵。snippets.md「剪報卡」〔文字與說明〕
列帶三段.lad3–6 個並列主張、每個都有一個代表數字(成長率、倍數、名次、金額):解掉「標籤列只寫到半行、右半整條空白」,snippets.md「列帶三段」〔列與表〕
指標矩陣.kmx子公司重要指標、平衡計分卡、月報 KPI 頁:12 個指標不用 12 塊磚,橫看一個構面、直看同一類指標。snippets.md「指標矩陣」〔列與表〕
欄組表頭.tb月報或季報損益的「累計|單季」、預算|實績、預測與修正:兩三組欄並排、每組一個組名,欄不混在一起;snippets.md「欄組表頭」〔列與表〕
直排組名.tb風險清單、議題清單的分類頁:大類名橫排要 9 字寬,直排只要一個字寬,右邊清單照常對齊。snippets.md「直排組名」〔列與表〕
行內長條.tb排名、占比、達成率:表格查精確值,同一格的長條一眼看出大小,不必另畫一張圖。snippets.md「行內長條」〔列與表〕
符號矩陣.tbKPI 月度燈號、專案進度、同業功能盤點、治理涵蓋、董事專長:格內只放符號,一眼看出誰有、誰沒有、哪個月轉紅。snippets.md「符號矩陣」〔列與表〕
熱力表.tb分行×月份、同業×指標、部門×滿意度面向:大表先看哪裡深,再查數字。snippets.md「熱力表」〔列與表〕
大號序號開放欄.g33–5 個有先後或會被引用的重點(建議事項、行動方案、三大能力):大號序號取代卡框與號圈,欄與欄之間只有髮絲線。snippets.md「大號序號開放欄」〔欄與格〕
截圖圖庫.g3系統導入成果、介面改版前後、交付物樣張:畫面本身是證據時,讓讀者看到實物。snippets.md「截圖圖庫」〔欄與格〕
華夫格.waf市佔、滲透率、達成度——「幾成」用面積表達比長條更直覺。snippets.md「華夫格」〔佔比與組成〕
部分與整體.bar100一個整體切成 2–5 塊:客群組成、營收結構、分行分布——「1,234 萬=66.6%+22.3%+11.1%」這一類。snippets.md「部分與整體」〔佔比與組成〕
構成拆解.decomp先看整體怎麼切,再看最大(或本頁要講)的那塊裡面又怎麼切:營收、費用、資產結構;snippets.md「構成拆解」〔佔比與組成〕
子彈圖.bltKPI 達成率、預算執行率——一行同時交代「做到多少/目標在哪/落在好壞哪一段」。snippets.md「子彈圖」〔比較與定位〕
啞鈴與區間.lgd兩群在多個面向上的落點(同業平均 vs 本行、去年 vs 今年、目標 vs 實績),比成對柱省空間;snippets.md「啞鈴與區間」〔比較與定位〕
2×2 四宮格.quad機率×衝擊、優先×難度——兩軸定位。snippets.md「2×2 四宮格」〔比較與定位〕
序軸.axis難度、代價、成熟度、風險這種「一條尺度上的位置」——八種程式產出由易到難、答錯的代價由低到高。snippets.md「序軸」〔比較與定位〕
階梯.stair一級比一級多、一級比一級嚴的級別——交辦寫得多具體、會員門檻、成熟度、產出的壽命。snippets.md「階梯」〔層級與架構〕
金字塔.pyr風險胃口分層、資本配置優先、三道防線。snippets.md「金字塔」〔層級與架構〕
縮排組織樹.tree組織架構、子公司體系、產品線層級。snippets.md「縮排組織樹」〔層級與架構〕
上下式組織圖.org治理架構、專案組織、子公司架構:上層一個節點、下層 2–6 個節點,各節點下方一段說明(職掌、組成、持股)。snippets.md「上下式組織圖」〔層級與架構〕
分層架構.layersAI 平台架構、系統盤點、資料架構、產業鏈:左欄層名共用一條欄寬,右邊每層一排方塊;snippets.md「分層架構」〔層級與架構〕
中心四象限.hub4「四個主軸,各有什麼作為」一頁講完:中央四象限圓只寫主軸名,左右兩側各兩塊文字依序對應左上、右上、左下、右下。snippets.md「中心四象限」〔策略框架〕
環繞輪.wheel多個並列主軸圍繞一個共同目標(中期策略、計畫總覽);snippets.md「環繞輪」〔策略框架〕
屋型策略框架.house策略一頁全貌:屋頂一句願景、中間 3–4 根支柱(主軸,各一句主張+三項作為)、底座一條共用能力。snippets.md「屋型策略框架」〔策略框架〕
文氏與同心圓.venn兩三個集合的交集有內容時(規範涵蓋、客群重疊);snippets.md「文氏與同心圓」〔策略框架〕
封閉循環.cycPDCA、內控循環、客戶生命週期——.flow 橫向流程是線性的,表達不了「回到起點」。snippets.md「封閉循環」〔流程〕
橫向決策.decide拿到一件事依序問 2–3 題、答「是」就停在某個結果——「三問一岔」選技術、上線前問兩題定把關方式。snippets.md「橫向決策」〔流程〕
接龍.chain前一格接後一格、格與格之間有一個數字——大語言模型逐詞接龍(格間是機率)、名單到撥款的轉換鏈snippets.md「接龍」〔流程〕
泳道.swim跨部門流程、作業流程改善、客戶旅程:每列一個單位、每欄一個步驟,方塊落在負責的那一列,看出流程卡在誰、哪一步。snippets.md「泳道」〔流程〕
階段計畫欄.phase專案計畫一頁看完:幾個階段、各多久、做什麼、哪些工作跨階段;snippets.md「階段計畫欄」〔時程〕
甘特.gantt專案時程、年度推動進度:列=工作、欄=月(或週),橫條表示期間、菱形表示里程碑。snippets.md「甘特」〔時程〕
時間軸擴充.tl.tl.h.alt:6–10 個節點、每個兩三行,節點輪流排在軸上下,每個節點可用兩欄寬;snippets.md「時間軸擴充」〔時程〕
時間軸×指標列.tlx同一條日期軸讀兩三個累計指標(政策成效追蹤、專案成果累計、KPI 里程碑),每個值對齊時點;snippets.md「時間軸×指標列」〔時程〕
狀態記號.lp任何要標狀態的地方:表格燈號(符號矩陣)、架構方塊(分層架構)、列點或標籤前。snippets.md「狀態記號」〔行內小標記〕
鍵連標號.kn條文摘錄、泳道卡關處、表格焦點格旁的註號:一個紅底小號碼,旁邊或頁底用同一個號碼寫說明。snippets.md「鍵連標號」〔行內小標記〕
頁面狀態章.sh一頁的內容還不是定稿、只是示意或附錄備查時,在區段標題右註(.sh .x)掛一個灰框小章。snippets.md「頁面狀態章」〔行內小標記〕

互動片段4 條

snippets.md §三:deck 自帶的互動(ref.py snippet <名稱>)

名稱類名/鍵/指令做什麼出處
色塊圖例+並列雙圓餅.cwrap銀行/證券、本期/上期這類兩群同構比較。snippets.md「色塊圖例+並列雙圓餅」
案件清單浮層data-cases任何「這個數字是哪幾件」會被追問的計數頁。snippets.md「案件清單浮層」
圖表放大檢視.ec-zoom一頁兩張以上的圖、或刻意壓小的圖。snippets.md「圖表放大檢視」
核示勾選框.ckopt現場核示、需要當場勾選的議題頁。snippets.md「核示勾選框」

圖表範例39 條

snippets.md §二:ECharts option 範例(ref.py chart <名稱>)

名稱類名/鍵/指令做什麼出處
圖表共通規則圖表共通規則(先讀再抄)snippets.md「圖表共通規則」
ecFit:共用 # custom-jsecFit:共用 # custom-js(圖表 px 值跟著投影片等比)snippets.md「ecFit」
線尾直接標籤ec-endlabel2–4 條線比趨勢,線尾寫「名稱+末值」,讀者不必來回對圖例。snippets.md「ec-endlabel」
圖下對齊數據列ec-datarow規模柱+1–3 列比率(季增率、利差、占比),數字與柱逐一對齊,讀者不必讀軸估值。snippets.md「ec-datarow」
上下分層共用 X 軸ec-twotier金額+比率(利息淨收益+淨利差、逾放比+覆蓋率),取代雙 y 軸:兩個量綱各有刻度、時間仍對齊。snippets.md「ec-twotier」
小倍數ec-multiples多家子公司、多個產品同一指標比形狀;snippets.md「ec-multiples」
年度|同期分組圖ec-fyhalf半年報、季報:全年走勢與今年同期放同一張,又不會被讀成連續時間。snippets.md「ec-fyhalf」
柱間成長率括號ec-bracket同期、季比較:成長率寫在「比較的兩根柱之間」,讀者知道誰比誰。snippets.md「ec-bracket」
多年複合成長括號ec-cagr3 年以上的年複合成長率,括號跨首末兩根。snippets.md「ec-cagr」
柱間增幅膠囊ec-pillbar逐期增幅,膠囊放在相鄰兩根柱之間(寫的是右邊那根比左邊)。snippets.md「ec-pillbar」
線尾增幅膠囊ec-pill趨勢線講「每年成長多少」。snippets.md「ec-pill」
轉折點與事件注記ec-turn峰谷、政策事件、制度改變點,一張 ≤4 個。snippets.md「ec-turn」
圖上局部說明框ec-callout標「這一點、這一段」的局部事實(改口徑、異常值原因),一張圖只放一個。snippets.md「ec-callout」
時期色帶+預測虛線ec-era長期趨勢標時期(寬鬆、升息;舊制、新制)、實績接預測。snippets.md「ec-era」
預測區間扇形ec-fan利率、成長率展望、壓力情境:預測不是一個點。snippets.md「ec-fan」
目標區間帶ec-band資本適足率、成本收入比這類有法定或目標區間的指標。snippets.md「ec-band」
目標柱虛線框ec-targetbar目標值和實績並排(「20X8 要降到 45」)。snippets.md「ec-targetbar」
瀑布最小骨架ec-waterfall損益橋、資本適足變動。snippets.md「ec-waterfall」
瀑布延伸:小計、正負號、編號ec-bridge中間要交代一次小計的損益橋、費用變動。snippets.md「ec-bridge」
對照瀑布ec-bridge2本期與去年同期的組成直接比。snippets.md「ec-bridge2」
發散條ec-diverge各業別增減、預算增減,正負兩側一眼分開。snippets.md「ec-diverge」
剪刀差ec-jaws證明收入跑得比費用快(營運槓桿)。snippets.md「ec-jaws」
同業排名長條ec-peer同業 ROE、成本收入比、市占排名,一眼看出自家位置。snippets.md「ec-peer」
區間條+中位+目前值ec-range「現在落在歷史區間的哪裡」:估值、利率、同業分布。snippets.md「ec-range」
啞鈴圖ec-dumbbell兩期或兩群在多個面向上的差距(能力評分、滿意度前後)。snippets.md「ec-dumbbell」
定位散點ec-position策略定位、同業估值定位:「我們在哪、要走到哪」。snippets.md「ec-position」
循環散點軌跡ec-trail景氣位置、兩個指標的軌跡:現在在哪一象限、往哪走。snippets.md「ec-trail」
堆疊柱+右側逐段變動欄ec-segdelta放款、存款結構:看得到結構,也看得到每段變多少,右欄兼作直接標籤。snippets.md「ec-segdelta」
多期 100% 堆疊ec-stack100資產配置、營收組成的今昔結構。snippets.md「ec-stack100」
馬賽克ec-mekko區域×產品的規模結構同時看,限 3×3 以內。snippets.md「ec-mekko」
並列雙圓環ec-donut2兩群的組成(銀行/證券、今年/去年),中心放總額;snippets.md「ec-donut2」
桑基流量ec-sankey資金流向、客戶轉介、案件流:量從哪裡來、到哪裡去。snippets.md「ec-sankey」
泡泡矩陣ec-bubblegrid兩種分類交叉的件數(機構類型×發展階段),數字寫在圓內。snippets.md「ec-bubblegrid」
下三角相關係數熱力ec-heat相關係數、曝險分布、月份×指標,大矩陣先找熱點。snippets.md「ec-heat」
概念示意曲線ec-concept概念本身有形狀(微笑曲線、生命週期、J 曲線)。snippets.md「ec-concept」
版面:2×2 小圖陣、一大二小ec-lay-2x2版面:2×2 小圖陣、一大二小 ec-lay-2x2/ec-lay-1big2smallsnippets.md「ec-lay-2x2」
漏斗funnelsort:'descending'、gap:2、label.position:'inside';轉換、案件流/避免 >5 層snippets.md「其他骨架」
雷達radarradar.indicator 各軸 max 統一量綱;能力/風險多維/避免 >2 系列(讀不清)snippets.md「其他骨架」
甘特custom(renderItem)或橫向 bar 佔位ECharts 無原生甘特;簡版用橫向 bar+透明佔位起點(custom 要函式,JSON 放不進去);里程碑、專案時程/多任務長軸改拆頁;不經 EChar⋯snippets.md「其他骨架」

圖表共通規則28 條

snippets.md「圖表共通規則」:每一張 ECharts 圖都要守的規則(ref.py chart 圖表共通規則)

名稱類名/鍵/指令做什麼出處
容器與載入# custom-js 載入 ECharts,onload 與 onerror 都呼叫 deckInitCharts(),離線時每張圖才會留下可見的失敗訊息;snippets.md「圖表共通規則」容器與載入
容器與載入引擎在圖所在頁第一次成為作用中頁才畫(翻到才初始化);snippets.md「圖表共通規則」容器與載入
容器與載入補設定每次都從 option 原樣重算、整份套上,不要記「做過了」:結算重畫是清空後重設 JSON 原文,補丁全部消失,snippets.md「圖表共通規則」容器與載入
容器與載入不在 option 裡自訂 animation 時長:列印與量測前引擎會以不帶動畫的終態重畫,自訂時長只會讓簡報態的進場不一致。snippets.md「圖表共通規則」容器與載入
色彩option 層不寫 color,引擎自動套品牌序列(藍→紅→藍淡→紅淡→灰→淺藍灰)。snippets.md「圖表共通規則」色彩
色彩註記的線與字用中性墨色:內文 #222631、次要 #5c6673、細線 #cad1dd;snippets.md「圖表共通規則」色彩
色彩圖例用頁面色塊 .lgd/.sw(不用 ECharts legend);snippets.md「圖表共通規則」色彩
px 與縮放ECharts 的 fontSize、offset、nameGap、symbolSize、標籤的 distance/padding/borderRadius、rich 的寬度、snippets.md「圖表共通規則」px 與縮放
px 與縮放option 裡的 px 值一律照「ECharts 預設字級 12px」的比例寫,由 ecFit 乘上倍率(本檔「ecFit」)。snippets.md「圖表共通規則」px 與縮放
px 與縮放字級:軸標籤預設 12,列印約 10.7pt;snippets.md「圖表共通規則」px 與縮放
JSON 的限制option 是 JSON,不能放函式:formatter 只能用字串樣板({a} 系列名、{b} 類目名、{c} 值、{@[2]} 資料第 3 維),snippets.md「圖表共通規則」JSON 的限制
數字自洽算錯不會報錯,只會畫歪。snippets.md「圖表共通規則」數字自洽
匯出 Markdown引擎把圖還原成表時,取第一條類目軸當列、每條系列當一欄。snippets.md「圖表共通規則」匯出 Markdown
版面圖的高度:.xhb-ec 預設最小高 12em,放在直排的容器(.canvas、.seg、.card)裡會撐滿剩下的高度;snippets.md「圖表共通規則」版面
版面圖旁欄:圖撐滿之後,旁邊的文字欄常常下半空著(排法型錄「圖+評論欄」)。snippets.md「圖表共通規則」版面
版面兩個 .xhb-ec 並排要放在同一個區段(components.md「兩群比較用兩張並列圓餅,不用內外環」)。snippets.md「圖表共通規則」版面
版面圖的尺寸由引擎負責:.xhb-ec 帶 contain:size,前一次尺寸的 SVG 不會回頭撐寬 .g2/.split 的欄、撐高列;snippets.md「圖表共通規則」版面
實測撞到的坑類目軸會把小數 x 四捨五入:要放在兩根柱之間的東西(括號腳、膠囊)改掛第二條隱藏的數值 x 軸,min:-0.5、max:n-0.5。snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑資料前段是 "-" 的線不能開 endLabel(ECharts 5.6 算出 NaN 座標、主控台報錯):預測段改在最後一筆寫 label。snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑線寫 symbol:"none" 時逐筆 label 不會畫:要標值的隱形線寫 symbolSize:0。snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑垂直 markLine 的標籤 position:"insideEndTop" 會轉成直書:寫 "end",放在線頂。snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑x 軸的軸名放在尾端(nameLocation:"end")時,grid.right 要留出軸名的寬度,不然會被切掉;snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑橫向長條的類目軸預設貼著 0(axisLine.onZero),負值柱會壓在類目名上:寫 onZero:false。snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑ECharts 依系列名配色,同名=同色:拆成幾條的同一個量可以借用(馬賽克),但匯出表會出現同名欄;snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑ECharts 的內建預設不吃全域 textStyle:軸標籤 12、軸名 12、標題 18、圓餅與桑基的系列標籤 12,ecFit 會一併補上倍率。snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑markLine 的 type:"average" 算的是掛著它的那條系列的全部點(含自家);snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑resize() 只改 SVG 外框,內容等下一格動畫才重畫,列印當下沒有下一格(直接印=空白圖);snippets.md「圖表共通規則」實測撞到的坑
實測撞到的坑事後 setOption 只能補原 option 已有的頂層元件:統一 patch xAxis/yAxis/legend,圓餅會憑空長出一組座標軸(圖左圖下兩條線)snippets.md「圖表共通規則」實測撞到的坑

片段共用規則14 條

snippets.md 版面片段的共同規則與互動片段前言(查片段時工具一起帶出)

名稱類名/鍵/指令做什麼出處
色彩只用 token--brand/--brand-rgb/--blue/--ink/--ink-mute/--line/--line-2/--up/--dn/--ok/--warn/--bad 及⋯snippets.md「版面片段的共同規則(先讀再抄)」
尺寸一律 em(跟著 .inner 的 cqh 等比縮放;只有 1px 髮絲線寫 px):寫死 px=五檔視窗有一檔會爆或空。snippets.md「版面片段的共同規則(先讀再抄)」
不連外、不疊出母片框禁外部依賴;snippets.md「版面片段的共同規則(先讀再抄)」
線取代面分隔用髮絲線(1px)、強調用粗線(.2em);snippets.md「版面片段的共同規則(先讀再抄)」
強調只加亮目標.hot 一組只標一個(官方紅),只改目標自己的字色、底色或框;snippets.md「版面片段的共同規則(先讀再抄)」
狀態不只靠顏色燈號與系統狀態用本檔「狀態記號」.lp(圓=達標、三角=留意、方=未達),色弱與黑白列印都分得出。snippets.md「版面片段的共同規則(先讀再抄)」
根元素帶 data-shape值=片段種類(同種同值,例 data-shape="wheel");snippets.md「版面片段的共同規則(先讀再抄)」
一個 .seg 放一個形狀片段不帶外距,同一頁兩個形狀分兩個 .seg,間距交給引擎的區段間距(同 .lad、.tb)。snippets.md「版面片段的共同規則(先讀再抄)」
垂直節奏與彈性字級隨頁面餘裕放大的間距(列距、踢面高度、決策的直線長度)吃引擎的 --rh(沒有引擎值時 var(--rh,1)=1), 不要為了填滿頁面手調間距;snippets.md「版面片段的共同規則(先讀再抄)」
列印與互動沒有任何內容只在滑過或點擊時出現,列印與手機等比縮放照原樣;snippets.md「版面片段的共同規則(先讀再抄)」
匯出 Markdown純視覺的元素(長條、點、接頭)代表的值寫成字或掛 data-md;snippets.md「版面片段的共同規則(先讀再抄)」
手機版: 重排(文件流模式)沒有處理:橫向形狀在直立手機會超出寬度,該 deck 的形狀頁改用 .lad/.steps。snippets.md「版面片段的共同規則(先讀再抄)」
行單位各段寫的行單位是 1920×1080、垂直節奏: off+彈性字級: off(12pt 自然排版)的值,量法同 MAINTAINING.md「行單位成本的量法」;snippets.md「版面片段的共同規則(先讀再抄)」
§三 前言規則見 components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」;snippets.md「§三 前言」

排法151 條

layout-catalog.md:依「這一頁要回答的問題」分組的排法、不適合清單與跨頁體例(ref.py layout <名稱>)

名稱類名/鍵/指令做什麼出處
編號重點清單〔主張與結論〕有哪幾件事、各要記住一句什麼layout-catalog.md「主張與結論」
判斷句小標+列點〔主張與結論〕一頁讀完一章或整份的結論是什麼layout-catalog.md「主張與結論」
側標區塊頁/標籤列〔主張與結論〕一頁放幾種不同性質的內容,怎麼讓讀者一眼分辨每塊在講什麼layout-catalog.md「主張與結論」
要點句領頭段〔主張與結論〕段落必須保留(研究推論、主管要看脈絡),但要能先掃到結論layout-catalog.md「主張與結論」
結論帶分段〔主張與結論〕一頁3-5個主題,每個主題一句結論配一組數字,怎麼分段又不搶結論列的位置layout-catalog.md「主張與結論」
面板結論標題〔主張與結論〕雙圖或多圖頁,怎麼讓讀圖的順序就是讀一句話的順序layout-catalog.md「主張與結論」
頁尾/段落結論句〔主張與結論〕一段證據看完了,所以呢——這句收束放哪裡才不跟頁頂結論重複layout-catalog.md「主張與結論」
主張欄頭+證據磚〔主張與結論〕3-6個並列主張,每條主張都要有數字撐腰layout-catalog.md「主張與結論」
數字領頭陳述〔主張與結論〕三秒內抓到重點,主角就是斷言裡講的那個數layout-catalog.md「主張與結論」
主軸欄/圖示格〔主張與結論〕同一層級的幾個並列策略主軸或機會,各自要說什麼layout-catalog.md「主張與結論」
短段兩兩並排〔主張與結論〕6-10個並列短項目,單欄排列右半會整條空白怎麼辦layout-catalog.md「主張與結論」
問題框→圖→結論〔主張與結論〕讀者要先知道問了什麼,才看得懂答案layout-catalog.md「主張與結論」
視覺目錄/章節總覽〔主張與結論〕目錄頁能不能直接讀到每章的結論,而不只是章名layout-catalog.md「主張與結論」
定調式子頁/整頁主張〔主張與結論〕章首或全副核心主張要怎麼定調,讓讀者一眼記住layout-catalog.md「主張與結論」
列帶三段〔主張與結論〕3-6個並列主張,每條都要附上代表數字,但不想用欄式(改用列式)layout-catalog.md「主張與結論」
大號序號開放欄〔主張與結論〕並列項目要有順序感,但不想畫流程箭頭layout-catalog.md「主張與結論」
發現面板〔主張與結論〕一頁2-4個發現,每個發現要自帶證據layout-catalog.md「主張與結論」
維度卡陣〔主張與結論〕多維度分析,每張卡自己就要有結論layout-catalog.md「主張與結論」
雙欄對照〔比較〕同一主題的兩面,怎麼並排讓讀者左右對讀layout-catalog.md「比較」
現況→建議對照/新舊制對應圖〔比較〕每一項改變,從什麼變成什麼layout-catalog.md「比較」
情境比較欄〔比較〕不確定的未來,幾種可能結果要並排看layout-catalog.md「比較」
跨欄同位+欄底證據〔比較〕並排卡要逐項比較,欄長短不一時數字列還是要對成一條線layout-catalog.md「比較」
發散條/對決中軸〔比較〕正負兩側的增減,或兩個對象逐項對決layout-catalog.md「比較」
勾選/方向矩陣〔比較〕誰有、誰沒有、差在哪,一眼看完layout-catalog.md「比較」
文字矩陣表〔比較〕多個對象、多個面向的定性比較,格內要寫短文字layout-catalog.md「比較」
前後對比磚/倍數箭頭〔比較〕從多少變成多少,一眼看出倍數或增幅layout-catalog.md「比較」
剪刀差〔比較〕證明「A跑得比B快」,兩條線的距離就是差距layout-catalog.md「比較」
定位散點/循環散點軌跡/定位泡泡圖〔比較〕我們在哪、要走到哪;或景氣現在在哪個象限、往哪走layout-catalog.md「比較」
泡泡矩陣〔比較〕兩個分類維度的分布,每格數量多少layout-catalog.md「比較」
啞鈴圖/區間條+目前值〔比較〕兩群在多個面向上的差距,比成對柱省空間layout-catalog.md「比較」
馬賽克圖〔比較〕兩個維度的構成同時看(欄寬×欄高都代表比例)layout-catalog.md「比較」
正誤對照〔比較〕規範或教育訓練,看例子就懂對錯layout-catalog.md「比較」
預測對照表〔比較〕大家怎麼看、我們怎麼看——多個機構的預測並排比較layout-catalog.md「比較」
單圖滿版〔趨勢〕一張圖就是整頁的證據,趨勢怎麼看layout-catalog.md「趨勢」
雙圖並排〔趨勢〕兩個相關指標並看,例如規模與比率layout-catalog.md「趨勢」
多圖網格〔趨勢〕一頁看完同一主題的幾個面向,主從關係要不要區分layout-catalog.md「趨勢」
小倍數〔趨勢〕比較多個類別的形狀(同一張迷你圖對每類重複一次)layout-catalog.md「趨勢」
圖下對齊數據列〔趨勢〕圖只給規模,比率(利差、占比、覆蓋率)能不能跟每個時點精確對齊,不必再開一張表layout-catalog.md「趨勢」
堆疊柱+右側逐段變動欄〔趨勢〕堆疊柱看得到結構,看不到每段變多少,怎麼補layout-catalog.md「趨勢」
兩列圖上下疊/共用X軸上下分層圖〔趨勢〕兩個時距或兩個量綱,上下對齊比左右好讀、又不必畫雙y軸layout-catalog.md「趨勢」
圖上數值注記/柱間成長率標註〔趨勢〕讓圖自己講so-what,讀者不必自己算增幅layout-catalog.md「趨勢」
圖上局部結論框〔趨勢〕指出圖上某一段或某一點的意義,不是整頁結論layout-catalog.md「趨勢」
時期/群組色帶/預測區間扇形〔趨勢〕讓讀者知道哪一段是什麼時期、哪一段是預測layout-catalog.md「趨勢」
目標區間帶/參考線〔趨勢〕看實績離目標或合理區間多遠layout-catalog.md「趨勢」
概念示意曲線/示意圖〔趨勢〕解釋制度或模型的形狀(沒有真實數據,但形狀本身有意義)layout-catalog.md「趨勢」
值表圖例/頁角小表〔趨勢〕圖例和數值合成一塊,眼睛不必在圖例和圖之間來回;或一頁同時要結論、關鍵數字、趨勢三層layout-catalog.md「趨勢」
圖+評論欄〔趨勢〕評論要不要貼著它說明的那張圖(空間鄰近)layout-catalog.md「趨勢」
年度|半年分組圖〔趨勢〕「全年走勢」與「今年同期」能不能放同一張圖,不拆兩張也不會被誤讀成連續時間layout-catalog.md「趨勢」
圖下說明框〔趨勢〕圖例只寫系列名還不夠,能不能直接寫這個系列代表的判讀layout-catalog.md「趨勢」
瀑布/橋接〔組成〕從起點到終點,每一項加減多少layout-catalog.md「組成」
構成拆解〔組成〕先看整體怎麼切,再看最大那塊裡面又怎麼切(兩層下鑽)layout-catalog.md「組成」
流量圖/樞紐流向圖〔組成〕量從哪裡流到哪裡、哪一步漏掉多少;或中介角色的價值layout-catalog.md「組成」
多期100%堆疊〔組成〕結構怎麼變,各期占比加總都是100%layout-catalog.md「組成」
結構占比小表〔組成〕結構變化要精確到小數,100%堆疊柱讀不出73.70%與72.80%的差怎麼辦layout-catalog.md「組成」
並列雙圓餅/甜甜圈〔組成〕兩群的組成比較(今昔、資產|獲利、兩家子公司)layout-catalog.md「組成」
華夫格並排〔組成〕幾成,用面積比長條更直覺layout-catalog.md「組成」
同業排名長條〔排名〕一眼看出自家在同業中的位置layout-catalog.md「排名」
排名表/排名長表〔排名〕回答「我們排第幾、前後是誰」;或研究報告要列出全體名單layout-catalog.md「排名」
長表對折〔排名〕長表不捲動、不縮字,怎麼在16:9放得下layout-catalog.md「排名」
表格+行內圖〔排名〕表格查精確值,同時一眼看出大小順序,不必另外畫一張圖layout-catalog.md「排名」
組織/治理架構圖〔結構〕誰管誰、各做什麼layout-catalog.md「結構」
中心輻射/環繞策略輪〔結構〕幾項工作共同服務一個核心目標layout-catalog.md「結構」
屋型策略框架〔結構〕目標、主軸、基礎的上下層次layout-catalog.md「結構」
金字塔/層疊〔結構〕層級、優先序、收斂——一級比一級少或一級比一級重要layout-catalog.md「結構」
階梯+位置標記〔結構〕級別遞進,我們現在在哪一級layout-catalog.md「結構」
二維矩陣框架〔結構〕用兩個獨立維度把選項分成四類layout-catalog.md「結構」
驅動→回應〔結構〕把「為什麼要做」和「我們做什麼」接起來layout-catalog.md「結構」
同心圓/文氏圖〔結構〕範圍由內而外,或兩三個集合的交集layout-catalog.md「結構」
系統/分層架構圖〔結構〕系統、平台或產業鏈的層次與組成layout-catalog.md「結構」
中心圖+兩側窄欄〔結構〕四個主軸,各有什麼作為,一頁講完,中心圖當錨點layout-catalog.md「結構」
地圖+標註/地圖+據點數字〔結構〕地理分布一眼看懂——我們在哪裡、各有多少layout-catalog.md「結構」
階段計畫欄〔流程與時程〕專案計畫一頁看完:幾個階段、各多久、做什麼、哪些工作跨階段layout-catalog.md「流程與時程」
泳道流程圖〔流程與時程〕看出流程卡在誰、哪一步layout-catalog.md「流程與時程」
行事曆甘特〔流程與時程〕誰、什麼時候、做什麼layout-catalog.md「流程與時程」
循環圖〔流程與時程〕表達回到起點的過程或互相強化的飛輪layout-catalog.md「流程與時程」
頻率節奏清單〔流程與時程〕多久做一次什麼layout-catalog.md「流程與時程」
時間軸×指標列〔流程與時程〕同一條時間軸讀兩個累計指標的進展layout-catalog.md「流程與時程」
里程碑時間軸〔流程與時程〕沿革、里程碑、承諾時程一眼看懂layout-catalog.md「流程與時程」
直排年份軸+右側成果磚〔流程與時程〕左邊講歷程、右邊講成果layout-catalog.md「流程與時程」
KPI磚牆/指標帶〔狀態與監控〕開場或總結給幾個關鍵數字layout-catalog.md「狀態與監控」
主角KPI+拆解〔狀態與監控〕先給結果,再給原因layout-catalog.md「狀態與監控」
KPI側軌/邊欄大數字〔狀態與監控〕判斷(列點)和證據(KPI)分欄,只有證據軌加底layout-catalog.md「狀態與監控」
目標計分表/展望指引清單/指標矩陣〔狀態與監控〕對照承諾,看做到沒;或列標籤×指標欄一次看完多個業務的多個指標layout-catalog.md「狀態與監控」
熱力表/色階熱表〔狀態與監控〕大表先看哪裡深,再查數字layout-catalog.md「狀態與監控」
燈號點陣格〔狀態與監控〕狀態的時間變化一眼看完layout-catalog.md「狀態與監控」
摘要儀表頁/事業別固定儀表/四格混合儀表〔狀態與監控〕高層一頁總覽;或翻到任一事業都知道去哪找什麼layout-catalog.md「狀態與監控」
篩選儀表〔狀態與監控〕同一組圖切換維度看,怎麼在靜態文件裡也成立layout-catalog.md「狀態與監控」
財報表慣例〔狀態與監控〕一張12列的表只靠字重與一條線分層級,焦點欄就是讀者的錨點layout-catalog.md「狀態與監控」
欄組分段表〔狀態與監控〕累計與單季、實績與修正、兩種口徑同時看,但欄不會混在一起layout-catalog.md「狀態與監控」
撐滿大表〔狀態與監控〕一頁只有一張表、列數少時頭重腳輕怎麼辦layout-catalog.md「狀態與監控」
圖+表並排/上表下圖〔狀態與監控〕主管要趨勢也要精確數字,圖表分工layout-catalog.md「狀態與監控」
並列小表群〔狀態與監控〕幾個不同主題的小表放一頁比較layout-catalog.md「狀態與監控」
分組列表〔狀態與監控〕清單超過8列時先分組,讀者才掃得動layout-catalog.md「狀態與監控」
單指標專頁〔狀態與監控〕法說逐項唸指標時,聽眾只看一件事layout-catalog.md「狀態與監控」
指標樹〔狀態與監控〕這個總數是由哪些組成,一頁兩層下鑽layout-catalog.md「狀態與監控」
表+列點+全寬瀑布〔狀態與監控〕一頁交代結果(表)、原因(列點)、拆解(瀑布)layout-catalog.md「狀態與監控」
大引言/引言定義框〔證據與出處〕把一句關鍵原話或定義從段落裡拉出來當證據或定調layout-catalog.md「證據與出處」
引述欄〔證據與出處〕讓第三方替你背書,或並陳多方說法layout-catalog.md「證據與出處」
截圖證據卡/剪報卡〔證據與出處〕外部事實(新聞、產品、原話)和數據放在同一頁,證據有出處又有數layout-catalog.md「證據與出處」
截圖圖庫〔證據與出處〕畫面本身就是證據時(系統上線、介面改版),讓讀者看到實物layout-catalog.md「證據與出處」
獎項/標誌牆〔證據與出處〕用第三方認可或合作名單建立可信度layout-catalog.md「證據與出處」
講者/團隊頁〔證據與出處〕讓讀者知道找誰、誰負責什麼layout-catalog.md「證據與出處」
案例頁/案例專頁〔證據與出處〕用一個真實案例證明主張layout-catalog.md「證據與出處」
政策/事件清單表〔證據與出處〕法規或事件的時序整理layout-catalog.md「證據與出處」
三證據研究頁〔證據與出處〕研究頁的「論點、走勢、數字」一次到位layout-catalog.md「證據與出處」
名詞定義表〔定義與規範〕附錄查詢;或把圖裡的情境縮寫先說清楚layout-catalog.md「定義與規範」
問答階梯〔定義與規範〕把讀者心裡的問題直接當頁面骨架,照問題順序讀layout-catalog.md「定義與規範」
範圍界定:做/不做〔定義與規範〕開頭講清楚這份做什麼、不做什麼,先消掉期待落差layout-catalog.md「定義與規範」
條文摘錄+標註〔定義與規範〕讓讀者看原文而不是轉述,重點條款一眼找到layout-catalog.md「定義與規範」
散文頁〔定義與規範〕少數需要完整論述的背景說明layout-catalog.md「定義與規範」
三區版〔不適合〕(不適合)左右軌各吃20-25%寬,等於另開一條邊註欄;左軌的斷言由標題與結論列承擔、章節layout-catalog.md「不適合」
全寬色帶訊息〔不適合〕(不適合)就是 measure 報的「長條留白+色塊過重」;同樣內容的正確做法是編號重點清layout-catalog.md「不適合」
照片主導版〔不適合〕(不適合)金控內部報告沒有照片素材,照片不傳遞資訊、列印耗墨,也違反「真文字、可搜尋」(dlayout-catalog.md「不適合」
深色底內容頁〔不適合〕(不適合)列印耗墨、投影環境不一定;深色只留給章節頁(.divider.dark)與封底。layout-catalog.md「不適合」
框線標題面板/掛框標籤框〔不適合〕(不適合)分組語彙只有兩種——.sh區段標題+開放欄、.solid卡;第三種框線語彙只會讓layout-catalog.md「不適合」
推廣側欄/資歷頁〔不適合〕(不適合)行銷用途,內部報告不需要。layout-catalog.md「不適合」
側色塊標題欄〔不適合〕(不適合)標題位置固定在頁頂(母片恆定),每頁標題同一個位置讀者才找得到;左側標題欄還吃掉layout-catalog.md「不適合」
高密度策略儀表〔不適合〕(不適合)12pt下同樣資訊要2-3頁;這是IR附錄給分析師查的寫法,不是給主管讀;內容區layout-catalog.md「不適合」
內外雙環圓餅〔不適合〕(不適合)components.md「兩群比較用兩張並列圓餅,不用內外環」(讀者要先對照半layout-catalog.md「不適合」
公文式編號段落〔不適合〕(不適合)三層以上編號是公文結構,簡報的層級由.sh→.kv兩層承擔;整句上色讓強調失去意layout-catalog.md「不適合」
儀表盤 gauge〔不適合〕(不適合)一個數字占半頁面積,刻度與色帶是裝飾;要表達「高於基準」用.hero+一句(「1layout-catalog.md「不適合」
左表名欄+右表〔不適合〕(不適合)左邊三分之一只有一行字,等於浪費版面;表名放.sh .t+.u單位,表吃滿寬即可layout-catalog.md「不適合」
半圓雷達〔不適合〕(不適合)文字沿弧段散放,讀者找不到閱讀順序;風險名20多個在一張圖裡字只能很小;「上升/layout-catalog.md「不適合」
照片新聞格〔不適合〕(不適合)單檔HTML內嵌照片會讓檔案暴增、列印品質不穩;內部報告的事件用政策/事件清單表layout-catalog.md「不適合」
插畫面板/插畫路線圖〔不適合〕(不適合)插畫與剪貼畫不屬品牌語彙、佔版面又不帶資訊;道路時間軸改用「里程碑時間軸」。layout-catalog.md「不適合」
字首縮寫磚〔不適合〕(不適合)英文字首拼字是口號設計,中文讀者要回頭對照才懂;兩字價值觀本身已經對稱,直接用開layout-catalog.md「不適合」
章節追蹤器/目錄進度頁〔跨頁體例〕〔引擎〕眉標、章節頁籤(≥2張 divider 自動生成)、章節地圖(章節頁左下、本章點layout-catalog.md「跨頁體例」
頁面狀態章〔跨頁體例〕〔片段〕區段標題右註放頁面狀態章,詞彙固定四個:初稿、備查、示意、非窮盡;不用便利貼手寫layout-catalog.md「跨頁體例」
續頁編號/成對頁標記〔跨頁體例〕〔寫作規則〕同一主題跨頁標題尾加「(1/3)」;附錄頁碼另計「附錄3/14」。layout-catalog.md「跨頁體例」
單位口徑行/單位與基準日〔跨頁體例〕〔元件〕.sh .t .u;全頁共用單位時寫在第一個區段標題的.u;單位寫法(新台幣百萬layout-catalog.md「跨頁體例」
分面板來源註/註腳與資料來源〔跨頁體例〕〔元件〕頁級.srcline;兩圖來源不同時各自在圖下加一行p.lv-n,.srclinlayout-catalog.md「跨頁體例」
頁頂導言與題幹/頁頂結論句〔跨頁體例〕〔元件〕眉標(kicker)+標題+結論列三層;調查頁的題幹見「問題框→圖→結論」。layout-catalog.md「跨頁體例」
數字主張標題〔跨頁體例〕〔寫作規則〕標題的數字要和圖上的主角是同一個數。layout-catalog.md「跨頁體例」
首尾呼應〔跨頁體例〕〔寫作規則〕長簡報結尾重放開場主張(封底前一頁用同一句定調),storyline標「呼應pNlayout-catalog.md「跨頁體例」
論點總綱+逐點展開〔跨頁體例〕〔元件〕同一個.g3,目前項加亮(.hot),其他項維持原樣、不淡化;簡報態可做同頁逐步layout-catalog.md「跨頁體例」
附錄體例/附錄位置與隔頁〔跨頁體例〕〔元件〕.jump「附錄:頁名」去、.note.xref「回主文」回,build自動對帳layout-catalog.md「跨頁體例」
省略號跨頁連句〔跨頁體例〕〔寫作規則〕連續2-3頁是同一個論證時,前頁「……」收、後頁「……」起,不超過3頁。layout-catalog.md「跨頁體例」
頁碼交叉參照〔跨頁體例〕〔元件〕.jump膠囊跳頁(列印隱藏);紙本的路標靠眉標與頁名,正文不寫 pNN(wrilayout-catalog.md「跨頁體例」
場次交叉註記〔跨頁體例〕〔元件〕內部報告的對應物是「細節在附件幾/哪份報告」,寫在.note或.srcline。layout-catalog.md「跨頁體例」
鍵連標號〔跨頁體例〕〔片段〕圖上號碼用ECharts markPoint(symbol:circle+數字)layout-catalog.md「跨頁體例」
圖上圈選強調〔跨頁體例〕〔元件〕用品牌色上色(自家那根、那格:.f、tr.hot、ECharts itemStylayout-catalog.md「跨頁體例」
章節路標列〔跨頁體例〕〔元件〕.flow或.g4×.cell(號碼用.ch .n);比議程頁輕,放章首;圖示不layout-catalog.md「跨頁體例」
章內固定論證骨架/平行組同構〔跨頁體例〕〔寫作規則〕components.md「跨頁節奏(視覺主角差異化)」的「平行組」規則:同一組layout-catalog.md「跨頁體例」
頁角編號〔跨頁體例〕〔元件〕眉標寫「建議3/8」或標題前加號碼;要角落號圈就用 snippets.md「鍵連layout-catalog.md「跨頁體例」
章首摘要頁/子章節清單頁/章節頁附本章摘要〔跨頁體例〕〔元件〕divider後接「編號重點清單」或「判斷句小標+列點」當章首摘要頁與子章節清單layout-catalog.md「跨頁體例」
期間標記統一〔跨頁體例〕〔寫作規則〕建議全副一種期間寫法(西元+「1H26/2Q26」或「2026上半年」擇一),民layout-catalog.md「跨頁體例」
財報表格數字體例〔跨頁體例〕〔元件〕.n右齊、數字西文字型在前由引擎處理;「負數紅字」與台灣慣例「漲紅跌綠」語意衝突layout-catalog.md「跨頁體例」
圖卡標頭帶〔跨頁體例〕〔元件〕.sh左豎線;不用深色標頭帶+單位(線比色帶輕)。layout-catalog.md「跨頁體例」
免責聲明、Q&A、封底〔跨頁體例〕〔不做〕內部報告不另設版型;對外版本需要免責頁時放一張blank(純文字.lv-b)。layout-catalog.md「跨頁體例」
講者資訊〔跨頁體例〕〔元件〕cover版型的who欄位。layout-catalog.md「跨頁體例」
雙語並陳〔跨頁體例〕〔不做〕內部報告字數加倍;.en預設不加(components.md「主卡」)。layout-catalog.md「跨頁體例」

作者要寫的互動10 條

互動元件總覽:讀者用途與寫法(present.md「作者要寫的互動(總覽)」)

名稱類名/鍵/指令做什麼出處
<details> 收合(同一組寫同一個 name=一次只⋯<details>附錄級細節不佔版面;Ctrl+F 搜得到present.md「作者要寫的互動(總覽)」
就地展開 button.drill[popovertarg⋯button.drill[popovertarget]被追問時當場攤開拆解present.md「作者要寫的互動(總覽)」
狀態切換 [data-switch]+.state[dat⋯[data-switch]同一組數字換一種看法(金額/占比、表/圖、各時距)present.md「作者要寫的互動(總覽)」
結論↔證據 [ev=鍵]…[/ev]、表圖聯動 data-⋯[ev=鍵]…[/ev]「這個結論從哪裡看出來」一滑就框出證據present.md「作者要寫的互動(總覽)」
hover 白話 [tip=…]名詞[/tip]、淡樣式⋯[tip=…]名詞[/tip]專有名詞白話;出處頁碼、案號這類後設資訊掛 .tip.spresent.md「作者要寫的互動(總覽)」
跨頁膠囊 .jump+回程列 .note.xref.jump主文「附錄:頁名」去、附錄「回主文:頁名」回;build 自動對帳present.md「作者要寫的互動(總覽)」
頁內頁籤 [data-tabs]、一鍵複製 .copy[data-tabs]同區塊放多組平行內容;讀者直接取用文字段present.md「作者要寫的互動(總覽)」
案件清單 hover data-cases(deck 自帶⋯data-cases計數頁「這個數字是哪幾件」present.md「作者要寫的互動(總覽)」
數字從基準值滾動 data-from+差額膠囊 .dltdata-from關鍵數字被看見;列印與匯出一律是最終值present.md「作者要寫的互動(總覽)」
逐步揭示、逐段強調、逐列聚焦、講者備註(簡報態才作用)講者控制節奏present.md「作者要寫的互動(總覽)」

引擎自動做的事7 條

寫 deck 不必動、引擎自動生成的功能(MAINTAINING.md「引擎自動做的事」)

名稱類名/鍵/指令做什麼出處
固定 chrome右側圓點導覽(未看/已看/目前三態,提示「頁碼-標籤」)、頂端章節頁籤(≥2 張 divider 自動生成、手機隱藏、不進列印)、 頂部進度條、右下輸出鈕(點開才展開「開始簡報」⋯MAINTAINING.md「引擎自動做的事」
章節地圖 .chap-map.chap-map(≥2 張 divider,本章點亮、可點擊、列印照印);議程單軸路線(3/4 項一列、5–6 三欄、7–8 四欄), 項目與章名相符(或章數相符/只多一章「附錄」)時可點擊跳章。MAINTAINING.md「引擎自動做的事」
講者指示與大表十字定位(精準指標螢幕;幾何零變化、不進列印);KPI 數字滾動(data-count,列印與匯出一律最終值); 圖表翻到才初始化、量測與列印前 deckSettle() 補成終態。MAINTAINING.md「引擎自動做的事」
匯出 Markdown## pNN · 標題每頁 ## pNN · 標題 起頭(可用 --where 對回 content.md),頁籤每一片、收合內容、狀態切換的每一態、 就地展開的浮層都輸出,tooltip 轉「名詞⋯MAINTAINING.md「引擎自動做的事」
簡報態抵達規則(只有順向鍵 → ↓ PgDn 空白進入的頁從第 0 步開始;捲動、圓點、章節頁籤、跳頁、概覽、回上一頁進入的頁一律完整; 離開的頁立刻回到完整;滾輪與觸控板照常捲頁)⋯MAINTAINING.md「引擎自動做的事」
小螢幕 PDF 式縮放max-aspect-ratio: 6/5(max-aspect-ratio: 6/5 或 max-height: 560px):每張固定 1280×720 排版,只在 @media screen 縮 .frame 一層⋯MAINTAINING.md「引擎自動做的事」
跨平台中文排版text-spacing-trim:space-all標點不擠壓(text-spacing-trim:space-all,Mac 與 Windows 行長一致)、漢字與英數之間沒打空格時自動補 1/8 字(text-autospac⋯MAINTAINING.md「引擎自動做的事」

簡報態按鍵15 條

按 ? 叫出的按鍵說明表(template.html 的 HELP)

名稱類名/鍵/指令做什麼出處
P/F5P/F5進入簡報態(F5=PowerPoint 的開始放映、簡報遙控器的「開始」鍵);簡報中再按 P 離開template.html 按鍵說明(?)
→ ↓ PgDn 空白→ ↓ PgDn 空白閱讀態:下一頁。簡報態:下一步,本頁步驟走完才換頁template.html 按鍵說明(?)
← ↑ PgUp← ↑ PgUp閱讀態:上一頁。簡報態:上一步;回到第 0 步再按=上一頁(完整)template.html 按鍵說明(?)
Home/EndHome/End首頁/末頁template.html 按鍵說明(?)
數字+Enter數字+Enter跳到該頁(頁碼=每頁左下的數字,螢幕與紙本同號)template.html 按鍵說明(?)
OO概覽:全部頁面的縮圖,方向鍵選、Enter 跳、Esc 關template.html 按鍵說明(?)
AA簡報態:本頁全部亮出template.html 按鍵說明(?)
Alt+↓Alt+↓簡報態:略過本頁剩下的步驟,直接下一頁template.html 按鍵說明(?)
L/[ ]L/[ ]簡報態:綠光雷射筆開/關;[ ] 調小/調大(五檔)template.html 按鍵說明(?)
B/./WB/./W簡報態:黑幕/白幕,任一鍵或點一下恢復(不換頁)template.html 按鍵說明(?)
點選列或卡點選列或卡簡報態:釘住(那一列鋪淡綠光帶),再點或 Esc 取消template.html 按鍵說明(?)
Alt+點擊Alt+點擊簡報態:以點擊處為中心放大兩倍;再點或 Esc 還原template.html 按鍵說明(?)
SS簡報態:講者視窗(目前頁、下一頁、備註、計時;有寫 note: 的 deck 才有)template.html 按鍵說明(?)
FF簡報態:全螢幕template.html 按鍵說明(?)
EscEsc簡報態依序:還原放大 → 取消釘住 → 關雷射筆 → 離開簡報態template.html 按鍵說明(?)

列印7 條

紙本上印什麼、不印什麼(present.md「列印印什麼」)

名稱類名/鍵/指令做什麼出處
列印=閱讀態的開檔畫面紙本就是閱讀態打開檔案那一刻的畫面—— 頁籤只印開檔那一片(頁籤列照印、亮開檔那一顆);<details> 照開檔狀態;白話 tooltip 不印;就地展開的浮層與觸發鈕不印、沒⋯present.md「列印印什麼」
所以紙本要看到的內容放在預設畫面白話要上紙就寫進正文(名詞第一次出現時一句話講清楚),.tip 只放「看不到也不影響讀懂」的補充。present.md「列印印什麼」
列印展開: on(個案才用)列印展開: on回到全展開——頁籤全部攤開並印出片名、收合全開(同名互斥組也全開)、.tip 轉括號 (.tip.s 不轉)、沒寫 data-print 的切換並排、就地展開的浮層印到最後的補充⋯present.md「列印印什麼」
不進列印NN · 章名章節頁籤(由各頁眉標 NN · 章名 承接)、圓點導覽、進度條、輸出鈕與匯出面板、純工具鈕(複製、圖表放大、 就地展開的觸發鈕、跳轉膠囊)、講者備註、簡報態的講者工具。自訂的 h⋯present.md「列印印什麼」
scroll: 1 的頁與 .tblw⋯scroll: 1,裝不下就被裁掉;export_pdf.js --check(verify 會跑)報裁切時回 S1 砍字或拆頁。present.md「列印印什麼」
手動列印要勾背景圖形Ctrl/Cmd+P自己按列印時務必勾選「背景圖形」,否則底色印不出來spec_extra.md〔grep:README.md:背景圖形〕
深色封底耗墨closing封底是深色的,大量影印耗墨;需要時改成淺色封底spec_extra.md〔grep:README.md:封底是深色的〕

寫作規則106 條

writing.md 的條目、粗體標籤與規則表(按節取:ref.py doc writing <標題>)

名稱類名/鍵/指令做什麼出處
整副議程之後第一張內容頁就給結論/建議/要老闆決定什麼。writing.md「結論先行(BLUF)」
每頁.title 就是這頁的結論;writing.md「結論先行(BLUF)」
每區塊條列、段落第一句先講判斷。writing.md「結論先行(BLUF)」
結論列 bluf(全內容頁固定配備)寫什麼:標題的補完——目標 3 行「結論+所以呢+下一步」,各帶量化;writing.md「結論先行(BLUF)」
同一副簡報只能用一種句式A 判斷句/行動句(多數報告的預設):有主詞、有立場、能被反駁。writing.md「標題句規則」
中文排版:孤字與兩端對齊(本節是寫法的真相源):內容區與結論列的多行文字兩端對齊、末行靠左;writing.md「元素字數帶(句式;數字查 --schema)」
孤字靠改寫多行文字(段落、列點、表格格、卡名、關鍵句、格標、結論列)的末行只剩一兩個字, 就刪幾個字收成一行,或補到半行以上。writing.md「元素字數帶(句式;數字查 --schema)」
兩端對齊時,長英文字串與長數字別卡在行尾兩端對齊只能伸縮字距,長英文字、網址、帶單位的長數字 (「2026/06」「1,234 億元」)不能拆,卡在行尾時整串掉到下一行,上一行就留下一截空白、被對齊撐開字距;writing.md「元素字數帶(句式;數字查 --schema)」
同一組條列同一組條列:全名詞句或全動詞句,禁混用;writing.md「句式一致性與同層對稱」
前置關鍵字必須是內容詞(主詞/數字/結果…前置關鍵字必須是內容詞(主詞/數字/結果)。writing.md「句式一致性與同層對稱」
三條以上排比,第一個詞的詞性一致三條以上排比,第一個詞的詞性一致。writing.md「句式一致性與同層對稱」
同層對稱(同一視覺層級的並列元素,敘述風格要對⋯同組並列(一組對照列、一排小格):句構同型、行數一致。writing.md「句式一致性與同層對稱」
語態拉齊同一組列要嘛全是實況描述、要嘛全是祈使建議,不可混用。writing.md「句式一致性與同層對稱」
一段之內不換主體。writing.md「句式一致性與同層對稱」
並排的標題與關鍵句寫成字數相近同一排卡的卡名與關鍵句、一排格的格標、流程格的標題, 寫成字數相近、句構相同,行數自然一致(✗「成本低/導入後三年內效益明顯高於其他方案」 ✓「成本最低/效益最高」)。writing.md「句式一致性與同層對稱」
禁詞不得裸用核心九詞(賦能、打造、優化、強化、深化、落實、推動、致力、攜手)lint ✗, 空話詞(助力、全面提升、顯著、大幅⋯)lint △;writing.md「語言禁則」
數字優先有數字寫數字;writing.md「語言禁則」
標題與內文不互相複述。writing.md「語言禁則」
禁套疊句「透過 X,以達成 Y」→「X,Y +N%」。writing.md「語言禁則」
一頁一問答不出來就併頁或砍頁。writing.md「語言禁則」
括號節制整頁 ≤2 處;writing.md「語言禁則」
禁全形長破折號(——)AI 腔標記(lint △);writing.md「語言禁則」
抽象詞要落地成「誰評、評什麼、量的是什麼」。writing.md「語言禁則」
同一份數據不在兩頁以不同包裝重複。writing.md「語言禁則」
並列評述多個對象時不做排名。writing.md「語言禁則」
多個分母要有口徑表。writing.md「語言禁則」
兩條判定軸各用固定詞,不互換。writing.md「語言禁則」
泛稱會歧義時直接寫產品名,但不寫產品內部實作。writing.md「語言禁則」
動詞要與受詞相搭。writing.md「語言禁則」
全稱詞後面不接例外。writing.md「語言禁則」
成就型數字不放、論證型數字留(介紹自家能力、內部教材最常見)。writing.md「語言禁則」
示範寫成通案做法,每個指標對得到資料來源(方法論 deck)。writing.md「語言禁則」
指標先寫決策者要回答的問題,再寫執行單位的計分。writing.md「語言禁則」
對抗式查證每項數據先假設為誤,回一手來源核對原句;writing.md「來源與連結紀律」
二手轉述最常見的失真是拼接兩個不同定義的數字被併成一句 (例:甲組的「至少部分成功 91%」配上乙組的「驗證成功 15%」);writing.md「來源與連結紀律」
連結必須直達證據官網首頁、單位介紹頁、搜尋結果頁不算;writing.md「來源與連結紀律」
概念退場,來源同退改版後不再引用的概念,src 一併刪;writing.md「來源與連結紀律」
src 與 bluf 掛連結用 `[a=…src 與 bluf 掛連結用 [a=網址]文字[/a](兩者會跳脫 HTML,寫 <a> 變字面文字);writing.md「來源與連結紀律」
查證紀錄沒記到,不等於一手來源沒有。writing.md「來源與連結紀律」
出處核對分三級,只升不跳已核對(讀過原文)、摘要查證(期刊摘要、官方公告或新聞查證, 未讀全文)、待核對。writing.md「來源與連結紀律」
理論引用先做適用性檢視引用時標出資料的年代、國別與產業, 逐項檢查時代變遷、文化作答差異與本地市場結構(例:本地費率差距小、升息幅度小)。writing.md「來源與連結紀律」
自檢方法把這一頁念給沒參與製作的人聽,凡是他要反問「那是什麼」的詞都是洩漏。writing.md「製作語言不進成品」
抽查(本檔附錄 grep,lint 未收這兩類):扣掉 .jump 膠囊後仍出現的 pNN =頁碼寫進正文;writing.md「製作語言不進成品」
角色檢查(凡描述機制、流程、權責的句子必跑)這句話裡的動作, 誰做的、誰核的、誰負責?三個角色不能是同一個。writing.md「S1 自審程序」
改一個詞,掃全副使用者點名的用語(去重→不重複計、受阻→受限)一律 grep 整份 content.md——含 html: 圍欄、封底 sub、note、卡片小字——並把「棄用詞→採用詞」 記進⋯writing.md「S1 自審程序」
數字改了,重驗自由文字check_slots.py 只對槽位存在與行號,不對數字;writing.md「S1 自審程序」
同一對象全副只用一個名稱,主動找異名「改一個詞,掃全副」是使用者點名才掃,這條是自己先掃。writing.md「S1 自審程序」
搬頁、重排、刪章後重驗跨頁指涉章節頁 dx、附錄隔頁引言(「三項議題明細」而實際只剩兩章)、 「沿用⋯⋯」「同一組層級」這類描述他頁方法的宣稱,都要對著新頁序逐條核一次(本檔「製作語言不進成品」的「頁序指涉」⋯writing.md「S1 自審程序」
批次替換後掃漢英黏連含英數字的替換(「大型語言模型」→「LLM」)會產生「多數LLM」 這種黏連;writing.md「S1 自審程序」
台灣用語(對外零容忍)完整詞表在 references/cn-terms.json,lint_content.py 逐頁機械檢查(含 html: 圍欄正文——正文都住在圍欄裡, 只檢查槽位等於沒檢查到⋯writing.md「台灣人話(借鏡 speak-human-tw)」
兩個要單獨拿出來講的「判準」全面禁用(被高階讀者點名「太中國 AI」),且沒有單一替換詞—— 依語境分開改:驗證判準→驗證標準|五級判準→五級對照|歸納之判準→歸納而得| 判準出自→分級方式出自|授⋯writing.md「台灣人話(借鏡 speak-human-tw)」
反向誤殺警告(清中國用語會清過頭)牴觸是台灣正式用法(憲法第 171 條 「與憲法牴觸者無效」),抵觸才偏中國——不要因為手感而改錯方向。writing.md「台灣人話(借鏡 speak-human-tw)」
全形標點與引號中文一律全形 ,。writing.md「台灣人話(借鏡 speak-human-tw)」
翻譯腔長定語鏈拆短句;writing.md「台灣人話(借鏡 speak-human-tw)」
保護清單(改寫時圈起來、一字不動)數字與事實:定價、百分比、日期、指標逐字保留;writing.md「台灣人話(借鏡 speak-human-tw)」
AI 腔速查幻覺引用:沒出處的「研究顯示/專家指出」補真來源或刪。writing.md「台灣人話(借鏡 speak-human-tw)」
中英並列與技術名詞順序中文在前、英文在後(腳本 SCRIPT/機器學習 Machine Learning);writing.md「台灣人話(借鏡 speak-human-tw)」
語體帶可直接朗讀但不口播。writing.md「台灣人話(借鏡 speak-human-tw)」
口語詞帶(被點名「用字不夠文雅」的那批,共同點是聽起來像在講話,但讀者是在讀;多數詞表不擋、只能自己記): 東西→指名該物(成品/產出/資料)|跑一輪→各建一個模型/各跑一次|長出→發展⋯writing.md「台灣人話(借鏡 speak-human-tw)」
知識型教材不指人、不交辦可傳承的教材(講義、訓練 deck)不寫「你/你們/今天/作業/ 下一步」——那是課堂口吻,換一批學員、換一年就失效。writing.md「台灣人話(借鏡 speak-human-tw)」
假數集999、1,234、12.3%、9.9、NT$9.9 億、2099/20XX——嚴禁用看似合理的數字。writing.md「示範稿規範(範本/教學文字防偽)」
假名集範例金控/A 銀行/示範處;writing.md「示範稿規範(範本/教學文字防偽)」
槽位示意文內文直接描述「這格放什麼」+極短假例。writing.md「示範稿規範(範本/教學文字防偽)」
寫什麼標題的補完——目標 3 行「結論+所以呢+下一步」,各帶量化;writing.md「結論先行(BLUF)」
行數覆寫需要更長(或更短)結論時,deck 檔頭寫 結論行數: N(1–5,預設 3),lint 字數帶等比縮放並印覆寫警告;writing.md「結論先行(BLUF)」
頁籤頁標題與結論列必須不看頁籤就讀得懂——投影與列印都只看得到預設片(列印=開檔畫面),主張只能靠標題、結論列與預設片承擔;writing.md「結論先行(BLUF)」
前置章預設「結論」;writing.md「結論先行(BLUF)」
不給建議的兩種 deck(本節「結論+建議+下一步」的例外,storyline 檔頭註明場合):討論/評述類只陳述現況與文件主張、點出決策點,不附我方方案(revision-playbook.md「討論⋯writing.md「結論先行(BLUF)」
自檢結論列刪掉不損任何資訊=寫成了複述,重寫。writing.md「結論先行(BLUF)」
例外cover/agenda/divider/closing 不配結論列;writing.md「結論先行(BLUF)」
A 判斷句/行動句(多數報告的預設):有主詞、有立場、能被反駁。writing.md「標題句規則」
B 框架名(教材、政策條文彙編、目錄性文件適用):短標籤式,靠結論列承擔判斷。writing.md「標題句規則」
客群分析A 判斷句:南區「富有企業主」輪廓與存款數據不符writing.md「標題句規則」
專案進度報告A 判斷句:建置落後兩週,瓶頸在資料介接而非人力writing.md「標題句規則」
市場現況A 判斷句:同業已交卷:四家金控 AI 客服上線,我行仍在 POCwriting.md「標題句規則」
效益評估A 判斷句:自動化後月結算 3 天縮至 2 小時,年省 1.2 人力writing.md「標題句規則」
風險與因應A 判斷句:最大風險不是技術,是兩單位權責未定writing.md「標題句規則」
每頁可用高度與元件成本以 components.md「容量模型」「各元件的行單位成本」「滿版組合」為準。writing.md「行數預算與密度」
每格寫到容量預算的 60–90%,不寫「單行卡片」。writing.md「行數預算與密度」
過疏、過密處理順序見 revision-playbook.md「成塊空洞的處理順序」與「溢出處理的優先順序」;writing.md「行數預算與密度」
同一清單行數一致全 1 行或全 2 行,禁 1/2 行交錯。writing.md「行數預算與密度」
跨卡同位並排卡的第 n 列共用同一組前置詞(如三張卡都是 擅長/成本/迭代),同位列句式對稱:都寫「看 A 與 B;短評」,或都寫「看…而非…」,不混用。writing.md「句式一致性與同層對稱」
頁碼與跳轉成品裡實際出現過:「各自的例子與難度見 p12。〔p12 膠囊〕」(句子寫了頁碼,後面又掛一顆膠囊);改成:句子收尾直接接膠囊,正文一個 pNN 都不寫writing.md「製作語言不進成品」
版面與元件成品裡實際出現過:「四列共用前置詞,可逐列橫向對照」(寫在區段標題右註);改成:整句刪。對稱是做出來給人看的,不是宣告出來的writing.md「製作語言不進成品」
製作流程成品裡實際出現過:「餵給 p17」(資料流向的口語,出現在恆顯底列的前置詞);改成:「對應任務」writing.md「製作語言不進成品」
表單結構成品裡實際出現過:「C 區備註」「D 區選配功能」(盤點表的欄位分區代號);改成:「盤點表備註欄」「盤點表逐案詢問的選配功能」——主管沒看過表單,讀不出分區代號writing.md「製作語言不進成品」
分析過程成品裡實際出現過:「已由連接器處理,不計」「實列缺口」「去重後 29 案」;改成:只呈現扣除後的淨值(「不重複計 29 案」);哪些被扣、為什麼,留在分析腳本與底稿(revisi⋯writing.md「製作語言不進成品」
實作細節成品裡實際出現過:「SPAID GraphQL 唯讀」;改成:「原定拒絕寫入系統情境,現行多採產製匯入檔銜接」(本檔「泛稱會歧義時直接寫產品名,但不寫產品內部實作」)writing.md「製作語言不進成品」
系統識別字成品裡實際出現過:內部資料表名、欄位名、模型參數原樣搬上頁面;改成:只講類別、維度與數量級(「時間窗 × 幣別 × 性質」),表名欄名留在備查檔writing.md「製作語言不進成品」
資料外觀與填表過程成品裡實際出現過:「證券 4 案的必須原因文字一致」「盤點表未設欄位,自需求敘述逐案回推」;改成:改寫成資料本身說的事(「皆為須於時限內完成的每日例行作業」);方法說明只留在 s⋯writing.md「製作語言不進成品」
頁序指涉成品裡實際出現過:「沿用前頁」「見附錄末頁」(搬頁後前頁已不是那一頁);改成:寫頁名(「沿用需求型態輪廓」)或接 .jump 膠囊;搬頁、重排後全副重驗(本檔「搬頁、重排、刪章後⋯writing.md「製作語言不進成品」
內部脈絡成品裡實際出現過:提案者身分、與我方的利害關係、我方幕僚角色寫進頁面;改成:只放 deck 目錄的 CONTEXT.md,交付文件一律不出現(revision-playbook.⋯writing.md「製作語言不進成品」
改版脈絡成品裡實際出現過:「改為三層」「改以占比計」「新增承接設計」「原主張→修正」、推翻/降級標記、查證方法與核對狀態;改成:只寫現行結論的直述(「為三層」「以占比計」);仍有效的前提⋯writing.md「製作語言不進成品」
「判準」全面禁用(被高階讀者點名「太中國 AI」),且沒有單一替換詞——依語境分開改:驗證判準→驗證標準|五級判準→五級對照|歸納之判準→歸納而得|判準出自→分級方式出自|授信判準→授信準則(台⋯writing.md「台灣人話(借鏡 speak-human-tw)」
「腳本」不作類別名三分法並列時用自動化程式(英文仍掛 SCRIPT),指稱具體某一支時用程式。writing.md「台灣人話(借鏡 speak-human-tw)」
數字與事實定價、百分比、日期、指標逐字保留;writing.md「台灣人話(借鏡 speak-human-tw)」
專有名詞品牌/產品/單位/法規名不因「換句話說」被替換。writing.md「台灣人話(借鏡 speak-human-tw)」
法遵/承諾文字退費、免責、條款、金流制式語一字不漂,只調銜接語氣。writing.md「台灣人話(借鏡 speak-human-tw)」
原文引號引用他人文件時,引號內一字不動——書面語改寫、「把→將」、用語表替換都不進引號。writing.md「台灣人話(借鏡 speak-human-tw)」
幻覺引用沒出處的「研究顯示/專家指出」補真來源或刪。writing.md「台灣人話(借鏡 speak-human-tw)」
立場真空只鋪陳不表態=沒講完。writing.md「台灣人話(借鏡 speak-human-tw)」
空洞收尾「這值得我們深思/未來可期」改成具體下一步。writing.md「台灣人話(借鏡 speak-human-tw)」
通用積極結論/過度限定別「整體而言成效良好」墊檔;writing.md「台灣人話(借鏡 speak-human-tw)」
否定平行「不是 A,而是 B」全份 ≤1 次;writing.md「台灣人話(借鏡 speak-human-tw)」
空想對手反駁沒人提出的主張(「不宜只聚焦⋯」「切勿盲目⋯」);writing.md「台灣人話(借鏡 speak-human-tw)」
版面節制破折號、粗體、驚嘆號少用;writing.md「台灣人話(借鏡 speak-human-tw)」

版面判斷22 條

design.md 的條目、粗體標籤與規則表(按節取:ref.py doc design <標題>)

名稱類名/鍵/指令做什麼出處
簡報的精神管前兩層,HTML 的優勢管第三層。第三層(白話、收合、非預設頁籤、就地展開)不上紙, 所以主張與數字不得放在第三層(present.md「列印印什麼」)。design.md「總綱:表層是簡報,深層是文件」
一頁一問,三秒可讀。遮住標題與主角以外的一切,讀者仍說得出這頁的主張,才算過關(人工)。design.md「簡報的精神:留下來的九件事」
視線路徑固定。眉標 → 標題 → 結論列 → 主角 → 證據 → 來源,由上而下、由左而右。design.md「簡報的精神:留下來的九件事」
母片位置恆定,翻頁不跳。標題、結論列、頁尾在每一頁同一個位置,這是簡報「翻頁感」的來源。design.md「簡報的精神:留下來的九件事」
16:9 是橫幅:序列橫排,兩軸才用矩陣。時程、階段、章節這類「序列」由左而右排;design.md「簡報的精神:留下來的九件事」
留白要落在對的地方。可以空在版心四周、區塊之間、主角周圍;design.md「簡報的精神:留下來的九件事」
讀者永遠知道自己在哪。眉標「NN · 章名」、頂端章節頁籤、右側圓點「頁碼-標籤」、 章節頁的章節地圖、議程——五處講的是同一條路線:議程預告、章節頁兌現、眉標逐頁提醒。design.md「簡報的精神:留下來的九件事」
主角要大一個量級,而且只有一個。字階拉開層級:內文 12pt → 小重點 16pt → 關鍵句 .lv-k 20pt → 主角 (components.md「字階」)。design.md「簡報的精神:留下來的九件事」
容器要有理由。卡片是「這一塊自成一體、要跟隔壁分開」的訊號,不是排版的預設單位。design.md「簡報的精神:留下來的九件事」
寬度跟內容走,線取代面。容器不該比內容寬:4 欄短字的表格撐滿 16:9,每一格都是一大片 空白,眼睛要橫跨半個版面才讀完一列。design.md「簡報的精神:留下來的九件事」
一份檔、四種載體。cqh 等比縮放讓版面只需設計一次;design.md「HTML 的優勢:拿來用的八件事」
真文字。可搜尋、可複製、可匯出 Markdown 批註回寫、可縮放、讀屏軟體讀得到。design.md「HTML 的優勢:拿來用的八件事」
分層揭露。三分鐘層用 .tip 白話、details 收合、頁籤、.jump 膠囊去附錄。design.md「HTML 的優勢:拿來用的八件事」
非線性導覽。講的時候是線性的,問答與自讀時是跳著看的:議程點一下跳到該章、章節地圖點一下 跳到別章、膠囊來回附錄、圓點與章節頁籤直達任一頁。design.md「HTML 的優勢:拿來用的八件事」
講者的游標就是雷射筆。引擎自動做:表格列、對照列、檢核列、卡、格、流程格滑過即亮,大表另加同欄 (閱讀態淡藍;簡報態一律講者綠,只加亮目標、不壓暗其他內容),寫 deck 不必動;design.md「HTML 的優勢:拿來用的八件事」
兩態契約:閱讀態動態只做定位;簡報態可以揭露⋯寫法與寫 deck 要守的三條鐵則見 present.md「兩態契約」。design.md「HTML 的優勢:拿來用的八件事」
狀態不落地。不用 localStorage/sessionStorage,一切狀態只在這次開啟。design.md「HTML 的優勢:拿來用的八件事」
手機=縮小的原版,像看 PDF。小螢幕(直立、橫擺、矮視窗)每張投影片固定用 1280×720 排版、再整張等比縮到螢幕寬: 不重排、不跑版,版面與列印同一份;design.md「HTML 的優勢:拿來用的八件事」
三秒層讀者花多久:翻到這頁的第一眼;放什麼:主張+主角;承載元件:title、.hero/.hot 卡/圖表本身design.md「總綱:表層是簡報,深層是文件」
三十秒層讀者花多久:停下來讀;放什麼:證據與機制;承載元件:bluf、分區、卡、列、表design.md「總綱:表層是簡報,深層是文件」
三分鐘層讀者花多久:想追問的人;放什麼:定義、明細、出處、附錄;承載元件:.tip、details、頁籤、.jump 膠囊design.md「總綱:表層是簡報,深層是文件」
滿版組合components.md §三六種容量上限實測過的頁型:要素+風險、三卡分流、檢核+雙卡、格+列+註、評述對照、表格+列點spec_extra.md〔doc:components.md「滿版組合」〕

品牌39 條

brand.md 的條目、粗體標籤與規則表(按節取:ref.py doc brand <標題>)

名稱類名/鍵/指令做什麼出處
LOGO 鐵則相對位置不可動;brand.md「品牌外框(母片 33.87 × 19.05 cm)」
語意第三色(僅語意,禁裝飾)規則: 1. 中性色佔約七成;brand.md「官方色與色彩規則」
中性色佔約七成中性色佔約七成;brand.md「官方色與色彩規則」
表面用 6–8% 淡化表面用 6–8% 淡化;brand.md「官方色與色彩規則」
小字級紅一律 --brand-deep小字級紅一律 --brand-deep。brand.md「官方色與色彩規則」
紅藍不可大面積相鄰紅藍不可大面積相鄰;brand.md「官方色與色彩規則」
封底用深藍反白頁封底用深藍反白頁。brand.md「官方色與色彩規則」
強化=關鍵字上色(.k/.kb)或淡底(…強化=關鍵字上色(.k/.kb)或淡底(.mark);brand.md「官方色與色彩規則」
第三色只給既定語意(漲跌/達成率/風險/狀態燈⋯第三色只給既定語意(漲跌/達成率/風險/狀態燈),全檔一致:漲紅跌綠(台灣慣例)。brand.md「官方色與色彩規則」
色盲友善不設門檻(狀態一律「顏色+文字」雙標)色盲友善不設門檻(狀態一律「顏色+文字」雙標)。brand.md「官方色與色彩規則」
點每頁只有一點,永遠在橫的右端上方、角對角(logo 橫桿右端那一點的關係)。brand.md「筆畫母題:點・橫折・圓」
橫折(內容頁標題列).head 之上一橫(2.6em × M),左端折下一豎托住眉標與標題、長度隨標題行數;brand.md「筆畫母題:點・橫折・圓」
橫(結構頁)章節頁與封底在標題之上寫一橫,長度=標題寬的 5/8(.tt 包住橫與標題);brand.md「筆畫母題:點・橫折・圓」
圓(錢幣)章節頁與封底疊一枚 110cqh 的圓(淺面紅 5.5%/深面白 4%)與同心髮絲外郭(1.06×), 一律右上出血,永遠不壓字、不壓右下角 logo。brand.md「筆畫母題:點・橫折・圓」
封面(置中版式):角落線組改模組構成——紅桿 6cqw × M(M=.8cqh),桿端右上一格,藍細線、灰髮線 右緣對齊紅桿、長度依 5:8 遞進(6 → 9.6 → 15.4cqw⋯brand.md「筆畫母題:點・橫折・圓」
網格指紋cover/divider/closing 疊近隱形網格(淺面 2.5% 墨、深面 3% 白),格=9M=7.2cqh (一枚錢幣的直徑,封面 logo 的圓正好一格);brand.md「筆畫母題:點・橫折・圓」
禁區不重組 logo 的三個勾與方塊(那是「永」字,重組即寫壞字);brand.md「自畫裝飾的禁區」
第三方品牌提及第三方品牌時預設「全名文字+官方色圓點」;brand.md「自畫裝飾的禁區」
LOGO(內頁)規格:右下角;右緣 ~97%、底部 ~95–97% 高度帶;寬 ≤ 版面寬 21%(範本 ~8%)brand.md「品牌外框(母片 33.87 × 19.05 cm)」
LOGO(封面)規格:左上角;寬 ≤ 版面寬 ~18%brand.md「品牌外框(母片 33.87 × 19.05 cm)」
品牌標語規格:左下「翻轉金融 共創美好生活 Together, a better life.」;寬版一行、手機拆兩行brand.md「品牌外框(母片 33.87 × 19.05 cm)」
頁碼規格:最左下小方框 chip;只放數字(01、02…,不加總頁數/斜線)brand.md「品牌外框(母片 33.87 × 19.05 cm)」
LOGO(封底)規格:左上白底座,與封面 logo 同位;尺寸同封面上限brand.md「品牌外框(母片 33.87 × 19.05 cm)」
標題筆畫規格:標題之上一橫(2.6em × .32em)、橫端右上一點、橫左端折下一豎托住眉標與標題;落在頂部 3–16% 高度帶brand.md「品牌外框(母片 33.87 × 19.05 cm)」
--brand色值:#D03238;角色:官方紅=行動/強調/招牌筆畫(點、橫、章)brand.md「官方色與色彩規則」
--brand-deep色值:#A82329;角色:深一階紅:小字級紅、hoverbrand.md「官方色與色彩規則」
--brand-soft / --brand-⋯色值:#E58B8F / #FBE9EA;角色:紅的淡化brand.md「官方色與色彩規則」
--blue色值:#003F98;角色:官方藍=結構/輔助/現況brand.md「官方色與色彩規則」
--blue-soft / --blue-bg色值:#3A63AC / #E8EDF7;角色:藍的淡化brand.md「官方色與色彩規則」
--canvas色值:#0B1322;角色:頁面畫布brand.md「官方色與色彩規則」
--paper 系色值:#EDF0F4…;角色:卡片紙面brand.md「官方色與色彩規則」
--up / --up-bg色值:#B3282E / #FDECEC;語意:漲(紅)brand.md「官方色與色彩規則」
--dn / --dn-bg色值:#2E7A57 / #E6F2EA;語意:跌(綠)brand.md「官方色與色彩規則」
--ok / --ok-bg色值:#2E7A57 / #E6F2EA;語意:達成/正常brand.md「官方色與色彩規則」
--warn / --warn-bg色值:#8A5A00 / #FDF3E1;語意:注意/風險中brand.md「官方色與色彩規則」
--bad / --bad-bg色值:#B3282E / #FDECEC;語意:未達/風險高brand.md「官方色與色彩規則」
筆畫模組 MM = .32em品牌筆畫的統一粗細(約等於封面 LOGO 的筆畫);方塊邊長=桿厚=間隙spec_extra.md〔doc:brand.md「筆畫母題」〕
陰影色相rgba(4,10,22,…)/rgba(11,19,34,…)陰影一律取畫布的藍黑色相、不用純黑:深畫布與淺面元素各一組spec_extra.md〔grep:references/brand.md:rgba(4,10,22〕
畫布底噪點紋理body::before投影片外圍的深畫布疊一層極淡的噪點紋理,大面積純色才不顯得平板spec_extra.md〔grep:assets/template.html:feTurbulence〕

簡報態與互動32 條

present.md 的條目、粗體標籤與規則表(按節取:ref.py doc present <標題>)

名稱類名/鍵/指令做什麼出處
匯出 Markdown 的自訂元件引擎內建的元件都會轉;present.md「作者要寫的互動(總覽)」
鐵則(寫 deck 時要守的四條)1. 三秒層永遠在:結論列、標題、眉標不掛步驟(lint ✗;這幾層是槽位,只有圍欄裡自己寫了同名類名時碰得到);present.md「兩態契約」
三秒層永遠在結論列、標題、眉標不掛步驟(lint ✗;這幾層是槽位,只有圍欄裡自己寫了同名類名時碰得到);present.md「兩態契約」
步驟只換透明度與顏色屬性不改尺寸、位置、換行——measure_deck.js 量到的就是簡報態的版面,容量表一樣適用。present.md「兩態契約」
逐步頁留給真的要一步步講的頁超過全副三成 lint 出 △。present.md「兩態契約」
強調一律加在目標上不壓暗、不淡化其他內容(唯一例外是講者自己按的黑幕);present.md「兩態契約」
逐步揭示 data-step寫第幾步出現;present.md「簡報態才作用的寫法」
數字從基準值滾動 data-from+差額膠囊⋯(閱讀態也作用):數字從去年值滾到今年值(首次抵達時),滾完才淡入差額;present.md「閱讀態也作用的互動」
就地展開 popover(閱讀態也作用):點一下攤開預先寫好的小表或定義,點外面或 Esc 關。present.md「閱讀態也作用的互動」
狀態切換 data-switch(閱讀態也作用):同一組內容的幾種看法(金額/占比、表/圖、季度/年度/年初至今), 值由作者預先寫好、頁面不計算。present.md「閱讀態也作用的互動」
聯動(只在精準指標的螢幕,列印與觸控看不到;閱讀態也作用) 結論↔證據:結論列或內文寫 [ev=鍵]結論片語[/ev](圍欄內寫 <span class="ev" data-ev="⋯present.md「閱讀態也作用的互動」
<details> 收合(同一組寫同一個 na⋯讀者用途:附錄級細節不佔版面;Ctrl+F 搜得到;寫法:components.md「層級、強調與互動元件」的收合present.md「作者要寫的互動(總覽)」
就地展開 button.drill[popov⋯讀者用途:被追問時當場攤開拆解;寫法:本檔「就地展開」present.md「作者要寫的互動(總覽)」
狀態切換 [data-switch]+.sta⋯讀者用途:同一組數字換一種看法(金額/占比、表/圖、各時距);寫法:本檔「狀態切換」present.md「作者要寫的互動(總覽)」
結論↔證據 [ev=鍵]…[/ev]、表圖聯動⋯讀者用途:「這個結論從哪裡看出來」一滑就框出證據;寫法:本檔「聯動」present.md「作者要寫的互動(總覽)」
hover 白話 [tip=…]名詞[/tip⋯讀者用途:專有名詞白話;出處頁碼、案號這類後設資訊掛 .tip.s;寫法:什麼該掛 hover 見 design.md「分層揭露」表present.md「作者要寫的互動(總覽)」
跨頁膠囊 .jump+回程列 .note.xr⋯讀者用途:主文「附錄:頁名」去、附錄「回主文:頁名」回;build 自動對帳;寫法:revision-playbook.md「主文與附錄雙向互連」present.md「作者要寫的互動(總覽)」
頁內頁籤 [data-tabs]、一鍵複製 .⋯讀者用途:同區塊放多組平行內容;讀者直接取用文字段;寫法:components.md「頁內頁籤」present.md「作者要寫的互動(總覽)」
案件清單 hover data-cases(d⋯讀者用途:計數頁「這個數字是哪幾件」;寫法:python3 scripts/ref.py snippet data-casespresent.md「作者要寫的互動(總覽)」
數字從基準值滾動 data-from+差額膠囊⋯讀者用途:關鍵數字被看見;列印與匯出一律是最終值;寫法:本檔「數字從基準值滾動」present.md「作者要寫的互動(總覽)」
逐步揭示、逐段強調、逐列聚焦、講者備註(簡報態⋯讀者用途:講者控制節奏;寫法:本檔 §一–§二present.md「作者要寫的互動(總覽)」
誰在用閱讀態(預設):傳閱、手機、列印、截圖、measure_deck.js/export_pdf.js;簡報態:講者投影、Teams 分享present.md「兩態契約」
畫面閱讀態(預設):步驟全亮、沒有聚焦與釘住:步驟與聚焦類屬性(data-step、data-walk、data-focus、.stepmark 的逐段)不作用;data-from⋯present.md「兩態契約」
進出閱讀態(預設):開檔就是;簡報態:P、F5、網址 ?present 進入;P 或 Esc 離開,離開那一刻全部回到完整畫面;手機與小螢幕不提供present.md「兩態契約」
結論↔證據結論列或內文寫 [ev=鍵]結論片語[/ev](圍欄內寫 <span class="ev" data-ev="鍵">),滑過時本頁 data-k相同的元素鋪淡綠加綠框;present.md「閱讀態也作用的互動」
表圖聯動同一頁畫布裡 data-k 相同的元素一起鋪淡綠(其餘不淡化)——表列、格、文字、新舊制對應格都行;present.md「閱讀態也作用的互動」
同詞同數滑過掛 data-hl 的元素(值=要找的詞;空值取它自己的字),本頁同一個詞或數字用原生文字範圍標記標出,不改 DOM;present.md「閱讀態也作用的互動」
# custom-js 的覆蓋層掛 role=⋯引擎認得它——開著時翻頁與簡報態按鍵一律不作用、背後的頁不動,Esc 交給覆蓋層自己關(只關這一層、不連簡報態一起關);present.md「進出與自訂覆蓋層」
整副關閉簡報態: off;present.md「進出與自訂覆蓋層」
列印=閱讀態的開檔畫面紙本就是閱讀態打開檔案那一刻的畫面——頁籤只印開檔那一片(頁籤列照印、亮開檔那一顆);present.md「列印印什麼」
列印展開: on(個案才用)回到全展開——頁籤全部攤開並印出片名、收合全開(同名互斥組也全開)、.tip 轉括號(.tip.s 不轉)、沒寫 data-print 的切換並排、就地展開的浮層印到最後的補充頁⋯present.md「列印印什麼」
游標閒置隱藏、螢幕常亮.pm-idle;Wake Lock簡報態游標閒置自動隱藏;會議室久不碰電腦也不休眠(企業環境拒絕就靜默)spec_extra.md〔class:.pm-idle〕

交付與發布23 條

delivery.md 的條目、粗體標籤與規則表(按節取:ref.py doc delivery <標題>)

名稱類名/鍵/指令做什麼出處
講者備註預設也剝(note:):那是講者自己的講稿與預期問答,交付版不該帶著走;delivery.md「交付模式(`--ship`)」
絕不剝OFL 授權聲明(SIL OFL 1.1 要求隨散布保留)、產出標記四層、署名。delivery.md「交付模式(`--ship`)」
在哪裡開分支已安裝的 skill 目錄 ~/.claude/skills/sinopac-deck 是所有 session 共用的 main,永遠停在 main、只做 git pull。delivery.md「分支命名規則」
擋分支與 repo 狀態不是 deck/ 規則分支、content.md 在已安裝的 skill 目錄裡、HEAD 不在分支上、合併做到一半、 暫存區有 site/ 以外的改動,一律拒絕。delivery.md「每次交付」
完整驗收跑 verify.sh <content.md> [-o …] --ship,不帶 --quick:五檔視窗+手機兩檔+列印 export --check+交付版產出標記。delivery.md「每次交付」
再驗一次交付版不可以有 data-slot 屬性,也不可以有 EDIT-MAP;delivery.md「每次交付」
重建 site/先清空整個目錄再寫三個檔,deck 預覽網址上只會有這一副: 每個檔的上限是 25 MiB,超過就中止。delivery.md「每次交付」
commit site/先用 git add -f,比照 decks/ 的做法;delivery.md「每次交付」
維運版指令:build_deck.py content.md;用途:自己留著:改字、check_slots.py 對帳delivery.md「交付模式(`--ship`)」
交付版指令:build_deck.py content.md --ship(或 verify.sh content.md --ship);用途:實際寄出去的 _交付.html(自動命名⋯delivery.md「交付模式(`--ship`)」
✓ 各層齊備、指紋一致→ 未經改動的原版delivery.md「產出標記(provenance)」
△ 字型層在、HTML 層缺或不符→ 改過 HTML 但沒動字型:仍是本產線衍生物,而且「被改過」這件事本身已被記錄下來delivery.md「產出標記(provenance)」
✗ 完全找不到→ 不是本產線產出,或標記已被刻意清除delivery.md「產出標記(provenance)」
deck 分支的預覽網址只服務分支上 comm⋯。delivery.md「機制」
網址內容只在交付時改變平常改稿 push 不動 site/,網址還是上次發布的那一份。delivery.md「機制」
main 的正式網址 https://<專案>⋯Cloudflare build 時由 cf_build.sh 把 docs/ 組進 site/(設定與做法:MAINTAINING.md「發布:Cloudflare Pages⋯delivery.md「機制」
格式規則:deck/YYYYMMDD-<slug>,例 deck/20260928-branch-counterdelivery.md「分支命名規則」
日期規則:與 deck 檔名的日期相同:會議或交付日已定就用那天(# deck 的 日期:),沒定就用開工當天;decks/<YYYYMMDD_中文主題>/ 目錄名同一個日期delivery.md「分支命名規則」
slug規則:只用小寫英數,單字之間用單一 -,不以 - 開頭或結尾,最長 14 字元delivery.md「分支命名規則」
總長規則:分支名最長 28 字元(deck/+8 碼日期+- 已占 14)delivery.md「分支命名規則」
網址規則:分支名把 / 換成 -:https://deck-20260928-branch-counter.<專案>.pages.dev/delivery.md「分支命名規則」
中文名放哪規則:# deck 的 主題:(檔名與交付檔名都從這裡來)、decks/<YYYYMMDD_中文主題>/ 目錄名、storyline.md 檔頭(記一行「分支+預覽網址」)delivery.md「分支命名規則」
明體只嵌一個字重.k/em/.stmt/.quote/.serif明體語境全是 900;.serif 用在非 900 的語境會被合成字重spec_extra.md〔doc:delivery.md「明體強調字的子集化內嵌」〕

改版協作94 條

revision-playbook.md 的條目、粗體標籤與規則表(按節取:ref.py doc revision-playbook <標題>)

名稱類名/鍵/指令做什麼出處
引號慣例使用者加引號的片語=原文照換,不自行潤飾;revision-playbook.md「改版協作規則」
整篇同類掃描使用者點名一頁的問題,視為「一類問題」,全篇掃同類 (同一個詞、同一種句構、同一種版面毛病)。revision-playbook.md「改版協作規則」
口語需求撞到硬限制時,分級處理,不要自行代換阻斷級(會改語意、刪內容、動結構、或無法照字面實作):先停下來講清楚 「限制是什麼、為什麼擋住、有哪幾條路、每條犧牲什麼、建議哪一條」,等裁示再動手。revision-playbook.md「改版協作規則」
改對方真正要防的事使用者說「寫法很奇怪」時,先問清楚他要防的失效模式, 不要自己補一個聽起來合理的理由。revision-playbook.md「改版協作規則」
文字與 HTML 分開交付先確認文字稿,再組裝(同時處理兩者,其中一個品質必降)。revision-playbook.md「改版協作規則」
改版不覆蓋舊檔;版號改完要驗證 build 輸出。revision-playbook.md「改版協作規則」
回報改版結果用固定三級(沿用 lint_content.py/measure_deck.js 的符號,別自創 emoji—— 兩套符號並存會讓驗收單自相矛盾):✗ 必改(溢出/禁詞/事實錯,同工具的硬⋯revision-playbook.md「改版協作規則」
使用者說「看不懂」時,要補的是定義層,不是換句⋯。revision-playbook.md「改版協作規則」
每個逐頁要求都先問「這是不是通案」。revision-playbook.md「改版協作規則」
裁決要可覆核、可回退。revision-playbook.md「改版協作規則」
使用者給替換句時,先核事實再照換。revision-playbook.md「改版協作規則」
被打斷時先對照原指示,不補新論述。revision-playbook.md「改版協作規則」
「不重要」也是裁決。revision-playbook.md「改版協作規則」
回報時區分「照做了」與「我判斷了」。revision-playbook.md「改版協作規則」
使用者的批註從哪回來,就照那條管道回寫匯出 Markdown(引擎內建,右下輸出鈕):使用者在匯出的 .md 上直接改字或批註傳回。revision-playbook.md「改版協作規則」
保護清單只保護他人原文。revision-playbook.md「改版協作規則」
使用者嫌範例「虛幻、不實際」時,先自檢可取得性逐個指標問「現在有哪個資料來源」 「效果能不能與同期因素區分」,兩個答不出來就是虛幻的來源。revision-playbook.md「改版協作規則」
使用者嫌架構「太複雜」時,先依「誰用這個數字⋯同一使用者、同一頻率的層 併成一層(例:執行+接觸 → 活動層、行為+價值 → 往來層,五層收成三層),原本獨立的側線 改寫成機制而不是一層;revision-playbook.md「改版協作規則」
溢出處理的優先順序(按資訊損失小到大): ① 精煉贅語,讓兩行的列收成一行;revision-playbook.md「版面調整法則」
成塊空洞的處理順序(measure_deck.js 的 △ 卡內空洞/下半空置會點名): 引擎先處理一半——內容少的頁先升字級(彈性字級),.fill 不把有框的卡撐高,垂直節奏把餘裕分給區段之間⋯revision-playbook.md「版面調整法則」
板位平衡區段之間的呼吸感由垂直節奏自動放大(區段間距權重最高),不必再手寫 .seg+.seg 的 margin-top;revision-playbook.md「版面調整法則」
頁籤各片要有不同的資訊軸。revision-playbook.md「版面調整法則」
能用一個視覺標記表達的維度,不另開一片。revision-playbook.md「版面調整法則」
能力邊界獨立一片,不混進分類表。revision-playbook.md「版面調整法則」
△ 中文排版與並排不對稱的處理法三種都改字、不動版面。revision-playbook.md「版面調整法則」
螢幕幾何的唯一可信來源是 `node scri⋯(bash scripts/verify.sh content.md 會跑;本條是這件事的真相源, 其他檔只寫一句並指到這裡):逐頁捲動觸發動畫 → fx-off 凍結 → 三道⋯revision-playbook.md「長簡報驗收(8 頁以上)」
多視窗掃描measure_deck.js 預設五檔(2560×1440 → 1100×620),逐頁溢出應為 0。revision-playbook.md「長簡報驗收(8 頁以上)」
頁籤頁逐片量測measure_deck.js 每個視窗在整頁量測後,逐一把所有 [data-tabs] 切到第 2、3⋯片 再跑三道探測,溢出訊息標「頁籤第 k 片」——只量 .on 那一片等⋯revision-playbook.md「長簡報驗收(8 頁以上)」
引擎本身的現象要先用原廠範例定基準,再判定是不⋯量到可疑的溢出或警告時, 同環境 build 一次 references/content-example.md 做對照——對照樣本也有=引擎層,不列缺陷、 也不要為它改內容(改了⋯revision-playbook.md「長簡報驗收(8 頁以上)」
頁籤頁的列印預設列印=開檔畫面(present.md「列印印什麼」),頁籤只印開檔那一片,不會因為攤開而溢出;revision-playbook.md「長簡報驗收(8 頁以上)」
數據型 deck 附一支對帳腳本把 content.md 上每個數字——結論列、卡片 .n、封底 sub、 note、hover 分組的筆數——對回原始資料,一項一斷言(EXPECT = {'名稱': (算式,⋯revision-playbook.md「長簡報驗收(8 頁以上)」
# custom-css 的內容必須寫在 `…# custom-css 的內容必須寫在 ` css `` 圍籬之內;revision-playbook.md「工具層踩雷(靜默失效清單)」
`htmlhtml: 圍欄是原始 HTML,不經行內標記轉換:[br] 會被印成字面文字,要直接寫 <br>。revision-playbook.md「工具層踩雷(靜默失效清單)」
批次重編頁碼=一張映射表跑一趟頁首(## pNN)、錨點(href="#pNN")、 膠囊文字(>pNN<)、導覽標籤(<i>PNN</i>)全部經過同一個映射函式, 映射跑完才插入新頁。revision-playbook.md「工具層踩雷(靜默失效清單)」
正文放結論、附錄放細節;revision-playbook.md「附錄頁通案」
主文改版後,附錄要做一致性掃描附錄裡「已納入主文 pNN」的宣稱要重驗 (主文那頁可能已經改掉了);revision-playbook.md「附錄頁通案」
主文與附錄雙向互連去程放在主文相關段落,回程統一置於附錄區段標題右上角;revision-playbook.md「附錄頁通案」
主文精簡、其餘進附錄,是主管版的預設改版方向。revision-playbook.md「附錄頁通案」
附錄第一頁放主文直接指向的那張表。revision-playbook.md「附錄頁通案」
主文與附錄分母不同時,附錄自己標分母,主文不替⋯。revision-playbook.md「附錄頁通案」
方法論 deck:主文放方法,風險警示與說服論⋯。revision-playbook.md「附錄頁通案」
兩章以上就放章節隔頁。revision-playbook.md「結構通案」
右側圓點的提示要能自己定位提示用「頁碼-標籤」(21-六類任務),同時回答「這是什麼」與 「跳過去要滑多遠」。revision-playbook.md「結構通案」
母片 chrome 不遮內容deck 自訂的浮動元件收起來、放右下、不壓內文(引擎的輸出鈕就是這樣收成右下單一鈕)。revision-playbook.md「結構通案」
分類要做窮盡性自檢使用者補一類時,不要補完那一類就收工——把整個分類軸再走一遍問「還缺哪一格」。revision-playbook.md「結構通案」
跨 deck 重用素材要連來源一起搬沿用另一副的譯文或表格時, src 的一手來源同時複製過來,不要只搬中譯。revision-playbook.md「結構通案」
章節頁的寫法dt 章名 ≤8 字、dx 寫本章要回答的問題(書面問句),不寫本章摘要。revision-playbook.md「結構通案」
分母分層,寫成口徑表(writing.md「多個分母要有口徑表」):填報總數(含平台能力請求)→ 納入分析 (扣除純平台請求)→ 業務應用場景(再扣除唯一輸入為紙本影像或語音等目前無解者)。revision-playbook.md「需求盤點類簡報通案」
判定分兩層,互不換算第一層「能不能開始做」=外部限制(個資遮罩、資料介接、 工具是否開放)的聯集,答受限/可執行;revision-playbook.md「需求盤點類簡報通案」
既有能力已涵蓋者靜默扣除連接器已上架(Outlook、SharePoint)、套件確定開放 (Playwright)所涵蓋的需求不列缺口,頁面上也不寫「已由 X 處理」——那是分析過程 (writing⋯revision-playbook.md「需求盤點類簡報通案」
缺口認定取表單的「必須具備」,期望具備另計,兩者在附錄同一張表並列;revision-playbook.md「需求盤點類簡報通案」
敘述型,不下建議主管版只陳述數字、性質與集中處,不寫「建議優先」「應」「宜」;revision-playbook.md「需求盤點類簡報通案」
判定名詞要對讀者的語境解禁槓桿寫產品名(Playwright 取得網頁內容,不寫「外部網頁」—— 行內站台也是網頁);revision-playbook.md「需求盤點類簡報通案」
表單沒問到的能力另立一格盤點表未涵蓋的平台事項(掃描件辨識)與單位提的平台能力提案, 在附錄同一個框架內條列,不與有數據的缺口表混排,也不把已被涵蓋的類別(網頁內容讀取、 寄送與通知)列進去湊數。revision-playbook.md「需求盤點類簡報通案」
這類 deck 的用語(主管點名過):去重→不重複計(集合扣除重複)| 掩碼→遮罩|受阻→受限(可執行性語境)|可行→可執行(能否開始做那一軸; 「可行性評估」屬本義)|企業 ID→依原始表單欄名(如⋯revision-playbook.md「需求盤點類簡報通案」
場合是討論而非核示、或評述他人文件的簡報,S0 就讀:storyline 檔頭先寫明場合, S1 起整副照這節寫——寫完才改場合,等於全篇重寫。revision-playbook.md「討論/評述類簡報通案」
速查(細則在後面各條) 1. 中性決策點:只陳述現況與文件主張、點出決策點。revision-playbook.md「討論/評述類簡報通案」
中性決策點只陳述現況與文件主張、點出決策點。revision-playbook.md「討論/評述類簡報通案」
場合用詞純討論場合刪掉「核示/裁示/委員會/請示」,改用「討論/待討論」;revision-playbook.md「討論/評述類簡報通案」
讀者前提決定密度storyline 檔頭記「讀者讀過原件沒有」。revision-playbook.md「討論/評述類簡報通案」
評述他人文件的隔離提案者身分、與我方的利害關係、我方幕僚角色只放 deck 目錄的 CONTEXT.md,交付文件統一稱「提案者」「本文件」。revision-playbook.md「討論/評述類簡報通案」
原文引用引號內一字不動(writing.md「保護清單(改寫時圈起來、一字不動)」);revision-playbook.md「討論/評述類簡報通案」
出處只掛 hover文件頁碼出處掛 .tip.s(引擎內建的淡樣式 tooltip),不寫進正文、小標或 備註,該類頁 src 整行不寫;revision-playbook.md「討論/評述類簡報通案」
方案比較頁各案共用同一組因子前置詞(writing.md「句式一致性與同層對稱」的跨卡同位),優缺數量對等 (各二優二缺);revision-playbook.md「討論/評述類簡報通案」
法遵、個資與姓名不寫「增列法遵窗口」「須先完成法遵評估」這類我方要求;revision-playbook.md「討論/評述類簡報通案」
封面與檔名押會議日期who 寫單位全稱(「金控總經理辦公室」,可附報告人), date 寫到日=會議日期;revision-playbook.md「討論/評述類簡報通案」
隨時迭代使用者每一則逐頁指示先問「是不是通案」(本檔「每個逐頁要求都先問」);revision-playbook.md「分支協作:隨時迭代、定版回灌 main」
定版回灌deck 定版(使用者說可以、或交付)那一輪,收尾前做完這三步才算完成: ① 逐條判斷 〔待回灌〕 的落點:文字規則 → references/writing.md|改版協作 →⋯revision-playbook.md「分支協作:隨時迭代、定版回灌 main」
deck 本身永不進 main合併的只有通案;revision-playbook.md「分支協作:隨時迭代、定版回灌 main」
回灌後回頭清下次開工先 merge main,舊 deck 在 # custom-css/# custom-js 自帶的同名片段可刪 (不刪也不衝突,但自帶版會蓋過引擎版,吃不到引擎之後的改⋯revision-playbook.md「分支協作:隨時迭代、定版回灌 main」
三種對位方式(同一份資料,三個方向)EDIT-MAP 每頁一列,slots 欄逐槽附行號;revision-playbook.md「改字對位與編輯地圖」
改字流程1. 正規:--where 找到行 → 改 content.md 那一行 → 重跑 build(或 verify)。revision-playbook.md「改字對位與編輯地圖」
正規正規:--where 找到行 → 改 content.md 那一行 → 重跑 build(或 verify)。revision-playbook.md「改字對位與編輯地圖」
急救單點急救單點:讀 EDIT-MAP → grep 'data-slot="p05.title"' → 只取代該節點;revision-playbook.md「改字對位與編輯地圖」
兩種都跑 `check_slots.py de⋯兩種都跑 check_slots.py deck.html content.md 對帳——它會連行號一起校驗, 行號整體漂掉(content.md 插刪過行但沒重組)會收斂成一則⋯revision-playbook.md「改字對位與編輯地圖」
阻斷級(會改語意、刪內容、動結構、或無法照字面實作):先停下來講清楚「限制是什麼、為什麼擋住、有哪幾條路、每條犧牲什麼、建議哪一條」,等裁示再動手。revision-playbook.md「改版協作規則」
措辭級(同義替換,不影響語意與結構):可以先做,但當場在該處標註,不留到最後總結才順帶一提。revision-playbook.md「改版協作規則」
匯出 Markdown(引擎內建,右下輸出鈕):使用者在匯出的 .md 上直接改字或批註傳回。revision-playbook.md「改版協作規則」
Heptabase 卡片批註一律寫在同一張卡片,不另開卡;revision-playbook.md「改版協作規則」
膠囊字寫頁名、不寫頁碼去程「附錄:九類來源」、回程「回主文:同業比較」(writing.md「製作語言不進成品」)。revision-playbook.md「附錄頁通案」
掛在哪去程掛在主文該段的 .sh .x 或 .note 句尾;revision-playbook.md「附錄頁通案」
一對多一張附錄表常被三頁主文指向,回程只連最主要的那一頁即可;revision-playbook.md「附錄頁通案」
附錄頁序照主文去程出現的順序(主文先指 KPI 風險、後指事件,附錄就照這個順序排),本節第 5 條「附錄第一頁放主文直接指向的那張表」是它的特例。revision-playbook.md「附錄頁通案」
build 自動對帳(build_deck.py):膠囊指向不存在的頁、附錄頁有主文連過來卻沒有任何回主文膠囊,都會出警告。revision-playbook.md「附錄頁通案」
附錄也是一章以一張 divider(dt: 附錄)起頭,引擎的章節頁籤就能直接跳到附錄;revision-playbook.md「結構通案」
結論列前置章討論/評述類的寫法:主文用「脈絡」、原文引用頁用「原文」;不掛「結論」「建議」(writing.md「結論先行(BLUF)」)revision-playbook.md「討論/評述類簡報通案」
句型討論/評述類的寫法:「文件規劃 X;Y 是否/為何」,收尾「⋯為本議題的決策點」;不附我方選項、不下評價、不用指示語氣revision-playbook.md「討論/評述類簡報通案」
.hot 語意討論/評述類的寫法:只標「須主管裁定」的那一列,不標我方偏好的那一案;片段裡的 .hot(階段、步驟、矩陣格;片段說明寫的是只標目前那一個)同樣守這條,標決策點所在的那一個revision-playbook.md「討論/評述類簡報通案」
密度討論/評述類的寫法:讀者沒讀過原件:每頁一段說明+三到四條討論列;讀過:現況三格+討論方向三列revision-playbook.md「討論/評述類簡報通案」
語體討論/評述類的寫法:書面語帶(writing.md「語體帶」)revision-playbook.md「討論/評述類簡報通案」
封面討論/評述類的寫法:who 寫單位全稱、date 寫到日=會議日期;# deck 寫 日期:revision-playbook.md「討論/評述類簡報通案」
槽位 → content.md 行做法:python3 scripts/build_deck.py content.md --where p05.bluf(也吃 --where p05 整頁、--where bl⋯revision-playbook.md「改字對位與編輯地圖」
HTML 節點 → content.md 行做法:讀 deck.html 檔頭 EDIT-MAP 該頁列,取 槽位@行號revision-playbook.md「改字對位與編輯地圖」
content.md → HTML 節點做法:grep 'data-slot="p05.title"' deck.htmlrevision-playbook.md「改字對位與編輯地圖」

元件寫法27 條

components.md 的條目、粗體標籤與規則表(按節取:ref.py doc components <標題>)

名稱類名/鍵/指令做什麼出處
圖例用色塊,不用文字色名「■ 解除後可執行 29 ■ 原先可執行 46」,不寫「灰=」「深紅=」。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
色義全副固定,記進 storyline灰=中性或現況(無影響/無需求/原先可執行)、 綠(引擎 --ok)=解除限制後可執行或達成、藍=次級(期望具備/中介資料庫)、 琥珀=部分受限、深紅=阻斷或必須。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
切片順序自 12 點順時鐘由重到輕(深紅→琥珀→綠→藍→灰),圖例順序與切片一致, 值為 0 的類別整段略過。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
兩群比較用兩張並列圓餅,不用內外環內外環讀者要先對照半徑才知道哪環是誰, 主管版一律拆成兩張,各自上方 .cl 標「銀行 25 案」「證券 50 案」。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
hover 明細(data-cases 案件…概覽頁與框架定義頁的第一層不掛;components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
圖旁文字卡(.cc 左圖右卡):右欄卡片 flex:1 1 auto,內容量不同時不強制等高;components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
.inner 字級是 cqh(綁 16:9 框高),所有元件尺寸都用 em,五種視窗等比縮放。components.md「容量模型」
內容區(.canvas)字級 12pt。components.md「容量模型」
結論列每多一行,內容預算少約 1.2 行單位資訊量大的頁把結論收 2 行。components.md「容量模型」
內文字級: 14 的 deck約可容 14–16 行單位、全寬一行約 61 字,成本表各項約乘 1.15。components.md「容量模型」
垂直節奏(預設 on):下表的成本是「不放大間距」時量的;components.md「容量模型」
彈性字級(預設 on,在垂直節奏之前求解):內容少的頁,引擎把內容區整區升到 13 或 14pt(小重點、關鍵句、數字跟著放大,層級不變),頁標題、結論列、來源註與頁尾不動;components.md「容量模型」
有框的卡寫 .g2/.g3/.g4.solid卡與卡要逐項比較(主卡的同位列,常配 .sync)、要用 .hot/.warn/.ok 的底色表態、或一塊內容本身有卡頭與關鍵句的完整結構,才加框(design.md「容器要有理⋯components.md「元件總表(類名+最小 DOM)」
.fill(撐滿到區段底):開放欄與含圖表的格撐滿(撐長的只是欄間髮絲線;圖要有高度),包在 .seg 裡也生效;components.md「元件總表(類名+最小 DOM)」
每列都寫到單行容量七成以上的長句組 → 可改⋯(實心藍標籤+灰底長條)。components.md「元件總表(類名+最小 DOM)」
預設輕量 → 一般情形components.md「元件總表(類名+最小 DOM)」
每列不到半行的短句組、≥5 列 → .lad.⋯(標籤|內文|標籤|內文),高度減半,或在行尾補一欄證據(數字、對照):components.md「元件總表(類名+最小 DOM)」
適用同一頁要並列 ≥4 類、每類細節超過一列的內容(層級、活動類型、風險、質疑、出處分組);components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
預設片放總覽或第一類;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
每片同一版型開頭一行 .blk-h 寫該類的判斷句,其下 .lad 明細,必要時一排格;components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
頁籤、切換等元件名不寫進正文(writing.md「製作語言不進成品」)。components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
驗收measure_deck.js 逐片量測(每片都量,溢出訊息標「頁籤第 k 片」);components.md「層級、強調與互動元件(成本除註明實量者皆估算)」
灰色中性切片一律不掛(原先可執行、可全程自動化、無影響、無需求),那是「沒事的」。components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
表格掛到格、不掛到列多欄計數表(必須具備/期望具備)每格各自掛,滑過哪格就只列那格;components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」
每 2–3 頁輪換一次視覺主角hero 大數字 → tb 表 → tl 時間軸 → 圖表 → 卡陣,交替使用。components.md「跨頁節奏(視覺主角差異化)」
章界必換;章內連 3 頁同型要是刻意的平行組同一章連用同型可接受的情形是「同一組東西逐頁攤開」(例:五個議題各一頁、同一版型),在 storyline 標明是平行組;components.md「跨頁節奏(視覺主角差異化)」
S0 就檢查storyline.md 的版型欄一路看下來,若出現 ≥3 連同型,回頭改敘事切法或換元件,不要等到 build 完才發現整副節奏平掉。components.md「跨頁節奏(視覺主角差異化)」

引擎與工具內部130 條

MAINTAINING.md 的條目、粗體標籤與規則表(按節取:ref.py doc MAINTAINING <標題>)

名稱類名/鍵/指令做什麼出處
16:9 框架(嚴禁加 max-width): .frame{aspect-ratio:16/9;width:min(100%,calc((100vh - 32px) * 16 / 9));c⋯MAINTAINING.md「引擎內部規格」
字級實作.inner{font-size:clamp(12px,2.6cqh,38px)}(1080p 全螢幕 1em ≈26px;列印母片框高 19.04cm,1em=0.495cm=⋯MAINTAINING.md「引擎內部規格」
彈性字級與垂直節奏的求解(對寫作的影響寫在 components.md「容量模型」): 彈性字級先求解:自然排版止於畫布 90% 以上的頁維持 12pt;MAINTAINING.md「引擎內部規格」
列印實作列印時 .slide/.frame 寫死 33.87cm × 19.04cm(高度留 0.1mm 捨入,免得多吐空白頁)、取消圓角陰影與 aspect-ratio,.frame⋯MAINTAINING.md「引擎內部規格」
講者綠光與只加亮不壓暗(本條是這組引擎規則的真相源):簡報態裡講者在指的地方一律用綠色——游標的講者指示、十字定位、同詞標示、 釘住、聚焦、證據、聯動都改綠,字維持墨色;MAINTAINING.md「引擎內部規格」
引擎自動做的事(寫 deck 不必動;給人讀的說明從這裡取): 固定 chrome:右側圓點導覽(未看/已看/目前三態,提示「頁碼-標籤」)、頂端章節頁籤(≥2 張 divider 自動生成⋯MAINTAINING.md「引擎內部規格」
measure 的三道探測逐頁捲動觸發動畫 → fx-off 凍結 → 三道探測(容器自身、壓出底線、中層裝不下),三道缺一不可的理由與各種失效形態寫在工具檔頭, 改工具前先讀那段。MAINTAINING.md「驗收工具內部」
measure 的 △ 門檻(只在 1920 檔印、不影響離開碼;前六列以兩位稽核 223 個內容頁的逐頁判定校正,括號內是對那份判定的 precision/recall; 墨跡=文字行框+圖形+色塊,被⋯MAINTAINING.md「驗收工具內部」
行單位成本的量法(components.md「各元件的行單位成本」的數字從這裡來):1920×1080、垂直節奏: off+彈性字級: off(自然排版、12pt), 量單列網格(或單一 .lv⋯MAINTAINING.md「驗收工具內部」
export 與 check_presentexport_pdf.js --check 以同一組三道探測在 print media 跑(scroll:1/寬表不豁免),另查水平撐出、頁數=投影片+僅列印頁 (補充頁、分身頁⋯MAINTAINING.md「驗收工具內部」
代理環境Playwright 內建 Chromium 與版本不符時用 PW_CHROMIUM=/opt/pw-browsers/chromium 指定執行檔,不要 playwright⋯MAINTAINING.md「驗收工具內部」
唯一真相源(改規則時只改這一處,其他檔只准一句+指向)MAINTAINING.md「規格文件的寫法與唯一真相源」
錨點與引用每節、每條以標題文字當查法鍵(ref.py doc writing 孤字);MAINTAINING.md「規格文件的寫法與唯一真相源」
寫法一條規則=做法+必要的條件;MAINTAINING.md「規格文件的寫法與唯一真相源」
詞表擴充(cn-terms.json、STYLE_MAP): 擴充前先讀 cn-terms.json 的 _allow_doc:中文沒有詞界,子字串比對會跨詞邊界誤判(「取用文字段落」被⋯MAINTAINING.md「規格文件的寫法與唯一真相源」
審回灌時優先看的片段(修飾引擎元件、各副都可能用到;收不收照回灌門檻,收之前照片段貼): 問答階梯 .lad.qa、方塊標籤 .lad.qlab、列帶三段 .lad.tri:都是 .lad 的變體⋯MAINTAINING.md「回灌審查」
剝除--ship 剝 data-slot、EDIT-MAP、引擎註解與講者備註(黃金樣本約省 14KB,大部分是註解),剝完逐項斷言 OFL、標記四層、署名還在, 少一樣直接中止 b⋯MAINTAINING.md「交付與產出標記內部」
產出標記的四層(署名 chunhua+build 指紋,四個「移除路徑互不相同」的位置):MAINTAINING.md「交付與產出標記內部」
明體子集內嵌build 掃出明體語境(.k/em/.stmt/.quote/.serif,以及 custom-css 裡用 --font-serif 的類名)實際用到的字, 從 assets⋯MAINTAINING.md「交付與產出標記內部」
main 的 site/ 與 .gitigno⋯main 本身是 Pages 的 production branch,部署到 https://<專案>.pages.dev/,這個正式網址放給人讀的說明文件(§八),不放簡報。MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
Cloudflare 的 build(scri⋯build command 填 bash scripts/cf_build.sh。MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
一次性設定(使用者在 dash.cloudflare.com 做,只做一次;前提:site/、publish.sh、cf_build.sh 已在 main。按鈕名稱以官方文件當下的寫法為準⋯MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
建專案左側 Workers & Pages → Create application → Pages 分頁 → Connect to Git(有些版本叫 Import an exist⋯MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
授權 GitHub安裝 Cloudflare Workers & Pages GitHub App;MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
選 repo,按 Begin setup,逐欄填: 按 Save and Deploy,第一次部署的是 main,網址打開會看到說明文件的總入口。MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
分支控制Settings → Builds & deployments(新版叫 Settings → Build)→ Branch control:Production branch 維⋯MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
Build watch paths(Settings → Build → Build watch paths):Include paths 填 site/*, docs/*.html, scripts/cf_bu⋯MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
(選)Access預覽網址預設公開。MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
專案已經建好、要改設定build command 在 Settings → Build → Build configuration(舊版叫 Build & deployments → Build co⋯MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
限制單檔 25 MiB;MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
重組bash docs/src/build_docs.sh。MAINTAINING.md「改了引擎或文件後怎麼重組 docs」
看導覽要不要改python3 scripts/check_docs.py。MAINTAINING.md「改了引擎或文件後怎麼重組 docs」
規格全表的人寫補充gen_spec.py 檢查 spec_extra.md 每一條綁的存在性檢查(類名、檔頭鍵、檔、標題、字串),講的東西已不存在就 ✗、不產出: 刪掉或改寫那一條。MAINTAINING.md「改了引擎或文件後怎麼重組 docs」
commitdocs/*.html、docs/src/cited.json 跟著改動一起 commit。MAINTAINING.md「改了引擎或文件後怎麼重組 docs」
會撞到的上限一副投影片最多 99 頁(頁碼兩位數)。MAINTAINING.md「改了引擎或文件後怎麼重組 docs」
SKILL.md用途:做 deck 的 runbook:鐵則、開工、流程、查法(Skill 工具注入)MAINTAINING.md「檔案地圖」
CLAUDE.md用途:repo 守則:讀者分流、分支/發布/回灌門檻/commit 鐵則(每個 repo session 自動載入)MAINTAINING.md「檔案地圖」
MAINTAINING.md用途:本檔MAINTAINING.md「檔案地圖」
README.md用途:給人看的 GitHub 首頁(AI 不讀)MAINTAINING.md「檔案地圖」
references/writing.md用途:文字規格:結論列、標題句式、槽位句式、孤字與兩端對齊的寫法、同層對稱、語言禁則、查證、製作語言、台灣用語與語體帶、示範稿MAINTAINING.md「檔案地圖」
references/components.md用途:字階、容量模型與行單位成本、元件類名與最小 DOM、圖表頁通案、滿版組合、跨頁節奏、個案定版MAINTAINING.md「檔案地圖」
references/design.md用途:版面判斷:三層資訊分工、簡報的精神九件事、HTML 的優勢八件事(hover 放哪)、大會場字級MAINTAINING.md「檔案地圖」
references/present.md用途:作者要寫的互動總覽、兩態契約、簡報態寫法、閱讀態互動、自訂覆蓋層、列印印什麼(列印規則的真相源)MAINTAINING.md「檔案地圖」
references/brand.md用途:品牌外框、官方色與色彩規則、筆畫母題、自畫裝飾禁區、第三方品牌MAINTAINING.md「檔案地圖」
references/delivery.md用途:交付版 --ship、產出標記判讀、明體內嵌、分支預覽發布(命名、publish.sh)MAINTAINING.md「檔案地圖」
references/revision-pla⋯用途:改版協作、版面調整、長簡報驗收、靜默失效、附錄、結構、需求盤點類、討論評述類、分支協作與回灌、改字對位MAINTAINING.md「檔案地圖」
references/snippets.md用途:通用片段庫:版面片段(依功能分十類)、ECharts 圖表範例(共用 ecFit)、互動片段;貼 blank 圍欄、不進引擎(ref.py snippet|chart)MAINTAINING.md「檔案地圖」
references/layout-catal⋯用途:排法型錄:依「這一頁要回答的問題」分十組,每條指到元件、片段或圖表範例(ref.py layout)MAINTAINING.md「檔案地圖」
references/content-exam⋯用途:黃金樣本=元件包使用手冊(21 頁四章,build 零警告;selftest 的測試資料;ref.py example)MAINTAINING.md「檔案地圖」
references/cn-terms.json用途:中國用語詞表:block=✗ 硬擋、warn=△ 提醒、allow=跨詞邊界誤判白名單MAINTAINING.md「檔案地圖」
context/quotes.md why.m⋯用途:脈絡歸檔:使用者原話、為什麼與實測、否決與暫不做、沿革、研究依據(ref.py ctx;做 deck 不讀)MAINTAINING.md「檔案地圖」
scripts/build_deck.py用途:content.md → deck.html 組裝器(--list/--schema/--check/--where/--ship/--no-embed-font);字數帶⋯MAINTAINING.md「檔案地圖」
scripts/lint_content.py用途:格式+字數+行數+禁詞+商務用語(STYLE_MAP)+中國用語檢查(含 html: 圍欄正文)MAINTAINING.md「檔案地圖」
scripts/verify.sh用途:一鍵驗收:lint → build → check_slots → check_mark → measure →(必要時)export --check,印 ✗/△ 摘要與下⋯MAINTAINING.md「檔案地圖」
scripts/measure_deck.js用途:螢幕幾何驗收:五檔視窗三道溢出探測、同組不齊、留白與層級 △、中文排版 △、○ 彈性字級、手機兩檔、頁籤與切換逐片量測MAINTAINING.md「檔案地圖」
scripts/export_pdf.js用途:無人值守匯出 PDF+列印驗收:三道探測改在 print media 跑、水平撐出、頁數核對、圖表「大螢幕直接按列印」MAINTAINING.md「檔案地圖」
scripts/check_present.js用途:簡報態與列印模式驗收:簡報到半途印的 PDF 與閱讀態逐頁點陣比對、列印=開檔畫面、按鍵守門、減少動態、hover 只在 screenMAINTAINING.md「檔案地圖」
scripts/shots.js用途:人工檢查用:每頁 1920 截圖+拼圖;--walk 進簡報態逐步截圖MAINTAINING.md「檔案地圖」
scripts/check_slots.py用途:deck.html ↔ content.md 的 slot 與 EDIT-MAP 行號對帳MAINTAINING.md「檔案地圖」
scripts/check_mark.py用途:產出標記驗證:四層署名與 build 指紋MAINTAINING.md「檔案地圖」
scripts/check_refs.py用途:文件交叉引用對帳:節號寫法(writing.md §四之二.7)與標題寫法(writing.md「孤字靠改寫」)每一處都要指得到MAINTAINING.md「檔案地圖」
scripts/check_snippets.⋯用途:片段庫守門:標籤成對、類名不撞引擎、data-shape、hover 包 screen、版面片段不寫死色碼與 pxMAINTAINING.md「檔案地圖」
scripts/check_docs.py用途:導覽的引用指紋:docs/src/01_導覽.md 每頁依據的節改過就 △、對不到就 ✗;--accept 更新 docs/src/cited.jsonMAINTAINING.md「檔案地圖」
scripts/check_sync.py用途:抄在兩處的規則逐字一致:溢出探測核心與門檻、小螢幕判定、字數與容量常數 ↔ 模板與 components.mdMAINTAINING.md「檔案地圖」
scripts/ref.py、scripts/⋯用途:按名查詢:規格文件按節取、黃金樣本按頁取、脈絡條目、片段與排法只取一段;_docmap.py 是 ref.py 與 check_refs 共用的節與條解析MAINTAINING.md「檔案地圖」
scripts/_editmap.js用途:measure/export 共用:讀 EDIT-MAP,溢出訊息接上 content.md 行號MAINTAINING.md「檔案地圖」
scripts/publish.sh用途:分支預覽發布:擋分支 → verify.sh --ship → 寫 site/ → commit(不 push)MAINTAINING.md「檔案地圖」
scripts/cf_build.sh用途:Cloudflare Pages 的 build command:main 把 docs/ 組成 site/(正式網址放說明文件),deck 分支不動 site/(§七)MAINTAINING.md「檔案地圖」
scripts/selftest.sh用途:npm test:黃金樣本的完整驗收鏈,加 docs 重組比對(§十)MAINTAINING.md「檔案地圖」
scripts/test_cn_terms.py用途:詞表誤判守門測試MAINTAINING.md「檔案地圖」
scripts/make_font_subse⋯用途:一次性:產生 assets/serif-black.seed.woff2 種子字集MAINTAINING.md「檔案地圖」
assets/template.html用途:引擎+元件包樣式(logo 資產在檔尾 style#brand-assets,勿整檔讀入)MAINTAINING.md「檔案地圖」
assets/serif-black.seed⋯用途:明體種子字集(Noto Serif TC Black/Big5 一級常用字)與它的 SIL OFL 1.1 授權全文(須隨產出散布)MAINTAINING.md「檔案地圖」
docs/、docs/src/用途:給人讀的說明(獨立 HTML,§八);docs/src/ 是原稿、產生器、build_docs.sh、cited.json、spec_extra.mdMAINTAINING.md「檔案地圖」
site/、.pages-project、.g⋯用途:Pages 輸出目錄(git 裡 main 只有佔位頁與 _headers)、Pages 專案名、site/** -mergeMAINTAINING.md「檔案地圖」
.gitignore用途:decks/、site/*(放行 main 的兩檔)、*.pdf、node_modulesMAINTAINING.md「檔案地圖」
requirements.txt用途:選用 Python 依賴(fonttools[woff],只影響明體內嵌)MAINTAINING.md「檔案地圖」
右側空置門檻:某一區墨跡只用到左側 <60% 寬;常見成因:短節點直排(時間軸、步驟、收合清單單獨一欄);先做:.tl.h/.flow/.g2 拆兩欄,或 .split 並列主角MAINTAINING.md「驗收工具內部」
卡內空洞門檻:卡或格(含 deck 自訂的卡形盒)墨跡 <70% 內容高(hero <45%)且空 ≥4em;開放欄的欄沒有框,不算;另報表格列撐高:每列最滿的格 <60%(1.00/0⋯MAINTAINING.md「驗收工具內部」
下半空置門檻:主要內容止於投影片高 ≤75%;主要內容不含頁底最後一則 ≤2 行註解、膠囊、區段右註(1.00/0.91);常見成因:內容頭重腳輕、一頁只答了半個問題(垂直節奏放大到上限⋯MAINTAINING.md「驗收工具內部」
圖旁欄空置門檻:並排(.split、.g2–.g4)的一欄是圖表、旁邊的文字或表格欄墨跡止於圖高 ≤70% 且空 ≥4em;圖高 <8em 的小圖不看;常見成因:圖撐滿到區段底、旁邊只有三⋯MAINTAINING.md「驗收工具內部」
長條留白門檻:全頁同類的全寬底色長條 ≥3 條,字只填到條寬中位 <62%(1.00/0.91);常見成因:實心標籤列每列不到一行當量;先做:拿掉 .solid 回到預設輕量、.lad.⋯MAINTAINING.md「驗收工具內部」
色塊過重門檻:標籤級深色實心塊(≥4em²)+深色表頭列 ≥4(1.00/0.85);常見成因:實心 .lad.solid、.tb.solid 深藍表頭;先做:回到預設輕量;實心色只留給⋯MAINTAINING.md「驗收工具內部」
無主角門檻:沒有 hero、指標磚、定調句、關鍵句、唯一 hot(或唯一 warn/ok)、表格焦點欄、佔 canvas ≥10% 的圖表或形狀片段,也沒有 ≥1.45 倍的字(0.9⋯MAINTAINING.md「驗收工具內部」
頁頁同構門檻:連續 ≥3 張內容頁的主角元件相同,章節頁打斷(0.89/0.74);常見成因:同一骨架連用;先做:每 2–3 頁換一次視覺主角;刻意的平行組在 storyline 標明即可MAINTAINING.md「驗收工具內部」
中文排版:孤字門檻:多行文字(段落、列點、表格格、卡名、關鍵句、格標、節點/步驟/流程格標題、區塊標題、結論列)末行寬 ≤3.2 字;每頁最多報 3 則;常見成因:句子剛好多出一兩個字;先做⋯MAINTAINING.md「驗收工具內部」
中文排版:撐開門檻:兩端對齊的塊裡,被對齊撐滿的行在靠左排時右側空超過 1.5 字與行寬 8% 的較小者;每頁最多報 2 則;常見成因:長英文字、數字或行首不能放的標點把行尾擠空;先做:改寫換⋯MAINTAINING.md「驗收工具內部」
並排不對稱門檻:同一組 .g2/.g3/.g4/.flow/.tl.h 裡的關鍵句、卡名、格標(指標磚除外)、流程格或節點標題行數不一(只比同一列);常見成因:並排標題一長一短;先做:改寫⋯MAINTAINING.md「驗收工具內部」
字數帶、標題上限、結論列字數、封底金句一行字數真相源:build_deck.py 常數(--schema 印;check_sync 對模板與 components.md);其他地方只准:writing.md 句式+「查 --⋯MAINTAINING.md「規格文件的寫法與唯一真相源」
檔頭鍵與值、檔名規則真相源:build_deck.py 的 DECK_KEYS(--schema deck 印);其他地方只准:SKILL 提鍵名MAINTAINING.md「規格文件的寫法與唯一真相源」
中國用語、商務加嚴詞真相源:references/cn-terms.json、lint_content.py 的 STYLE_MAP;其他地方只准:writing.md 講原則與詞表擋不到的語感詞MAINTAINING.md「規格文件的寫法與唯一真相源」
字階真相源:components.md「字階」;其他地方只准:—MAINTAINING.md「規格文件的寫法與唯一真相源」
容量、行單位成本、彈性字級與垂直節奏對寫作的影響真相源:components.md「容量模型」;其他地方只准:一句+指向;求解細節在本檔 §二MAINTAINING.md「規格文件的寫法與唯一真相源」
列印印什麼真相源:present.md「列印印什麼」;其他地方只准:SKILL 鐵則 3 一句MAINTAINING.md「規格文件的寫法與唯一真相源」
簡報態寫法真相源:present.md;其他地方只准:按鍵以引擎說明(按 ?)為準MAINTAINING.md「規格文件的寫法與唯一真相源」
講者綠光與只加亮不壓暗真相源:本檔「講者綠光與只加亮不壓暗」;其他地方只准:design.md、present.md 一句MAINTAINING.md「規格文件的寫法與唯一真相源」
孤字、撐開寫法真相源:writing.md「中文排版:孤字與兩端對齊」;其他地方只准:measure 訊息MAINTAINING.md「規格文件的寫法與唯一真相源」
溢出與空洞處理順序真相源:revision-playbook.md「版面調整法則」;其他地方只准:measure fixHintMAINTAINING.md「規格文件的寫法與唯一真相源」
measure 是螢幕幾何唯一可信來源真相源:revision-playbook.md「長簡報驗收」;其他地方只准:不再重述MAINTAINING.md「規格文件的寫法與唯一真相源」
品牌外框、色票、色彩規則、裝飾禁區真相源:brand.md;其他地方只准:SKILL 鐵則 5 一句MAINTAINING.md「規格文件的寫法與唯一真相源」
交付版、產出標記判讀、發布真相源:delivery.md;其他地方只准:SKILL S4 一句MAINTAINING.md「規格文件的寫法與唯一真相源」
回灌門檻真相源:CLAUDE.md「repo 鐵則」;其他地方只准:revision-playbook.md 一句MAINTAINING.md「規格文件的寫法與唯一真相源」
回灌落點與流程真相源:revision-playbook.md「分支協作:隨時迭代、定版回灌 main」;其他地方只准:CLAUDE.md 一句MAINTAINING.md「規格文件的寫法與唯一真相源」
使用者原話真相源:context/quotes.md;其他地方只准:「(原話:context/quotes.md「標題」)」MAINTAINING.md「規格文件的寫法與唯一真相源」
字型位置:內嵌明體 name table(ID 256/257);為什麼放這裡:在 base64 二進位內。改 HTML 的人(或 AI)不會去編輯 1MB 的 blob,woff2⋯MAINTAINING.md「交付與產出標記內部」
meta位置:<meta name="generator">;為什麼放這裡:明文、好查,也最好刪——刻意留成「容易發現」的一層MAINTAINING.md「交付與產出標記內部」
css位置:style#deck-mark 的 --deck-mark/--deck-build;為什麼放這裡:與 meta 不同的移除路徑,清了 meta 未必想到這裡MAINTAINING.md「交付與產出標記內部」
註解位置:檔頭 HTML 註解;為什麼放這裡:同上,第三條路徑MAINTAINING.md「交付與產出標記內部」
承重位置:@font-face 家族名 SPX Serif TC;為什麼放這裡:整段拿掉=明體語境落回系統字型,2.3–3.5em 大字立刻走樣。標記自帶承重,不是貼紙MAINTAINING.md「交付與產出標記內部」
main先清空 site/,再把 docs/ 的 7 份放進去,_headers 沿用 git 裡那份。MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
其他分支(deck/…)不動 site/,只把檔案清單印進 build 紀錄;MAINTAINING.md「發布:Cloudflare Pages 的設定與限制」
00_總入口.html從哪裡來:六份的用途、頁數、閱讀路線(頁數與大小從組好的檔數出來);產生器:docs/src/gen_index.pyMAINTAINING.md「給人讀的文件」
01_導覽.html從哪裡來:人寫:docs/src/01_導覽.md(每頁 src: 寫依據的「檔+標題」);產生器:直接 buildMAINTAINING.md「給人讀的文件」
02_元件包使用手冊.html從哪裡來:黃金樣本 references/content-example.md;產生器:直接 buildMAINTAINING.md「給人讀的文件」
03_片段範例集.html從哪裡來:snippets.md §一(依十類分章)、§三 每段一頁(html 圍欄原文照放);產生器:docs/src/gen_gallery.py snippetsMAINTAINING.md「給人讀的文件」
04_圖表範例集.html從哪裡來:snippets.md §二 每段一頁(option JSON 原文照放);產生器:docs/src/gen_gallery.py chartsMAINTAINING.md「給人讀的文件」
05_排法型錄.html從哪裡來:layout-catalog.md(ref.py 的 parse_layouts);產生器:docs/src/gen_catalog.pyMAINTAINING.md「給人讀的文件」
06_規格全表.html從哪裡來:程式與規格文件自動抽+docs/src/spec_extra.md 人寫補充(每條綁存在性檢查);產生器:docs/src/gen_spec.pyMAINTAINING.md「給人讀的文件」
cn_terms守什麼:詞表誤判樣本MAINTAINING.md「selftest 步驟」
hover_screen、pointer_ru⋯守什麼:引擎每條 :hover 都包在 @media screen;十字定位排除 .tb.heat/.tb.sym、簡報態列 hover 是講者綠MAINTAINING.md「selftest 步驟」
check_refs、check_snippe⋯守什麼:交叉引用都指得到;片段庫守門;按名查詢逐字取回與查法守門;抄在兩處的規則與常數一致MAINTAINING.md「selftest 步驟」
docs、check_docs守什麼:docs/ 在暫存目錄重組、與 commit 的逐位元比對(§九);導覽依據的節改過 △、對不到 ✗MAINTAINING.md「selftest 步驟」
ref_doc、schema、filename⋯守什麼:按節取的查法;--schema 與 DECK_KEYS、字數常數一致;檔名規則;示範稿模式MAINTAINING.md「selftest 步驟」
lint_content、lint_guard⋯守什麼:黃金樣本 lint 0 ✗、lint 守門樣本、build 0 警告、--where、對帳、產出標記、跨頁膠囊對帳MAINTAINING.md「selftest 步驟」
build_ship、strip_ship、m⋯守什麼:交付版剝得乾淨又不剝過頭MAINTAINING.md「selftest 步驟」
publish_guard、publish守什麼:發布擋分支;暫存 repo 上完整發布一次MAINTAINING.md「selftest 步驟」
cf_build守什麼:Cloudflare 的 build:模擬 main,site/ 剛好是 7 份說明+_headers、連結都指得到檔;模擬 deck 分支,site/ 不動MAINTAINING.md「selftest 步驟」
embed_font、measure_deck⋯守什麼:需 playwright:明體內嵌、兩版五檔量測、verify 全鏈、中文排版 △、截圖與走步驟、示範稿的 verifyMAINTAINING.md「selftest 步驟」
export_pdf、print_expand⋯守什麼:需 playwright:列印與頁數、列印展開: on、其他檔頭鍵變體、圖表直接列印、簡報態比對、簡報態: offMAINTAINING.md「selftest 步驟」
每條規則只有一處真相源MAINTAINING.md §四改規則只改真相源那一處,其他檔只寫一句結論並指過去spec_extra.md〔doc:MAINTAINING.md「規格文件的寫法與唯一真相源」〕

字數帶與容量常數11 條

build_deck.py「字數帶與容量」那一區的常數(lint 與 --schema 讀同一份)

名稱類名/鍵/指令做什麼出處
CLOSING_CPLCLOSING_CPL = 16封底金句一行字數(=模板 .closing .quote 的 max-width em 數)scripts/build_deck.py「字數帶與容量」
TITLE_MAXTITLE_MAX = 26標題上限 26 字(寫作紀律):28pt 預設一行約 30 字;「內文字級: 14」的 32pt 一行約 26 字scripts/build_deck.py「字數帶與容量」
TITLE_TIGHTTITLE_TIGHT = 2323–26 字=擠在邊緣,提醒(只在「內文字級: 14」時;28pt 預設還有 4 字餘裕)scripts/build_deck.py「字數帶與容量」
TITLE_STYLE_CUTTITLE_STYLE_CUT = 12<12 字歸「框架名」、≥12 字歸「判斷句」(整副須一致)scripts/build_deck.py「字數帶與容量」
TITLE_JUDGETITLE_JUDGE = (12, 22)判斷句建議字數scripts/build_deck.py「字數帶與容量」
KICKER_MAXKICKER_MAX = 10(見同區註解)scripts/build_deck.py「字數帶與容量」
SRC_MAXSRC_MAX = 40(見同區註解)scripts/build_deck.py「字數帶與容量」
BLUFBLUF = (88, 175, 190, 64)結論列:建議下限、建議上限、硬上限、每行字數(3 行;「結論行數: N」等比縮放)scripts/build_deck.py「字數帶與容量」
CANVAS_UNITSCANVAS_UNITS = (17, 19)(見同區註解)scripts/build_deck.py「字數帶與容量」
CANVAS_CPLCANVAS_CPL = 71(見同區註解)scripts/build_deck.py「字數帶與容量」
BLUF_UNIT_COSTBLUF_UNIT_COST = 1.2(見同區註解)scripts/build_deck.py「字數帶與容量」

檢查訊息70 條

lint_content.py 與 build_deck.py 會報的 ✗/△(訊息都自帶改法)

名稱類名/鍵/指令做什麼出處
# deck 密度上限已停用△ lint_content.py# deck 密度上限已停用(v2):此鍵不再有作用,可自檔頭移除;scripts/lint_content.py
# deck 結論行數覆寫△ lint_content.py# deck 結論行數覆寫 …:結論列上限已放寬(臨時覆寫需在交付說明中註明)scripts/lint_content.py
中國用語✗ lint_content.py中國用語(對外零容忍)「…」scripts/lint_content.py
疑似中國用語「…」△ lint_content.py疑似中國用語「…」→建議「scripts/lint_content.py
禁詞裸用「…」✗ lint_content.py禁詞裸用「…」——同一句沒有任何數字;帶受詞+數字或具體機制scripts/lint_content.py
空話詞「…」△ lint_content.py空話詞「…」→…(有數字撐著就忽略):…scripts/lint_content.py
全形長破折號「△ lint_content.py全形長破折號「——」=AI 腔標記→改用「:」「;」「,」或拆成兩句scripts/lint_content.py
商務用語確認「…」△ lint_content.py商務用語確認「…」→建議「…」scripts/lint_content.py
標題 … 字✗ lint_content.py標題 … 字(超過一行 … 字,會換行擠掉內容):scripts/lint_content.py
標題 … 字=貼著一行上限△ lint_content.py標題 … 字=貼著一行上限(內文字級: 14 的標題一行約 … 字),scripts/lint_content.py
眉標 … 字✗ lint_content.py眉標 … 字(限 ≤…):格式「NN · 章名」,scripts/lint_content.py
來源註 … 字✗ lint_content.py來源註 … 字(限 ≤…,一行收掉):只留出處名與年月,scripts/lint_content.py
結論列 … 字✗ lint_content.py結論列 … 字(硬上限 …=… 行滿,每行約 … 字):scripts/lint_content.py
結論列疑似複述標題△ lint_content.py結論列疑似複述標題(重合 …)——結論列補標題沒講的:scripts/lint_content.py
清單行數不一△ lint_content.py清單行數不一(…)——同清單全 1 行或全 2 行scripts/lint_content.py
逐步揭示/逐列聚焦用在 … 頁,超過全副 … 頁的三成△ lint_content.py逐步揭示/逐列聚焦用在 … 頁,超過全副 … 頁的三成scripts/lint_content.py
整副標題句式混雜△ lint_content.py整副標題句式混雜:判斷句 … 頁、框架名 … 頁——同一副內擇一scripts/lint_content.py
圍欄用 text-align:center△ lint_content.py圍欄用 text-align:center——內容頁置中對不上左對齊容量表、scripts/lint_content.py
<svg> 內含 <text>△ lint_content.py<svg> 內含 <text>——SVG 文字不吃字級下限、measure 溢出scripts/lint_content.py
.note 內文以「註△ lint_content.py.note 內文以「註:」開頭——虛線樣式已標示是備註,scripts/lint_content.py
結論列/標題/眉標✗ lint_content.py結論列/標題/眉標(.…)掛了 data-…——scripts/lint_content.py
data-…="…" 不是正整數步驟號△ lint_content.pydata-…="…" 不是正整數步驟號(引擎會當成一直顯示)scripts/lint_content.py
# deck 寫了「示範: on」,整副卻沒有任何示範字樣△ build_deck.py# deck 寫了「示範: on」,整副卻沒有任何示範字樣:封面主標帶「(示範案例)」,scripts/build_deck.py
示範/占位字樣殘留 … 處△ build_deck.py示範/占位字樣殘留 … 處:…——正式稿要清零(改寫成真的內容);scripts/build_deck.py
頁碼跳號,投影片上顯示的頁次會與 id 不一致△ build_deck.py頁碼跳號,投影片上顯示的頁次會與 id 不一致:scripts/build_deck.py
title△ build_deck.pytitle——標題是三秒層(讀者翻到這頁三秒內看到的判斷),內容頁建議必填:scripts/build_deck.py
bluf△ build_deck.pybluf——內容頁建議必填:補一行「bluf: 結論+所以呢+下一步」scripts/build_deck.py
議程第 … 項沒掛上跳章△ build_deck.py議程第 … 項沒掛上跳章:其餘項目對上了章名,這幾項對不上scripts/build_deck.py
的跳轉膠囊指向 #…,但這副沒有這一頁△ build_deck.py的跳轉膠囊指向 #…,但這副沒有這一頁(搬頁、刪頁或重編頁碼後沒改膠囊):scripts/build_deck.py
是附錄頁、主文有膠囊連過來,但它沒有回主文的膠囊,讀者跳進來就回不去△ build_deck.py是附錄頁、主文有膠囊連過來,但它沒有回主文的膠囊,讀者跳進來就回不去:scripts/build_deck.py
未裝 fonttools,跳過明體子集內嵌△ build_deck.py未裝 fonttools,跳過明體子集內嵌(明體將落回系統字型堆疊);scripts/build_deck.py
缺種子字型 …,跳過明體子集內嵌△ build_deck.py缺種子字型 …,跳過明體子集內嵌;scripts/build_deck.py
明體子集化失敗△ build_deck.py明體子集化失敗(…: …),跳過內嵌scripts/build_deck.py
內嵌明體 …KB 超過 …KB△ build_deck.py內嵌明體 …KB 超過 …KB——scripts/build_deck.py
引擎 JS 出現疑似 regex literal,交付模式跳過該段 JS 註解剝除△ build_deck.py引擎 JS 出現疑似 regex literal,交付模式跳過該段 JS 註解剝除scripts/build_deck.py
# deck 缺「主題:」或「版號:」,檔名落回 deck.html△ build_deck.py# deck 缺「主題:」或「版號:」,檔名落回 deck.html:補「主題: 中文標題」「版號: V01」scripts/build_deck.py
``` 圍欄沒有收尾✗ build_deck.py``` 圍欄沒有收尾scripts/build_deck.py
圍欄出現在任何段落標題之前✗ build_deck.py圍欄出現在任何段落標題之前scripts/build_deck.py
內容出現在任何區塊標題之前✗ build_deck.py內容出現在任何區塊標題之前:…scripts/build_deck.py
未知版型「…」✗ build_deck.py未知版型「…」;scripts/build_deck.py
頁碼未遞增✗ build_deck.py頁碼未遞增(前一頁 …)scripts/build_deck.py
# deck 區段需「key: value」✗ build_deck.py# deck 區段需「key: value」:…scripts/build_deck.py
「…」不可覆寫✗ build_deck.py「…」不可覆寫——品牌外框與官方色是硬規格,只能改scripts/build_deck.py
# deck 未知鍵「…」✗ build_deck.py# deck 未知鍵「…」;可用:…scripts/build_deck.py
只能是✗ build_deck.py只能是 …:…scripts/build_deck.py
密度上限需寫 +N/-N✗ build_deck.py密度上限需寫 +N/-N(N 為 0–9):…scripts/build_deck.py
結論行數需寫 1–5 的整數✗ build_deck.py結論行數需寫 1–5 的整數(1 限定調頁等短結論):…scripts/build_deck.py
日期需寫 YYYYMMDD✗ build_deck.py日期需寫 YYYYMMDD(如 20260923):…scripts/build_deck.py
版號寫 V01✗ build_deck.py版號寫 V01(v1、V1、1、v01 也接受,一律正規化成 V01;改版遞增 V02、V03):…scripts/build_deck.py
# … 區段缺 ``` 圍欄✗ build_deck.py# … 區段缺 ``` 圍欄scripts/build_deck.py
未知頂層區段「# …」✗ build_deck.py未知頂層區段「# …」;可用 # deck、# custom-css、# custom-jsscripts/build_deck.py
頁首應為「## pNN 版型 標籤」✗ build_deck.py頁首應為「## pNN 版型 標籤」scripts/build_deck.py
頁首缺版型✗ build_deck.py頁首缺版型(## … <版型> <標籤>);scripts/build_deck.py
頁首缺標籤✗ build_deck.py頁首缺標籤(圓點導覽會顯示它):scripts/build_deck.py
標籤不可含 |✗ build_deck.py標籤不可含 |(EDIT-MAP 用它分欄):…scripts/build_deck.py
的 ``` 圍欄上一行需是圍欄型槽位✗ build_deck.py的 ``` 圍欄上一行需是圍欄型槽位scripts/build_deck.py
需「槽位: 值」,續行請縮排✗ build_deck.py需「槽位: 值」,續行請縮排:…scripts/build_deck.py
不可重複✗ build_deck.py不可重複(本版型只有一個 …)scripts/build_deck.py
是欄位型槽位,「…:」後面不寫值✗ build_deck.py是欄位型槽位,「…:」後面不寫值——scripts/build_deck.py
是圍欄型槽位,「…:」後面不寫值✗ build_deck.py是圍欄型槽位,「…:」後面不寫值——scripts/build_deck.py
縮排行沒有可接續的槽位✗ build_deck.py縮排行沒有可接續的槽位:…scripts/build_deck.py
的內容要寫成 ``` 圍欄,不是縮排行✗ build_deck.py的內容要寫成 ``` 圍欄,不是縮排行scripts/build_deck.py
需「欄位: 值」✗ build_deck.py需「欄位: 值」:…scripts/build_deck.py
未知欄位「…」✗ build_deck.py未知欄位「…」;可用:scripts/build_deck.py
欄位「…」不可重複✗ build_deck.py欄位「…」不可重複scripts/build_deck.py
需要 ``` 圍欄✗ build_deck.py需要 ``` 圍欄scripts/build_deck.py
缺必填欄位「…: 」=✗ build_deck.py缺必填欄位「…: 」=…scripts/build_deck.py
欄位「…」需✗ build_deck.py欄位「…」需scripts/build_deck.py
沒有內容✗ build_deck.py沒有內容scripts/build_deck.py
序號要從 1 起連號✗ build_deck.py序號要從 1 起連號(目前 …)scripts/build_deck.py

量測提示11 條

measure_deck.js 在 1920 檔印的 △ 與門檻(MAINTAINING.md「measure 的 △ 門檻」)

名稱類名/鍵/指令做什麼出處
右側空置某一區墨跡只用到左側 <60% 寬MAINTAINING.md「measure 的 △ 門檻」
卡內空洞卡或格(含 deck 自訂的卡形盒)墨跡 <70% 內容高(hero <45%)且空 ≥4em;開放欄的欄沒有框,不算;另報表格列撐高:每列最滿的格 <60%(1.00/0.90)MAINTAINING.md「measure 的 △ 門檻」
下半空置主要內容止於投影片高 ≤75%;主要內容不含頁底最後一則 ≤2 行註解、膠囊、區段右註(1.00/0.91)MAINTAINING.md「measure 的 △ 門檻」
圖旁欄空置並排(.split、.g2–.g4)的一欄是圖表、旁邊的文字或表格欄墨跡止於圖高 ≤70% 且空 ≥4em;圖高 <8em 的小圖不看MAINTAINING.md「measure 的 △ 門檻」
長條留白全頁同類的全寬底色長條 ≥3 條,字只填到條寬中位 <62%(1.00/0.91)MAINTAINING.md「measure 的 △ 門檻」
色塊過重標籤級深色實心塊(≥4em²)+深色表頭列 ≥4(1.00/0.85)MAINTAINING.md「measure 的 △ 門檻」
無主角沒有 hero、指標磚、定調句、關鍵句、唯一 hot(或唯一 warn/ok)、表格焦點欄、佔 canvas ≥10% 的圖表或形狀片段,也沒有 ≥1.45 倍的字(0.93/0.82;1.45 倍是底線,設計目標照 design.md「主角要大一個量級,而且只有一個」)MAINTAINING.md「measure 的 △ 門檻」
頁頁同構連續 ≥3 張內容頁的主角元件相同,章節頁打斷(0.89/0.74)MAINTAINING.md「measure 的 △ 門檻」
中文排版:孤字多行文字(段落、列點、表格格、卡名、關鍵句、格標、節點/步驟/流程格標題、區塊標題、結論列)末行寬 ≤3.2 字;每頁最多報 3 則MAINTAINING.md「measure 的 △ 門檻」
中文排版:撐開兩端對齊的塊裡,被對齊撐滿的行在靠左排時右側空超過 1.5 字與行寬 8% 的較小者;每頁最多報 2 則MAINTAINING.md「measure 的 △ 門檻」
並排不對稱同一組 .g2/.g3/.g4/.flow/.tl.h 裡的關鍵句、卡名、格標(指標磚除外)、流程格或節點標題行數不一(只比同一列)MAINTAINING.md「measure 的 △ 門檻」

指令與參數31 條

scripts/ 每支工具的參數(各檔檔頭的用法說明與 argparse)

名稱類名/鍵/指令做什麼出處
build_deck.py --outbuild_deck.py --out輸出 HTML(預設依 # deck 生 YYYYMMDD_主題_V01.html)scripts/build_deck.py
build_deck.py --checkbuild_deck.py --check只驗證不輸出scripts/build_deck.py
build_deck.py --listbuild_deck.py --list列出全部版型scripts/build_deck.py
build_deck.py --schemabuild_deck.py --schema查單一版型的槽位、字數帶與容量(cover/agenda/divider/blank/closing);deck=檔頭鍵的值與效果scripts/build_deck.py
build_deck.py --no-embed-fontbuild_deck.py --no-embed-font不內嵌明體子集(明體改吃系統字型堆疊,檔案小約 30–80KB)scripts/build_deck.py
build_deck.py --shipbuild_deck.py --ship交付模式:剝 EDIT-MAP/data-slot/引擎註解(另立 _交付 檔名);scripts/build_deck.py
build_deck.py --wherebuild_deck.py --where反查槽位在 content.md 的行號(pNN/pNN.槽位/槽位名)scripts/build_deck.py
check_mark.py --contentcheck_mark.py --contentcontent.md 路徑(加驗指紋是否出自這份原稿)scripts/check_mark.py
check_mark.py --quietcheck_mark.py --quiet只印結論scripts/check_mark.py
check_mark.py --no-embed-fontcheck_mark.py --no-embed-font的產出本來就只有三層,判它失敗會讓 selftest 在沒裝scripts/check_mark.py
export_pdf.js --checkexport_pdf.js --check三項都會算進 exit code——scripts/export_pdf.js
lint_content.py --unitslint_content.py --units印出每頁行單位(估計值,供容量規劃參考)scripts/lint_content.py
make_font_subset.py --outmake_font_subset.py --outscripts/make_font_subset.py
make_font_subset.py --layout-features=''make_font_subset.py --layout-features=''標題大字不需 kerning/liga,清空可再省體積scripts/make_font_subset.py
make_font_subset.py --no-hintingmake_font_subset.py --no-hintingCJK 大字級不吃 hintingscripts/make_font_subset.py
make_font_subset.py --desubroutinizemake_font_subset.py --desubroutinizeCFF 小子集時常產生更小輸出scripts/make_font_subset.py
measure_deck.js --quickmeasure_deck.js --quick改字迭代用,只量 1280x720(參考幾何=列印母片尺寸,垂直節奏與彈性字級在這裡求解)+1920x1080(△ 提示只在這一檔印),scripts/measure_deck.js
measure_deck.js --dumpmeasure_deck.js --dump把每一檔視窗、每一頁的原始量測數值寫成 JSON(校正門檻用;不影響離開碼)scripts/measure_deck.js
publish.sh -opublish.sh -o同 verify.sh/build_deck.py 的 -o(維運版檔名,沒給就依 # deck 自動命名 YYYYMMDD_主題_V01.html);交付版⋯scripts/publish.sh
publish.sh --dry-runpublish.sh --dry-run驗收+產 site/,不 commit(site/ 留在工作樹:不要就 git checkout -- site,或下次發布蓋掉)scripts/publish.sh
ref.py --pitfallsref.py --pitfalls圖表範例附的「實測撞到的坑」印全文(預設只列每條的標題)scripts/ref.py
shots.js -oshots.js -o輸出目錄(預設 deck 旁邊的 _shots_<檔名>/)scripts/shots.js
shots.js --pagesshots.js --pages只截這幾頁(逗號分隔 pid)scripts/shots.js
shots.js --walkshots.js --walk走一次逐步頁:進簡報態、從上一頁按 ↓ 抵達每一張有 data-step/data-focus/data-walk 的頁,每按一次截一張scripts/shots.js
shots.js --mdshots.js --md另存一份匯出 Markdown(引擎右下輸出鈕「匯出 Markdown」同一支函式)到輸出目錄的 <檔名>.md,scripts/shots.js
shots.js --viewportshots.js --viewport截圖視窗(預設 1920x1080)scripts/shots.js
shots.js --no-sheetshots.js --no-sheet不拼圖scripts/shots.js
verify.sh -overify.sh -o維運版檔名(同 build_deck.py -o;沒給就依 # deck 自動命名 YYYYMMDD_主題_V01.html)scripts/verify.sh
verify.sh --quickverify.sh --quick改字迭代用:measure 只量 1280×720+1920×1080(約省六成時間);交付前一定要不加 --quick 再跑一次scripts/verify.sh
verify.sh --shipverify.sh --ship另產交付版(_交付.html)並驗產出標記;一律加跑 export --checkscripts/verify.sh
verify.sh --pdfverify.sh --pdf加跑 export --check,PDF 留在 deck 旁邊(否則 PDF 只是驗收用的暫存檔)scripts/verify.sh

selftest 守門43 條

npm test 跑的每一步(scripts/selftest.sh;步驟名可給 SELFTEST_ONLY 單跑)

名稱類名/鍵/指令做什麼出處
cn_termsSELFTEST_ONLY=cn_terms詞表誤判樣本scripts/selftest.sh
hover_screenSELFTEST_ONLY=hover_screenhover 樣式一律包 @media screen(沒包的話,滑鼠停著時按列印,:hover 樣式會印進 PDF——2026-09-27 實測)。 靜態掃 t⋯scripts/selftest.sh
pointer_rulesSELFTEST_ONLY=pointer_rules大表十字定位不碰熱力表與符號矩陣(格的底色就是資料)、簡報態的講者指示是綠scripts/selftest.sh
check_refsSELFTEST_ONLY=check_refs文件交叉引用:規格互指上百處,改版插條、刪節後引用會靜默指錯;每一處都要指得到真的節與條scripts/selftest.sh
check_snippetsSELFTEST_ONLY=check_snippets交叉引用都指得到;片段庫守門;按名查詢逐字取回與查法守門;抄在兩處的規則與常數一致scripts/selftest.sh
refSELFTEST_ONLY=ref按名查詢(ref.py):每一段片段、圖表範例、排法都取得到,取出的內容與原檔逐字相同scripts/selftest.sh
check_syncSELFTEST_ONLY=check_sync抄在兩處的規則逐字一致:measure/export 的溢出探測核心與門檻、template 的小螢幕判定scripts/selftest.sh
ref_docSELFTEST_ONLY=ref_doc按節取(ref.py doc/example/ctx):以標題文字查得到唯一一段、節號也能用、list 不帶參數不吐整份排法名單、 context/ 還沒建時⋯scripts/selftest.sh
ref_multiSELFTEST_ONLY=ref_multi一次查完(2026-09-28 冷啟動 #2:圖表共通規則分三次查、讀了三遍,約 4,750 token 白讀):片段與圖表一次查多個名稱時 共用規則只附一次⋯scripts/selftest.sh
schemaSELFTEST_ONLY=schema--schema deck 與 DECK_KEYS 一致:每個鍵都印、限定值都寫在可用值裡、不可覆寫鍵都列;每個鍵寫一個合法值 build 解析 0 錯; -⋯scripts/selftest.sh
filenameSELFTEST_ONLY=filename檔名規則(2026-09-28 使用者裁示):YYYYMMDD_中文標題_V01.html,不列單位、V 大寫兩位數;交付版 _V01_交付; 版號 v1/V⋯scripts/selftest.sh
demo_modeSELFTEST_ONLY=demo_mode示範稿模式(# deck「示範: on」):示範字樣在正式稿是 △、在示範稿改印 ○ 不計入警告(build 與 check_slots 同一套); 示範稿整⋯scripts/selftest.sh
agenda_jumpSELFTEST_ONLY=agenda_jump議程跳章(2026-09-28 冷啟動 #2:使用者要議程、deck 只有 2 章,照放 4 項,lint 與 build 都沒有反應、點了不會跳): 整組對⋯scripts/selftest.sh
lint_contentSELFTEST_ONLY=lint_content黃金樣本 lint 0 ✗、lint 守門樣本、build 0 警告、--where、對帳、產出標記、跨頁膠囊對帳scripts/selftest.sh
lint_guardSELFTEST_ONLY=lint_guardlint 守門樣本:data-step-style 不誤報、三秒層掛步驟 ✗(blk-head 不算)、主角掛步驟 △、 圍欄語言檢查報命中的實際行號、禁詞裸⋯scripts/selftest.sh
build_deckSELFTEST_ONLY=build_deckbuild 必須 0 警告(黃金樣本宣稱零警告;build 有警告照樣 exit 0,這裡才擋得住)scripts/selftest.sh
whereSELFTEST_ONLY=where--where 反查:文件教的範例要真的查得到scripts/selftest.sh
check_slotsSELFTEST_ONLY=check_slots黃金樣本 lint 0 ✗、lint 守門樣本、build 0 警告、--where、對帳、產出標記、跨頁膠囊對帳scripts/selftest.sh
check_markSELFTEST_ONLY=check_mark產出標記:四層齊備+指紋一致+指紋確實算自黃金樣本原稿。 沒裝 fonttools 時字型層自動視為不適用(滿分降為三層),不會假警報。scripts/selftest.sh
link_checkSELFTEST_ONLY=link_check跨頁膠囊對帳(build_deck.check_links):把黃金樣本的一顆膠囊改指向不存在的頁,build 必須警告。 黃金樣本本身應 0 則;這步防的是⋯scripts/selftest.sh
build_shipSELFTEST_ONLY=build_ship交付版剝得乾淨又不剝過頭scripts/selftest.sh
strip_shipSELFTEST_ONLY=strip_ship交付版剝得乾淨又不剝過頭scripts/selftest.sh
mark_shipSELFTEST_ONLY=mark_ship交付版剝得乾淨又不剝過頭scripts/selftest.sh
slots_shipSELFTEST_ONLY=slots_ship交付版拿去對帳應該要被擋下並講清楚原因(而不是噴一串假的不一致)scripts/selftest.sh
publish_guardSELFTEST_ONLY=publish_guard發布守門(publish.sh):在暫存 git repo 上跑,不碰本 repo 的分支與 site/。 main 與不符命名規則的分支一律拒絕(在跑驗收之⋯scripts/selftest.sh
cf_buildSELFTEST_ONLY=cf_buildCloudflare 的 build(scripts/cf_build.sh):在暫存複本跑,不碰本 repo 的 site/。模擬 deck 分支與沒設 C⋯scripts/selftest.sh
docsSELFTEST_ONLY=docs給人讀的說明(docs/):在暫存目錄全部重組,與 commit 進去的 HTML 逐位元比對。docs 由引擎、片段庫、型錄、規格文件、黃金樣本 與 doc⋯scripts/selftest.sh
check_docsSELFTEST_ONLY=check_docsdocs/ 在暫存目錄重組、與 commit 的逐位元比對(§九);導覽依據的節改過 △、對不到 ✗scripts/selftest.sh
embed_fontSELFTEST_ONLY=embed_font需 playwright:明體內嵌、兩版五檔量測、verify 全鏈、中文排版 △、截圖與走步驟、示範稿的 verifyscripts/selftest.sh
measure_deckSELFTEST_ONLY=measure_deck需 playwright:明體內嵌、兩版五檔量測、verify 全鏈、中文排版 △、截圖與走步驟、示範稿的 verifyscripts/selftest.sh
measure_shipSELFTEST_ONLY=measure_ship需 playwright:明體內嵌、兩版五檔量測、verify 全鏈、中文排版 △、截圖與走步驟、示範稿的 verifyscripts/selftest.sh
verifySELFTEST_ONLY=verify一鍵驗收(verify.sh --quick):串得起來、摘要數得對(黃金樣本 ✗ 0)、溢出訊息接得上 content.md 行號scripts/selftest.sh
publishSELFTEST_ONLY=publish發布(publish.sh --dry-run):在 publish_guard 建的暫存 repo 開 deck 分支跑。site/index.html 是⋯scripts/selftest.sh
measure_typoSELFTEST_ONLY=measure_typo寫作提示的定位(2026-09-28 冷啟動卡點):數字與單位拆行(「67 萬|筆」)要報出來、撐開要指出是哪一行、封底金句被平分斷在詞中間要提醒、 溢出訊息⋯scripts/selftest.sh
measure_sideSELFTEST_ONLY=measure_side圖旁欄空置(2026-09-28 冷啟動兩次都是看截圖才發現):左圖右列點,列點只有兩條的那一頁要報、寫滿七條的不報。 圖不必真的畫出來(不載 ECharts⋯scripts/selftest.sh
shotsSELFTEST_ONLY=shots截圖與走查(shots.js):每頁一張、每 4 頁一張拼圖;--walk 從上一頁按 ↓ 抵達逐步頁,每一步畫面都要變scripts/selftest.sh
verify_demoSELFTEST_ONLY=verify_demo示範稿模式接到 verify.sh:示範稿的示範字樣印 ○、下一步不叫人清;正式稿照樣要清零scripts/selftest.sh
export_pdfSELFTEST_ONLY=export_pdf預設列印=開檔畫面:頁數=投影片數(沒有補充頁)scripts/selftest.sh
print_expandSELFTEST_ONLY=print_expand「列印展開: on」(個案用的全展開):頁籤全攤開、收合全開(同名互斥組也要全開)、白話轉括號、 就地展開印到補充頁 → 頁數=21+補充 1;五檔量測 0⋯scripts/selftest.sh
deck_keysSELFTEST_ONLY=deck_keys其他標頭鍵的變體:build 0 錯、body class 掛上、1920 與手機兩檔量測 0 溢出。 「內文字級: 14」只驗 build 與 class⋯scripts/selftest.sh
chart_printSELFTEST_ONLY=chart_print格線裡的圖表列印(2026-09-27):黃金樣本只有一張滿版圖,抓不到「.g2/2×2/.split 裡的圖在大螢幕直接按列印被撐破、 或停在螢幕尺寸」這一⋯scripts/selftest.sh
presentSELFTEST_ONLY=present簡報態(兩態契約):簡報到半途按列印仍是閱讀態的開檔畫面(PDF 逐頁比對)、減少動態下全部過場 0 秒、hover 規則只在螢幕、 抵達規則/概覽/跳頁/黑⋯scripts/selftest.sh
present_offSELFTEST_ONLY=present_off需 playwright:列印與頁數、列印展開: on、其他檔頭鍵變體、圖表直接列印、簡報態比對、簡報態: offscripts/selftest.sh

檔案地圖42 條

repo 裡每一個檔的用途(MAINTAINING.md「檔案地圖」)

名稱類名/鍵/指令做什麼出處
SKILL.mdSKILL.md做 deck 的 runbook:鐵則、開工、流程、查法(Skill 工具注入)MAINTAINING.md「檔案地圖」
CLAUDE.mdCLAUDE.mdrepo 守則:讀者分流、分支/發布/回灌門檻/commit 鐵則(每個 repo session 自動載入)MAINTAINING.md「檔案地圖」
MAINTAINING.mdMAINTAINING.md本檔MAINTAINING.md「檔案地圖」
README.mdREADME.md給人看的 GitHub 首頁(AI 不讀)MAINTAINING.md「檔案地圖」
references/writing.mdreferences/writing.md文字規格:結論列、標題句式、槽位句式、孤字與兩端對齊的寫法、同層對稱、語言禁則、查證、製作語言、台灣用語與語體帶、示範稿MAINTAINING.md「檔案地圖」
references/components.mdreferences/components.md字階、容量模型與行單位成本、元件類名與最小 DOM、圖表頁通案、滿版組合、跨頁節奏、個案定版MAINTAINING.md「檔案地圖」
references/design.mdreferences/design.md版面判斷:三層資訊分工、簡報的精神九件事、HTML 的優勢八件事(hover 放哪)、大會場字級MAINTAINING.md「檔案地圖」
references/present.mdreferences/present.md作者要寫的互動總覽、兩態契約、簡報態寫法、閱讀態互動、自訂覆蓋層、列印印什麼(列印規則的真相源)MAINTAINING.md「檔案地圖」
references/brand.mdreferences/brand.md品牌外框、官方色與色彩規則、筆畫母題、自畫裝飾禁區、第三方品牌MAINTAINING.md「檔案地圖」
references/delivery.mdreferences/delivery.md交付版 --ship、產出標記判讀、明體內嵌、分支預覽發布(命名、publish.sh)MAINTAINING.md「檔案地圖」
references/revision-playbook.mdreferences/revision-playbook.md改版協作、版面調整、長簡報驗收、靜默失效、附錄、結構、需求盤點類、討論評述類、分支協作與回灌、改字對位MAINTAINING.md「檔案地圖」
references/snippets.mdreferences/snippets.md通用片段庫:版面片段(依功能分十類)、ECharts 圖表範例(共用 ecFit)、互動片段;貼 blank 圍欄、不進引擎(ref.py snippet|chart)MAINTAINING.md「檔案地圖」
references/layout-catalog.mdreferences/layout-catalog.md排法型錄:依「這一頁要回答的問題」分十組,每條指到元件、片段或圖表範例(ref.py layout)MAINTAINING.md「檔案地圖」
references/content-example.mdreferences/content-example.md黃金樣本=元件包使用手冊(21 頁四章,build 零警告;selftest 的測試資料;ref.py example)MAINTAINING.md「檔案地圖」
references/cn-terms.jsonreferences/cn-terms.json中國用語詞表:block=✗ 硬擋、warn=△ 提醒、allow=跨詞邊界誤判白名單MAINTAINING.md「檔案地圖」
context/quotes.md why.md decisions.md history.md research.mdcontext/quotes.md why.md decisions.md history.md research.md脈絡歸檔:使用者原話、為什麼與實測、否決與暫不做、沿革、研究依據(ref.py ctx;做 deck 不讀)MAINTAINING.md「檔案地圖」
scripts/build_deck.pyscripts/build_deck.pycontent.md → deck.html 組裝器(--list/--schema/--check/--where/--ship/--no-embed-font);字數帶與容量常數、檔頭鍵 DECK_KEYS 的真相源;明體子集內嵌、跨頁膠囊對帳MAINTAINING.md「檔案地圖」
scripts/lint_content.pyscripts/lint_content.py格式+字數+行數+禁詞+商務用語(STYLE_MAP)+中國用語檢查(含 html: 圍欄正文)MAINTAINING.md「檔案地圖」
scripts/verify.shscripts/verify.sh一鍵驗收:lint → build → check_slots → check_mark → measure →(必要時)export --check,印 ✗/△ 摘要與下一步MAINTAINING.md「檔案地圖」
scripts/measure_deck.jsscripts/measure_deck.js螢幕幾何驗收:五檔視窗三道溢出探測、同組不齊、留白與層級 △、中文排版 △、○ 彈性字級、手機兩檔、頁籤與切換逐片量測MAINTAINING.md「檔案地圖」
scripts/export_pdf.jsscripts/export_pdf.js無人值守匯出 PDF+列印驗收:三道探測改在 print media 跑、水平撐出、頁數核對、圖表「大螢幕直接按列印」MAINTAINING.md「檔案地圖」
scripts/check_present.jsscripts/check_present.js簡報態與列印模式驗收:簡報到半途印的 PDF 與閱讀態逐頁點陣比對、列印=開檔畫面、按鍵守門、減少動態、hover 只在 screenMAINTAINING.md「檔案地圖」
scripts/shots.jsscripts/shots.js人工檢查用:每頁 1920 截圖+拼圖;--walk 進簡報態逐步截圖MAINTAINING.md「檔案地圖」
scripts/check_slots.pyscripts/check_slots.pydeck.html ↔ content.md 的 slot 與 EDIT-MAP 行號對帳MAINTAINING.md「檔案地圖」
scripts/check_mark.pyscripts/check_mark.py產出標記驗證:四層署名與 build 指紋MAINTAINING.md「檔案地圖」
scripts/check_refs.pyscripts/check_refs.py文件交叉引用對帳:節號寫法(writing.md §四之二.7)與標題寫法(writing.md「孤字靠改寫」)每一處都要指得到MAINTAINING.md「檔案地圖」
scripts/check_snippets.pyscripts/check_snippets.py片段庫守門:標籤成對、類名不撞引擎、data-shape、hover 包 screen、版面片段不寫死色碼與 pxMAINTAINING.md「檔案地圖」
scripts/check_docs.pyscripts/check_docs.py導覽的引用指紋:docs/src/01_導覽.md 每頁依據的節改過就 △、對不到就 ✗;--accept 更新 docs/src/cited.jsonMAINTAINING.md「檔案地圖」
scripts/check_sync.pyscripts/check_sync.py抄在兩處的規則逐字一致:溢出探測核心與門檻、小螢幕判定、字數與容量常數 ↔ 模板與 components.mdMAINTAINING.md「檔案地圖」
scripts/ref.py、scripts/_docmap.pyscripts/ref.py、scripts/_docmap.py按名查詢:規格文件按節取、黃金樣本按頁取、脈絡條目、片段與排法只取一段;_docmap.py 是 ref.py 與 check_refs 共用的節與條解析MAINTAINING.md「檔案地圖」
scripts/_editmap.jsscripts/_editmap.jsmeasure/export 共用:讀 EDIT-MAP,溢出訊息接上 content.md 行號MAINTAINING.md「檔案地圖」
scripts/publish.shscripts/publish.sh分支預覽發布:擋分支 → verify.sh --ship → 寫 site/ → commit(不 push)MAINTAINING.md「檔案地圖」
scripts/cf_build.shscripts/cf_build.shCloudflare Pages 的 build command:main 把 docs/ 組成 site/(正式網址放說明文件),deck 分支不動 site/(§七)MAINTAINING.md「檔案地圖」
scripts/selftest.shscripts/selftest.shnpm test:黃金樣本的完整驗收鏈,加 docs 重組比對(§十)MAINTAINING.md「檔案地圖」
scripts/test_cn_terms.pyscripts/test_cn_terms.py詞表誤判守門測試MAINTAINING.md「檔案地圖」
scripts/make_font_subset.pyscripts/make_font_subset.py一次性:產生 assets/serif-black.seed.woff2 種子字集MAINTAINING.md「檔案地圖」
assets/template.htmlassets/template.html引擎+元件包樣式(logo 資產在檔尾 style#brand-assets,勿整檔讀入)MAINTAINING.md「檔案地圖」
assets/serif-black.seed.woff2、assets/OFL.txtassets/serif-black.seed.woff2、assets/OFL.txt明體種子字集(Noto Serif TC Black/Big5 一級常用字)與它的 SIL OFL 1.1 授權全文(須隨產出散布)MAINTAINING.md「檔案地圖」
docs/、docs/src/docs/、docs/src/給人讀的說明(獨立 HTML,§八);docs/src/ 是原稿、產生器、build_docs.sh、cited.json、spec_extra.mdMAINTAINING.md「檔案地圖」
site/、.pages-project、.gitattributessite/、.pages-project、.gitattributesPages 輸出目錄(git 裡 main 只有佔位頁與 _headers)、Pages 專案名、site/** -mergeMAINTAINING.md「檔案地圖」
.gitignore.gitignoredecks/、site/*(放行 main 的兩檔)、*.pdf、node_modulesMAINTAINING.md「檔案地圖」
requirements.txtrequirements.txt選用 Python 依賴(fonttools[woff],只影響明體內嵌)MAINTAINING.md「檔案地圖」

否決與暫不做74 條

評估過、決定不做或暫不做的提案與撿回條件(context/decisions.md;做 deck 不讀,按條取 ref.py ctx)

名稱類名/鍵/指令做什麼出處
改用 Slidev/reveal.js/Marp都要 Node runtime 或 build step,破壞單一 HTML 檔、投影室離線可開;沒有一個做得出 @page{size:33.87cm 19.05cm} 這種 c⋯context/decisions.md「外部建議:業界框架與 AI 簡報指南(2026-08)」
改用「固定設計解析度 + transform:⋯現行 aspect-ratio + container-type:size + cqh + 全 em 做法更好:文字是真渲染不是縮放點陣,列印時不必跟 transform 打架⋯context/decisions.md「外部建議:業界框架與 AI 簡報指南(2026-08)」
CJK 網頁字型子集化/切片字體(內文)內文刻意用系統字堆疊、零依賴離線可用是硬需求,不適用。唯一例外是「明體強調時刻」,已於 2026-08 做成子集化內嵌(brand.md「官方色與色彩規則」第 6 條)——那是全⋯context/decisions.md「外部建議:業界框架與 AI 簡報指南(2026-08)」
scrollytelling(Scrollam⋯不同媒介:長文捲動敘事 vs 一頁一張定格簡報。已在待辦「無限制直向滑動」之列context/decisions.md「外部建議:業界框架與 AI 簡報指南(2026-08)」
金字塔原理/BLUF/斷言式標題、認知科學護欄⋯都已實作且更嚴:bluf 結論列是全內容頁固定配備、components.md 有精確到小數的行單位容量表(比數元素數更準)、lint_content.py 有禁詞硬擋+商務用語⋯context/decisions.md「外部建議:業界框架與 AI 簡報指南(2026-08)」
換 PDF 引擎(WeasyPrint/Pri⋯它們的強項全在 A4 多頁文件排版(分頁、頁碼、目錄、footnote),本系統一投影片=一頁、無流動分頁,一項都用不到。反而 WeasyPrint 非 Chromium 引擎⋯context/decisions.md「外部建議:七題深入研究報告(2026-08)」
紙張尺寸改用 in/px 指定建議所依據的 px 換算是錯的(該報告把 33.87cm 說成 960px;實際 1cm=37.795px,33.87cm≈1280px)。現行 cm 標示與母片規格同單位、可直⋯context/decisions.md「外部建議:七題深入研究報告(2026-08)」
圖表改 vl-convert/matplotl⋯方向(build 時預渲染靜態 SVG)合理且值得做,但選型不對:現行圖表已用 ECharts option JSON 撰寫,換成 Vega-Lite 或 matplotlib⋯context/decisions.md「外部建議:七題深入研究報告(2026-08)」
LLM/VLM 審視覺稿研究自身引用的證據就指出 VLM 對版面幾何與位置判斷最弱、跨版本不穩,而「版面擁擠/層級失衡」正是這一塊;同時這些又剛好是 measure_deck.js/export_pdf⋯context/decisions.md「外部建議:七題深入研究報告(2026-08)」
導入 zhlint/autocorrect兩者的主功能本系統已自建:build_deck.py 在縮排續行的「漢字↔英數」接縫自動補空格(句中不管,批次替換後的黏連靠 writing.md「批次替換後掃漢英黏連」的 gr⋯context/decisions.md「外部建議:七題深入研究報告(2026-08)」
新增一批版型元件(風險矩陣/瀑布/子彈圖/KP⋯逐項查證:7 種寫 ECharts option 就有(容器早內建)、3 種現有元件可組(.cell×.g4=KPI 磚牆等)、4 種做成 snippets.md 片段即可,動引⋯context/decisions.md「外部建議:簡報版型研究(2026-08)」
Tufte sidenote 邊註欄投影閱讀距離下邊註字級必破內文下限;版心已被 bluf/src 佔滿,硬插邊欄=每頁可用寬少約 18%,components.md 容量表全部要重算作廢;且 tufte 原版無⋯context/decisions.md「外部建議:簡報版型研究(2026-08)」
風格預覽畫廊(多主題起手讓使用者挑)本系統價值=永豐單一識別的跨部門一致性;畫廊機制的前提是「有多套風格可選」,一導入就誘導逐副換風格→視覺漂移、官方色守則失守。show-don't-tell 的可搬部分改用在「敘⋯context/decisions.md「外部建議:簡報版型研究(2026-08)」
guizang Playwright 幾何校驗⋯已有更細的等價物:measure_deck.js 三道探測+五檔視窗+print media 複跑,比 guizang 單視窗更全。兩套幾何量測併存=兩個真相來源,門檻打架時無從⋯context/decisions.md「外部建議:簡報版型研究(2026-08)」
密度改「每頁元素數上限」DOM 元素數對 CJK 失真:一個 .kv li 可裝 4 字也可裝 40 字,數元素抓不到爆版。現行行單位=字數×每行字數估行,準一階,且 measure_deck.js 直⋯context/decisions.md「外部建議:簡報版型研究(2026-08)」
機器版型索引 layouts.json(met⋯版型選擇是 S0 的敘事判斷(本頁回答什麼問題→配什麼版型),不是查表比對 tag;索引一旦存在,生成端會繞過 storyline 直接配版型,句式與敘事線就斷了。適用/避免改用⋯context/decisions.md「外部建議:簡報版型研究(2026-08)」
卡內與整頁「安全置中」(justify-con⋯並排卡的內容量不同,置中後卡頭高低不齊,跨卡同位失效;整頁置中讓內容起點隨內容量跳動,並把內容推離結論列。外部 17 副專業 deck 沒有一副把多行文字卡置中;撿回條件:單一主⋯context/decisions.md「外部建議:內文排版研究(2026-09-26)」
純 CSS 做「有上限的撐開」(grid mi⋯grid 的上限會讓「內容原本多高」的計算虛胖,分區的基準高度被高估,擠壓時切到真內容(實測 ma p13、黃金樣本 p05 溢出 23–178px);calc-size() 在⋯context/decisions.md「外部建議:內文排版研究(2026-09-26)」
兩端對齊曾否決、2026-09-27 依使用者裁示改採(context/quotes.md「兩端對齊:改寫而不是縮行」)。當時的否決理由保留供追溯:WCAG 1.4.8 不建議;實測字距⋯context/decisions.md「外部建議:內文排版研究(2026-09-26)」
中英接縫改插窄空格字元(U+2005 等),把⋯空格字元會跟著複製、匯出 Markdown、搜尋走,對帳與搜尋會失效;改用 text-autospace 補沒打空格的接縫;撿回條件:CSS 能控制已打空格的寬度context/decisions.md「外部建議:內文排版研究(2026-09-26)」
表格預設 .fit(欄寬跟內容)既有 deck 用百分比排好的欄寬會全部重算、列高改變;預設只換外觀(線表),.fit 維持新表格的推薦寫法;撿回條件:下一次連容量表一起重排的大改版context/decisions.md「外部建議:內文排版研究(2026-09-26)」
間距 token 全面重構(41 種 em 值⋯沒有可見收益、改動面積大;新規則已用同一套倍率;撿回條件:要改間距尺度時context/decisions.md「外部建議:內文排版研究(2026-09-26)」
網格預設開放欄、.lv-k 恢復 20pt、內⋯當時各自牴觸既有裁示(合理用卡、使用者裁示的「小重點 16pt」「內文 12pt」),列為待使用者裁示,不擅自改。2026-09-27 已裁示,三項都採用(context/quo⋯context/decisions.md「外部建議:內文排版研究(2026-09-26)」
結論列固定高度(強制內容起點一致)每個兩行結論列的頁都要多付約 1.5 行單位,已調到滿版的 deck 會整批溢出;撿回條件:改成新 deck 的預設時連容量表一起改context/decisions.md「評估過、暫不做(2026-09 簡報設計檢視)」
hero 依自身高度自動放大數字(容器查詢)hero 需 container-type:size,「手機版: 重排」沒有定尺會塌成 0 高;改走選用的 .big;撿回條件:重排模式退場時context/decisions.md「評估過、暫不做(2026-09 簡報設計檢視)」
表格預設改成 .fit.lite既有 deck 的表格靠 table-layout:fixed+百分比欄寬排好,改預設會讓欄寬與列高全部重算、已滿版的頁溢出;新 deck 由 components.md 推薦寫⋯context/decisions.md「評估過、暫不做(2026-09 簡報設計檢視)」
固定內容版型庫(14 種,v2 移除)不撿回引擎;主題固定反覆更新 → 個案定版(components.md「個案定版(需要固定版型的主題)」)context/decisions.md「刻意排除與待辦」
填答頁 poll(v2 隨版型庫移除)現場表決需求再議;嚴禁 localStorage 原則不變context/decisions.md「刻意排除與待辦」
PPTX 原生輸出必須交付 .pptxcontext/decisions.md「刻意排除與待辦」
色盲友善硬門檻對外公開context/decisions.md「刻意排除與待辦」
效能門檻檢查實際踩到卡頓context/decisions.md「刻意排除與待辦」
螢幕版/列印版分檔兩種版面真正衝突context/decisions.md「刻意排除與待辦」
紅黃綠治理分級入檢查產出外流至集團外context/decisions.md「刻意排除與待辦」
對內/對外雙版本規範出現對外發布需求context/decisions.md「刻意排除與待辦」
簡報態滑過卡片=其餘淡化(逐列聚焦的 hove⋯游標閒置隱藏後 hover 仍黏著,全場看到其餘淡掉卻不知道為什麼;且使用者裁示不淡化其他內容(context/quotes.md「講者工具用綠色、範圍大小適中」);改由「點選釘⋯context/decisions.md「簡報態:實作時刻意不做的」
聚光燈(整頁壓暗、游標處留一圈亮)使用者裁示拿掉:主管視力不好,壓暗的地方看不到字;撿回條件:不撿context/decisions.md「簡報態:實作時刻意不做的」
⤢ 燈箱重排要自動在寬表與圖表掛按鈕=閱讀態畫面多東西;Alt+點擊放大已涵蓋「看清楚一格」;圖表另有片段 .ec-zoom(ref.py snippet 圖表放大檢視);撿回條件:≥3 副⋯context/decisions.md「簡報態:實作時刻意不做的」
狀態切換的 FLIP 變形(同一條長條變長、列⋯要「同一個元素、不同資料」的資料驅動渲染,等於在頁面上寫圖表引擎;引擎只做「預先寫好的幾態」交叉淡換;撿回條件:出現 ≥3 副需要排序動畫的 deckcontext/decisions.md「簡報態:實作時刻意不做的」
結論列數字自動同數聯動(零標記版)會命中不相干的同數字;先做成要標記的 data-hl,好用再議;撿回條件:一副 deck 試用後使用者要context/decisions.md「簡報態:實作時刻意不做的」
狀態切換 pages 分身頁跑垂直節奏分身頁內容與原頁不同,沿用原頁的倍率可能裝不下;分身頁一律自然排版(12pt、不放大間距);撿回條件:分身頁留白被點名context/decisions.md「簡報態:實作時刻意不做的」
手寫標註簡報態 D 開畫筆、C 清本頁;不保存、不上紙;撿回條件:講者要在會中圈數字、畫箭頭,且雷射筆不夠context/decisions.md「簡報態:候選、未做」
跨頁膠囊預覽滑過「附錄:頁名」膠囊浮出目標頁的即時縮圖(沿用概覽的縮圖做法);撿回條件:附錄 ≥10 頁、問答時常要先確認再跳context/decisions.md「簡報態:候選、未做」
前後對照擦拭兩張對齊的內容疊在一起,range 拖分隔線;列印兩張並排;撿回條件:燈號、流程、系統畫面的前後對照 ≥2 副context/decisions.md「簡報態:候選、未做」
情境切換(離散)range 五檔情境、<output> 顯示預先算好的結果;列印一張情境表;撿回條件:利率敏感度、壓力測試類 deckcontext/decisions.md「簡報態:候選、未做」
篩選/排序/條件標示附錄長表篩選、點表頭排序、標未達標;預設=全部,紙本印全部並註「篩選=全部」;撿回條件:附錄表超過 40 列、問答時要只看某家context/decisions.md「簡報態:候選、未做」
圖表逐步data-steps 聚焦系列、逐一出現註解、逐點畫軌跡;閱讀態=終態;撿回條件:≥2 副 deck 要在圖上逐步講context/decisions.md「簡報態:候選、未做」
表格一鍵複製成 Excel剪貼簿同時寫 HTML 與 TSV(原始值);撿回條件:主管要把表貼進 Excel 再算;企業政策不擋剪貼簿(未確認)context/decisions.md「簡報態:候選、未做」
圖表複製為圖片ECharts getDataURL() 寫入剪貼簿,自動附來源一行;撿回條件:同上context/decisions.md「簡報態:候選、未做」
只印這一頁輸出鈕多一項;撿回條件:列印對話框選頁不夠用context/decisions.md「簡報態:候選、未做」
章節式子地圖標頭定義一條貫穿全副的式子,build 在章節頁印同一條、只強調本章那段(靜態);撿回條件:敘事是「一條式子逐段講」的 deckcontext/decisions.md「簡報態:候選、未做」
GSAP 不進引擎官方 AI skill(greensock/gsap-skills)教的是 API 與效能,沒有「何時該動、動什麼」的設計守則;context/decisions.md「GSAP 不進引擎」
用語:曾評估未採的替換詞「腳本」作類別名的替換詞,理由留著免得重跑一次:規則程式(最貼分界線,但非台灣既有商務詞)、 程式(太廣,與機器學習/大語言模型並列時層級不齊)、傳統程式(✗ 隱含該被取代)、工⋯context/decisions.md「用語:曾評估未採的替換詞」
片段:型錄判為要新片段但不收的- 掛框標籤框 .fbox:分組語彙只有 .sh+開放欄與 .solid 卡兩種,第三種框線語彙只會讓頁面變雜。context/decisions.md「片段:型錄判為要新片段但不收的」
版面型(單圖滿版、圖+評論欄、圖+表並排、雙圖⋯不另立 option;撿回條件:版面用現有元件組(型錄已寫類名組合),圖套任一圖表範例;圖表這一側要注意的只有圖高與同區段(ref.py chart 圖表共通規則 的版面條、re⋯context/decisions.md「圖表:不另立範例的型」
表+列點+全寬瀑布同上;撿回條件:瀑布用 ref.py chart ec-bridgecontext/decisions.md「圖表:不另立範例的型」
單指標專頁、單圖上的轉折注記、上下分層共用 X⋯圖表部分已併入;撿回條件:ec-bracket、ec-turn/ec-endlabel、ec-twotier;版面照型錄context/decisions.md「圖表:不另立範例的型」
值表圖例(疊進圖內的小表)不做;撿回條件:疊在 .xhb-ec 裡的 HTML 小表縮放與列印都沒驗過,還會壓到資料點;放圖旁 .tb.fit.lite。直接標籤部分=ec-endlabelcontext/decisions.md「圖表:不另立範例的型」
內外雙環圓餅不做;撿回條件:讀者要先對半徑才知道哪環是誰(components.md「圖表頁通案(色塊圖例、雙圓餅、hover 明細)」第 4 條);用 ec-donut2context/decisions.md「圖表:不另立範例的型」
儀表盤不做;撿回條件:一個數字占半頁,刻度與色帶是裝飾;改 .hero+一句,或子彈圖 .bltcontext/decisions.md「圖表:不另立範例的型」
半圓雷達不做;撿回條件:文字沿弧段散放找不到閱讀順序、字只能很小;唯一的資訊「上升/持平」用表格一欄就夠context/decisions.md「圖表:不另立範例的型」
地圖不做;撿回條件:CDN 版 ECharts 不含地圖資料,要自帶 geoJSON,離線不可靠;改區域格 .cell.kpi 或序軸 .axiscontext/decisions.md「圖表:不另立範例的型」
雙 y 軸不做;撿回條件:讀者分不清哪條線看哪邊刻度;用 ec-twotiercontext/decisions.md「圖表:不另立範例的型」
圖上圈選、旋轉徽章、大紅圈、3D 柱與圓餅不做;撿回條件:手工感與噪音,透視讓比例失真;自家用焦點色上色(ec-peer)context/decisions.md「圖表:不另立範例的型」
啞鈴、熱力表、行內長條、構成拆解、行事曆甘特⋯歸版面片段(.dumb、.tb.heat、td.ib、.decomp、.gantt、.pband、.tlx);撿回條件:不經 ECharts:字可搜尋、匯出 Markdown 是⋯context/decisions.md「圖表:不另立範例的型」
華夫格並排歸版面片段 .waf;撿回條件:三個 .waf 放 .g3,純 CSS,不經 EChartscontext/decisions.md「圖表:不另立範例的型」
欄組分段表(表格版)歸版面片段 tr.cg;撿回條件:圖表版=ec-fyhalfcontext/decisions.md「圖表:不另立範例的型」
篩選儀表引擎;撿回條件:狀態切換 data-switch(present.md「閱讀態也作用的互動」)context/decisions.md「圖表:不另立範例的型」
瀑布延伸:柱下分組括號未做;撿回條件:沒有實跑;可用 ec-bracket 的隱藏數值軸畫在 y 負值區,實跑後再收context/decisions.md「圖表:不另立範例的型」
逐點畫出軌跡的動畫未做;撿回條件:屬簡報態動畫;靜態版=ec-trailcontext/decisions.md「圖表:不另立範例的型」
續頁編號/成對頁標記標題尾加「(1/3)」;撿回條件:build 偵測同標題連續頁自動加號,或「續頁: 1」頁層設定context/decisions.md「跨頁體例:要引擎支援、暫不做」
章節頁附本章摘要章首第一張內容頁固定用編號重點清單;撿回條件:divider 加選用槽位(例 pts: 最多 3 條、每條 ≤20 字),讓「只翻章節頁」就讀完全副結論context/decisions.md「跨頁體例:要引擎支援、暫不做」
排法型錄:不做機器版型索引排法型錄不是查表工具:版型選擇是 S0 的敘事判斷(讀 storyline、想清楚這一頁要對讀者論證什麼),不是拿頁面外觀去比對 tag;context/decisions.md「排法型錄:不做機器版型索引」
發布:用 Pages、不用 WorkersCloudflare 在 Pages 文件頂端建議新專案用 Workers。context/decisions.md「發布:用 Pages、不用 Workers」
給人讀的文件:獨立 HTML、main 正式網⋯文件重組方案原本建議給人讀的文件站用第二個 Cloudflare Pages 專案、掛 Access。context/decisions.md「給人讀的文件:獨立 HTML、main 正式網址放總入口、不加登入」

沒有符合的條目。