你可能听说过「世界上最好的编程语言」的梗吧?它起源于 PHP 这门编程语言早期的官方文档中的一句宣传语,并逐渐成为编程社区里广为流传的一个笑话: 虽然这个口号看起来有些幼稚,但是能够提出这样的口号,至少说明该语言的质量应该是相当不错的。实际上,正如早期的 PHP 一样,有一些开源项目也具有这种与众不同的自信。 当你打开 Wiki.js 的官网时,你会看到一个简短而有力的口号: "The most powerful and extensible open source Wiki software." 正如这个口号所描述的一样,Wiki.js 是一款基于 Node.js 和 Vue 技术栈开发的,自称是最强大、可高度扩展的开源 Wiki 软件。尽管市场上已经有许多 Wiki.js 的竞品,比如 Confluence、语雀、Notion 等等,但它为用户提供了一个完整的 Wiki 站点解决方案,包括存储、评论系统、访问统计和全文搜索等等。而这些特性既强大,又易于扩展。 快速部署对于开源项目而言,即使拥有丰富的功能,如果安装和部署过程复杂,会使用户门槛增高,让他们望而却步。 然而,Wiki.js 同时具备简单和强大两种特性。前者主要指部署,只需要与一个简单的 RDBMS 数据库配合使用,例如主流的 PostgreSQL、MySQL、SQLite 等,就可以快速运行 Wiki.js。而后者将在下文中陆续展现。 Wiki.js 的官方网站提供了不同方式的安装教程,但最简单的方法是使用 Docker Compose 进行安装,这是最省事的方法。 当然,你也可以更为简便地仅使用 SQLite,操作方法可以参考这篇文章。但据 Wiki.js 官方称,在 3.0 版本中仅支持 PostgreSQL,因为它支持更多特性。因此,我的建议是按照官方说明进行操作,这样最为可靠。 用户界面:样式精美,友好易用安装完成后,只需访问对应的 URL 地址并设置默认的管理员账户,即可开始使用 Wiki.js。 Wiki.js 自带一套相对精美的 UI 设计,采用经典的布局方式,即左侧为导航侧栏、右侧为目录,符合一般的从左到右阅读习惯,这也是默认的访客页面。 此外,Wiki.js 还自带了一套管理后台,使用管理员账户登录后,右上角会多出几个额外的选项,点击「齿轮」图标即可进入管理后台界面: 在管理后台中,左侧有许多 Wiki.js 的设置选项,例如我们可以设置网站的基本信息以方便 SEO、管理标签和页面(文章)等。当然,Wiki.js 还提供了多种语言包支持,我们可以下载右侧的语言包并进行修改: 编辑器:选择丰富,功能齐全Wiki.js提供多种编辑器选择,包括Markdown、Visual Editor(所见即所得的WYSIWYG)、AsciiDoc和原始的HTML编辑器等。 其中,Markdown和Visual Editor编辑器的功能最为丰富全面。 在编辑器页面的底部状态栏中,会显示当前文章所在的位置和字符数。编辑完成后,需要点击右上角的“保存”按钮才能完成修改。如果需要对文章进行额外的设置,例如标题、描述或发布时间,则可以单击旁边的“页面”按钮进行设置。 网站分析工具应有尽有在建立和管理网站时,了解访客情况对于优化和改进网站非常重要。收集访问数据可以提供诸如行为分析、地区、访问量等指标,这些指标为了分析用户行为和偏好提供了重要的参考价值。 Wiki.js 提供了多达十几种的网站分析工具或解决方案,包括 Google Analytics、百度统计、Matomo、StatCounter 等。使用者可以根据自己或团队的需要选择其中的一种或多种,然后填写相应的信息即可。 用户管理与身份验证Wiki.js不仅仅只是用于构建Wiki站点,还直接提供了用户管理体系,这在团队协作或需要多人使用时非常方便。通常情况下,用户管理体系与操作权限有关,这往往在实际开发过程中逻辑复杂且步骤繁琐。而Wiki.js提供的用户管理系统可以简化用户登录和权限管理流程。默认情况下,有两个组,即管理员组和访客组,我们也可以根据需要自定义其他用户组,并将对应的用户归入相应的组别中进行统一管理。 除了在已注册的Wiki.js站点上直接注册用户之外,Wiki.js还集成了国外多个平台的身份验证,如GitHub、Google、Slack等。如果你想接入自己的身份认证服务,Wiki.js还预留了OAuth2、CAS、Generic OpenID Connect等多种认证服务接口。 锦上添花的细节除了前文提到的功能外,Wiki.js 还有许多贴心的细节。 首先是内置的类似于 Git 的版本控制系统,它可以自动跟踪页面的修改历史,方便我们查看不同版本之间的差异,回滚到之前的版本,甚至与远程 Git 仓库同步。 此外,Wiki.js 还集成了 Let's Encrypt,在部署和运行时会自动为你申请 SSL 证书,帮你免去了繁琐的 HTTPS 配置。另外,你还可以在 Wiki.js 后台中配置邮箱,方便发送通知、欢迎信息或重置密码等邮件。 此外,Wiki.js 还预留了自动化接口,配置了 API 访问密钥后,你可以通过 GraphQL 接口与其他自动化工具集成或关联,同时也可以参考接口文档。未来版本中,Wiki.js 还会提供 Webhook 功能。 总结阅读本文后,您将了解到 Wiki.js 提供了即开即用的功能特性,并且这些特性在 Wiki.js 3.0 版本(目前正在开发中)中将得到进一步的改进和扩展。 不过,Wiki.js 并非完美无缺。例如,它目前的主题单一且自定义主题的能力非常有限。另外,它还不支持第三方插件或扩展,因此如果缺少某些功能,您只能等待 Wiki.js 官方实现。这些缺点可能只会在 3.0 版本中得到解决。 如果您在阅读本文后对 Wiki.js 感到兴趣,那么在使用之前您需要注意一点:Wiki.js 采用 AGPL 3.0 许可证。如果您计划在使用过程中对 Wiki.js 源代码进行定制或修改,那么在使用之前最好仔细考虑。 总结。 |
|