TranslateProject/published/20230103.1 ⭐️⭐️ Document with BookStack, an open source Confluence alternative.md
2023-02-04 18:27:35 +08:00

103 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: subject: "Document with BookStack, an open source Confluence alternative"
[#]: via: "https://opensource.com/article/23/1/bookstack-open-source-documentation"
[#]: author: "Dan Brown https://opensource.com/users/ssddanbrown"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15509-1.html"
使用 BookStack 写文档,一个开源的 Confluence 替代品
======
![][0]
> BookStack 是一个开源的、基于网页的文档系统,它允许你创建一个结构化的知识库,供个人、团队或公司使用。
BookStack 是一个开源的、基于网页的文档系统它允许你创建一个结构化的知识库供个人、团队或公司使用。BookStack 专注于易用性和设计,以适合具有潜在的混合技术技能的受众。它建立在 PHP 框架 Laravel 之上,使用 MySQL 或 MariaDB 作为数据存储。
在尝试为我的工作场所寻找文档或维基系统后,我构建了 BookStack。[Confluence][1] 是最符合我要求的选项但基于用户的定价带了的阻碍。Confluence 的封闭性也对我要构建的文档的寿命提出了质疑。最后,我决定建立自己的平台来满足我的需求。我用 MIT 许可发布它,以回馈我多年来喜爱并从中受益的开源社区。
### 内容层次和组织选项
为了保持熟悉和直观BookStack 使用了现实世界的书籍术语来描述其组织结构。文档内容被创建为 “<ruby><rt>Page</rt></ruby>”:
- “页” 属于一个特定的 “<ruby><rt>Book</rt></ruby>”。
- 在一本书中,“页” 可以选择性地被分组为 “<ruby>章节<rt>Chapter</rt></ruby>”。
- 随着文档的增长,你可以使用 “<ruby>书架<rt>Shelve</rt></ruby>” 来对 “书” 进行分类,如果需要,“书” 可以成为多个书架的一部分。
这种结构是 BookStack 的核心,而且往往是决定 BookStack 是否适合你的使用情况的选择因素。
在这个核心层次上BookStack 还提供了标签、用户收藏夹和高级搜索功能,以确保内容可被发现。
### 编写文档
在 BookStack 中编写文档的主要方法是通过使用其所见即所得WYSIWYG编辑器它利用了开源的 [Tiny][2] 项目。这个编辑器提供了一系列的内容格式,包括:
- 各种标题级别
- 代码块
- 可折叠的块
- 表格
- 图片
- 链接
- iFrame 嵌入
- 提醒呼出
- 项目符、编号和任务列表
- 绘图(通过与开源 [diagrams.net][3] 的整合)
如果你喜欢 [Markdown][4],你可以使用内置的 Markdown 编辑器,它提供实时预览并支持与所见即所得编辑器相同的功能集。如果权限允许,你甚至可以根据你所编辑的页面,在这些编辑器选项之间跳转。
### 你的数据是如何存储的
如果使用了 Markdown除了原始的 Markdown 内容外,文档以相对简单的 HTML 格式存储在 [MySQL 或 MariaDB][5] 数据库中。很多设计和开发决定都是为了保持这种 HTML 格式的简单性。它尽可能地使用普通的标准 HTML 元素,以确保原始文档内容保持开放和可移植。
上传的图片、附件和创建的图纸被保存在本地文件系统中,但也可以选择存储在一个与 s3 兼容的数据存储中,比如开源的 [MinIO][6]。
为了保持你的内容可访问性,有内置的选项可以将内容导出为 PDF、HTML、纯文本或 Markdown。对于外部使用有一个 HTTP REST API 和一个 Webhook 系统。在扩展方面,一个 “逻辑主题系统” 允许在广泛的系统事件中运行自定义的 PHP 代码。
### 为商业做好准备
BookStack 具有一系列的功能来支持商业环境。内置了对一系列认证选项的支持,包括 SAML2、OpenID Connect 和 LDAP允许使用 [KeyCloak][7] 等平台轻松实现单点登录。也支持多因子认证MFA并且可以根据角色进行授权。审计日志提供整个实例的修改活动的完整可见性。
一个完全基于角色的权限系统为管理员提供了对系统内容的创建、查看、更新和删除操作的完全控制。这允许每个角色的系统默认值,以及在每个层次项目基础上设置自定义权限的选项。
### 支持的社区
经过 7 年多的积极开发BookStack 的社区已经发展到了各种讨论和支持的渠道。我们现在有:
- [我们的文档站点][8]
- [YouTube 上的视频指南][9]
- [一个 subreddit][10]
- [一个活跃的 GitHub 问题列表][11]
- [付费业务支持][12]
如果你想体验一下 BookStack你可以 [在我们的演示网站][13] 试试。要了解如何设置你自己的实例,请访问 [我们文档中的安装页面][14]。
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/1/bookstack-open-source-documentation
作者:[Dan Brown][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/ssddanbrown
[b]: https://github.com/lkxed
[1]: https://opensource.com/article/20/9/open-source-alternatives-confluence
[2]: https://github.com/tinymce/
[3]: https://www.diagrams.net/
[4]: https://opensource.com/article/19/9/introduction-markdown
[5]: https://opensource.com/downloads/mariadb-mysql-cheat-sheet
[6]: https://github.com/minio/
[7]: https://www.keycloak.org/
[8]: https://www.bookstackapp.com/docs/
[9]: https://www.youtube.com/c/BookStackApp
[10]: https://www.reddit.com/r/bookstack
[11]: https://github.com/BookStackApp/BookStack/issues
[12]: https://www.bookstackapp.com/support
[13]: https://demo.bookstackapp.com/books/bookstack-demo-site/page/logging-in-to-the-demo-site
[14]: https://www.bookstackapp.com/docs/admin/installation/
[0]: https://img.linux.net.cn/data/attachment/album/202302/04/180856n7ql7p8fk7l9fa9n.jpg