Simiki -- 简单的个人维基框架 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
TankyWoo
V2EX    分享创造

Simiki -- 简单的个人维基框架

  TankyWoo
tankywoo 2014-06-09 21:29:32 +08:00 19497 次点击
这是一个创建于 4213 天前的主题,其中的信息可能已经有所发展或是发生改变。
这是前段时间自己写的一个项目。

因为比较喜欢记录技术笔记,一直保持写技术博客有5、6年了。

后来考虑到博客记录的知识太零散,记录多了以后,可以考虑把总结过的知识汇总形成wiki。

之前也调研过现有的一些维基框架。MediaWiki不说了,太臃肿,不适合个人;MoinMoin用了下,搭建比较麻烦,弄了一阵子发现没有使用的欲望;VimWiki也折腾过一阵子,有些地方还是不满意,且它自己也是一套Markup语法,这玩意记多了容易混。其余的大多都是基于PHP的。

因为对Markdown和纯静态输出这两点比较喜欢,所以自己写了一个简单的个人Wiki框架,功能做个人维基足够了。如果要协作,配合Github等也是一个不错的选择。

Simiki主要以目录的形式存放源文件,生成相应目录结构的静态html文件。模板主题用的是Jinja2,所以大家也可以方便的DIY。

没有繁杂的功能,毕竟技术笔记本身就是以内容为导向。

好吧,不太会扯,直接上地址吧。想弄一个个人维基的朋友,不妨试试。有问题直接Github上发Issue就可以了。

项目地址: https://github.com/tankywoo/simiki

网站: http://simiki.org/ 也是用Simiki搭建的,CSS啥的直接Copy Bootstrap的一个Example :)

个人的Wiki: http://wiki.tankywoo.com/

最近一期的Pycoder's Weekly (Issue #118) 也推荐了 http://us4.campaign-archive2.com/?u=9735795484d2e4c204da82a29&id=cb904ae2f0
第 1 条附言    2014-06-10 00:13:28 +08:00
惭愧,作为一个运维人员,刚才不小心把VPS上/var目录给xxx了,正在修复在,期间可能网站无法访问,抱歉。
第 2 条附言    2014-06-10 22:37:03 +08:00
非常感谢大家的支持。

测试这块还没完善,所以还有一些Bug,这两天已经有几个朋友提交bug了,我今晚也都修复了。

感谢大家的帮忙测试,如果有问题,在Github上提交Issue后,我会尽力第一时间修复。

话说今晚给发了三个小Release...
74 条回复    2016-06-01 23:11:24 +08:00
wangfengmadking
    1
wangfengmadking  
   2014-06-09 21:40:30 +08:00   1
lz的wiki内容真心不错,很有料
orzfly
    2
orzfly  
   2014-06-09 22:23:11 +08:00   1
http://wiki.tankywoo.com/other/mac-os-tools.html
> Cyderbuck FTP

应该是 Cyberduck 吧?
yangyang
    3
yangyang  
   2014-06-09 22:31:08 +08:00   1
真赞!明天我也搭一个。
ChiangDi
    4
ChiangDi  
   2014-06-09 22:44:23 +08:00   1
不错不错,已star.
ss098
    5
ss098  
   2014-06-09 22:44:37 +08:00 via Android   1
很好的wiki!准备拿来当个人wiki

要是能早点遇到就好了,有一个项目已经自己根据环境实习了个...
heyf
    6
heyf  
   2014-06-09 22:51:51 +08:00   1
已star!之前就是看楼主的笔记折腾vimwiki的
yxjxx
    7
yxjxx  
   2014-06-09 23:07:40 +08:00   1
cool!
lz博客干货十足,看过算法导论系列,写的很好!
vvtommy
    8
vvtommy  
   2014-06-09 23:08:12 +08:00   1
楼主棒呆。已经star,待后面尝试后再考虑fork
wogong
    9
wogong  
   2014-06-09 23:26:20 +08:00   1
来回顾下个人的wiki选择历史:
1. vimwiki
折腾了不短的一段时间,因为生成html文件缓慢,不能在线编辑,语法不支持markdown,等等,最终放弃。

2. moinmoin
python的项目,可以在线编辑。适合团队。试用了很短的一段时间,因为需要搭建环境,本地查找编辑不太方便放弃。

3. gollum
Github的wiki引擎,非常不错,支持markdwon,git历史版本记录,在线编辑方便。目前的搜索不支持中文,可惜不能直接生成html文件,依赖环境。但是还是推荐,和Github协同不错,不需要分享的话直接在Github中新建一个项目,利用项目wiki就可以了。

