开源 Wiki 软件 wiki.js

news2024/12/23 18:30:19

wiki.js简介

最强大、 可扩展的开源Wiki 软件。使用 Wiki.js 美观直观的界面让编写文档成为一种乐趣!根据 AGPL-v3 许可证发布。

在这里插入图片描述

官方网站:https://js.wiki/

项目地址:https://github.com/requarks/wiki

主要特性:

  • 随处安装:几乎可以在任何平台上运行,并且与 PostgreSQL、MySQL、MariaDB、MS SQL Server 或 SQLite 兼容!
  • 管理区域:使用广泛且直观的管理区域管理 wiki 的各个方面。
  • 性能表现:Wiki.js 在极快的 Node.js 引擎上运行,在构建时充分考虑了性能。
  • 可定制:完全自定义 wiki 的外观,包括浅色和深色模式。
  • 受保护:让您的 wiki 公开、完全私有或两者兼而有之。
  • 可扩展:无论是在微型 Raspberry Pi 上还是在云中的高性能虚拟机上,Wiki.js 都会智能地利用可用资源。
  • 简易安装:几分钟之内您就可以出发了!适用于所有平台的分步安装指南。

捆绑了您需要的一切,但并非所有团队都需要相同的功能集。这就是 Wiki.js 提供各种可以按需打开/关闭的模块的原因。

在这里插入图片描述

验证方式:

  • 本地认证:具有自注册和密码恢复功能的内置身份验证。
  • 社交认证:使用第三方身份验证服务,例如 Google、Facebook、Microsoft、GitHub、Discord、Slack 等。
  • 企业认证:使用 LDAP、SAML、CAS、Auth0、Okta、Azure AD 等与您公司现有的身份验证集成。还包括通用 OAuth2 和 OpenID Connect 模块。
  • 2FA:使用双因素身份验证为支持的身份验证模块添加额外的安全层。

编辑器支持:

  • Markdown:开发人员中最流行的文档格式。包括实时预览和工具栏/键盘快捷键快速访问。
  • Visual Builder:简单易用的所见即所得编辑器,适合非技术人员。无需编码或特殊语法知识。
  • Plain HTML:直接用 HTML 编写内容。非常适合从其他来源导入预格式化的 HTML 页面。

版本历史:

  • 版本追踪:所有内容修改都会被跟踪。可以随时恢复到以前的状态或恢复已删除的页面。轻松跟踪谁更改了什么。
  • 版本比较:直观地比较同一页面的两个版本,以准确了解发生了什么变化。
  • 导出/分支:快速导出页面的特定版本或从旧版本创建新页面。

本地化支持:

  • 有您的语言版本:Wiki.js 被翻译成 40 多种语言!如果您的语言尚不可用,请帮助我们使用易于使用的工具进行翻译。无需编码!
  • 原生 RTL 支持:完全支持从右到左的语言。
  • 多语言内容:让您的 wiki 支持多种语言。在同一页面的语言之间快速切换。

媒体资产:

  • 资产管理:从资产管理器上传和管理您的媒体资产。轻松对文件夹中的资产进行分类并查看它们的使用位置。
  • 图像编辑器:使用内置图像编辑器对图像执行各种转换。裁剪、调整大小和应用滤镜从未如此简单!

渲染功能:

  • 代码高亮:插入具有全彩色语法突出显示和行编号的代码片段。
  • 图表:轻松生成 UML、流程图、序列等图表。
  • 数学表达式:使用 TeX 或 MathML 语法呈现复杂的数学表达式。
  • 媒体播放器:包括 Youtube 视频、音频、asciinema 等媒体内容。

搜索功能:

  • 数据库:Wiki.js 带有内置的搜索引擎。它需要零设置,是大多数用户的最佳选择。
  • 云搜索:使用 Algolia、Azure 搜索等云搜索服务来增强您的 wiki 搜索功能。
  • Elasticsearch:使用您现有的 elasticsearch 安装来增强您的 wiki 搜索功能。
  • 还有更多:使用 Manticore、Solr 或 Sphinx 等外部搜索引擎来增强您的 wiki 搜索功能。

存储功能:

  • Git:将您的内容同步或备份到流行的 Git 服务,例如 GitHub、GitLab、BitBucket、Azure DevOps 等。
  • 企业云存储:将您的内容备份到 AWS S3、Azure Blob Storage、Google Cloud Storage、DigitalOcean Spaces 等云存储服务。
  • 个人云存储:将您的内容备份到您的个人云存储服务,例如 Dropbox、Google Drive、MS OneDrive、Box 等。
  • 本地/网络:使用基于 SSH 的安全复制将内容本地备份到磁盘/网络共享或网络上的远程服务器。

用户管理:

  • 管理工具:从管理区域管理您的用户。快速创建新用户或编辑现有用户的各个方面。
  • 分组:将用户分配到组中以控制他们可以执行的操作或访问的内容。无需浪费时间为每个用户分配权限!
  • 权限:设置组权限以有效控制用户可以执行的操作或访问的内容。页面编辑、资产管理和访问管理区域各个部分的细化权限。
  • 页面规则:使用精确路径、开始/结束和正则表达式过滤器为组设置高级和精确的页面规则。

主题功能:

  • 自定义主题:创建您自己的主题以完全改变 wiki 的外观和感觉。
  • 深色模式:选择 UI 的浅色和深色模式。
  • 默认主题个性化:默认主题有许多颜色和显示选项。让它成为你自己的!
  • 注入自定义CSS/JS:您可以直接从管理区域覆盖 CSS 或注入额外的 Javascript。

安装要求

安装前置要求如下:

  • Wiki.js 几乎可以在任何支持 Node.js 的系统上运行。这意味着它可以在Linux、macOS、Windows以及Docker/Kubernetes和Heroku等容器解决方案上运行。
  • Wiki.js 需要专用的子域/域*(例如wiki.example.com)*。您无法将 Wiki.js 映射到子文件夹。
  • 为了获得最佳性能、功能和未来兼容性,强烈建议使用PostgreSQL。
  • 需要 Node.js 运行时。
  • Wiki.js 不需要任何实际的 Web 服务器(例如 nginx 或 Apache)。但是,如果您需要高级网络/DNS 配置,您可能需要在 Wiki.js 前面放置一个反向代理。
  • 已安装 docker 和 docker-compose。

docker 快速体验

使用sqlite数据库快速安装wiki。

docker run -d --name wiki \
  --restart unless-stopped \
  -p 80:3000 \
  -e DB_TYPE="sqlite" \
  ghcr.io/requarks/wiki:2

docker-compose安装

使用docker compose 以及 postgreSQL 数据库安装wiki。

创建一个名为 wiki 的新文件夹。在此文件夹中,创建一个名为 docker-compose.yaml 的新文件,并将以下内容粘贴到其中:

# docker-compose.yaml
version: "3"
services:

  db:
    image: postgres:15-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:

启动wiki服务

docker compose up -d

Wiki 导航栏配置

1、初始化设置

浏览器访问wiki 页面:http://192.168.72.16

初始化设置:
在这里插入图片描述

登陆 wiki 后选择 ADMINISTRATION,切换到管理员界面
在这里插入图片描述
设置中文语言
在这里插入图片描述

2、自定义导航设置

下面步骤介绍如何生成类似官方文档的导航栏结构。
在这里插入图片描述
选择导航,编辑头部区域,为第一个头部区域命名为入门
在这里插入图片描述
依次点击,添加,分隔器,添加头部区域,为第二个头部区域命名为指南,点击应用。
在这里插入图片描述

3、新建页面

点击首页图标
在这里插入图片描述
创建首页
在这里插入图片描述
使用markdown编辑器
在这里插入图片描述
为首页指定标题
在这里插入图片描述
为首页编写内容,点击创建
在这里插入图片描述
继续创建新页面
在这里插入图片描述
选择新页面位置
在这里插入图片描述
选择编辑器
在这里插入图片描述

配置页面属性

在这里插入图片描述
编写页面内容,点击创建

在这里插入图片描述

以同样方式新建页面,名称为基础,此时创建了两个新页面
在这里插入图片描述

4、新建链接

