diff --git a/CHANGELOG.md b/CHANGELOG.md index f31715b..233fc6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ **v0.3.0edge** (unreleased): - Fixed #71: indexOf not supported in IE7 (thanks @jaekwon). + - Added better error reporting to express adapter. [benekastah] **v0.3.0** (2011-09-04): diff --git a/docs/coffeekup.html b/docs/coffeekup.html index 39779a7..16fb80e 100644 --- a/docs/coffeekup.html +++ b/docs/coffeekup.html @@ -14,7 +14,7 @@ coffeekup = exports coffee = require 'coffee-script' -coffeekup.version = 'unreleased'
Values available to the doctype
function inside a template.
+coffeekup.version = '0.3.0edge'
Values available to the doctype
function inside a template.
Ex.: doctype 'strict'
coffeekup.doctypes =
'default': '<!DOCTYPE html>'
'5': '<!DOCTYPE html>'
@@ -253,11 +253,24 @@
unless window?
coffeekup.adapters =
Legacy adapters for when CoffeeKup expected data in the context
attribute.
simple: coffeekup.render
meryl: coffeekup.render
-
Allows partial 'foo'
instead of text @partial 'foo'
.
express:
- compile: (template, data) ->
- data.hardcode ?= {}
+
+ express:
+ TemplateError: class extends Error
+ constructor: (@message) ->
+ Error.call this, @message
+ Error.captureStackTrace this, arguments.callee
+ name: 'TemplateError'
+
+ compile: (template, data) ->
Allows partial 'foo'
instead of text @partial 'foo'
.
data.hardcode ?= {}
data.hardcode.partial = ->
text @partial.apply @, arguments
- coffeekup.compile(template, data)
+
+ TemplateError = @TemplateError
+ try tpl = coffeekup.compile(template, data)
+ catch e then throw new TemplateError "Error compiling #{data.filename}: #{e.message}"
+
+ return ->
+ try tpl arguments...
+ catch e then throw new TemplateError "Error rendering #{data.filename}: #{e.message}"