4. Jekyll 目前正在使用的。你一定会惊讶Jekyll不是博客么,其实前段时间 Jekyll 2.0 发布之后,多了一个很赞的功能,collection。我将Gollum的markdown格式的wiki文件放进Jekyll目录,直接利用Jekyll生成html文件。最终促使我全面转移到Jekyll的原因是想将blog和wiki天然的整合在一起,之前使用Gollum时,还得利用Pandoc转成html文件放到blog中。不如现在的自然。

Jekyll目前的collection功能尚处于开发阶段,很多功能还不全面,但是基本需求都能通过自己定义来满足。非常适合Jekyll用户,将blog和wiki统一管理。最后,欢迎参观(献丑了):
http://www.wogong.net
XXOO
    10
XXOO  
   2014-06-09 23:49:29 +08:00   1
请问楼主Bootstrap 下载的哪个 演示 啊.
Phariel
    11
Phariel  
   2014-06-09 23:52:36 +08:00   1
楼主是干货专家,已star。
TankyWoo
    12
TankyWoo  
OP
   2014-06-09 23:52:59 +08:00
@wangfengmadking 呵呵,谢谢支持。
TF
    13
TF  
   2014-06-10 00:12:59 +08:00   1
拿 blog 都不的感
TankyWoo
    14
TankyWoo  
OP
   2014-06-10 00:29:30 +08:00
@orzfly 你的眼睛太毒了,这也能发现,已经改正,非常感谢 :)
TankyWoo
    15
TankyWoo  
OP
   2014-06-10 00:31:10 +08:00
@yxjxx 我的老博客上写的?估计现在看不到了,刚进行了误操作,现在mysql data不小心被我删掉了,自从换了Linode忘了把备份脚本跑起来,正在悲催的恢复中。
Geeker
    16
Geeker  
   2014-06-10 00:33:42 +08:00   1
看 LZ Blog 长大的
TankyWoo
    17
TankyWoo  
OP
   2014-06-10 00:34:43 +08:00
TankyWoo
    18
TankyWoo  
OP
   2014-06-10 00:42:16 +08:00
@yangyang
@ChiangDi
@ss098
@heyf
@vvtommy
@Phariel

感谢支持 :)

希望能对大家有帮助
TankyWoo
    19
TankyWoo  
OP
   2014-06-10 00:42:37 +08:00
@TF 呵呵,你可以试试,不过我觉得Jekyll是个更好的选择
TankyWoo
    20
TankyWoo  
OP
   2014-06-10 00:43:02 +08:00
@Geeker 看算法方面的吗?
TankyWoo
    21
TankyWoo  
OP
   2014-06-10 00:43:45 +08:00
@wogong 很棒,Jekyll 2.0出来后,看到一些新特性,还没有去尝试
sutar
    22
sutar  
   2014-06-10 00:45:24 +08:00   1
提过一个 pull request 的来支持下
TankyWoo
    23
TankyWoo  
OP
   2014-06-10 00:58:33 +08:00
@sutar 非常感谢,我在博客 http://blog.tankywoo.com/project/2014/05/27/simiki-v1-0.html 里提到过,感谢每一个支持我的朋友 :)
arc5ch
    24
arc5ch  
   2014-06-10 07:03:16 +08:00   1
很棒,已赞
hanchengluo
    25
hanchengluo  
   
木有PYTHON服务器。有木有PHP版呢?
http://www.smartweb.cn
oott123
    26
oott123  
   2014-06-10 08:13:12 +08:00 via Android
请教一下,这样的个人 wiki 和类似 Evernote 这样的笔记软件相比,优势在哪里?
或者说,我觉得笔记软件就够用了啊。
humiaozuzu
    27
humiaozuzu  
   2014-06-10 08:27:43 +08:00   1
点个赞,但是从个人知识管理的角度来说,没有树级目录都不方便。。。
推荐用 VoodooPad or DEVONthink Pro,不推荐 Evernote
MaiCong
    28
MaiCong  
   2014-06-10 09:16:48 +08:00   1
赞一个! 简单实用!
hustlzp
    29
hustlzp  
   2014-06-10 10:58:21 +08:00   1
爱死LZ了!马上用起!
zichen0422
    30
zichen0422  
   2014-06-10 11:06:32 +08:00   1
赞!非常赞!
scola
    31
scola  
   2014-06-10 11:14:21 +08:00   1
赞,已star
hustlzp
    32
hustlzp  
   2014-06-10 11:17:29 +08:00
发现 @FarBox 也可以弄成类似的效果,需要自定义一个主题。
messense
    33
messense  
   2014-06-10 12:22:26 +08:00   1
关于 Markdown README long_description 发布到 PyPi 上,可以试试在发布到 PyPi 的时候自动用 pandoc 转成 reST 格式。可以参考下我这个项目里的 release.pysetup.py

https://github.com/messense/extender
immjun
    34
