MDwiki 的折腾历程

发布于 2017-03-13  5829 次阅读


MDwiki 是我用的最满意的静态 Wiki,TiddlyWiki 曾经把我坑得不要不要的(我只想要一个没有过多附加功能的),最后我便使用了 MDWiki 。

用 MDwiki 的原因不仅仅是支持 Markdown,还有静态省资源啊,WordPress 已经把我可怜的虚拟主机内存吃得只剩渣了【WordPress 内存占用最高时达到 200MB+(物理内存),而我在彩伞的虚拟主机内存仅 256MB(依然物理内存)】,再加上剩下的内存我还有别的用途。

当时选择 Wiki 程序时,MediaWiki 那种庞然大物根本不敢去想,dokuwiki 占用未知。。。。。。

说了这么多,还是静态好用。

不多说了,直接正题。

1,下载 MDwiki

你可以前往官网,GitHub 下载 MDwiki 核心文件:

官网:http://dynalon.github.io/mdwiki/#!index.md

GitHub Releases:https://github.com/Dynalon/mdwiki/releases

可以看到只有三个 html 文件,非常地简单,只需要选择你喜欢的版本,然后重命名为 index.html 即可。

这里我比较建议 silm 版,不过引用的资源都在国外,访问速度会很慢。

于是我直接改造了官方 silm 版,版本为 0.6.2,相关 JQuery,BootStrap 库使用 BootCDN 镜像并同时兼容 HTTP 以及 HTTPS,集成搜索功能,绝对懒人。

懒人包下载地址我放在文章末尾了。

2,上传到服务器

既然选择好你想要的版本了,将重命名过的 index.html 上传到你指定的位置即可。

VPS 直接跳过这个步骤。

3,配置 config.json

在 MDwiki 的 index.html 相同的目录下创建 config.json 文件,这个文件表示网站基本信息。

以下是我的 config.json 范例:

{
    "useSideMenu": true,  //侧面导航,ture 开启,false 关闭
    "lineBreaks": "gfm",  //使用 GitHub GFM 格式,另有 original 选项
    "additionalFooterText": "© LiarOnce ",  //底部版权信息(sorry 暂时没找到添加底部链接的方法)
    "anchorCharacter": "#",  //悬停在标题旁的字符,支持 Unicode
    "title": "LiarOnce Wikis"  //标题
}

如果你希望被搜索引擎索引到,或者你有强迫症(在读取 config.json 之前标题会显示默认标题 MDwiki),需要修改 index.html,找到以下这行:

<title>LiarOnce Wikis</title>

修改 title 标签内的标题即可。

配置完毕保存即可。

4,配置 Navigation

一样在 index.html 相同的目录下创建 navigation.md 文件

格式如下,支持 HTML(这是我的 navigation.md):

# 这是导航标题

[主页(这是首页)](index.md)
[测试(这里是菜单)]()

 * [test](library/test.md)

[关于(这是普通页面)](about.md)
[gimmick:theme (inverse: true)](bootstrap)

[]()

 * # Search file name or content.
 * [<input id="search_input" type="text"/>](#)

实现菜单功能需要前后回车两次并使用 * 实现(前后都有空格)

其中 Gimmick 为 MDwiki 额外功能,支持设置主题,插入 Youtube 视频甚至加入 Disqus 评论功能(多说效果不理想再加上 MDwiki 没有自带)。

Gimmick 更换主题:http://dynalon.github.io/mdwiki/#!customizing.md

Gimmick 支持主题列表可以在这里看:http://www.bootswatch.com/

Gimmick 功能列表:http://dynalon.github.io/mdwiki/#!gimmicks.md

5,写 index.md

配置完毕后就没有别的事了,只需要好好写就可以啦。

对了,写完了还要在 navigation.md 写导航地址就行。

6,上传 favicon

这个不用我写吧,上传位置大家都懂。

---------------------------------------------------------长长的分隔线------------------------------------------------------------

为 MDwiki 添加搜索功能

MDwiki 由于使用静态页面想要动态实现搜索功能还是算了,这里我找到了为 MDwiki 添加搜索功能的方法:

https://zohead.com/archives/wiki-lunr-js/

有点麻烦所以直接贴原址。

懒人包下载地址:

[repo owner="LiarOnce" name="mdwiki-starting-pack"]

search.js 用法(都含有空格):

node search.js (你指定的目录) (你指定的目录)/search_index.json

最后上传到服务器即可。