点击右侧管理图标切换到下方管理视图,点击导航,添加链接,将链接向上拖动到入门头部区域。
在这里插入图片描述
名称与上面创建的页面名称一致,目标类型为页面,选择之前创建的安装页面,点击应用。
在这里插入图片描述

以同样方式创建链接,命名为基础,拖动到指南头部区域,选择页面基础,最终如下,点击应用。
在这里插入图片描述

5、查看效果

点击首页图标
在这里插入图片描述
最终导航栏效果如下
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1171663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【从零开始学习Redis | 第四篇】基于延时双删对Cache Aside的优化

前言: 在如今的单体项目中,为了减轻大量相同请求对数据库的压力,我们采取了缓存中间件Redis。核心思想为:把数据写入到redis中,在查询的时候,就可以直接从Redis中拿取数据,这样我们原本对数据库…

Microsoft Dynamics 365 CE 扩展定制 - 5. 外部集成

本章内容包括: 使用.NET从其他系统连接到Dynamics 365使用OData(Java)从其他系统连接到Dynamics 365使用外部库从外部源检索数据使用web应用程序连接到Dynamics 365运行Azure计划任务设置Azure Service Bus终结点与Azure Service Bus构建近乎实时的集成使用来自Azure服务总线…

单目标应用:粒子群优化算法(PSO)求解微电网优化MATLAB

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、粒子群优化算法(PSO)求解微电网优化 (1)部分代码 close all; clear ; clc; global P_load; %电负荷 gl…

[SSD综述 1.4] SSD固态硬盘的架构和功能导论

依公知及经验整理,原创保护,禁止转载。 专栏 《SSD入门到精通系列》 <<<< 返回总目录 <<<< ​ 前言 机械硬盘的存储系统由于内部结构, 其IO访问性能无法进一步提高,CPU与存储器之间的性能差距逐渐扩大。以Nand Flash为存储介质的固态硬盘技术的发展,…

mooc单元测验第一单元

TCP和OSI参考模型对比 OSI参考模型与TCP/IP参考模型(计算机网络)_osi模型 tcpip模型_李桥桉的博客-CSDN博客 会话层和物理层

分享女儿的冬季时尚穿搭~经典款的羽绒服

分享女儿冬季的时尚穿搭—羽绒服 经典百搭的时尚款 90白鸭绒&#xff0b;杜邦三防工艺&#xff0b;精细走线&#xff0b;腰部抽绳 满满的设计感&#xff0c;穿上简直不要太好看啊&#xff01;

计算机组成与结构-安全性和可靠性

系统可靠性分析 概念 平均无故障时间 MTTF 1/失效率 平均故障修复时间 MTTR1/修复率 平均故障间隔时间 MTBFMTTFMTTR 系统可用性 MTTF/(MTTFMTTR)*100% 计算 串联系统 一个设备不可靠&#xff0c;整个系统崩溃RR1R2Rn 并联系统 所有设备不可靠&#xff0c;整个系统崩溃R1-(1…

数据结构(超详细讲解!!)第二十一节 特殊矩阵的压缩存储

1.压缩存储的目标 值相同的元素只存储一次 压缩掉对零元的存储&#xff0c;只存储非零元 特殊形状矩阵&#xff1a; 是指非零元&#xff08;如值相同的元素&#xff09;或零元素分布具有一定规律性的矩阵。 如&#xff1a; 对称矩阵 上三角矩阵 下三角矩阵 对角矩阵 准…

汽车标定技术(二)--基于XCP的标定测量实战

目录 1.工程创建 1.1 新建工程 1.2 设备配置 1.3 标定观测 1.4 刷写 2.原始hex文件与标定文件的合并 2.1 修改memory segment file 2.2 标定量地址偏移 ​编辑 2.3 标定后与原始hex文件合并 2.4 标定后直接merge 2.5 不用对ram地址进行偏移实现hex文件合并 本文使用…

算法?认识一下啦

一、什么是算法&#xff1f; 算法 &#xff0c;是对特定问题求解方法和步骤的一种描述。它是有限指令的有限序列&#xff0c;其中每个指令表示一个或多个操作。 算法和程序的关系 算法​是解决问题的一种方法或一个过程&#xff0c;考虑如何将输入转换成输出&#xff0c;一个…