immjun  
   2014-06-10 12:52:44 +08:00
能支持全文搜索就更好了,有时候可能只记得了内容里面零碎的一点
RangerWolf
    35
RangerWolf  
   2014-06-10 13:09:11 +08:00
希望能添加一个搜索功能呢~
目前自己使用云笔记软件记录只是,最大的方便就是搜索。
只需要记得某个关键字就能搜到之前记录的东西,太爽了~
TankyWoo
    36
TankyWoo  
OP
   2014-06-10 13:32:49 +08:00
@immjun
@RangerWolf

现在我考虑到的搜索功能是直接源文件grep搜索

后期我考虑下搜索这块,感谢建议 :)
JoyNeop
    37
JoyNeop  
   2014-06-10 13:53:51 +08:00
@oott123 Evernote 的 notes 间不能方便地互相添加链接
oott123
    38
oott123  
   2014-06-10 14:04:04 +08:00 via Android
@JoyNeop Wiz 用户表示毫无压力,难道 Evernote 这种功能都没有?
jakwings
    39
jakwings  
   2014-06-10 14:06:33 +08:00
看来又是缺少交叉引用。
JoyNeop
    40
JoyNeop  
   2014-06-10 14:07:18 +08:00
@oott123 yes...
FarBox
    41
FarBox  
   2014-06-10 15:06:00 +08:00
@hustlzp FarBox是可以做到的。如果不自己写主题,用默认的doc.farbox.com/template克隆一个模板过去,按照约定规则组织文档就可以了。

如果更加复杂一些的,就需要自己再定义模板了。全文搜索支持英文和中文两种语言。

http://help.farbox.com/read/doc-generator


@TankyWoo 如果是作为静态生成器,又想加入搜索的功能,最简单粗暴的是用Google…… :)
TankyWoo
    42
TankyWoo  
OP
   2014-06-10 15:08:53 +08:00
@jakwings 你是指内部文章的快捷引用吗?类似Jekyll的post_url?
loryyang
    43
loryyang  
   2014-06-10 15:27:10 +08:00
发现一只大牛,感觉好遥远。。。
jakwings
    44
jakwings  
   2014-06-10 19:10:13 +08:00   1
@TankyWoo 不止是那样,还要能够知道有哪些文章引用过当前的文章。
TankyWoo
    45
TankyWoo  
OP
   2014-06-10 19:41:02 +08:00
@jakwings 赞!这个挺不错的,我加到todo里后期考虑下这个功能,目前先把快捷引用其它文章的功能实现。
TankyWoo
    46
TankyWoo  
OP
   2014-06-10 19:46:44 +08:00
@oott123 Evernote的一些功能我还没去了解,仅谈下我用过的。

我记得Evernote搜索好像是付费版的,这个不确定是不是。

另外,Evernote原生不支持Markdown,配合马克印象可以,我也用过,感觉不是很便捷,且容造成多份copy

另外我当时写这个的原因就是因为我是终端控,对于开一些富文本的软件来编写,我更喜欢一个窗口分屏、一遍解决问题、一遍记录问题。

而且样式什么的也可以DIY,虽然我追求简洁,不过Evernote用来记录技术,实在不敢恭维,代码高亮等也没有。
TankyWoo
    47
TankyWoo  
OP
   2014-06-10 19:47:35 +08:00
@humiaozuzu 树级目录结构是指?
TankyWoo
    48
TankyWoo  
OP
   2014-06-10 19:48:29 +08:00
@hustlzp 呵呵,用了后可以把你的链接发出来学习一下
TankyWoo
    49
TankyWoo  
OP
   2014-06-10 19:49:25 +08:00
@messense 非常感谢,并且看到你的Pull Request了,我这几天把这块处理下。
TankyWoo
    50
TankyWoo  
OP
   2014-06-10 19:52:17 +08:00
@FarBox 非常感谢建议,我想到的也是添加Google站内搜索,在模板那块处理下应该就行。

其实我更喜欢的还是直接grep在源文件中搜索 :)
hustlzp
    51
hustlzp  
   2014-06-10 19:56:15 +08:00
@TankyWoo 呵呵,学习谈不上啦~以前都记在Evernote中,相当之乱,有待整理。
messense
    52
messense  
   2014-06-10 19:57:06 +08:00
@TankyWoo 考虑考虑把 Python-Markdown 换成 misaka 或者 mistune 吧,Python-Markdown 性能有点渣。 Benchmark:

https://github.com/lepture/mistune/issues/1
humiaozuzu
    53
humiaozuzu  
   2014-06-10 20:08:02 +08:00
@TankyWoo 就是可以有无限层级的意思,Evernote 就只有2层,Wiki 可以无限层,但是浏览起来不方便
yxjxx
    54
