Docs as Code 與知識管理系統

更新於 2024/05/01閱讀時間約 7 分鐘

你任職的公司裡面有沒有使用現成的知識分享平台或知識管理系統?例如 ConfluenceDocument360 等等。

更新:後來從我的臉書貼文下方收到一些網友的分享,得知有些公司是用 Notion、OneNote、Google Docs、Azure DevOps 的 wiki 等等。也很高興看到有人的公司是採用 monorepo + markdown 的作法,也就是稍後會提到的 Docs as Code。

本文轉貼自 Huanlin's Notes

目前我是用 markdown 編寫技術文件,搭配 Git workflow 來自動建置與發佈文件至網站。我寫的文件主要是軟體系統的 user guide 以及 API tutorial。像這類正規的產品文件,許多開放原始碼專案也都是採用類似的作法,例如 Kubernetes Documentation,以及這篇筆記所在的網站(使用 Hugo 建置)。

然而,使用 markdown 撰寫文件,並搭配靜態網站生成工具(如 Hugo)來建立技術文件網站,對企業內部需要知識管理的情況適用嗎?它能夠滿足企業對 KMS 的需求嗎?對此問題,我並沒有十分確定的答案,僅透過這篇筆記梳理目前的想法。

簡單起見,接下來的討論,會把 markdown + Git workflow 的文件製作方式稱為 Docs-as-Code,即 Documentation as Code 的簡寫。

Docs as Code

Docs as Code 指的是用跟寫程式一樣的工具來寫文件。我用來寫文件的編輯器是 VS Code,檔案內容的格式則為 markdown。

優點:

  • 採用 markdown 編寫,語法簡單、排版風格容易趨於一致。
  • Markdown 是文字檔案,有許多工具可以對檔案內容進行處理。例如文字搜尋替換、整批翻譯、移轉至其他文件平台等等。
  • 搭配 Git workflow 在團隊中實施 review 和 approval 程序,有助於傳遞知識、確保文件品質。
  • DevOps team 本來就熟悉 Git 操作以及相關流程,故很容易一起加入文件協作的行列。如果有時間和興趣,團隊成員皆可自由貢獻至文件庫,亦可藉此發現潛在的 technical writer 人選。
  • 避免 vendor/platform lock-in。因為文件是以 markdown 檔案的形式保存,未來若要改用其他文件工具或平台,可輕易移轉既有內容,減少重工,從而確保先前製作文件的心血不會白費。
  • 有很多開放原始碼的解決方案可供選擇。

缺點:

  • Markdown 語法雖然簡單,但是對於沒寫過的人來說,還是有一點學習門檻。一旦拿來跟 WYSIWYG 介面的文件管理平台比較,親和力就輸了一截。(熟悉 markdown 的人應該會覺得 markdown 才更親切吧。)
  • 搜尋能力僅限於「這個文件網站」,也就是同一個 Git repository 內的文件。如果企業內部想要建立一個統一的知識管理平台,Docs as Code 方法很難做到跨站搜尋和跨產品搜尋,除非把所有產品的文件全都放在同一個 Git repository(也就是同一個網站)。
  • 使用者 feedback 和互動功能通常比較陽春。如果是封閉的企業內部網路(防火牆阻止外連),相關功能甚至完全不 work(例如無法使用 giscus 留言板)。
Tip: 如果擔心 markdown 的表格不好編輯,VS Code 有一個方便好用的 extension 叫做 Excel to Markdown table。只要把 Excel 文件的儲存格區塊複製到剪貼簿,然後到 VS Code 中按 Shft+Alt+V 貼上,就是 markdown table 了。

Full-blown KMS

現成的 KMS,我只有用過 Confluence。這裡僅以我個人有限的使用經驗來說說這類 full-blown KSM 的優缺點。

現成的 KMS 最大優點就是豐富的功能。通常有這些:

  • WYSIWYG 文件編輯器,高親和力,隨時可寫。
  • 所有文件全都集中在一個平台,方便管理和搜尋任何文件。
  • 更好的 user feedback 與互動功能。
  • 文件的權限管理功能。
  • 文件的統計分析功能,例如某一篇文章的點閱次數。

