feat(wiki): 五個目錄頁改走專用存取庫,補齊 wiki-url 退出碼分流
What:PLAN、ANALYZE、DELIVER、MAINTAIN、REPO 五個目錄頁改由 wiki-repo CONTENTS 解析並透過 wiki-contents.sh upsert 寫入,內容頁仍各走自己的型別。MAINTAIN 只有 目錄頁,整個型別都在專用存取庫。 Why:目錄頁與內容頁不再同庫,跨庫沒有 wiki 連結語法可用,一律改 wiki-url 的絕對 網址。原本四處取網址都沒有退出碼分流,5 被讀成空字串就寫出空連結,7 被讀成 4 就 把活著的頁當成沒寫成。 How:plan 與 analyze 會上階段鎖,而寫入閘門只看鎖不看路徑,所以流程要產的列檔與 暫存檔會被自己的閘門擋掉。兩支的限制段明寫這些檔一律用 heredoc 或 mktemp 產出。 wp-gate.sh 讀的是分析內容頁,維持走 ANALYZE,原地註明不得改成 CONTENTS。 Who:jsc-sdlc
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
# 分析目錄
|
||||
|
||||
> 寫入語意:一列代表一份分析頁。寫入前先讀回整頁,該分析頁已經有列就更新那一列,沒有才在文末附加一列,最後整頁寫回。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 存放位置:本頁是目錄頁,落在 `JSC_WIKI_REPO_CONTENTS` 解出的專用存取庫(沒設定就退回 `JSC_WIKI_REPO`,都沒設定就停)。分析頁 `ANALYZE_{HASH}` 住在 `JSC_WIKI_REPO_ANALYZE` 那一邊,兩者不同存取庫。
|
||||
> 寫入語意:一列代表一份分析頁。一律用 `jsc-gitea/tools/wiki-contents.sh upsert ANALYZE 3 {HASH} {列檔} {本範本}` 單列寫回:該分析頁已經有列就更新那一列,沒有才附加一列,整頁一起送出。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 連結寫法:分析頁欄位放 `jsc-gitea/tools/gitea.sh wiki-url` 給的絕對網址。`[[...]]` 只在同一個 wiki 內解析,從本頁指過去會是死連結。
|
||||
> HASH:由 `jsc-gitea/tools/hash-id` 對 `{owner}/{repo}` 算出的完整 40 碼大寫十六進位,不截短、不加前綴。
|
||||
|
||||
| 計畫名稱 | 分析頁 | HASH | 工作包 | 未完成項目 | 狀態 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| {計畫名稱} | [[{計畫名稱}|ANALYZE_{HASH}]] | {HASH} | WP-01、WP-02 | {n} | 未完成 |
|
||||
| {計畫名稱} | [{計畫名稱}](https://{gitea 主機}/{owner}/{repo}/wiki/ANALYZE_{HASH}) | {HASH} | WP-01、WP-02 | {n} | 未完成 |
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
# 交付目錄
|
||||
|
||||
> 寫入語意:一列代表一個工作包的交付。寫入前先讀回整頁,該工作包已經有列就更新那一列,沒有才在文末附加一列,最後整頁寫回。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 存放位置:本頁是目錄頁,落在 `JSC_WIKI_REPO_CONTENTS` 解出的專用存取庫(沒設定就退回 `JSC_WIKI_REPO`,都沒設定就停)。交付頁 `DELIVER_{HASH}` 住在 `JSC_WIKI_REPO_DELIVER` 那一邊,兩者不同存取庫。
|
||||
> 寫入語意:一列代表一個工作包的交付。一律用 `jsc-gitea/tools/wiki-contents.sh upsert DELIVER 6 {HASH} {列檔} {本範本}` 單列寫回:該工作包已經有列就更新那一列,沒有才附加一列,整頁一起送出。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 連結寫法:交付頁欄位放 `jsc-gitea/tools/gitea.sh wiki-url` 給的絕對網址。`[[...]]` 只在同一個 wiki 內解析,從本頁指過去會是死連結。
|
||||
> HASH:由 `jsc-gitea/tools/hash-id` 對 `{owner}/{repo}` 加工作包編號(例 `plugins/sdlc#WP-01`)算出的完整 40 碼大寫十六進位,不截短、不加前綴。一個工作包一頁,彼此不覆蓋。
|
||||
|
||||
<!-- 交付欄:是 = 交付、交接工作包(WP-01),接手者要據此動工;否 = 實作類工作包。 -->
|
||||
|
||||
| 計畫名稱 | 工作包 | 交付 | 交付型別 | 交付頁 | HASH | 存取庫 | 交付時間 |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| {計畫名稱} | WP-01 {工作包名稱} | 是 | API 文件 | [[{WP-01 工作包名稱}|DELIVER_{HASH}]] | {HASH} | {owner}/{repo} | {yyyy-MM-dd HH:mm:ss} |
|
||||
| {計畫名稱} | WP-01 {工作包名稱} | 是 | API 文件 | [{WP-01 工作包名稱}](https://{gitea 主機}/{owner}/{repo}/wiki/DELIVER_{HASH}) | {HASH} | {owner}/{repo} | {yyyy-MM-dd HH:mm:ss} |
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# 維護目錄
|
||||
|
||||
> 寫入語意:一列代表一個受維護的存取庫。寫入前先讀回整頁,該存取庫已經有列就更新那一列,沒有才在文末附加一列,最後整頁寫回。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 存放位置:本頁是目錄頁,落在 `JSC_WIKI_REPO_CONTENTS` 解出的專用存取庫(沒設定就退回 `JSC_WIKI_REPO`,都沒設定就停)。`MAINTAIN` 只有目錄頁、沒有內容頁,所以整個型別的紀錄就在這一頁。
|
||||
> 寫入語意:一列代表一個受維護的存取庫。一律用 `jsc-gitea/tools/wiki-contents.sh upsert MAINTAIN 1 {owner}/{repo} {列檔} {本範本}` 單列寫回:該存取庫已經有列就更新那一列,沒有才附加一列,整頁一起送出。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 連結寫法:要指向別的頁型(例如交付頁)時,放 `jsc-gitea/tools/gitea.sh wiki-url` 給的絕對網址。`[[...]]` 只在同一個 wiki 內解析,從本頁指過去會是死連結。
|
||||
|
||||
<!-- 維護截止日 NULL = 永久維護 -->
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
# 計畫目錄
|
||||
|
||||
> 寫入語意:一列代表一份計畫。寫入前先讀回整頁,該計畫已經有列就更新那一列,沒有才在文末附加一列,最後整頁寫回。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 存放位置:本頁是目錄頁,落在 `JSC_WIKI_REPO_CONTENTS` 解出的專用存取庫(沒設定就退回 `JSC_WIKI_REPO`,都沒設定就停)。計畫頁 `PLAN_{HASH}` 住在 `JSC_WIKI_REPO_PLAN` 那一邊,兩者不同存取庫。
|
||||
> 寫入語意:一列代表一份計畫。一律用 `jsc-gitea/tools/wiki-contents.sh upsert PLAN 4 {HASH} {列檔} {本範本}` 單列寫回:該計畫已經有列就更新那一列,沒有才附加一列,整頁一起送出。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 連結寫法:計畫頁欄位放 `jsc-gitea/tools/gitea.sh wiki-url` 給的絕對網址。`[[...]]` 只在同一個 wiki 內解析,從本頁指過去會是死連結。
|
||||
> HASH:由 `jsc-gitea/tools/hash-id` 對 `{owner}/{repo}` 算出的完整 40 碼大寫十六進位,不截短、不加前綴。
|
||||
|
||||
| 計畫名稱 | 計畫頁 | 存取庫 | HASH | 狀態 | 建立時間 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| {計畫名稱} | [[{計畫名稱}|PLAN_{HASH}]] | {owner}/{repo} | {HASH} | 未分析 | {yyyy-MM-dd} |
|
||||
| {計畫名稱} | [{計畫名稱}](https://{gitea 主機}/{owner}/{repo}/wiki/PLAN_{HASH}) | {owner}/{repo} | {HASH} | 未分析 | {yyyy-MM-dd} |
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
# 盤點目錄
|
||||
|
||||
> 寫入語意:一列代表一個存取庫的盤點。寫入前先讀回整頁,該存取庫已經有列就更新那一列,沒有才在文末附加一列,最後整頁寫回。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 存放位置:本頁是目錄頁,落在 `JSC_WIKI_REPO_CONTENTS` 解出的專用存取庫(沒設定就退回 `JSC_WIKI_REPO`,都沒設定就停)。盤點頁 `REPO_{HASH}` 住在 `JSC_WIKI_REPO_REPO` 那一邊,兩者不同存取庫。
|
||||
> 寫入語意:一列代表一個存取庫的盤點。一律用 `jsc-gitea/tools/wiki-contents.sh upsert REPO 1 {owner}/{repo} {列檔} {本範本}` 單列寫回:該存取庫已經有列就更新那一列,沒有才附加一列,整頁一起送出。禁止整頁覆蓋,也不得改動別人的列。
|
||||
> 連結寫法:盤點頁欄位放 `jsc-gitea/tools/gitea.sh wiki-url` 給的絕對網址。`[[...]]` 只在同一個 wiki 內解析,從本頁指過去會是死連結。
|
||||
> HASH:由 `jsc-gitea/tools/hash-id` 對該存取庫自己的 `{owner}/{repo}` 算出的完整 40 碼大寫十六進位,不截短、不加前綴。
|
||||
|
||||
| 存取庫 | 盤點頁 | HASH | commit sha | 盤點時間 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| {owner}/{repo} | [[{owner}/{repo}|REPO_{HASH}]] | {HASH} | `{sha}` | {yyyy-MM-dd} |
|
||||
| {owner}/{repo} | [{owner}/{repo}](https://{gitea 主機}/{owner}/{repo}/wiki/REPO_{HASH}) | {HASH} | `{sha}` | {yyyy-MM-dd} |
|
||||
|
||||
Reference in New Issue
Block a user