不知道大家是否都写过html或者xml, 里面尖括号真是既然写又难看, 这里推荐给大家一个非常好用的工具: shpaml.
shpaml 是借鉴 haml (就是上面那个图片啦) 的一个工具, 可以极大地简化html/xml的编写工作. 并且不像haml那么重量级.
shpaml的生成工具只是一个简单的python文件, 你只需要在 这里 下载即可. 整个文件只有365行!
简单尝试一下
我们来看一个实际的例子. 比如我们需要写下面的html代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
即使能够利用工具来自动生成很多文本, 上面的代码也非常难以阅读. 但是用shpaml的方式就不一样了
html
body
#top-nav
#top-nav-items
> hr
#wrapper
#header
#content
#sidebar
#footer
@2010 linjunhalida, all right reserved
是不是感觉一下清爽很多? 写起来也不那么废手指了?
具体语法, 直接查阅 shpaml官方教程 , 很简单的, 半小时搞定.
生成html代码
那么接下来我们如何把上面的文本生成html代码呢? 先保存成一个文件: xxx.shp, 然后运行
python shpaml.py xxx.shp > xxx.html
shpaml.py在 `这里`_ 下载.
打开xxx.html, 是不是和上面的html一模一样? 其他生成方法, 可以见 shpaml源码页面.
结论
- shpaml采用缩进的方式来表示层级的递进, 这个方法和python的方法一致, 对于python程序员来说应该会很亲切.
- shpaml用python写成, 整个代码只在一个文件里面, 感兴趣的同学可以学习学习. 它也非常容易嵌入到其他web框架中去.
- 同样的, 如果你发现一个数据源存在很多的冗余信息(就像上面的html/xml), 可以仿照shpaml的方法, 来实现一个上层的模板语言.
希望你和我一样, 喜欢上shpaml.