Docs as Code 與知識管理系統

閱讀時間約 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!

延伸閱讀

14會員
23內容數
這裡有我寫作與自行(獨立)出版電子書的實戰心得與相關知識,包括:寫作與出版工具的使用、各出版平台的比較、電子書上架的逐步教學、行銷技巧、以及持續進行的出版實驗心得與發現。 如果您也想了解如何自行出版電子書,歡迎一起來學習、相互切磋。
留言0
查看全部
發表第一個留言支持創作者!
閱讀|寫作|出版 的其他內容
重點整理技術寫手 Tom Johnson 的兩段訪談。
這篇文章要分享的是 Leanpub 在排版與生成中文電子書的一些 bugs。
摘要:讓 Obsidian 預設以新頁籤來開啟檔案的幾個方法。
整理完 《卡片盒筆記》的讀書心得,接著整理我使用 Obsidian 筆記工具的一點心得。
這是我閱讀《卡片盒筆記》這本書所寫的筆記,並分享我在寫筆記這方面的一點實務技巧與心得。
上回寫了《年收入增加 10 倍的學習法》閱讀筆記,這次要整理的讀書心得是相同作者的另一本書:《年收入增加 10 倍的時間投資法》。
重點整理技術寫手 Tom Johnson 的兩段訪談。
這篇文章要分享的是 Leanpub 在排版與生成中文電子書的一些 bugs。
摘要:讓 Obsidian 預設以新頁籤來開啟檔案的幾個方法。
整理完 《卡片盒筆記》的讀書心得,接著整理我使用 Obsidian 筆記工具的一點心得。
這是我閱讀《卡片盒筆記》這本書所寫的筆記,並分享我在寫筆記這方面的一點實務技巧與心得。
上回寫了《年收入增加 10 倍的學習法》閱讀筆記,這次要整理的讀書心得是相同作者的另一本書:《年收入增加 10 倍的時間投資法》。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
神啊,我的心切慕你, shén a, wǒ de xīnqiè mù nǐ 如鹿切慕溪水。 rú lù qiè mù xīshuǐ 惟有你是我心所愛, wéiyǒu nǐ shì wǒ xīn suǒ ài 我渴慕來敬拜你。 wǒ kěmù lái jìng bài nǐ 你是我的力量盾牌,
Thumbnail
The evaluation method introduced in this article, I think, is also applicable to large companies. Not only suitable for startups.
Thumbnail
When I was doing the development of the company’s data dashboard, I often pulled tables from various databases for calculation.
Thumbnail
Often, respondents are willing to be interviewed out of product interest or a meager benefit.
Thumbnail
Aptos is a blockchain built with the move language, which also attracted me to learn the move programming language.
Thumbnail
如何透過 Google Sheet (試算表) 與 Google Doc (文件) 自動化文件套版流程?不需要寫任何程式,就可以完成自動化文件套版流程的串接設定,之後也不用再手動一一複製貼上製作文件,只要輸入一筆或多筆 Google Sheet 資料,文件套版就交給 NoCode 自動化完成吧!
Thumbnail
前幾篇介紹到Canva各式各樣的功能,加上各種應用上的優勢~還沒看的朋友記得去挖寶啊!! 除此之外,今天還要介紹一個新功能給大家!那就是「Canva Docs」! 全新文件溝通編輯器-Canva Docs Canva Docs 是一個視覺優先的文檔創建器,讓用戶可以設計包含視頻、圖像、圖表和圖形的文
Thumbnail
這篇文章要教你如何透過權限控管,保護 FastAPI 生成的 API 文件,讓使用者需要經過授權才能進去
Thumbnail
滑溜溜的青蛙沒有體毛是大家都知道的事,但美國人卻偏要逆著邏輯來講。 當你問美國人近況如何?對方突然回答:「我過得跟青蛙的毛一樣安好(I’m as fine as a frog's hair)」。這是什麼神邏輯?
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
神啊,我的心切慕你, shén a, wǒ de xīnqiè mù nǐ 如鹿切慕溪水。 rú lù qiè mù xīshuǐ 惟有你是我心所愛, wéiyǒu nǐ shì wǒ xīn suǒ ài 我渴慕來敬拜你。 wǒ kěmù lái jìng bài nǐ 你是我的力量盾牌,
Thumbnail
The evaluation method introduced in this article, I think, is also applicable to large companies. Not only suitable for startups.
Thumbnail
When I was doing the development of the company’s data dashboard, I often pulled tables from various databases for calculation.
Thumbnail
Often, respondents are willing to be interviewed out of product interest or a meager benefit.
Thumbnail
Aptos is a blockchain built with the move language, which also attracted me to learn the move programming language.
Thumbnail
如何透過 Google Sheet (試算表) 與 Google Doc (文件) 自動化文件套版流程?不需要寫任何程式,就可以完成自動化文件套版流程的串接設定,之後也不用再手動一一複製貼上製作文件,只要輸入一筆或多筆 Google Sheet 資料,文件套版就交給 NoCode 自動化完成吧!
Thumbnail
前幾篇介紹到Canva各式各樣的功能,加上各種應用上的優勢~還沒看的朋友記得去挖寶啊!! 除此之外,今天還要介紹一個新功能給大家!那就是「Canva Docs」! 全新文件溝通編輯器-Canva Docs Canva Docs 是一個視覺優先的文檔創建器,讓用戶可以設計包含視頻、圖像、圖表和圖形的文
Thumbnail
這篇文章要教你如何透過權限控管,保護 FastAPI 生成的 API 文件,讓使用者需要經過授權才能進去
Thumbnail
滑溜溜的青蛙沒有體毛是大家都知道的事,但美國人卻偏要逆著邏輯來講。 當你問美國人近況如何?對方突然回答:「我過得跟青蛙的毛一樣安好(I’m as fine as a frog's hair)」。這是什麼神邏輯?