有人认为,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。数据库中除了有一个主数据库,还有许多复制的从数据库,这些主从数据库并不是按照服务器个数来划分的,数据库都是跨服务器运行的。
不是Wiki一词来源于夏威夷语的“wee kee wee kee”, 发音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。数据库中除了有一个主数据库,还有许多复制的从数据库,这些主从数据库并不是按照服务器个数来划分的,数据库都是跨服务器运行的。
编写编辑
MediaWikisyntax
Equivalent HTML
Rendered output
"Take some more [[tea]]," the March Hare said to Alice, very earnestly.
"I've had '''nothing''' yet," Alice replied in an offended tone, "so I can't take more."
"You mean you can't take ''less''?" said the Hatter. "It's very easy to take ''more'' than nothing."<p>"Take some more <a href="/wiki/Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p>
<p>"I've had <b>nothing</b>yet," Alice replied in an offended tone, "so I can't take more."</p>
<p>"You mean you can't take <i>less</i>?" said the Hatter. "It's very easy to take <i>more</i>than nothing."</p>
"Take some moretea," the March Hare said to Alice, very earnestly.
"I've hadnothingyet," Alice replied in an offended tone, "so I can't take more."
"You mean you can't takeless?" said the Hatter. "It's very easy to takemorethan nothing."
历史编辑
Wiki软件是由软件设计模式社区发展出来,用来书写与讨论模式语言。沃德·坎宁安于1995年3月25日成立
檀香山的Wiki Wiki站牌
了第一个Wiki网站:WikiWikiWeb,用来补充他自己经营的软件设计模式网站。他发明了Wiki这个名字以及相关概念,并且实现了第一个Wiki引擎。坎宁安说自己是根据檀香山的Wiki Wiki公车取名的。这是他到檀香山学会的第一个夏威夷语。
坎宁安说Wiki的构想是来自他自己在1980年代晚期利用苹果电脑HyperCard程序作出的一个小功能。
HyperCard类似名片整理程序,可用来纪录人物与相关事物。HyperCard管理许多称为“卡片”的数据,每张卡片上都可划分字段、加上图片、有样式的文字或按钮等等,而且这些内容都可在查阅卡片的同时编辑修改。HyperCard类似于后来的网页,但是缺乏一些重要特征。
坎宁安认为原本的HyperCard程序很有用,但创造卡片与卡片之间的链接却很困难。于是他不用HyperCard
WIKI-WIKI巴士
程序原本的创造链接功能,而改用“随选搜索”的方式自己增添了一个新的链接功能。用户只要将链接输入卡片上的一个特殊字段,而这个字段每一行都有一个按钮。按下按钮时如果卡片已经存在,按钮就会带用户去那张卡片,否则就发出哔声,而继续压着按钮不放,程序就会为用户产生一张卡片。
坎宁安将这个程序与他自己写的人事卡片展示给许多朋友看,往往会有人指出卡片之中的内容不太对,而他们也可以当场利用HyperCard初始的功能修正内容,以及利用坎宁安加入的新功能补充链接。
坎宁安后来在别处又写了这样的功能,而且这次他还增加了多用户写作功能。新功能之一是程序会在每一次任何一张卡片被更改时,自动在“最近更改”卡片上增加一个连往被更改卡片的链接。坎宁安自己常常看“最近更改”卡片,而且还会注意到空白的说明字段会让他想要描述一下更改的摘要。
特点编辑
WiKi是一个供多人协同写作的系统。与博客、论坛等常见系统相比,WiKi有以下特点:
使用方便
维护快速:快速创建、更改网站各个页面内容。
格式简单:基础内容通过文本编辑方式就可以完成,使用少量简单的控制符还可以加强文章显示效果。
链接方便:通过简单的“[[条目名称]]”,可以直接产生内部链接。外部链接的引用也很方便。
自组织
自组织的:同页面的内容一样,整个超文本的相互关联关系也可以不断修改、优化。
可汇聚的:系统内多个内容重复的页面可以被汇聚于其中的某个,相应的链接结构也随之改变。
可增长
可增长:页面的链接目标可以尚未存在,通过点选链结,我们可以创建这些页面,使系统得以增长。
修订历史:记录页面的修订历史,页面的各个版本都可以被取得。
开放性
开放的:社群内的成员可以任意创建、修改、或删除页面。
可观察:系统内页面的变动可以被来访者清楚观察得到。
WiKi支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。有人认为,Wiki系统属于一种人类知识的网络系统,我们可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且这种创建、更改、及发布的代价远比HTML文本小;与此同时Wiki系统还支持那些面向社群的协作式写作,为协作式写作提供了必要的帮助;最后,Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供了简单的交流工具。与其它超文本系统相比,Wiki有使用简便且开放的优点,所以Wiki系统可以帮助我们在一个社群内共享某个领域的知识。
由于Wiki的自主性,可增长以及可观察的特点,使Wiki本身也成为一个网络研究的对象。对Wiki的研究也许能够让人们对网络的认识更加深入。
另外因为WiKi是一个群体协作的平台,所以它还有平等、共享的特点。
应用编辑
WiKi在一些需要内容管理系统的企业中得到了广泛应用。JotSpot和SocialText是创WiKi企业应用的先河。
WiKi可以在高校教育环境中发挥积极的作用。直到2006年,WiKi教育应用在目前来讲,全球应用的案例都比较少。
WiKi除了被用来创建网站外,也被用作编写网志。 WiKi在中小学教育方面,可以作为学生协助学习的平台。
区别编辑
举例说明,Wiki网站的应用:
维基Wiki站点一般都有着一个严格的共同关注,Wiki的主题一般是明确的坚定的,Wiki站点的内容要求
可视化Wiki
着高度相关性。对其确定的主旨,任何写作者和参与者都应当严肃地遵从。Wiki的协作是针对同一主题作外延式和内涵式的扩展,将同一个问题谈得很充分很深入。博客Blog是一个简易便捷地发布自己的心得,关注个性问题的展示与交流的综合性平台。一般的Blog站点都会有一个主题,但是这个主旨往往都是很松散的,而且一般不会去刻意地控制内容的相关性。
Wiki非常适合于做一种 “All about something”的站点。个性化在这里不是最重要的,信息的完整性和充分性以及权威性才是真正的目标。Wiki由于其技术实现和含义的交织和复杂性,如果你漫无主题地去发挥,最终连建立者自己都会很快的迷失。 Blog注重的是个人的思想(不管多么不成熟,多么地匪夷所思),个性化是Blog的最重要特色。Blog注重交流,一般是小范围的交流,通过访问者对一些或者一篇Blog文章的评论和交互。
Wiki使用最多也最合适的就是去共同进行文档的写作或者文章/书籍的写作。特别是技术相关的(尤以程序开发相关的)FAQ,更多的也是更合适地以Wiki来展现。 Blog也有协作的意思,但是协作一般是指多人维护,而维护者之间可能着力于完全不同的内容。这种协作在内容而言是比较松散的。任何人,任何主体的站点,你都可以以Blog方式展示,都有它的生机和活力。从目前的情况看,Wiki的运用程度不如Blog的广,但以后会怎样,还有待观察,毕竟Wiki是一个共享社区。
Blog可以展示自己个性化的东西,Wiki则体现共性的东西。
技术规范编辑
CAOWIKIpedia
Wiki的技术和规范 WiKi是任何人都可以编辑的网页。在每个正常显示的页面下面都有一个编辑按钮,点击这个按钮你就可以编辑页面了。有些人要问:任何人都可以编辑?那不是乱套了么?其实不然,WiKi体现了一种哲学思想:“人之初,性本善”。WiKi认为不会有人故意破坏WiKi网站,大家来编辑网页是为了共同参与。虽然如此,还是不免有很多好奇者无意中更改了WiKi网站的内容,那么为了维持网站的正确性,WiKi在技术上和运行规则上做了一些规范,做到既持面向大众公开参与的原则又尽量降低众多参与者带来的风险。这些技术和规范包括:
1、保留网页每一次更动的版本:即使参与者将整个页面删掉,管理者也会很方便地从纪录中恢复最正确的页面版本。
2、页面锁定:一些主要页面可以用锁定技术将内容锁定,外人就不可再编辑了。
3、版本对比:WiKi站点的每个页面都有更新纪录,任意两个版本之间都可以进行对比,WiKi会自动找出他们的差别。
4、更新描述:你在更新一个页面的时候可以在描述栏中写上几句话,如你更新内容的依据、或是跟管理员的对话等。这样,管理员就知道你更新页面的情况。
5、IP禁止:尽管WiKi倡导“人之初,性本善”,人人都可参与,但破坏者、恶作剧者总是存在的,WiKi有记录和封存IP的功能,将破坏者的IP记录下来他就不能再胡作非为了。
6、Sand Box(沙箱)测试:一般的WiKi都建有一个Sand Box的页面,这个页面就是让初次参与的人先到Sand Box页面做测试,Sand Box与普通页面是一样的,这里你可以任意涂鸦、随意测试。
7、编辑规则:任何一个开放的WiKi都有一个编辑规则,上面写明了大家建设维护WiKi站点的规则。没有规矩不成方圆的道理任何地方都是适用的。
扩展阅读编辑
不要混淆“维客”
维客WiKi和威客witkey在发音上相似,不少人士混淆与两个概念并产生误解。
维客WiKi以人的自豪和自我体现为动力,把人类已有的杂乱信息和数据结构化形成可免费共享的知识,所以维客WiKi占据了知识的共享区;
威客witkey承认人的知识,智慧和能力具有价值,通过知识的价值化促进人们使用自己的智慧参与解决问题,并形成结构化的有价值知识区,所以威客占据了智慧和知识的一部分领域。
维客的问题
无数的互联网用户为维基百科贡献了智力劳动,无私的贡献导致维基的管理者不能随意的用其牟利,这就是维基的困境,虽然维客提出了维基经济学,但由于其没有意识到知识的价值化,所以维基也就没有商品的概念,用经济学描述维基可以看作是一次炒作和混淆视听的行为。
到2008年1月9日本文写作时,维基的创始者们仍然没有了解维客WiKi的起源和发展方向,这一点需要用威客理论来解答:
维客WiKi起源于BBS的帖子修改权,传统只有发布者和网站管理员可以修改帖子的内容,当一个帖子所有的浏览者(相对)都能参与修改时,维客诞生了。
安装 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系统选择
欢迎访问的个人博客: 掘墓人的小铲子
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)