就我所知,Document360 除了上述功能,還有:

  • 支援 markdown 編輯器。(這個我喜歡!)
  • 可製作美觀的 API reference manual。
  • 可讓管理者自行定義文件的 review 與 approval 流程。

我認為支援 markdown 編輯器對 KMS 非常重要。因為如果只提供 WYSIWYG 編輯器,每個人寫出來的文件可能都有不同的排版風格,容易導致文件內容格式花俏、凌亂。

此外,文件的 review 和 approval 也很重要。因為 KMS 的操作介面通常很容易上手,且隨時瀏覽器打開頁面就能寫。這很容易產生一個現象:許多文件的品質就跟草稿差不多,例如一堆錯字、沒有為讀者設想閱讀順序,甚至各文章之間也沒有相互關聯。這些問題都和 KMS 工具本身沒有直接關聯,因為關鍵在於寫文件的人是否想要寫出易讀易懂的文件,以及作者本人是否有相關的寫作訓練或經驗。然而,KMS 工具隨時可以寫點東西,這樣的靈活性也多少是促成這種現象的間接原因。

缺點:

  • Vendor/platform lock-in。一旦採用某個廠商的 KMS 解決方案,所有輸入至該平台的內容就會綁在上面。萬一日後發現這平台不好用,想換到另一個 KMS,可能要費不少工夫把既有的文件撈出來,再轉入另一個工具平台。
  • 可能有額外費用,例如支付給 KMS 軟體廠商的年費。

該選哪個?

我認為現成的 KMS 平台很適合企業內部用來蒐集與管理零碎片段知識。這類片段知識通常不會太要求作者字斟句酌,只要有點到關鍵的技術 know-how,能讓讀者解決特定問題就好。雖然它也一定能製作出品質優秀的文件,但其主要關鍵還是在寫作的人。

採用 markdown 來編寫技術文件的 Doc as Code 方法,則很適合撰寫單一產品或一整套相關產品的正規文件。至於能夠在一個 Git repository 放進多少個產品的技術文件,這不好估算,我沒有一個比較客觀具體的數字。就我目前的經驗來說,把三到四個相關產品的 user guide 和 API reference manual 放進同一個 Git repository,跑 CI/CD pipeline 並不至於花太長時間(因為 Hugo 的執行速度超快),生成的網頁也沒有碰到搜尋效率不好的問題。

若在企業內部採用 Doc as Code 方法來建立各產品的文件,最終大致會是這個樣子:每一個產品文件就是一個網站,有自己的網址;各產品文件之間若有關聯,則會在文件中加入交叉參考連結。由於工具內建的 local search 功能無法在企業內部做到跨站搜尋,也只能以交叉參考連結來把相關的產品文件串起來。

結語

無論採用 Doc as Code 方法還是現成的 KMS,知識管理的關鍵主角應該是內容。有了好的內容,再搭配方便強大的工具,才能真正起到傳遞知識和知識管理的作用。

怎樣寫出好的文件內容?關鍵還是在人。

Keep writing!

延伸閱讀

