feat(gitea): wiki 轉議題、HTML 匯出與範本風格設定 #18

Merged
admin merged 4 commits from feat/wiki-to-issue-and-html-export into develop 2026-08-26 01:30:07 +00:00
Member

摘要

  • 需求描述:新增三支技能——把 wiki 轉成議題(關聯專案、加標籤,沒連結就中斷)、把 wiki 或議題轉成範本 HTML(不同類型套不同範本,不知道就套預設,沒連結就中斷)、設定哪一種頁面用哪一種範本風格(設定時至少給五種選擇)。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
skills/wiki-to-issue/SKILL.md 新技能:一頁 wiki 轉一筆議題,連結是唯一入口
skills/html-export/SKILL.md 新技能:wiki 頁或議題輸出成單一 HTML 檔
skills/html-style/SKILL.md 新技能:設定種類對應的版型與風格,六種版型與五種風格全部列給使用者選
tools/gitea-link.sh 解析 wiki 與議題連結;解不出就 exit 3,呼叫端據此中止
tools/issue.sh 議題讀取與建立、標籤名換 id、專案看板查詢
tools/html-style.sh 種類對版型與風格的兩層設定(專案優先、全域其次)
tools/html-render.sh markdown 套版型與風格,輸出單一 HTML 檔
tools/gitea.sh 新增 markdown 子命令;送出的 Content-Type 改為可切換
templates/html/ 六種版型、五種風格、共用排版與共用腳本
README.md 補上新工具、新技能與 HTML 範本說明
三份 manifest 版本同步升到 0.1.3

設計重點

  • 沒有連結就中止:兩支轉換技能都以一條連結為唯一入口。解不出來就停下來回報,不退回工作目錄的 remote 去猜——寫錯存取庫的議題是對外的,收不回來。
  • 版型與風格分開:六種版型決定內容怎麼排,五種風格決定看起來長怎樣,兩者自由搭配共三十種,比三十個各自維護的範本檔好改。
  • 設定兩層:專案的 .jsc/html-styles 優先,其次 $JSC_HOME/html-styles.conf;對不到退 DEFAULT,再對不到才用內建的 report/minimal。get 的第三欄會說出這組值是使用者設的還是撿來的。
  • 關聯不上就講:Gitea 1.27 沒有公開的專案看板 API。issue.sh projects 直接 exit 3 並印出看板網址,技能據實回報請使用者手動拖,不假裝關聯成功。
  • markdown 交給 Gitea 渲染:/markdown 端點在 1.27 回 200 但內容是空的,所以改走 /markdown/raw。代價是 wiki 的 [[頁名]] 不會變成連結,由技能先換成絕對網址。

測試結果

  • sh -n 四支新腳本與改動的 gitea.sh:通過。
  • gitea-link.sh parse:wiki 連結、帶留言錨點的議題連結、非法連結(exit 3)三種都符合預期。
  • issue.sh labels/title/labels-of/projects:對 plugins/sdlc 實測,projects 如預期 exit 3 並印出手動指引。
  • html-style.sh:layouts、styles、set、get、list、打錯版型名(exit 4)全數符合預期;退回 DEFAULT 與內建預設的來源欄位正確。
  • html-render.sh:六種版型乘五種風格共三十種組合全部產出成功,表格與程式碼區塊確認有被渲染。
  • ste100-lint.sh gitea、check-wiki-rules.sh:通過。
  • 未建立實際議題——那是對外動作,留給使用者實跑時確認。

前置 Push Request

  • 無
