wiki.js配置

JavaScript010

wiki.js配置,第1张

曾经沧海难为水,除却巫山不是云。

本次操作配置如下:

为了创建新页面,请单击页面右上角的“ 新建页面” 按钮;

创建新页面时,将出现以下对话框提示:

Wiki.js根据您要编写的内容类型或只是用户首选项提供了各种编辑器。开发人员通常会使用Markdown编辑器,而非技术用户则更喜欢Visual Editor。

有关编辑器及其使用方法的完整列表,请参阅“ 编辑器” 部分。

选择编辑器后,系统会提示您“页面数据”对话框:

输入页面的 标题 描述 标签

最后,单击“ 确定” 关闭对话框并开始编写!

注:您以后可以通过单击 页面 右上角的“ 页面” 按钮返回到“页面元数据”对话框。

直到您单击“ 创建” 按钮(位于页面右上角),才会 创建 页面。它会被保存并呈现,之后您将自动重定向到最终结果。只需单击编辑按钮即可返回编辑!

Wiki.js没有传统意义上的文件夹结构。您无需创建文件夹即可创建新页面。而是直接在您选择的路径上创建页面。

例如,为了在创建一个页面/universe/planets/earth,你并不需要创建的文件夹universe,并planets在首位。他们会自动推断出来。

该系统允许更大的灵活性和更少的页面之间依赖性。但是,这并不意味着您不能使用传统的文件夹系统。创建和移动页面时,文件夹结构仍然可用。唯一的区别是您不必管理文件夹,它们是从页面路径自动推断出来的。

每页顶部显示的面包屑栏是根据路径自动生成的。

标签是对页面进行分类并轻松查找相关内容的好方法。与使用复杂的文件夹系统对内容进行分类相比,它们是一种更精简的选择。标签是贴在页面上的简单标签。

可以将多个标签添加到页面。

例如,对于一个关于城市页面 Montreal ,你可以添加标签cities,canada,north-america。这些标签随后可用于快速查找页面。通过按canada和进行浏览cities,因为页面上同时存在这两个标签,所以 Montreal 页面将出现在结果中。

您可以随时在页面上添加或删除更多标签。

使用 按标签浏览 链接(位于搜索栏旁边或在导航菜单中)可查看Wiki中所有可用标签的列表。

选择一个或多个标签以查看与所选内容匹配的页面列表。

手动输入文章地址即可生效地址。

一个组包含多个用户,一组权限和一个页面规则列表。

定义了用户可以看到的内容以及他可以做什么。这可以通过使用2个概念来实现: 全局权限 页面规则

一个 全局权限 给予用户执行一个非常具体的行动的权利。例如,全局权限read:pages允许用户查看页面,而全局权限write:assets允许用户上载图像和文件。这些全局权限充当主开关,以 允许或拒绝 Wiki上的特定操作。

列1:我想让用户看不到主页:点击系统阅读组,关掉这个开关。

列2:我想让登录的用户看不到主页:在用户组内组,关掉阅读权限即可。

虽然 global 的权限是很大的一个限制用户只能执行一组特定的动作,但它缺乏的控制,其中应用这些权限。例如,您可能希望用户能够查看下方的页面,/cities但不能查看下方的页面/secret。这是 页面规则 起作用的地方。

让我们使用以下示例:我们希望XYZ 组的用户能够查看页面和查看路径完全位于的资产/cities/montreal 。

该页面规则将定义为:

如果将所有概念结合在一起,该小组将:

规则以什么顺序应用?

规则按照路径特异性的顺序应用。更精确的路径将始终覆盖定义不明确的路径。

例如,/geography/countries将覆盖/geography。

当两个规则具有相同的特异性时,优先级从最低到最高给出如下:

有2个预定义且无法删除的系统组:其他规则组可以自己创建,也可以从外部身份验证系统预授权用户。

您必须在系统上安装Git 2.7.4或更高版本才能启用此模块!

当提示您保存生成的文件时,按 Ente键 。(默认在C:\Users\Joe.ssh)

将密码短语留空,然后按两次 Enter键 。受密码保护的密钥不起作用。

取次花丛懒回顾,半缘修道半缘君

wiki.js 是优秀的开源 wiki 系统,相较于 xwiki ,功能目前性上比 xwiki 不够完善,但也在不断进步。 wiki 写作、分项、权限管理功能还是有的,胜在 UI 设计很漂亮,能满足小团队的基本知识管理需求。

以下工作是在 kubernetes 1.23.0 + helm 3 已经部署好的情况下进行的。部署 kubernetes 可以参考我另外的文章 “kubesphere 多节点集群安装”

我们使用 openebs 作为存储,openebs 默认安装的 local storageclass 在 pod 销毁后自动删除,不适合用于我的 mysql 存储,我们在 local storageclass 基础上稍作修改,创建新的 storageclass,允许 pod 销毁后,pv 内容继续保留,手动决定怎么处理。

我们团队其他项目中也需要使用 postgresql, 为了提高 postgresql 数据库的利用率和统一管理,我们独立部署 postgresql, 并在安装 wiki.js 时,配置外部数据库。

我们使用 secret 保存 postgres 用户密码等敏感信息。

使用 configmap 保存数据库初始化脚本,在 数据库创建时,将 configmap 中的数据库初始化脚本挂载到 /docker-entrypoint-initdb.d, 容器初始化时会自动执行该脚本。

我们使用 openesb 来提供存储服务。可以通过 创建 pvc 来提供持久化存储。

在前面的步骤准备好各种配置信息和存储后,就可以开始部署 postgresql 服务了。

我们的 kubernetes 没有配置 存储阵列,使用的是 openesb 作为存储,我们使用 deployment 来部署 postgresql 服务。

测试略

adminer 是 php 语言的 数据库管理工具,可以在浏览器上管理数据库,因为我们的数据库部署在 kubernetes ,配套使用基于浏览器的 数据库管理工具,可以更方便的管理,而且不需要把安装在 kubernetes 集群里的数据库暴露出来,提高了数据保密性。

我们使用 configmap 保存 adminer 需要的环境变量。比如通过 ADMINER_DESIGN 设置皮肤,通过 ADMINER_PLUGINS 设置需要加载的插件。

我们使用 secret 保存 wiki.js 用于连接数据库的用户名密码等敏感信息。

我们使用 configmap 保存 wiki.js 的数据库连接信息。

如果 postgresql 数据库里没有创建 wikijs 用户和数据 ,需要手工完成一下工作:

通过 adminer 连接 postgresql 数据库,执行一下 sql 语句,完成数据库和用户的创建、授权

在前面的步骤准备好各种配置信息和存储后,就可以开始部署 wiki.js 服务了。

以下是完整的通过 deployment 部署 mysql 数据库和 xwiki 的 yaml 文件,保存为 xwiki.yaml 。

直接执行可以创建好 wiki.js