FAIRYFAR-INTERNAL
 
  FAIRYFAR-INTERNAL  |  SITEMAP  |  ABOUT-ME  |  HOME  
搭建个人知识库(wiki)

一、Wiki是什么

Wiki,概念的发明人是沃德·坎宁安(Ward Cunningham,1949.5.26-),WikiWiki一词来源于夏威夷语的“wee kee wee kee”,原本是“快点快点”(quick)的意思。

本文根据实际使用经验,讨论一种实用的分布式个人知识库(wiki)架构。

二、系统特点

完整的分布式个人知识库包括以下功能:

  • 使用文件系统管理文档,无需数据库。
  • 使用Git分布式管理档案
  • Markdown编辑
  • 可以本地编辑与管理Markdown文档
  • 可以在线编辑与管理Makedown文档
  • ACL权限控制,内外网ACL权限独立管理。

三、架构

img

四、组件

以下组件可以根据需要选择:

  • 本地Markdown编辑器:Typora
  • 基于文件系统的在线Wiki系统:DokuWiki
  • 云服务器:Linux或者Windows系统
  • Git Server:GitStack

下文分别说明各组件。

4.1 本地Markdown编辑器

本地编辑Markdown的编辑器很多,本文推荐Typora。

Typora,完全免费,支持Windows、Linux、OS X主流操作系统,使用操作系统的目录层次结构管理Markdown文档。功能丰富,所见即所得编辑。支持多种格式文档导出、全文搜索等。

img

4.2 在线Wiki系统

如果希望Wiki发布到网络上,则需要一个在线Wiki管理系统。

本方案推荐使用DokuWiki。相比较于WordPress,优点如下:

  • 轻巧,便于部署。
  • 直接使用文件系统管理Markdown文档,无需数据库。
  • 插件、主题足够使用。

Typora与DokuWiki很好地结合使用,使用同一套Markdown数据,前者负责本地Markdown编辑,后者负责前端在线服务(也可以在线编辑Markdown文档)。

img

4.3 云服务器

如果需要把Wiki发布到互联网上,那么推荐使用云服务器,数据安全,且可以部署自己的应用,例如,部署上git server等,达到Wiki数据分布式管理目的。

img

4.4 Git Server

如果云服务器选择Windows系统,那么git server建议使用GitStack。GitStack非常小巧,便于部署,提供Web管理界面。

img

五、关键问题

5.1 Typora和DokuWiki融合

虽然两者可以直接结合使用,但是毕竟是两套独立系统,还需要做一些改造,以便更好地融合:

  • Typora默认文件后缀是.md,而DokuWiki默认是.txt,可以修改后者源代码,使后者默认支持.md文件扩展名。
  • DokuWiki默认使用自己独特的Markdown格式,与标准Markdown格式有很大差异,可以通过安装Markdowku插件解决。
  • 将Typora的默认文件夹设置成DokuWiki的数据目录,以达到Typora编辑DokuWiki文档的目的。

5.2 权限控制

在特定网络环境下,例如外网,我们希望控制用户访问Wiki的权限。DokuWiki的ACL(访问控制列表),可以达到按用户设定Wiki访问权限的目的。

5.3 分布式

为了解决Wiki数据分布式共享,建议使用git管理Wiki数据,在云服务器上部署Git Server,这样,我们可以随时随地,异地共享数据。

5.4 内外网分离

在内网和外网分别部署DokuWiki,分别设置ACL权限,可以达到内外网独立管理目的,而Wiki数据来自同一个Git仓库。

六、组件下载官网



打赏作者以资鼓励: