使用 BookStack 寫文檔,一個開源的 Confluence 替代品
BookStack 是一個開源的、基於網頁的文檔系統,它允許你創建一個結構化的知識庫,供個人、團隊或公司使用。
BookStack 是一個開源的、基於網頁的文檔系統,它允許你創建一個結構化的知識庫供個人、團隊或公司使用。BookStack 專註於易用性和設計,以適合具有潛在的混合技術技能的受眾。它建立在 PHP 框架 Laravel 之上,使用 MySQL 或 MariaDB 作為數據存儲。
在嘗試為我的工作場所尋找文檔或維基系統後,我構建了 BookStack。Confluence 是最符合我要求的選項,但基於用戶的定價帶了的阻礙。Confluence 的封閉性也對我要構建的文檔的壽命提出了質疑。最後,我決定建立自己的平台來滿足我的需求。我用 MIT 許可發布它,以回饋我多年來喜愛並從中受益的開源社區。
內容層次和組織選項
為了保持熟悉和直觀,BookStack 使用了現實世界的書籍術語來描述其組織結構。文檔內容被創建為 「 頁 」:
- 「頁」 屬於一個特定的 「 書 」。
- 在一本書中,「頁」 可以選擇性地被分組為 「 章節 」。
- 隨著文檔的增長,你可以使用 「 書架 」 來對 「書」 進行分類,如果需要,「書」 可以成為多個書架的一部分。
這種結構是 BookStack 的核心,而且往往是決定 BookStack 是否適合你的使用情況的選擇因素。
在這個核心層次上,BookStack 還提供了標籤、用戶收藏夾和高級搜索功能,以確保內容可被發現。
編寫文檔
在 BookStack 中編寫文檔的主要方法是通過使用其所見即所得(WYSIWYG)編輯器,它利用了開源的 Tiny 項目。這個編輯器提供了一系列的內容格式,包括:
- 各種標題級別
- 代碼塊
- 可摺疊的塊
- 表格
- 圖片
- 鏈接
- iFrame 嵌入
- 提醒呼出
- 項目符、編號和任務列表
- 繪圖(通過與開源 diagrams.net 的整合)
如果你喜歡 Markdown,你可以使用內置的 Markdown 編輯器,它提供實時預覽並支持與所見即所得編輯器相同的功能集。如果許可權允許,你甚至可以根據你所編輯的頁面,在這些編輯器選項之間跳轉。
你的數據是如何存儲的
如果使用了 Markdown,除了原始的 Markdown 內容外,文檔以相對簡單的 HTML 格式存儲在 MySQL 或 MariaDB 資料庫中。很多設計和開發決定都是為了保持這種 HTML 格式的簡單性。它儘可能地使用普通的標準 HTML 元素,以確保原始文檔內容保持開放和可移植。
上傳的圖片、附件和創建的圖紙被保存在本地文件系統中,但也可以選擇存儲在一個與 s3 兼容的數據存儲中,比如開源的 MinIO。
為了保持你的內容可訪問性,有內置的選項可以將內容導出為 PDF、HTML、純文本或 Markdown。對於外部使用,有一個 HTTP REST API 和一個 Webhook 系統。在擴展方面,一個 「邏輯主題系統」 允許在廣泛的系統事件中運行自定義的 PHP 代碼。
為商業做好準備
BookStack 具有一系列的功能來支持商業環境。內置了對一系列認證選項的支持,包括 SAML2、OpenID Connect 和 LDAP,允許使用 KeyCloak 等平台輕鬆實現單點登錄。也支持多因子認證(MFA),並且可以根據角色進行授權。審計日誌提供整個實例的修改活動的完整可見性。
一個完全基於角色的許可權系統為管理員提供了對系統內容的創建、查看、更新和刪除操作的完全控制。這允許每個角色的系統默認值,以及在每個層次項目基礎上設置自定義許可權的選項。
支持的社區
經過 7 年多的積極開發,BookStack 的社區已經發展到了各種討論和支持的渠道。我們現在有:
如果你想體驗一下 BookStack,你可以 在我們的演示網站 試試。要了解如何設置你自己的實例,請訪問 我們文檔中的安裝頁面。
via: https://opensource.com/article/23/1/bookstack-open-source-documentation
作者:Dan Brown 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive