在敏捷开发、多人协同的工作环境和需求下,有越来越多的企业选择Wiki作为技术文档的创作、发布和管理系统。在种类繁多的Wiki系统选择面前,如何选择适合的Wiki系统,是本文的主要内容。
WikiMatrix ( https://www.wikimatrix.org/ )是一个在线网站,可帮助你对比不同Wiki系统的功能和特性。你可以通过两种方式帮助你做出合适的选择:
网站会提供详细的对比情况。比较详情很长,以下仅部分截图实例。对比详情包括不同Wiki的以下方面:
问题包括诸如是否需要查看页面历史、是否需要所见即所得的界面、是否需要商业支持等等。通过此类问题的答案,就能帮助理清企业对于Wiki系统的需求。
参考 WikiMatrix给出的方向,要从众多的Wiki系统里选择一款合适的,是选择付费的还是选择开源的,不妨从以下三个方面进行考虑:
可以从以下问题入手:
1 内容结构
确认该Wiki的结构框架:是扁平化的页面,还是能支持层级页面,以支持文档的内容组织。
2 页面结构
在Wiki页面上是否能方便地使用文档元素创作内容,例如标题、表格、多列文本等的使用
3 图片、视频或其他多媒体文件的使用
能否支持轻松的上传并插入图片、视频或其他形式的多媒体文件
4 与其他应用程序的集成
该Wiki是否能够动态显示从其他网站或应用程序的内容,或者是否能与当前使用的相关工具做集成
5 内容导入
是否需要从外部导入其他格式的内容,该Wiki是否支持现有文件格式的导入
6 内容导出
该Wiki内编辑或创建的内容是否可以导出为其他文件形式,比如PDF、XML、HTML等格式
7 内容重用
该Wiki是否支持不同页面上内容块的重用,而不需要重复创建相同的内容
8 文件模板
该Wiki是否支持为不同的内容创建不同的模板
可以从以下问题入手:
1 价格
有些Wiki系统是开源免费的,也有些是付费的;付费的永久性的账号,也有适用多大团队规模的账号。因此,企业是否有预算,给出多少的预算都可能会决定Wiki的选型。
2 安装
该Wiki的安装是需要配置在企业自身的服务器,还是已有现成的托管服务器,只需要购买账号就行。
3 可支持的平台
该Wiki运行的操作系统要求,是否支持企业客户所常用的浏览器,或者是否能与企业的用户目录连接。
4 支持与帮助文档
可以从Wiki能提供的文档侧面评估该Wiki系统的质量,是否有相关的用户论坛、支持渠道能,便于在使用过程中的问题排查。
5 插件和扩展
该Wiki是否支持插件和扩展,是否有相关的活跃的用户社区贡献各类插件和扩展应用。
6 用户案例
了解是否有其他用户或企业正在使用,查看已有的用户案例效果。
除了常见的Wiki的基本功能之外,是否有其他功能的需求,比如:
1 权限管理
该Wiki是否支持权限管理,比如不同的用户角色能访问的内容不同。
2 社交功能
是否看中Wiki的社交功能,比如不同成员之间相互分享和查看页面、订阅、关注其他用户、发布到其他博客系统、显示更新进度,等等。
3 版本管理
该Wiki系统是否支持版本管理,比如记录某个页面的所有更新历史,并允许用户回退到历史版本。
4 发布管理
该Wiki系统是否支持提供每个文档发布版本的快照信息,或者允许用户通过标签或关键字查找匹配到某次发布。
5 工作流程
该Wiki页面的工作流程是否顺畅,比如初稿写作、内容评审、发布的完整流程是否清晰。
6 查找功能
该Wiki系统是否提供索引页面、元数据、目录、搜索栏等形式,便于内容的快速查找和检索。
7 样式定制
该Wiki是否支持自定义系统的外观显示样式、首页的形式等。
8 管理、追踪和分析
该Wiki是否提供内容追踪的工具,比如追踪所有的Wiki成员在何时做了何操作。也可能是是否支持用户订阅某部分的更新,或者查看网站访问的数据等。
9 反馈
该Wiki是否支持对于某个页面的反馈。
安装 docsify-cli 工具:
初始化项目:
预览网站:
可以选择部署到以下服务:
我在本地使用官方的构建工具进行初始化项目:
初始化之后其实有三个文件, index.html 、 README.md 、 .nojekyll 。
在本地编辑好文档,通过下面命令即可本地预览:
添加了文档之后,我将整个 wiki 文件夹上到了「 Gitee 」,为什么选 Gitee 呢,当然是国内访问快而且免费了。
登陆我的服务器,生成 SSH 公钥 ,生成方式可以参考「 生成/添加SSH公钥 」,然后添加到 Gitee 的 「 SSH 公钥 」。
然后在服务器使用 git 拉取 Wiki 项目,当然要使用 SSH 地址,以后本地文档更新推送到 Gitee 之后,只要在服务器上拉取更新就可以了。
拉取之后,配置 Nginx 如下,即可通过域名访问:
设置不缓存这个因人而异,我个人的 Wiki 刚开始积累,还在不断的完善,如果允许缓存,可能导致最新更新的内容不显示,等以后趋于完善,应该会设置允许缓存,或者直接放到 CDN 上。
由于 docsify 搭建的 Wiki 都是源文件,不需要自己编译,所以完全可以把整个文档放到又拍云或者七牛云等 CDN 上,访问速度会更快。
但目前我还是把 Wiki 部署到了我的服务器上,为什么不直接放到 CDN 上呢,有以下几个原因:
如果使用默认的 routerMode,放在 CDN 上完全可行。
各项配置都在 window.$docsify 里。
我添加了如下配置,更多配置请参考上方文档链接。
增加 _sidebar.md 文件,编写文件格式如下:
配合 loadSidebar,效果如下:
点击后跳转到 Wiki 首页。
设置为 history 之后,浏览器链接里不会出现 #,个人习惯。
注意,设置为 history,如果使用的是 Nginx 部署的项目,一定要加上下面的配置,否则在非首页刷新会找不到页面。
我没有启用封面,因为我的 Wiki 不涉及到宣传,就是自己查阅,所以应该打开就可以看到内容。
不过 docsify 的封面还是很好看的。
设置之后,点击侧栏的二级标题之后,页面的标题不会距离顶部太近。
docsify 有丰富的插件,可以按需添加。
开启全局搜索需要引入两个 js 文件:
效果如下:
需要引入 js 文件:
效果如下:
需要引入两个 js 文件:
效果如下:
插件需要引入 js 文件,为了访问更稳定,我把所有的 js 文件都上传到了又拍云。
截止到发文,docsify 的最新版本是 4.11.3 ,查询更多版本请查看「 docsify releases 」。
以上就是 docsify 部署及配置的全部内容了,更多详细说明,可以查看「 docsify 文档 」。
最后附上我的 Wiki 地址: 掘墓人的 Wiki ,欢迎查阅。
Wiki系列(一):Wiki系统选择
欢迎访问的个人博客: 掘墓人的小铲子
有人认为,Wiki系统属于一种人类知识网格系统,可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且创建、更改、发布的代价远比HTML文本小;同时Wiki系统还支持面向社群的协作式写作,为协作式写作提供必要帮助;最后,Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供简单的交流工具。与其它超文本系统相比,Wiki有使用方便及开放的特点,所以Wiki系统可以帮助我们在一个社群内共享某领域的知识。
由于WiKi可以调动最广大的网民的群体智慧参与网络创造和互动,它是web2.0的一种典型应用,是知识社会条件下创新2.0的一种典型形式。它也为教师和学生的知识共享提供了高效的平台,实现了快速广泛的信息整合。
Wiki的架构
GeoDNS
这个GeoDNS可能比较新奇,实际上原理很简单,GeoDNS是一个为BIND写的40行的小程序,可以让DNS解析的时候考虑地域因素——让用户能够访问离他地域最近的Web服务器。
LVS
LVS 是一个开源的软件,可以实现 Linux平台下的简单负载均衡。主要由负载调度器、服务器池和共享存储构成。可喜的是,这是一款为数不多的中国人自己编写的开源软件(章文嵩发起);可惜的是,LVS目前仅支持Linux。
Squid
Squid大家可能都比较熟悉,Squid是一种用来缓冲Internet数据的软件。尤其适合像维基这样的遍布全球,数据中心却很集中的站点使用。在维基中,Squid缓存分为两组,一组是文档内容(多为压缩的HTML页面),另一组为媒体内容,主要包括图片等大一点的静态文件。目前总计有55台Squid服务器在维基运行,维基正在准备添加另外的20台。根据维基披露的资料,其中每一台服务器每秒要处理1000~2500 个http请求,每台服务器承受100Mb/s~250Mb/s的流量,每台服务器负责1.4~3.2万个连接,每台Squid服务器分配出40GB作为缓存空间。硬件方面,这些Squid服务器每台都有4块硬盘,8GB内存。
维基媒体平台
维基所有的项目都运行在维基媒体平台上,这是一个遵守GPL的开源软件,以PHP写成。维基本身在使用,但很多别的机构也使用了该软件平台。在所有125台应用服务器上都安装了维基媒体平台,还有40台应用服务器马上就要上线,这些应用服务器都采用了两颗四核的CPU。这些媒体平台都由一个中心控制台控制,维基可以通过该平台部署某个应用到数百台机器上,非常方便。维基媒体平台非常注重缓存,多数缓存都放在Memcached中。
CDN
维基在美国、荷兰和韩国分别设有群集,维基CDN会根据来访IP位置的不同选择指向最近的群集。
数据存储
元数据,比如文章修改历史,文章的链接和用户资料等内容被存放于主数据库;正文存于外部存储;用户上传的图片等信息则单独存放于图片服务器。
主数据库服务器一共有15台,配置为内存4GB~16GB,6块73~146GB的硬盘和双CPU。数据库中除了有一个主数据库,还有许多复制的从数据库,这些主从数据库并不是按照服务器个数来划分的,数据库都是跨服务器运行的。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)