当前位置: 首页 > news >正文

开源 Wiki 软件 wiki.js

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-alpineenvironment:POSTGRES_DB: wikiPOSTGRES_PASSWORD: wikijsrocksPOSTGRES_USER: wikijslogging:driver: "none"restart: unless-stoppedvolumes:- db-data:/var/lib/postgresql/datawiki:image: ghcr.io/requarks/wiki:2depends_on:- dbenvironment:DB_TYPE: postgresDB_HOST: dbDB_PORT: 5432DB_USER: wikijsDB_PASS: wikijsrocksDB_NAME: wikirestart: unless-stoppedports:- "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、查看效果

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

相关文章:

开源 Wiki 软件 wiki.js

wiki.js简介 最强大、 可扩展的开源Wiki 软件。使用 Wiki.js 美观直观的界面让编写文档成为一种乐趣!根据 AGPL-v3 许可证发布。 官方网站:https://js.wiki/ 项目地址:https://github.com/requarks/wiki 主要特性: 随处安装&a…...

STM32基本定时器中断

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、STM32定时器的结构?1. 51定时器的结构1.1如何实现定时1s的功能? 2. stm32定时器的结构2.1 通用定时器 二、使用步骤1.开启时钟2.初始…...

学习历程_基础_精通部分_达到手搓的程度

