开源 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、查看效果

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NVIDIA-SMI has failed because it couldn“t communicate with the NVIDIA driver .

文章目录 报错原因分析解决办法防患于未然 报错 执行nvidia-smi报错 NVIDIA-SMI has failed because it couldn"t communicate with the NVIDIA driver . Make sure that the atest NVIDIA driver is installed and running.运行使用gpu的docker容器时 NVIDIA Docker …

这款AI-3D模型实现了无数人的建模梦

hi,同学们,本期是第25期AI生产力工具教程 别说各位,连我也不敢信,现在制作3D模型比泡杯奶茶的时间还要快! 最近发现了一个天花板级的图片生成3D模型的AI工具——Artefacts.Ai,喂1张图片,就能创…

ADS安装问题

1、已有老版本,需要安装新版本,自动跳过证书安装目录设置 解决办法(ADS2019-2023版本都适用): ADS2019安装细节以及需要避免的坑 2、安装报错 解决办法,删除C盘里面的隐藏文件Zero G Registry&#xff1…

圣杯布局/双飞翼布局/flex/grid等,实现CSS三栏自适应布局的几种方法

简介 三栏布局是网页设计中常用的布局,即网页中的内容被分为三块:左侧/中间/右侧。其中两侧部分宽度固定,中间部分宽度自适应的根据浏览器宽度撑满剩余空间。而三栏布局也有很多变形,比如两栏或者N栏布局,上中下三栏布…

分布式单元化

一 分布式单元化 1.1 两地三中心 顾名思义,两地指的是两个城市:同城,异地。三中心指的是三个数据中心:生产中心、同城容灾中心、异地容灾中心。 在同一个城市或者临近的城市建设两个相同的系统,双中心具备相当的业…

C++之set/multiset 和 map/multimap的使用

关联式容器 在初阶阶段,我们已经接触过STL中的部分容器: 比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。 今天要了解的几个容器称为关联式容器: 关联式容器也是用来…

C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)

懒大王感谢大家的关注和三连支持~ 目录 前言 一、并发服务器 1.进程并发服务器 实例代码如下: 2.线程并发服务器 实例代码如下: 二、域通信 域通信TCP实例代码如下: 三、广播与组播(UDP) 1.广播 实例代码如下: …

《向量数据库指南》——开源框架NVIDIA Merlin 向量数据库Milvus

NVIDIA Merlin & Milvus 推荐系统 pipeline 中至关重要的一环便是为用户检索并找到最相关的商品。为了实现这一目标,通常会使用低维向量(embedding)表示商品,使用数据库存储及索引数据,最终对数据库中数据进行近似最近邻(ANN)搜索。这些向量表示是通过深度学习模型获…

STM32单片机在线升级,手机在线升级STM32单片机,固件远程下载方法,局域网在线程序下载

STM32单片机,是我们最常见的一种MCU。通常我们在使用STM32单片机都会遇到程序在线升级下载的问题。 STM32单片机的在线下载通常需要以下几种方式完成: 1、使用ST提供的串口下载工具,本地完成固件的升级下载。 2、自行完成系统BootLoader的编写…

使用阿里云服务器,httplib库在listen过程中,出现Cannot assign requested address错误???

今天,在做一个小项目的时候,使用httplib库进行建立tcp连接,但是一旦程序开始,并没有等待tcp连接的到来,而是直接结束了。 打印一下strerror(errno) 根本就没有进行客户端的连接。 找了一下午,检测是否…

大数据毕业设计选题推荐-收视点播数据分析-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

javaee实验:搭建maven+spring boot开发环境,开发“Hello,Spring Boot”应用

目录 mavenspringboot实验目的实验内容环境的搭建 在开发中,maven和spring都是非常常用、非常重要的管理工具和框架,今天就在这里使用idea进行环境的搭建和创建第一个spring程序 maven 1.1maven是一个跨平台的项目管理工具(主要管理jar包&am…

【双指针+简化去重操作】Leetcode 15 三数之和

【双指针简化操作】Leetcode 15 三数之和 解法1 解法1 新建一个嵌套列表&#xff1a;List<List<Integer>> result new List<>(); 初始化一个ArrayList并直接赋值&#xff1a;ArrayList<Integer> result new ArrayList<>(Arrays.asList(1, 2…

Python库学习(十二):数据分析Pandas[下篇]

接着上篇《Python库学习(十一):数据分析Pandas[上篇]》,继续学习Pandas 1.数据过滤 在数据处理中&#xff0c;我们经常会对数据进行过滤&#xff0c;为此Pandas中提供mask()和where()两个函数&#xff1b; mask(): 在 满足条件的情况下替换数据&#xff0c;而不满足条件的部分…

Find My手机保护壳|苹果Find My与手机保护壳结合,智能防丢,全球定位

随着科技水平的快速发展&#xff0c;科技美容这一行业做为新型产业新生而出。时尚IT品牌随着市场的多元化发展。针对手机品牌和功能的增加而呈多样化&#xff0c;将手机保护壳按质地分有PC壳&#xff0c;皮革 &#xff0c;硅胶&#xff0c;布料&#xff0c;硬塑&#xff0c;皮套…

mac电脑大旧型文件清理软件CleanMyMac2024

CleanMyMac的大旧文件模块会帮您定位、检查和移除您几个月没有打开过并且不再需要的大型文件和文件夹&#xff0c;这样可以节省更多的磁盘空间。 CleanMyMac X全新版下载如下: https://wm.makeding.com/iclk/?zoneid49983 大型和旧文件模块可以查找和移除大型文件和文件夹&…

Python 海龟绘图基础教学教案(六)

Python 海龟绘图——第 9 题 题目&#xff1a;绘制下面的图形 解析&#xff1a; 综合应用&#xff0c;绘制长方形。 答案&#xff1a; 不使用循环。 Python 海龟绘图——第 10 题 题目&#xff1a;绘制下面的图形 解析&#xff1a; 综合命令使用。 答案&#xff1a; 使用循环…

Java VMTranslator Part II

用Java写一个翻译器&#xff0c;将Java的字节码翻译成汇编语言 目录 程序控制流开发 基本思路 核心代码 实验结果&#xff0c;使用例子进行验证 函数调用 基本思路 核心代码 实验结果&#xff0c;使用例子进行验证 Parser CodeWriter Main 程序控制流开发 基本思路…

2.JMeter压测接口

概述 今日目标&#xff1a; JMeter使用 配置线程组配置 HTTP 接口配置断言 配置响应断言配置断言响应时间 配置结果监听压测报告 接口准备聚合报告察看结果树其它 线程组配置详解 线程数Ramp-Up bug结束 JMeter使用 双击 ApacheJMeter.jar 启动&#xff0c;然后修改名称&a…

C 练习实例10 打印楼梯,同时在楼梯上方打印两个笑脸。

题目&#xff1a;打印楼梯&#xff0c;同时在楼梯上方打印两个笑脸。 程序分析&#xff1a;用 ASCII 1 来输出笑脸&#xff1b;用i控制行&#xff0c;j来控制列&#xff0c;j根据i的变化来控制输出黑方格的个数。 如果出现乱码情况请参考【C 练习实例7】的解决方法。 实例 …