小程序如何设置用户同意服务协议并上传头像和昵称

为了保护用户权益和提供更好的用户体验&#xff0c;设置一些必填项和必读协议是非常必要的。首先&#xff0c;用户必须阅读服务协议。服务协议是明确规定用户和商家之间权益和义务的文件。通过要求用户在下单前必须同意协议&#xff0c;可以确保用户在使用服务之前了解并同意相…

Android Studio布局

线性布局 水平或竖直排列子元素的布局容器 相对布局 可针对容器内每个子元素设置相对位置&#xff08;相对于父容器或同级子元素的位置&#xff09; 网格布局 找了下面这篇文章连接可以参考&#xff08;不再赘述&#xff09; GridLayout(网格布局) | 菜鸟教程 (runoob.com) …

【原创】java+swing+mysql校园共享单车管理系统设计与实现

摘要&#xff1a; 校园共享单车作为一种绿色、便捷的出行方式&#xff0c;在校园内得到了广泛的应用。然而&#xff0c;随着单车数量的增加&#xff0c;管理难度也不断加大。如何提高单车的利用率和管理效率&#xff0c;成为校园共享单车发展面临的重要问题。本文针对这一问题…

Python武器库开发-常用模块之collections模块(十七)

常用模块之collections模块(十七) 除python提供的内置数据类型&#xff08;int、float、str、list、tuple、dict&#xff09;外&#xff0c;collections模块还提供了其他数据类型: 计数器&#xff08;counter&#xff09;有序字典&#xff08;orderedDict&#xff09;可命名元…

基于动力学模型的机械臂滑膜控制

一、滑模控制设计思路 参考资料&#xff1a;https://zhuanlan.zhihu.com/p/463230163&#xff08;思路理解&#xff09; https://blog.csdn.net/xiaohejiaoyiya/article/details/90271529&#xff08;干扰的处理&#xff09; 滑模控制的思路有两个关键&#xff0c;一个是设计…

【C++】多态 ⑫ ( 多继承 “ 弊端 “ | 多继承被禁用的场景 | 菱形继承结构的二义性 | 使用虚继承解决菱形继承结构的二义性 )

文章目录 一、多继承 " 弊端 "1、多继承被禁用的场景2、多继承弊端 二、代码示例 - 多继承弊端1、错误示例 - 菱形继承结构的二义性2、代码示例 - 使用虚继承解决菱形继承结构的二义性 一、多继承 " 弊端 " 1、多继承被禁用的场景 禁止使用多继承的场景 : …

LV.12 D16 轮询与中断 学习笔记

一、CPU与硬件的交互方式 轮询 CPU执行程序时不断地询问硬件是否需要其服务&#xff0c;若需要则给予其服务&#xff0c;若不需要一段时间后再次询问&#xff0c;周而复始 中断 CPU执行程序时若硬件需要其服务&#xff0c;对应的硬件给CPU发送中断信号&#xff0c…

如何使用Python和Matplotlib创建双Y轴动态风格折线图 | 数据可视化教程

前言 我的科研论文中需要绘制一个精美的折线图&#xff0c;我的折线图中有三条曲线&#xff0c;分别表示期望角速度指令信号&#xff0c;和实际的角速度信号&#xff0c;还有实际的航向角信号&#xff0c;现在我已经拥有了数据&#xff0c;使用Python中matplotlib.plt.plot来直…

Java之图书管理系统

&#x1f937;‍♀️&#x1f937;‍♀️&#x1f937;‍♀️ 今天给大家分享一下Java实现一个简易的图书管理系统&#xff01; 清风的个人主页&#x1f389;✏️✏️ &#x1f302;c/java领域新星创作者 &#x1f389;欢迎&#x1f44d;点赞✍评论❤️收藏 &#x1f61b;&…

SpringBoot-SpringCache缓存

文章目录 Spring Cache 介绍常用注解 Spring Cache 介绍 Spring Cache 是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。 Spring Cache 提供了一层抽象&#xff0c;底层可以切换不同的缓存实现&#xff0c;…