Add template/Builder. It generates basic tags.

This commit is contained in:
Nathan Sobo
2011-12-27 15:50:39 -06:00
parent a48a1b24f4
commit 22167faf28
4 changed files with 55 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
_ = require 'underscore'
OpenTag = require 'template/open-tag'
CloseTag = require 'template/close-tag'
module.exports =
class Builder
constructor: ->
@reset()
toHtml: ->
_.map(@document, (x) -> x.toHtml()).join('')
tag: (name) ->
@openTag(name)
@closeTag(name)
openTag: (name) ->
@document.push(new OpenTag(name))
closeTag: (name) ->
@document.push(new CloseTag(name))
reset: ->
@document = []

View File

@@ -0,0 +1,7 @@
module.exports =
class CloseTag
constructor: (@name) ->
toHtml: ->
"</#{@name}>"

View File

@@ -0,0 +1,7 @@
module.exports =
class OpenTag
constructor: (@name) ->
toHtml: ->
"<#{@name}>"