Build personal Wiki with Wikitten and MDwiki

Sorry, this entry is only available in 中文.

  1. Unee Wang:

    哥tiddlywiki有桌面端,https://github.com/Jermolene/TiddlyDesktop 不过tiddly已弃,没有mdwiki灵活

  2. Uranus Zhou:

    这竟然是个专门给TiddlyWiki搞的浏览器~~~

  3. Unee Wang:

    没有转载,感觉不合适^~^

  4. Uranus Zhou:

    Wiki文档内容是直接转载别人的文章?这个估计得找一些网页转markdown的工具,或者偷懒点里面html内嵌别人网址,哈哈

  5. Leyar:

    开始关注这个东西才发现还是有蛮多个人在用耶 ?
    看来我是真的要找时间研究研究。

  6. Uranus Zhou:

    现在嫌Evernote有点慢准备把笔记用Markdown导到这个Wiki系统里,
    私人点的信息现在就临时记录到Google Keep咯

  7. Unee Wang:

    哈哈,我还是手动更新index,可以在首页里随便加点简介。你这脚本用来发布博客很合适啊。
    我手机里也有一套,通过ksweb就能用浏览器打开了

  8. Uranus Zhou:

    写这个脚本主要还是因为懒 ^_^,我建了好多子目录,实在不想哪天加了一篇Markdown文章就去修改index.md~~~

  9. flydream:

    请问,wikitten如何能显示中文目录名呢?我的library目录中如果添加一个中文目录,左侧tree区域显示的就是乱码,不知道你的演示程序是怎么做到显示正确的中文目录名?
    第二个就是,config.php中library如何自定义为其他目录呢?我换成别的,都报错。

  10. Uranus Zhou:

    估计是要UTF-8编码的,我都用的Linux环境,你那中文目录不行是不是在Windows下测试的?
    config.php中的LIBRARY用绝对路径就可以了

  11. flydream:

    嗯。我的是windows环境。windows环境下新建目录名,如何用utf-8编码呢?
    config.php的library我用绝对路径也不行,如:E:\www\wiki\wikitten\doc,\www\wiki\wikitten\doc,/www/wiki/wikitten/doc,这些都不行。愁人~~

  12. Uranus Zhou:

    Windows上可以用一些工具建UTF-8的目录名,但这样在资源管理器里又是乱码了,倒也可以改wikitten代码转换编码,估计原作者就没考虑Windows需求 ::>_<::
    LIBRARY那做了转义吧?如果在wikitten当前目录下也可以直接改php代码把library改成你要用的doc目录

  13. 依云:

    我就用的 MediaWiki =w=
    多年的使用经历表明它安装简便、好用,稳定可靠。当然装扩展得手动一个个地装比较烦(Arch 源/AUR 里没有包)。另外就是用一些测试性的特性时容易出问题(比如 PostgreSQL)。

  14. Uranus Zhou:

    MediaWiki 毕竟还算是久经考验的 Wiki 系统哈,我搞 MDwiki 这种主要还是想直接用目录树形式管理内容不想搞数据库咯

  15. 依云:

    嗯。有兴趣你也可以试试 gitit,纯文本 + git,支持多种标记语言的。

  16. Uranus Zhou:

    gitit还真是开始就看过呢,嫌配置稍微复杂了点,其实主要还是因为不熟悉Haskell ╮(╯_╰)╭

  17. chinos:

    请问下你是用的哪款支持markdown的软件来更新wiki呢?既是如何线下更新wikitten。
    每新建一个page都要手动上传到ftp吗?
    望指教 谢谢!~

  18. chinos:

    我想到一个办法就是用 dropbox或者btsync同步本地和vps的libarary文件夹,不知道博主是不是这种方法?

  19. Uranus Zhou:

    我是用btsync同步到VPS的,
    另外也用 Zed 编辑器,这个在VPS上运行一个程序之后就可以直接远程编辑

  20. Frederic:

    请问如何使用bittorrent sync与VPS同步?

  21. Uranus Zhou:

    VPS和客户端上都安装BTSync,在VPS上共享一个目录后就可以用了,还是比较简单的

  22. owen:

    为啥不保留 mdwiki 的 Toc 啊,内容长的时候不是更方便吗

  23. Uranus Zhou:

    这边倒没改现在就支持的呢,左边菜单会自动显示Markdown目录,不过好像默认只支持到 h2,再下层就不显示了

  24. netawater:

    请问手机方便访问编辑这个wiki系统吗?谢谢!

  25. Uranus Zhou:

    手机可以访问,编辑只能用Markdown编辑器之后通过BTSync之类的工具进行同步了。

  26. dxbtech:

    正在部署mdwiki,navigation.md怎么写,在doc上面没有找到说明,想请教下

  27. dxbtech:

    https://github.com/Dynalon/mdwiki/issues/250
    找到啦,自答一下

  28. netawater:

    请问你怎么讲evernote的笔记转过来的。evernote只能导出成html格式,谢谢!

  29. Uranus Zhou:

    是这个,我修改的 mdwiki 就是在 navigation.md 里加了个搜索功能。

  30. Uranus Zhou:

    这个还真没研究过,网上一些通过 Pandoc 这种工具将 html 转为 markdown 的方法。

  31. Knlvz:

    你好,我想请教个问题,页面能显示出来了,标题和页面内容的中文能正确显示,只有左侧栏的中文目录名是乱码,这是什么原因导致的?网上查了好久没找到.

  32. Uranus Zhou:

    你是用的 MDwiki 还是 Wikitten?
    MDwiki 的话左侧显示的是页面里的 Markdown h2 二级标题;
    如果是 Wikitten,那估计是中文目录名不是 UTF-8 编码的,你的服务器是用 Windows 的?

  33. Knlvz:

    是的,windows 2008r2的,今天早上我测试下不同的环境,用wnmp3.0.1来运行居然显示正常,如果使用wnmp3.1.0和wamp3.0.6是不正常的,会出现乱码,这个会和环境配置有关嘛?不知有没有解决方法?谢谢

  34. Knlvz:

    还有个问题就是,看了下你这篇全文搜索文章,有点疑惑,如果我在windows环境下该如何实现?也是需要安装node.js吗?那个搜索索引文件search_index.json是自动生成的还是得手动用命令执行一次的?

  35. Knlvz:

    对了,我是用wikitten,我似乎找到原因了,我把php替换成高于7.1以上的版本就显示正常。但还不清楚到底是因为那个参数或者函数的原因。之前我测试wnmp3.1.0版本时可能没有配置好,今晚测试的时候是正常的。

    目前就差全文搜索了,还是上面疑问,windows下是否需要安装node.js?基本步骤是否为安装node.js,配置nginx参数,命令生成search_index.json?请指点下,谢谢。

  36. Uranus Zhou:

    Windows 环境也需要 node.js 支持的,可惜 Windows 2008 不支持 WSL Linux 子系统,不然安装 node.js 倒挺简单的。
    search_index.json 文件是手工生成的,如果要支持自动生成,有的编辑器可以设置文档目录修改之后自动执行相应的命令。

  37. Uranus Zhou:

    Wikitten 在 Windows 上是会有问题的,主要文件名默认都是用的 UTF-8 编码,PHP 7.1 开始支持在 Windows 上使用 UTF-8 的文件和路径名了:
    PHP 7.1 更新说明

  38. Wanicca:

    正在配置,有一个很愁的疑问不知道怎么解决。我是用nginx配置的,不知道怎么修改能让wikitten的library设置到网页根目录以外。现在只能设置到根目录以内,否则无法访问。

  39. Uranus Zhou:

    这个不行哦,是 nginx web 服务器的安全限制,不然能直接访问外面目录就太不安全咯。

  40. wanicca:

    谢谢你,我已经解决了,我没让它直接访问外部目录而是通过一个符号链接访问过去的,但是这样还是需要改nginx关于cgi的配置。不知道这样会不会带来安全问题……不过我目前只是个人使用,暂时全站都需要http验证。
    感觉wikitten的代码结构确实挺简单的,还有很多可以魔改得更顺心的地方,可惜作者多年不开发了。目前我正在研究怎么让文件树里不显示特定文件夹,把图片藏进去^_^。

  41. Uranus Zhou:

    符号链接一般服务器默认应该也不允许;
    wikitten 不复杂,改起来还是比较简单的。

  42. gentao:

    我的需求和你很像耶。^_^

    我本地通过typora写.md文件,通过同步工具syncthing直接同步到项目library下,确实很方便。

    但是发现一个问题,wikitten使用的是michelf的php-markdown渲染器,本地typora支持Github的GFM语法,传上去效果不好。现在比较好的PHP markdown渲染器是parsedown,搞了半天没成功。

    不知博主有没兴趣研究一下替换渲染器成parsedown?

  43. Uranus Zhou:

    GitHub 项目主页上好像很早就有人提过更换渲染引擎,最近俺估计也没空改这个咯。

    看 Wikitten 代码结构,你修改 renderers 里的渲染代码有什么问题?可以在 GitHub 里提 issue 描述下问题让作者也协助看看呢。

  44. Uranus Zhou:

    看起来似乎只要把 renderers 里的调用换掉就行,我有空试试看。

  45. pgunf:

    搜索Wiki工具时找到这里,是我想要的简洁干净的个人知识管理工具,感谢!
    大佬,渲染引擎更换成功了么?我这这边也是用typora写同步过去,默认的渲染引擎表格渲染效果不太好!

  46. Uranus Zhou:

    初步尝试替换 Wikitten 渲染引擎为 Parsedown,似乎也比较简单:

    1. 下载发布版本的 Parsedown.php 放到 renderers/Markdown 目录,
    2. 修改 renderers/Markdown.php 文件先注释原来的代码,再增加:
      require_once dirname(__FILE__) . '/Markdown/Parsedown.php';
    3. 修改 wiki.php 文件,将 \Michelf\MarkdownExtra::defaultTransform 替换成 Parsedown::instance()->text 就可以了。

    感觉表格渲染效果也一般,可能还要改一下相关的 CSS。

  47. Uranus Zhou:

    简单替换 Parsedown 的修改步骤我贴在下面了,可以参考一下,显示效果可能还需要改一下。

  48. pgunf:

    感谢,根据你给的方法更换了渲染引擎,修改了一些CSS代码,我制作了docker镜像,部署在我的黑群晖里面,文件用Drive 同步到本地,本地使用Typora编辑!舒服,哈哈,可以抛弃网易云笔记了!
    这个是截图:

    有需要的朋友,docker镜像:https://hub.docker.com/r/leonyff/wikitten

  49. pgunf:

    截图没出来!
    ![image.png](https://i.loli.net/2019/10/19/UFn8CZzDtXqLEk5.png)

  50. Uranus Zhou:

    看起来确实改了 CSS 比 Wikiteen 自带的好看多了 ^_^

  51. pgunf:

    又遇到点问题,来请教下,我对php不熟悉,我在wikitten中添加了中添加了一些代码片段文件,可能是应为编码的问题,在网页显示中代码片段中的中文注释部分都是乱码!请教下,这个要怎么解决呢?
    https://i.loli.net/2019/10/31/vdCoqgUH8P1KGuO.png

  52. Uranus Zhou:

    这个估计是因为 Windows bat 脚本很少使用 UTF-8 编码的原因吧?很多都是 GB2312 的。
    可以用文本编辑器把 bat 另存为 UTF-8 编码看看了。





*