曾经沧海难为水,除却巫山不是云。
本次操作配置如下:
为了创建新页面,请单击页面右上角的“ 新建页面” 按钮;
创建新页面时,将出现以下对话框提示:
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
国内外顶级的10个知识库管理系统(含开源、免费)1.PingCode
国内最推荐的一款企业级知识管理系统,简单易用,功能成熟,服务口碑好,2022年入选36氪发布的年度口碑企服产品榜单 TOP 36。
在软件开发团队的使用体验远超其他团队,但同样被非常多的市场、销售、项目经理等各种部门广泛用于团队知识库创建、项目文档的管理、文档的在线编辑协作、跨团队信息共享、集体讨论、帮助中心、产品介绍、开发文档、在线手册等制作。
PingCode 知识库工具主要功能包括但不限于:
多人实时在线协同编辑、信息实时保存同步、历史版本快速追溯;
文档支持共享、关注、评论、批注,可在消息/飞书等第三方账号收到提醒;
支持富文本编辑,支持插入图片、表格、思维导图、视频、Markdown、代码块、页面、附件等,支持模板创建、复用;
与研发项目管理、测试管理具体工作项深度关联,形成“需求-开发-测试-知识沉淀”管理闭环;
页面与工作项相互关联,页面支持插入工作项及工作状态,具体工作项可直接关联知识库或页面;
支持页面级的权限管控、以及水印、审计等安全能力;
之所以说 PingCode 在软件开发团队使用体验更佳是因为:PingCode 除了有知识管理子产品外,产品矩阵覆盖了研发全生命周期,具备目标管理、产品管理、项目管理(敏捷/kanban/瀑布)、测试管理、缺陷追踪、项目文档管理、效能度量等不同的子产品,客户可以按需购买。并且集成了github、gitlab、jinkens、企微、飞书等主流工具。
软件优点:
产品开箱即用,简单易上手,产品服务口碑好;
为25人以下团队免费提供基础版本;
国产化,支持信创、麒麟等;
支持私有部署、定制化以及Saas等购买方式;
国际信息安全体系认证和精细权限管控,安全有保障;
软件缺点:
不支持多语言;
无法满足百度百科这类知识库的搭建;
PingCode 官网
2.Confluence
与 PingCode 一样是一个为软件开发团队打造的团队级知识库子产品。澳大利亚 Atlassiana 公司的产品,在国内算是比较知名的的企业知识管理与协同软件,可以用于构建企业wiki,具有成熟的功能,与 PingCode 知识库一样,能够直接关联研发管理的各环节。它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。
工具优点:
文档的组织:在左侧目录栏,所见即所得地一次操作完成目录结构与页面创建;
丰富的文档模板:专门针对技术团队的文档系统,所以具有各种丰富的模板;
关联研发过程:技术团队认为Confluence好用,确实是因为它针对技术团队特点,细致地解决了场景化问题;
非常丰富的插件:Confluence 集成了国外几乎所有主流的工具。
工具缺点:
随着人数的增加,管理变得复杂:在cofluenence中,每增加一个人,就必须手动添加,并配置数十个或数百个页面的许可;
免费版本的Confluence功能非常有限;
Confluence非常昂贵,例如100人的情况下,Confluence需要10万大洋/年,而国内的PingCodeWiki等同类工具只需要2-3万/年。
对国内用户不友好:Atlasian在2021年宣布停止国内本地版销售,逼用户上云,而国内使用云版又要翻墙。
非技术团队使用高学习成本:Confluence可以用于营销和人力资源,但许多员工可能会被软件性质所需的技术知识所阻止;
国内不设公司,服务全部由代理商完成,而且价格不便宜(有的代理实施费用1万/天)。
官网: https://www.atlassian.com/software/confluence
3.MediaWiki
MediaWiki全球比较著名的开源wiki程序之一,最适合企业用来搭建百科、知识库查询等用途,企业内部使用可能会带来过高的成本。它运行于PHP+MySQL环境。MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。仅从这点来看其功能的强大和成熟度毋庸置疑,所以也不过多介绍。
工具优点:
经受过重量级应用的考验,功能丰富却架设简单;
全世界最大的wiki项目维基百科是使用mediawiki的成功范例,数据量、访问量都超级庞大;
mediawiki的功能非常丰富,支持多语言版本,充分满足知识站点的需要;
运行环境要求很低,架设过程简洁,即使新手也可以迅速建立自己的站点
最大的wiki程序社区;
mediawiki是应用最广的wiki程序,数以万计的网站在使用它,很容易找到范例站点;
有大量的热心参与人员参与研究,资料多,容易找到互相交流的朋友;
持续开发,程序特性功能不断完善,保证未来的支持。
工具缺点:
强大的功能带来了非常高的学习成本;
除此以外,作为国外工具永远存在的风险都是禁用,俄罗斯就是很好的例子;
后台管理功能不是十分简单友善,仅通过简单的特殊页面完成这些功能,大部分系统设置是依靠配置文件而非直接界面设置;
一般环境下,虽然内置部分缓冲机制优化运行,mediawiki的运行速度相对其他wiki程序要差很多。mediawiki的目标是为维基媒体项目服务,很多华丽的性能特征要在高端设备环境(多服务器,多数据库,反向缓冲squid服务器阵列,大量额外的PHP缓冲引擎)中才能体现;
官网: https://www.mediawiki.org/wiki/MediaWiki
4.Gitbook
非常适合程序员用来做个人知识库的产品:GitBook是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。美观、好用非常适合用来搭建官网上的知识库、帮助中心,他们自身的官网就是基于此搭建的(如图)。除此以外,也非常适合程序员用来做个人知识库,更好的一点是,gitbook支持直接发布在github博客系统上, 你可以把你的作品放在github上,别人可以来fork可以来帮你纠错,给你发pull request。除此以外GitBook 的第三方插件很丰富。
软件缺点:
虽然能制作出优美的官网文档,但在官网的SEO优化方面存在一定的问题;
近几年官方这样疏于维护的情况下,在2021年的今天,你要做好遇到很多坑的心理准备
官网: https://www.gitbook.com/
5.语雀
更适合做个人笔记工具的知识库:语雀,是蚂蚁集团旗下的在线文档编辑与协同工具,2015年内部孵化的项目,2022年发布移动端。使用了“结构化知识库管理”,形式上类似书籍的目录。与其他产品可以随意建立文档不同,语雀上的每一篇文档必须属于某一个知识库,语雀希望通过这样的产品设计,来从源头上帮助用户建立起知识管理的意识,培养良好的知识管理习惯。除此以外,它能够满足“卡片笔记”这种方法论下的笔记记录方式。同时也具备一定的团队协作能力。
软件优点:
可以全局搜索:腾讯文档无法全局搜索,就无法找到一些文档。
语雀的插入功能丰富:特别是表格很好用,而印象笔记的表格真的不太好用。思维导图虽然不是很完美,但已经比很多文档笔记产品的思维导图都好用很多了,感受最深的就是可以拖动画布。
语雀的画板很好用:功能丰富,满足很多要求,这是其他笔记文档工具都不具备的
语雀的电脑端可以直接操作文档:很多人说飞书好,但是我作为一个办公喜欢电脑端软件的的人来说,使用飞书电脑端操作操作,要跳转到浏览器,这样真的很不舒服。
软件缺点:
感觉语雀在用户体验上有一些反常识的设计,操作繁复,十分的不便利,比如:知乎文章《语雀的缺点和优点》中吐槽的;
更适合个人,团队协作能力较弱;
无法保持登录,经常需要重复登录;
官网: https://www.yuque.com/
6.wiki.js
它是一款轻量级、功能强大的 wiki 开源项目,拥有评论、Markdown 编辑器、图片上传、标签、全局搜索、协同编辑、编辑历史、用户管理、谷歌分析等功能,重点是支持中文,而且支持高度自定义。用到的技术栈也不同于老旧的 wiki 系统,它采用了 Node.js、PostgreSQL、Vue.js、Docker 等技术。
工具缺点:
访问加载速度较慢,可能是国外产品的关系;
虽然 wiki.js 更新积极、提交频繁,但目前它还不支持自定义主题;
对中文搜索不友好,默认不支持中文搜索,需要采用 ES 但这样就不再轻量,或者采用 pg 插件让 pg 支持中文分词;
中文翻译覆盖率并不像官网展示的 100%,管理后台里还是有未翻译的地方;
项目地址: https://github.com/requarks/wiki
7.DokuWiki
开源免费,轻量级百科系统不需要数据库即可运行,不少人搭建的wiki就是选用的这个,总的来说需要的功能都有,模板和插件很多,最大的问题是中文资料比较少,官网下载速度也有点慢。对了,下载的时候最好把“更新”插件一起下载这样后续更新就方便很多。
官网: https://www.dokuwiki.org
开源下载地址: https://download.dokuwiki.org
8.Notion
Notion 是前些年在国内外都非常流行的管理工具,同时适用于个人以及团队协作使用(最近国内有个类似产品Flowus也比较火)。
由于其独特和灵活的使用方式,它很适合作为知识管理软件。和传统的笔记软件不同,Notion采用了模块化的设计,每个段落都是一个独立的区块,可以自由拖拽和布局,而且区块还可以设置为各种类型,包括标题、待办、列表、引用、图片、视频等,甚至还提供了第三方嵌入功能,你可以在其中加入网页片段、代码、思维导图、流程图等模块,创建内容丰富的文档。你可以认为它是一个工具集合,能够同时满足任务管理、进度管理、文档协作、知识库、项目计划等等。
软件缺点:
网络问题,受中国各地区复杂的网络情况影响,某些地区访问Notion及其缓慢,当内容中包含大量图片时,体验将变得很糟糕,只能自己寻找合适的手段解决;
丰富的功能必然的带来了较高的上手门槛,如果你只是想找一个单纯的知识库,那它可能并不适合;
离线模式不支持,Notion目前所有的内容基于在线web访问的方式,当浏览器缓存内容被清除后,意味着你每次访问页面都将需要进行新的载入,当你某个页面包含大量的数据时,等候时间将会很长,长达5-15秒(受网络速度影响),不过官方承诺将在后续版本支持离线模式。
中文搜索和分词及其糟糕,这个问题在2020年2月更新已得到解决,新的搜索机制对中文的兼容已非常良好,并且支持过滤。
没有标签体系,无法达到Onenote的标签快速查找的功能,Onenote可以为某一行文本设置某类标记,然后通过查找标记进行快速查找,在Notion不支持标记,只能通过自己的手动编辑某类特殊的文本,然后通过搜索功能勉强实现标记功能;
9.docsify
免费开源,轻量级文档网站,界面简洁优雅,目前很多开源项目的文档都选用这个系统搭建,这里需要注意的是这个是单文档,不是那种大型wiki系统。
官网: https://docsify.js.org/#/
10.坚果云
坚果云一款提供云存储服务的工具,不同于树状结构的文档管理结构,它所提供的是文件夹类型的知识库管理方式。其优点就在于除了文档内容还能够对几乎所有类型的知识成果进行管理沉淀,比如特别适合视频、音频等知识管理。
坚果云分为面向个人和企业两种,可以帮助人们随时随地用任何设备快速访问文件,功能包括文件自动同步、文件共享、文件搜索、照片视频自动备份等,可应用于汽车、能源、金融、建筑等行业。
官网: https://www.jianguoyun.com/