1. 计算机网络(更新版) 1.1 计算机网络-43题 1.2 2. 操作系统(更新版) 3. ACM算法(更新版) 4. 数据库(更新版) 5. 业务开发算法(更新版) 6. 分布式类(更新版) 7. 设计模式(更新版&#xff…...

Redis中的List类型

目录 List类型的命令 lpush lpushx rpush lrange lpop rpop lindex linsert llen lrem ltrim lset 阻塞命令 阻塞命令的使用场景 1.针对一个非空的列表进行操作 2.针对一个空的列表进行操作 3.针对多个key进行操作. 内部编码 lisi类型的应用场景 存储(班级…...

3D模型格式转换工具HOOPS Exchange:如何将3D PDF转换为STEP格式?

3D CAD数据在制造、工程和设计等各个领域都扮演着重要的角色。为了促进不同软件应用程序之间的协作和互操作性,它通常以不同的格式进行交换。 HOOPS Exchange是一个强大的软件开发工具包,提供了处理和将3D CAD数据从一种格式转换为另一种格式的解决方案…...

DB-GPT介绍

DB-GPT介绍 引言DB-GPT项目简介DB-GPT架构关键特性私域问答&数据处理多数据源&可视化自动化微调Multi-Agents&Plugins多模型支持与管理隐私安全支持数据源 子模块DB-GPT-Hub微调参考文献 引言 随着数据量的不断增长和数据分析的需求日益增多,将自然语言…...

Java,面向对象,内部类

内部类的定义: 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类(InnerClass),类B则称为外部类(OuterClass)。 内部类的使用场景: 类A只在类B中使用,便可以使用内部类的方法…...

唯一ID如何生成,介绍一下目前技术领域最常使用的几种方法

纵使十面大山,又如何,无妨… 概述 唯一ID(Unique Identifier)是在计算机科学和信息技术领域中用于标识某个实体或数据的唯一标识符。生成唯一ID的方法可以根据具体需求和应用场景的不同而有所不同。以下是一些目前技术领域中常用…...

【翻译】XL-Sum: Large-Scale Multilingual Abstractive Summarization for 44 Languages

摘要 当代的关于抽象文本摘要的研究主要集中在高资源语言,比如英语,这主要是因为低/中资源语言的数据集有限。在这项工作中,我们提出了XL-Sum,这是一个包含100万篇专业注释的文章摘要对的综合多样数据集,从BBC中提取&…...

配置OpenCV

Open CV中包含很多图像处理的算法,因此学会正确使用Open CV也是人脸识别研究的一项重要工作。在 VS2017中应用Open CV,需要进行手动配置,下面给出在VS2017中配置Open CV的详细步骤。 1.下载并安装OpenCV3.4.1与VS2017的软件。 2.配置Open CV环…...

1-时间复杂度和空间复杂度

为了找到最适合当前问题而估量“算法”的评价s 时间复杂度空间复杂度执行效率:根据算法编写出的程序,执行时间越短,效率就越高占用的内存空间:不同算法编写出的程序,执行时占用的内存空间也不相同。如果实际场景中仅能…...

EtherCAT主站SOEM -- 3 -- SOEM之ethercatconfig.h/c文件解析

EtherCAT主站SOEM -- 3 -- SOEM之ethercatconfig.h/c文件解析 一 ethercatconfig.h/c文件功能预览:二 ethercatconfig.h/c 中主要函数的作用:2.1.1 ec_config_init(uint8 usetable) 和 ecx_config_init(ecx_contextt *context, uint8 usetable)&#xff…...

洗地机哪个品牌好?家用洗地机选购攻略

随着家用洗地机的普及和市场的广泛认可,进入洗地机行业的制造商也越来越多。在面对众多洗地机品牌时,消费者常常感到困惑,不知道如何选择。面对众多选择,选择有良好保障的知名洗地机品牌是明智之举。知名品牌在质量、售后服务等方…...

Java数组的定义与常用使用方法

目录 一.什么是数组 二.数组的创建及初始化 数组的创建 数组的初始化 动态初始化: 静态初始化: 【注意】 三.数组的使用 数组中元素访问 遍历数组 四.数组作为方法的参数 参数传基本数据类型 参数传数组类型(引用数据类型) 作为方法的返回…...

[计算机网络]认识“协议”

认识“协议” 文章目录 认识“协议”序列化和反序列化网络计算器引入Sock类设计协议编写服务端类启动服务端编写客户端类启动客户端程序测试 序列化和反序列化 在网络体系结构中,应用层的应用程序会产生数据,这个数据往往不是简单的一段字符串数据&…...

“Notepad++“ 官网地址

notepad官网下载地址:https://notepad-plus-plus.org/downloads/ npp.8.5.8.Installer.x64 本下载地址- https://download.csdn.net/download/namekong8/88494023 1. Fix session file data loss issue. 2. Fix Explorer context menu "Edit with Notepad…...

基于单片机的自动感应门设计

博主主页:单片机辅导设计 博主简介:专注单片机技术领域和毕业设计项目。 主要内容:毕业设计、简历模板、学习资料、技术咨询。 文章目录 主要介绍一、自动感应门设计的功能概述二、系统总体方案2.1系统的总体计划2.2元器件的介绍2.2.1单片机的…...

【密评】商用密码应用安全性评估从业人员考核题库(二十-完结)

商用密码应用安全性评估从业人员考核题库(二十-完结) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 4640 单项选择题 在测评过程中遇到的PEM编码格式&#xff0c…...

Tigger绕过激活锁/屏幕锁隐藏工具,支持登入iCloud有消息通知,支持iOS12.0-14.8.1。

绕过激活锁工具Tigger可以用来帮助因为忘记自己的ID或者密码而导致iPhone/iPad无法激活的工具来绕过自己的iPhone/iPad。工具支持Windows和Mac。 工具支持的功能: 1.Hello界面两网/三网/无基带/乱码绕过,可以完美重启,支持iCloud登录、有消…...

VueX mapState、mapGetters、mapActions和mapMutaions 的使用

一、mapState和mapGetters 如果我们想要读取VueX中的State数据的Getters数据时,需要使用$store.state.数据名 和 $store.getters.数据名。 当我们State和getters中的数据多了以后,书写会很麻烦: 如果我们想要使用方便可以配置计算属性来简化…...

GMP标准的制药级层流细胞实验室核心要点

随着生物医药技术的飞速发展,制药行业对细胞疗法和细胞药物的需求日益增长。这推动了制药级层流细胞实验室的发展,其作为生物医药研发的关键基础设施,为制药企业提供了进行细胞培养、基因编辑、疫苗研发等工作的高效平台。本文就围绕GMP标准的…...

[免费] 适用于 Windows的10 的十大数据恢复软件

Windows 10是微软开发的跨平台和设备应用程序的操作系统。它启动速度更快,具有熟悉且扩展的“开始”菜单,甚至可以在多种设备上以新的方式工作。所以,Windows 10非常流行,我们用它来保存我们的照片、音乐、文档和更多文件。但有时…...

【halcon踩坑】区域为空但个数是1

背景 我在做瑕疵检测的时候,通过计算瑕疵区域的个数(count_obj())是否为0,来判断是否有瑕疵,如果不为0,那边我就会在图片上标记这个瑕疵的位置! 但是有一次我发现明明没…...

第二十四章 BEV感知系列一(车道线感知)

前言 近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。 BEV感知系列是对论文Delving into the De…...

C++入门讲解第一篇

大家好,我是Dark Fire,终于进入了C的学习,我知道面对我的将是什么,就算变成秃头佬,也要把C学好,今天是C入门第一篇,我会尽全力将知识以清晰易懂的方式表达出,希望我们一起加油&#…...

项目实战:分页功能实战

1、在index.html添加点击事件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"style/index.css"><script src"scr…...

AI人工智能大模型应用如何落地?

人工智能大模型是近年来人工智能领域的一项重要技术突破&#xff0c;其具备强大的计算能力和学习能力&#xff0c;能够处理大规模的数据和复杂的任务。 然而&#xff0c;要将人工智能大模型应用落地并实现实际价值&#xff0c;还需要克服一些挑战和问题。 首先&#xff0c;人…...

【优选算法系列】第一节.栈的简介(1047. 删除字符串中的所有相邻重复项和844. 比较含退格的字符串)

文章目录 前言一、删除字符串中的所有相邻重复项和 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写二、比较含退格的字符串 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写总结 前言 …...

PostgreSQL逻辑管理结构

1.数据库逻辑结构介绍 2.数据库基本操作 2.1 创建数据库 CREATE DATABASE name [ [ WITH ] [ OWNER [] user_name ] [ TEMPLATE [] template ] [ ENCODING [] encoding ] [ LC_COLLATE [] lc_collate ] [ LC_CTYPE [] lc_ctype ] [ TABLESPACE [] tablespace ] [ CONNECTION L…...

高匿IP有什么作用

在互联网的蓬勃发展中&#xff0c;IP地址作为网络通信的基础&#xff0c;一直扮演着举足轻重的角色。而在诸多IP地址中&#xff0c;高匿IP地址则是一种特殊类型&#xff0c;其作用和价值在某些特定场合下尤为突出。那么&#xff0c;高匿IP地址究竟有哪些用处呢&#xff1f; 首先…...