Wiki.js初体验

最近,工作中需要编写一些wiki文档,选用了Apache JSPWiki。在家办公,网络原因不方便在线编辑,JSPWiki以TXT文本格式保存,可直接拷贝到其他服务器部署,恰好满足需求。关于JSPWiki请看利用JSPWiki搭建简易企业wiki平台。

今天介绍一下基于NodeJS技术的开源项目Wiki.js,其界面简洁美观,支持多种编辑器、多种用户验证方式、多种备份存储方式,支持国际化、自定义主题(Theme)、流量分析等。更多正在开发中的功能,界面也有体现。

A modern, lightweight and powerful wiki app built on Node.js
The most powerful and extensible open source Wiki software

当前版本:2.1.113
GitHub地址:Requarks wiki

极简的安装

当前支持的平台:

  • Docker
  • Heroku
  • Linux
  • macOS
  • Windows

即将支持Kubernetes。

当前支持的数据库:

  • PostgreSQL 9.5 or later
  • MySQL 8.0 or later
  • MariaDB 10.2.7 or later
  • MS SQL com.cn/tag/server" target="_blank">Server 2012 or later
  • SQLite 3.9 or later

下面以Windows为例:

  1. 下载Wiki.js
  2. 解压,进入根目录,复制config.sample.yml,然后重命名为config.yml
  3. 编辑config.yml

默认配置使用了PostgreSQL数据库,如下:

db:
type: postgres
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: wikijs
pass: wikijsrocks
db: wiki
ssl: false
  1. 安装配置数据库
  2. 启动Wiki.js
node server
  1. 访问Wiki.js完成安装向导

Wiki.js初体验

安装成功登录后即可创建您的HOME页:
Wiki.js初体验

Wiki.js初体验

国际化

Wiki.js支持多语言,为启用其他语言,点击右上角Account图标,选择Administration,进入Locale菜单,下载您要启用的语言,然后启用Multilingual Namespaces -> Active Namespaces:
Wiki.js初体验
在新建页面时选择Locale,即可为不同语言创建页面。浏览wiki时,点击右上角Language图标即可切换语言。
Wiki.js初体验

编辑wiki

页面布局

Wiki.js初体验
目前只提供了一个主题,可以切换为Dark Mode;还不支持自定义模板,不能灵活的调整布局。

命名限制

以下路径保留供系统使用,不能用于content。

Single-character pages
所有单字符路径都保留用于访问 Wiki 的各个部分:

  • a: Administration Area
  • e: Page Editor
  • f: Assets Manager
  • h: Page History
  • i: Browse Page by ID
  • p: User Profile
  • s: Page Source
  • t: Tags
  • u: Upload Endpoint (API)
  • w: Personal Wiki

IETF Language tags
下面格式的语言标记保留用于指定区域命名空间:

  • Two-letter language code (e.g. en, fr)
  • Country specific locale code (e.g. en-us, fr-ca)

特殊单词
路径不能与下面的术语完全匹配,也不能成为路径的第一部分。比如,register 或 register/test是无效的。

  • browserconfig [.xml]
  • css
  • favicon [.ico]
  • favicons
  • fonts
  • graphql
  • healthz
  • home (reserved for the root homepage)
  • img
  • js
  • login
  • logout
  • manifest [.json]
  • register
  • svg

Markdown

最常用的编辑器是Markdown,Wiki.js支持全部的CommonMark specification和一些有用的扩展,提供常用语法工具栏。语法请参考官方Markdown文档。

几个例子:

代码高亮
Wiki.js初体验

自定义图片大小

![Image](/link/to/image.jpg =100x)
![Image](/link/to/image.jpg =x50)
![Image](/link/to/image.jpg =100%x)

给无序列表添加样式

- Grid Item 1
- Grid Item 2
- Grid Item 3
{.grid-list}
---
- [Lorem ipsum dolor sit amet *Subtitle description here*](https://www.google.com)
- [Consectetur adipiscing elit *Another subtitle description here*](https://www.google.com)
- [Morbi vehicula aliquam *Third subtitle description here*](https://www.google.com)
{.links-list}

注意样式间要添加分隔线。

任务列表

- [x] Checked task item
- [x] Another checked task item
- [ ] Unchecked task item

Emojis

:apple:
Can be also be used :fire: inline