mauricemach / coffeekup

Markup as CoffeeScript.
coffeekup.org
MIT License
1.26k stars 84 forks source link

Lack of a unescape/safe helper when autoescape in on #108

Open n1k0 opened 12 years ago

n1k0 commented 12 years ago

When using cofeekup with express and enabling autoescape, the @body property in the layout will be escaped as well; it should not.

# sample express application - app.coffee

app.configure ->
    @set "view options", autoescape: true # autoescaping enabled
    @set "views", "#{__dirname}/views"
    @set "view engine", "coffee"
    @register '.coffee', coffeekup.adapters.express
# layout.coffee

doctype 5
html -> body -> @body # <-- body contents will be escaped, including 
                      #     markup generated by coffeekup itself!

What would be especially cool is a safe helper:

# layout.coffee

doctype 5
html -> body -> safe @body # <-- tags generated by coffeekup wouldn't be 
                           #     escaped, only variables would)

What do you think? I can work on a patch and send a PR if you agree on this.

n1k0 commented 12 years ago

For the record, this is a quick workaround:

doctype 5
html -> body ->
    @autoescape = false
    @body

I keep thinking that a safe helper is needed though :)