## 摘要 - 需求描述:新增三支技能——把 wiki 轉成議題(關聯專案、加標籤,沒連結就中斷)、把 wiki 或議題轉成範本 HTML(不同類型套不同範本,不知道就套預設,沒連結就中斷)、設定哪一種頁面用哪一種範本風格(設定時至少給五種選擇)。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `skills/wiki-to-issue/SKILL.md` | 新技能:一頁 wiki 轉一筆議題,連結是唯一入口 | | `skills/html-export/SKILL.md` | 新技能:wiki 頁或議題輸出成單一 HTML 檔 | | `skills/html-style/SKILL.md` | 新技能:設定種類對應的版型與風格,六種版型與五種風格全部列給使用者選 | | `tools/gitea-link.sh` | 解析 wiki 與議題連結;解不出就 exit 3,呼叫端據此中止 | | `tools/issue.sh` | 議題讀取與建立、標籤名換 id、專案看板查詢 | | `tools/html-style.sh` | 種類對版型與風格的兩層設定(專案優先、全域其次) | | `tools/html-render.sh` | markdown 套版型與風格,輸出單一 HTML 檔 | | `tools/gitea.sh` | 新增 markdown 子命令;送出的 Content-Type 改為可切換 | | `templates/html/` | 六種版型、五種風格、共用排版與共用腳本 | | `README.md` | 補上新工具、新技能與 HTML 範本說明 | | 三份 manifest | 版本同步升到 0.1.3 | ## 設計重點 - **沒有連結就中止**:兩支轉換技能都以一條連結為唯一入口。解不出來就停下來回報,不退回工作目錄的 remote 去猜——寫錯存取庫的議題是對外的,收不回來。 - **版型與風格分開**:六種版型決定內容怎麼排,五種風格決定看起來長怎樣,兩者自由搭配共三十種,比三十個各自維護的範本檔好改。 - **設定兩層**:專案的 `.jsc/html-styles` 優先,其次 `$JSC_HOME/html-styles.conf`;對不到退 `DEFAULT`,再對不到才用內建的 `report`/`minimal`。`get` 的第三欄會說出這組值是使用者設的還是撿來的。 - **關聯不上就講**:Gitea 1.27 沒有公開的專案看板 API。`issue.sh projects` 直接 exit 3 並印出看板網址,技能據實回報請使用者手動拖,不假裝關聯成功。 - **markdown 交給 Gitea 渲染**:`/markdown` 端點在 1.27 回 200 但內容是空的,所以改走 `/markdown/raw`。代價是 wiki 的 `[[頁名]]` 不會變成連結,由技能先換成絕對網址。 ## 測試結果 - `sh -n` 四支新腳本與改動的 `gitea.sh`:通過。 - `gitea-link.sh parse`:wiki 連結、帶留言錨點的議題連結、非法連結(exit 3)三種都符合預期。 - `issue.sh labels`/`title`/`labels-of`/`projects`:對 `plugins/sdlc` 實測,`projects` 如預期 exit 3 並印出手動指引。 - `html-style.sh`:`layouts`、`styles`、`set`、`get`、`list`、打錯版型名(exit 4)全數符合預期;退回 `DEFAULT` 與內建預設的來源欄位正確。 - `html-render.sh`:六種版型乘五種風格共三十種組合全部產出成功,表格與程式碼區塊確認有被渲染。 - `ste100-lint.sh gitea`、`check-wiki-rules.sh`:通過。 - 未建立實際議題——那是對外動作,留給使用者實跑時確認。 ## 前置 Push Request - 無
jiantw83 added 3 commits 2026-08-26 01:20:29 +00:00
What:新增 wiki-to-issue 技能,把一頁 wiki 轉成同一個存取庫的議題;配套新增 tools/gitea-link.sh 解析連結、tools/issue.sh 讀寫議題。

Why:wiki 頁要變成可追蹤的工作時,原本得自己拼 API:組 JSON、查標籤 id、挑回應欄位,跳脫一錯就把對外的議題內容寫壞。

How:連結是唯一入口,gitea-link.sh 解不出 wiki 頁就中止,不猜存取庫也不猜頁名;標籤只從既有的挑;站台沒有專案看板 API 時據實回報請使用者手動拖,不假裝關聯成功。

Who:使用 jsc 技能組、需要把 wiki 內容交辦出去的人。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
What:新增 html-export 與 html-style 兩支技能、tools/html-render.sh 與 tools/html-style.sh 兩支工具,以及六種版型乘五種風格的 HTML 範本。

Why:wiki 頁與議題要拿給 Gitea 以外的人看時,只能複製 markdown;不同類型的文件也該有各自的版面,不是每份都長一樣。

How:版型(report、slide、dashboard、spec、timeline、onepager)決定內容怎麼排,風格(minimal、corporate、dark、print、vivid)決定看起來長怎樣,兩者自由搭配。哪一種頁面套哪一組由設定決定:專案的 .jsc/html-styles 優先,其次 $JSC_HOME/html-styles.conf,對不到退 DEFAULT,再對不到才用內建的 report/minimal。產出是單一 HTML 檔,CSS 與腳本全部內嵌。

Who:需要把 wiki 頁或議題寄給客戶、主管或跨團隊同事的人。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
What:gitea.sh 新增 markdown 子命令與可切換的 Content-Type,README 補上新工具、新技能與 HTML 範本說明,三份 manifest 同步升版到 0.1.3。

Why:markdown 轉 HTML 要交給 Gitea 自己渲染,排版才跟 wiki、議題頁一致;但 /markdown 端點在 Gitea 1.27 回 200 卻是空內容,看起來像成功。

How:改走吃純文字的 /markdown/raw,req 送出的 Content-Type 改由 REQ_CONTENT_TYPE 決定,預設仍是 application/json。代價寫進註解:raw 端點不吃 wiki 情境,[[頁名]] 要由呼叫端先換成絕對網址。

Who:所有透過 jsc-gitea 產生文件的技能。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
jiantw83 added 1 commit 2026-08-26 01:22:02 +00:00
What:三份 plugin manifest 的 description 補上這次新增的兩類能力。

Why:description 是各 CLI 顯示這個 plugin 用途的依據,少了新能力就找不到人用。

How:三份同步改成同一句;marketplace 正本的條目描述留給下一次 skill-check 統一處理,因為那份要同時改到十一個存取庫的副本。

Who:在 CLI 裡挑 plugin 的人。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
admin approved these changes 2026-08-26 01:29:56 +00:00
admin merged commit 5b3aa3959b into develop 2026-08-26 01:30:07 +00:00
admin deleted branch feat/wiki-to-issue-and-html-export 2026-08-26 01:30:07 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/gitea#18