最近,工作中需要编写一些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为例:
默认配置使用了PostgreSQL数据库,如下:
db:
type: postgres
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: wikijs
pass: wikijsrocks
db: wiki
ssl: false
- 安装配置数据库
- 启动Wiki.js
node server
- 访问Wiki.js完成安装向导
国际化
Wiki.js支持多语言,为启用其他语言,点击右上角Account图标,选择Administration,进入Locale菜单,下载您要启用的语言,然后启用Multilingual Namespaces -> Active Namespaces:
在新建页面时选择Locale,即可为不同语言创建页面。浏览wiki时,点击右上角Language图标即可切换语言。
编辑wiki
页面布局
目前只提供了一个主题,可以切换为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文档。
几个例子:
自定义图片大小
![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
发表评论