Files
log/templates/report-contents.md
jiantw83 369b327a4f feat(report): 報表目錄頁改成一個報表頁一個大標題區塊
報表目錄頁的版面從 markdown 表格換成「大標題加條列」:一個報表頁一個大標題
區塊,也就是一個存取庫的一種期間一個區塊,標題就是那個報表頁的實際頁名,
期間、最新一期、期數這些欄位改成標題底下的一層條列。範本與 report 技能的
寫入敘述與退出碼說明一起跟上。

表格的欄位組合是整頁共用的,一頁上卻有很多報表頁各自的紀錄,每一輪只重寫
自己那一列。欄位一增減,舊列的格數與表頭就對不上,而目錄頁不能整頁覆蓋——
覆蓋等於刪掉別人的紀錄。條列一筆一個區塊,欄位各自獨立,加一條只動到自己
那一個區塊。

比對鍵從裸雜湊那一格改成大標題本身,標題寫成報表頁的實際頁名。頁名只由
存取庫的擁有者、名稱與期間決定,換主機位址或頁名編碼有差都動不到它;含
網址的那一條連結照樣留著給人點,但不當鍵。把報表存取庫改指別的庫是另一回
事:雜湊本身就取自那個庫,換庫等於換頁,四種期間會各多一個區塊,那是換庫
的本意,不是鍵失準,舊區塊請人工清掉。

範圍是工作報表的目錄頁與 report 技能。
2026-09-02 17:22:33 +08:00

2.4 KiB
Raw Permalink Blame History

報表目錄

由 jsc-log:report 維護。年、月、週、日各一個區塊;HASH 取 {owner}/{repo}/{期間} 的完整 40 碼大寫十六進位 SHA-1,算法與其他頁面共用,但這裡的 {owner}/{repo} 取 REPORT wiki 存取庫,不是程式碼存取庫。 本頁落在 JSC_WIKI_REPO_CONTENTS 解出的專用存取庫,報表頁 REPORT_{HASH} 落在 JSC_WIKI_REPO_REPORT 的存取庫,兩者分屬不同 wiki。 連結寫法:報表頁那一條寫成 [{頁名}]({絕對網址}),網址取自 jsc-gitea/tools/gitea.sh wiki-url,不用 [[...]]。兩頁分屬不同存取庫,[[...]] 連不過去,畫面上還看不出壞掉。 連結驗證:每個要寫進本頁的連結先交給 jsc-gitea/tools/link-check.sh,退出碼 0 才寫入。出現 DEAD 就不寫,把連不到的那幾筆回報給呼叫端。 寫入語意:一個區塊代表一個報表頁,也就是一個存取庫的一種期間。一律用 jsc-gitea/tools/wiki-contents.sh upsert REPORT 1 REPORT_{HASH} {區塊檔} {本範本} 單一區塊整頁寫回——它讀整頁、找得到該報表頁既有的那個區塊就換掉,找不到才附加到頁尾。 參數語意:<key-col> 的 1 只在舊頁還是表格時用得到,代表轉檔時取第 1 欄格子的文字當 H2 標題,格子是 [文字](網址) 就只取文字;頁面已經是條列格式就完全忽略它。<key> 是 H2 標題文字,也就是內容頁頁名 REPORT_{HASH}。第四個參數是區塊檔,內容是 ## {key} 那一行加空行加各條欄位,不是一列表格。 鍵是 H2 標題的頁名,不是連結。頁名只由 {owner}/{repo}/{期間} 決定,GITEA_HOST 一換或 Gitea 對頁名的編碼有差都動不到它;連結帶著主機名與頁名編碼,一變就跟上一輪寫的不一樣,拿它當鍵就比不到既有那一筆,走附加,同一個報表頁多出第二個區塊,舊區塊從此不再更新。 但 JSC_WIKI_REPO_REPORT 改指別的存取庫是另一回事:HASH 本身就取自 REPORT wiki 存取庫,換庫等於換頁,四個期間會各多一個區塊。那是換庫的本意,不是鍵失準,舊區塊請人工清掉。 禁止整頁覆蓋,也不得改動別人的區塊。

REPORT_{HASH}

  • 報表頁:REPORT_{HASH}
  • HASH:{HASH}
  • 期間:{daily、weekly、monthly、yearly 四選一}
  • 最新一期:{最新一期的標籤}
  • 期數:{n}
  • 最後更新:{yyyy-MM-dd HH:mm}