Files
log/templates/log-contents.md
jiantw83 fbfe424c39 feat(worklog): 日誌目錄頁改成一個日誌頁一個大標題區塊
日誌目錄頁的版面從 markdown 表格換成「大標題加條列」:一個日誌頁一個大標題
區塊,標題就是那個日誌頁的實際頁名,週五日期、條目數這些欄位改成標題底下的
一層條列。範本與 worklog 技能的寫入敘述、完成條件、退出碼說明一起跟上。

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

比對鍵從裸雜湊那一格改成大標題本身,標題寫成日誌頁的實際頁名。頁名只由
存取庫的擁有者與名稱決定,換主機位址、把日誌頁移到別的存取庫,或頁名編碼
有差,都動不到它;含網址的那一條連結照樣留著給人點,但不當鍵——拿它當鍵,
上面任一件事一變,這一輪的文字就跟上一輪不一樣,比不到既有那一筆就走附加,
同一個日誌頁多出第二個區塊,舊區塊從此再也更新不到。欄號那個參數只在舊
表格頁轉檔時用得到,頁面已經是條列就完全忽略它。

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

19 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 日誌目錄
> 由 `jsc-log:worklog` 維護。每個日誌頁一個區塊;`{HASH}` 是 `{owner}/{repo}` 的完整 40 碼大寫十六進位 SHA-1,頁內仍依該週五日期整理。
> 本頁落在 `JSC_WIKI_REPO_CONTENTS` 解出的專用存取庫,日誌頁 `LOG_{HASH}` 落在 `JSC_WIKI_REPO_LOG` 的存取庫,兩者分屬不同 wiki。
> 連結寫法:日誌頁那一條寫成 `[{頁名}]({絕對網址})`,網址取自 `jsc-gitea/tools/gitea.sh wiki-url`,不用 `[[...]]`。兩頁分屬不同存取庫,`[[...]]` 連不過去,畫面上還看不出壞掉。
> 連結驗證:每個要寫進本頁的連結先交給 `jsc-gitea/tools/link-check.sh`,退出碼 0 才寫入。出現 DEAD 就不寫,把連不到的那幾筆回報給呼叫端。
> 寫入語意:一個區塊代表一個日誌頁。一律用 `jsc-gitea/tools/wiki-contents.sh upsert LOG 1 LOG_{HASH} {區塊檔} {本範本}` 單一區塊整頁寫回——它讀整頁、找得到該頁既有的那個區塊就換掉,找不到才附加到頁尾。
> 參數語意:`<key-col>` 的 `1` 只在舊頁還是表格時用得到,代表轉檔時取第 1 欄格子的文字當 H2 標題;頁面已經是條列格式就完全忽略它。`<key>` 是 H2 標題文字,也就是內容頁頁名 `LOG_{HASH}`。第四個參數是區塊檔,內容是 `## {key}` 那一行加空行加各條欄位,不是一列表格。
> 鍵是 H2 標題的頁名,不是連結。頁名只由 `{owner}/{repo}` 決定:`GITEA_HOST` 一換、`JSC_WIKI_REPO_LOG` 改指別的存取庫,或 Gitea 對頁名的編碼有差,都動不到它。連結帶著主機名與存取庫名,這三件事任一變動就跟上一輪寫的不一樣;拿連結當鍵就比不到既有那一筆,走附加,同一個日誌頁多出第二個區塊,舊區塊從此不再更新。
> 禁止整頁覆蓋,也不得改動別人的區塊。
## LOG_{HASH}
- 日誌頁:[LOG_{HASH}]({日誌頁絕對網址})
- HASH:{HASH}
- 週五日期:{yyyy-MM-dd}
- 條目數:{n}
- 最後更新:{yyyy-MM-dd HH:mm}