yxjxx  
   2014-06-10 21:26:46 +08:00   1
@TankyWoo
@hustlzp
无意冒犯,为什么会这么频繁的使用'呵呵'呢?

借用 @clowwindy 今天在github上说的话 "你说“呵呵”的时候可能没有恶意,对方可能不会这样认为,会觉得你轻蔑和没有诚意,从而误解你的意思。" https://github.com/clowwindy/shadowsocks-nodejs/issues/101
TankyWoo
    55
TankyWoo  
OP
   2014-06-10 21:33:02 +08:00
@yxjxx

对于“呵呵”,在正常谈话中,我的见解是:

“对于刚认识的**朋友**,交谈过程**开始**时的一种客气的语气词“
wogong
    56
wogong  
   2014-06-10 21:40:10 +08:00
@TankyWoo 已笑死。。。错过了围观 issue 的机会!

不过我觉得 @hustlzp 应该真的不知道吧。。还是我太天真了
hustlzp
    57
hustlzp  
   2014-06-10 21:51:12 +08:00
@yxjxx
@TankyWoo
@wogong 好吧...我真的用习惯了,至于第一声的呵呵我知道什么意思,但蛮少用...
TankyWoo
    58
TankyWoo  
OP
   2014-06-10 22:48:02 +08:00
@hustlzp
@wogong
@yxjxx

看来我以后得少用“呵呵”了,貌似以前和女友QQ聊天时,我经常“呵呵”就被批评过,不过那时确实是敷衍,因为正在写代码在。。。
TankyWoo
    59
TankyWoo  
OP
   2014-06-10 22:49:29 +08:00
@messense 赞!我最早是用的Python-Markdown,后来换了markdown2,发现问题颇多,就又换回前者了,你推荐的这两个我先调研下看看。

:)
TankyWoo
    60
TankyWoo  
OP
   2014-06-10 22:52:57 +08:00
@humiaozuzu 树形结构是一个很麻烦的结构,我现在的源文件就是树形目录存储/生成,不过在模板展现这块想了很久,也没想到一个好的办法去支持,所以现在默认主题还是选择对二级目录作展示
hustlzp
    61
hustlzp  
   2014-06-10 23:04:21 +08:00
问一下HTML页面上的条目顺序是怎么排的?好像不是按日期,也貌似不是按字母表。
TankyWoo
    62
TankyWoo  
OP
   2014-06-10 23:21:53 +08:00
@hustlzp 恩,按目录下的存放顺序获取结构字典,然后模板遍历字典,所以也无序了。这几天我会把结构调整为unicode后的字母顺序。

这块有点坑,之前实现的代码是字母序的,前阵子改动太多,把排序那块给移除了。 :(
hustlzp
    63
hustlzp  
   2014-06-10 23:24:32 +08:00
@TankyWoo 恩,慢慢来。
spoonwep
    64
spoonwep  
   2014-06-11 11:16:44 +08:00   1
看了一下好像很简洁的样子,非常喜欢,已star
southwolf
    65
southwolf  
   2014-06-11 16:54:20 +08:00
能问一下http://simiki.org/是linode么? 加了CDN之类的咩? 访问速度好快……
TankyWoo
    66
TankyWoo  
OP
   2014-06-11 17:49:24 +08:00
@southwolf 是Linode Fremont机房,这个机房比较稳定;没有用CDN,因为是纯静态html输出,所以速度较快。
TankyWoo
    67
TankyWoo  
OP
   2014-06-11 17:49:54 +08:00
@spoonwep 感谢支持!
ferock
    68
ferock  
PRO
   2014-06-12 19:06:53 +08:00
这货支持搜索么
TankyWoo
    69
TankyWoo  
OP
   2014-06-13 16:56:06 +08:00
@ferock grep -r 'keyword' content
iijjll
    70
iijjll  
   2016-01-16 15:19:21 +08:00 via iPad
一直用的单机版的 eDiary 电子日记本来记录工作的事情和问题总结,简单方便。
Jaycee
    71
Jaycee  
   2016-05-31 16:07:43 +08:00
楼主大牛,能求一个 yasimple_x2 的主题么?
TankyWoo
    72
TankyWoo  
OP
   2016-05-31 16:55:05 +08:00
@Jaycee 你好,这个主题等过几天新版本发布后放出来。因为新增一些功能,现在放出新主题也无法使用 :)
Jaycee
    73
Jaycee  
   2016-06-01 11:25:06 +08:00   1
期待大大的新版本哈
TankyWoo
    74
TankyWoo  
OP
   2016-06-01 23:11:24 +08:00
@Jaycee 谢谢支持 :)
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1057 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 33ms UTC 17:35 PVG 01:35 LAX 09:35 JFK 12:35
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86