我对Python是个门外汉。但是我昨天试了一下拿它写一个静态网站生成器,就像jekyll那样。我真的是被惊讶到了,太强了。 市面上大部分类似的工具都是用nodejs写的。我的惊讶之处在于:python生态系统比Nodejs强大太多了,而且易用太多了。原因如下:
1. Nodejs随便写个啥文件io相关的东西都得写一堆callbacks。而python就不用。
2. python可以很轻松的利用multiprocessing实现并行化处理。
3. python有像pygments这样的很专业的语法高亮显示的工具。nodejs社区根本没有什么成型的lexers。
具体来说,我就是用markdown_it做markdown到html的转换。然后自己集成了LLVM/Clang实现了语法高亮的功能。我可以说我这是市面上最精准的语法高亮的实现,因为它会走完整的C/C++语法解析,而不是简单的关键字匹配。同时,我又集成了graphviz,于是可以在markdown里面直接插入graphviz的源码画图,输出是SVG。直接嵌在页面html里,显示效果特别好。同时,我又用latex2mathm集成了latex。从此对mathjax说88了。我直接在markdown -> html的时候生成MathML的代码,于是网页就不用加载一大堆js和remote font来动态渲染了。
所有这些全做完后一共还不到200行代码!
所以,以前开源社区的形态是市场上有很多像jekyll、Hugo这样的工具让开发者去挑选。我们会花什么时间在学习新工具、新生态系统上,而现在人人都会写几句python代码,大家要的不是工具,而是简单易用、质量优良的开发包。
--
FROM 61.172.164.*