avatar-img
14會員
23內容數
這裡有我寫作與自行(獨立)出版電子書的實戰心得與相關知識,包括:寫作與出版工具的使用、各出版平台的比較、電子書上架的逐步教學、行銷技巧、以及持續進行的出版實驗心得與發現。 如果您也想了解如何自行出版電子書,歡迎一起來學習、相互切磋。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
閱讀|寫作|出版 的其他內容
重點整理技術寫手 Tom Johnson 的兩段訪談。
這篇文章要分享的是 Leanpub 在排版與生成中文電子書的一些 bugs。
摘要:讓 Obsidian 預設以新頁籤來開啟檔案的幾個方法。
整理完 《卡片盒筆記》的讀書心得,接著整理我使用 Obsidian 筆記工具的一點心得。
這是我閱讀《卡片盒筆記》這本書所寫的筆記,並分享我在寫筆記這方面的一點實務技巧與心得。
上回寫了《年收入增加 10 倍的學習法》閱讀筆記,這次要整理的讀書心得是相同作者的另一本書:《年收入增加 10 倍的時間投資法》。
重點整理技術寫手 Tom Johnson 的兩段訪談。
這篇文章要分享的是 Leanpub 在排版與生成中文電子書的一些 bugs。
摘要:讓 Obsidian 預設以新頁籤來開啟檔案的幾個方法。
整理完 《卡片盒筆記》的讀書心得,接著整理我使用 Obsidian 筆記工具的一點心得。
這是我閱讀《卡片盒筆記》這本書所寫的筆記,並分享我在寫筆記這方面的一點實務技巧與心得。
上回寫了《年收入增加 10 倍的學習法》閱讀筆記,這次要整理的讀書心得是相同作者的另一本書:《年收入增加 10 倍的時間投資法》。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
Notion 是一款集合筆記、任務管理、知識庫和數據庫於一身的多功能工具。它提供靈活的頁面結構和多種模板,讓用戶根據需求自定義工作空間。不論是個人還是團隊,都能用 Notion 提高工作效率和管理信息。
Thumbnail
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
這篇文章介紹了機關檔案分類表的編製方法,以及在文書處理過程中需要注意的事項。同時也提到了檔案管理人員的工作內容和相關法令。文章總結了檔案管理的重要性和相關程序。
Thumbnail
在過去兩年中,我持續運用 Notion 進行個人管理,個人管理的模板也逐漸定型,藉此分享個人管理模板的使用心得。
Thumbnail
本文用輕鬆對話的方式,透過具體案例展示如何將新學的知識與現有知識體系結合,並解決現實問題。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
使用 Notion 時,是不是常常在選 block 類別時花很多時間,搞的自己手忙腳亂呢? 如果是的話那我相信這篇文章能夠幫助到你!我整理了幾個我自己最常用的 markdown 語法分享給大家,不管是 windows 或是 mac 都適用喔!
Thumbnail
Readwise 自動匯入資訊(如 Kobo 電子書、網路文章、社群媒體),輕鬆建立個人知識庫,更自動匯出至 Google Docs 或 Notion...等!還能設計測驗內容,透過 APP / Email 每日推播筆記內容,幫助複習加深印象!更能針對重點摘要「自行設定標籤」,運用關鍵字快速檢索資料
IG重新整理了一下,試著做圖文,這篇談分享。
Thumbnail
大數據時代下,Log的多元應用至關重要。Log生成龐大,格式各異,特別金融業需合規。探討Log廣泛應用、資訊安全、IT管理和商業決策。建立Log管理系統核心深入法規,強化IT治理、權限控管。一站式Log管理平台,確保資訊安全合規。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
Notion 是一款集合筆記、任務管理、知識庫和數據庫於一身的多功能工具。它提供靈活的頁面結構和多種模板,讓用戶根據需求自定義工作空間。不論是個人還是團隊,都能用 Notion 提高工作效率和管理信息。
Thumbnail
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
這篇文章介紹了機關檔案分類表的編製方法,以及在文書處理過程中需要注意的事項。同時也提到了檔案管理人員的工作內容和相關法令。文章總結了檔案管理的重要性和相關程序。
Thumbnail
在過去兩年中,我持續運用 Notion 進行個人管理,個人管理的模板也逐漸定型,藉此分享個人管理模板的使用心得。
Thumbnail
本文用輕鬆對話的方式,透過具體案例展示如何將新學的知識與現有知識體系結合,並解決現實問題。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
使用 Notion 時,是不是常常在選 block 類別時花很多時間,搞的自己手忙腳亂呢? 如果是的話那我相信這篇文章能夠幫助到你!我整理了幾個我自己最常用的 markdown 語法分享給大家,不管是 windows 或是 mac 都適用喔!
Thumbnail
Readwise 自動匯入資訊(如 Kobo 電子書、網路文章、社群媒體),輕鬆建立個人知識庫,更自動匯出至 Google Docs 或 Notion...等!還能設計測驗內容,透過 APP / Email 每日推播筆記內容,幫助複習加深印象!更能針對重點摘要「自行設定標籤」,運用關鍵字快速檢索資料
IG重新整理了一下,試著做圖文,這篇談分享。
Thumbnail
大數據時代下,Log的多元應用至關重要。Log生成龐大,格式各異,特別金融業需合規。探討Log廣泛應用、資訊安全、IT管理和商業決策。建立Log管理系統核心深入法規,強化IT治理、權限控管。一站式Log管理平台,確保資訊安全合規。