搭建一套wiki系统仅需要一个JS文件搞定!

js.Wiki正如这个口号所描述的一样,Wiki.js 是一款基于 Node.js 和 Vue 技术栈开发的,自称是最强大、可高度扩展的开源 Wiki 软件。尽管市场上已经有许多 Wiki.js 的竞品,比如 Confluence、语雀、Notion 等等,但它为用户提供了一个完整的 Wiki 站点解决方案,包括存储、评论系统、访问统计和全文搜索等等。而这些特性既强大,又易于扩展。

搭建一套wiki系统仅需要一个JS文件搞定!

 

当你打开 Wiki.js 的官网时,你会看到一个简短而有力的口号:

The most powerful and extensible open source Wiki software
(最强大、可扩展的开源Wiki软件)

正如这个口号所描述的一样,Wiki.js 是一款基于 Node.js 和 Vue 技术栈开发的,自称是最强大、可高度扩展的开源 Wiki 软件。

尽管市场上已经有许多 Wiki.js 的竞品,比如 Confluence、语雀、Notion 等等,但它为用户提供了一个完整的 Wiki 站点解决方案,包括存储、评论系统、访问统计和全文搜索等等。

而这些特性既强大,又易于扩展。

 

快速部署
对于开源项目而言,即使拥有丰富的功能,如果安装和部署过程复杂,会使用户门槛增高,让他们望而却步。

然而,Wiki.js 同时具备简单和强大两种特性。前者主要指部署,只需要与一个简单的 RDBMS 数据库配合使用,例如主流的 PostgreSQL、MySQL、SQLite 等,就可以快速运行 Wiki.js。而后者将在下文中陆续展现。

Wiki.js 的官方网站提供了不同方式的安装教程,但最简单的方法是使用 Docker Compose 进行安装,这是最省事的方法。

version: "3"
services:
  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    logging:
      driver: "none"
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data

  wiki:
    image: ghcr.io/requarks/wiki:2
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
    restart: unless-stopped
    ports:
      - "80:3000"

volumes:
  db-data:

 

当然,你也可以更为简便地仅使用 SQLite,操作方法可以参考这篇文章。

但据 Wiki.js 官方称,在 3.0 版本中仅支持 PostgreSQL,因为它支持更多特性。因此,我的建议是按照官方说明进行操作,这样最为可靠。

用户界面:样式精美,友好易用
安装完成后,只需访问对应的 URL 地址并设置默认的管理员账户,即可开始使用 Wiki.js。

Wiki.js 自带一套相对精美的 UI 设计,采用经典的布局方式,即左侧为导航侧栏、右侧为目录,符合一般的从左到右阅读习惯,这也是默认的访客页面。

搭建一套wiki系统仅需要一个JS文件搞定!

 

 

此外,Wiki.js 还自带了一套管理后台,使用管理员账户登录后,右上角会多出几个额外的选项,点击「齿轮」图标即可进入管理后台界面:

搭建一套wiki系统仅需要一个JS文件搞定!

在管理后台中,左侧有许多 Wiki.js 的设置选项,例如我们可以设置网站的基本信息以方便 SEO、管理标签和页面(文章)等。

当然,Wiki.js 还提供了多种语言包支持,我们可以下载右侧的语言包并进行修改:

搭建一套wiki系统仅需要一个JS文件搞定!

 

编辑器:选择丰富,功能齐全
Wiki.js提供多种编辑器选择,包括Markdown、Visual Editor(所见即所得的WYSIWYG)、AsciiDoc和原始的HTML编辑器等。

搭建一套wiki系统仅需要一个JS文件搞定!

其中,Markdown和Visual Editor编辑器的功能最为丰富全面。

搭建一套wiki系统仅需要一个JS文件搞定!

在编辑器页面的底部状态栏中,会显示当前文章所在的位置和字符数。

编辑完成后,需要点击右上角的“保存”按钮才能完成修改。

如果需要对文章进行额外的设置,例如标题、描述或发布时间,则可以单击旁边的“页面”按钮进行设置。

 

网站分析工具应有尽有

在建立和管理网站时,了解访客情况对于优化和改进网站非常重要。

收集访问数据可以提供诸如行为分析、地区、访问量等指标,这些指标为了分析用户行为和偏好提供了重要的参考价值。

搭建一套wiki系统仅需要一个JS文件搞定!

 

Wiki.js 提供了多达十几种的网站分析工具或解决方案,包括 Google Analytics、百度统计、Matomo、StatCounter 等。

使用者可以根据自己或团队的需要选择其中的一种或多种,然后填写相应的信息即可。

用户管理与身份验证

Wiki.js不仅仅只是用于构建Wiki站点,还直接提供了用户管理体系,这在团队协作或需要多人使用时非常方便。通常情况下,用户管理体系与操作权限有关,这往往在实际开发过程中逻辑复杂且步骤繁琐。

而Wiki.js提供的用户管理系统可以简化用户登录和权限管理流程。默认情况下,有两个组,即管理员组和访客组,我们也可以根据需要自定义其他用户组,并将对应的用户归入相应的组别中进行统一管理。

搭建一套wiki系统仅需要一个JS文件搞定!

 

除了在已注册的Wiki.js站点上直接注册用户之外,Wiki.js还集成了国外多个平台的身份验证,如GitHub、Google、Slack等。如果你想接入自己的身份认证服务,Wiki.js还预留了OAuth2、CAS、Generic OpenID Connect等多种认证服务接口。

搭建一套wiki系统仅需要一个JS文件搞定!

 

锦上添花的细节

除了前文提到的功能外,Wiki.js 还有许多贴心的细节。

首先是内置的类似于 Git 的版本控制系统,它可以自动跟踪页面的修改历史,方便我们查看不同版本之间的差异,回滚到之前的版本,甚至与远程 Git 仓库同步。

搭建一套wiki系统仅需要一个JS文件搞定!

 

此外,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 源代码进行定制或修改,那么在使用之前最好仔细考虑。

 

wiki.js帮助文档:

Wiki.js | Wiki.js

免责说明

本站资源部分来自网友投稿,如有侵犯你的权益请联系管理员或给邮箱发送邮件PubwinSoft@foxmail.com 我们会第一时间进行审核删除。
站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到评论下载的文章,评论后刷新页面点击对应的蓝字按钮即可跳转到下载页面
本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

温馨提示:本站部分付费下载资源收取的费用为资源收集整理费用,并非资源费用,不对下载的资源提供任何技术支持及售后服务。

给TA打赏
共{{data.count}}人
人已打赏
Free资源

如何在 Excel 中写公式向 ChatGPT 提问题?

2023-4-23 9:19:56

ChatGPTFree资源

AutoGPT全自动化帮你解决复杂任务,快来体验!

2023-4-24 9:51:09

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索