具体实现的代码在 Github: https://gist.github.com/2498711 讨厌关闭括号关闭标签, 于是在用 Jade, 可浏览器端多少不方便 最后想起来以前一个办法, 给每个标签定义函数, 结合 coffee 的写法, 显得比较紧凑了
require './index'
 
page = html _,
  head _,
    title _,
      text 'html'
    style
      body:
        color: 'red'
      div:
        color: 'blue'
        color2: 'bue'
        color4: 'ue'
  body _,
    div id: 'main',
      div id: 'left_bar',
        nav id: 'home_button',   class: 'nav'
        nav id: 'search_button', class: 'nav'
        nav id: 'msg_button',    class: 'nav'
        nav id: 'back_button',   class: 'nav'
      div id: 'right_bar',
        article class: 'post',
          p _,
            text 'need to clarify sth'
            text 'more things need to be examined'
        article class: 'post'
        article class: 'post'
        article class: 'post'
 
console.log page
不知道会不会有潜在的问题, 请给看下…
现在计划用函数封装一下减少对全局变量的污染…
貌似直接封装, 函数的作用域链搞不定, 只能想到用面向对象的方法,
传一个函数, 进行一次赋值, 那么 this 就指向 tmpl 函数内部的对象了…
那样代码近似于:
tmpl ->
  [@div](/user/div) {}, ([@text](/user/text) "content")
      13 回复