UNPKG

liquid-node

Version:

Node.js port of Tobias Lütke's Liquid template engine.

62 lines (52 loc) 2.27 kB
Liquid = require("./liquid") util = require "util" # based on node's lib/assert.js customError = (name, inherit = global.Error) -> error = (message) -> @name = name @message = message if global.Error.captureStackTrace global.Error.captureStackTrace(@, arguments.callee) util.inherits(error, inherit) # No need to set the prototype because: # # 1) We've got util.inherits to handle prototype already # 2) assigning prototype value directly will cause the instanceof operator # returing wrong values. # # See this gist for more example: # https://gist.github.com/dotnil/8381942 # # error:: = inherit:: error Liquid.Error = customError "Error" # Errors [ "ArgumentError", "ContextError", "FilterNotFound", "FilterNotFound", "FileSystemError", "StandardError", "StackLevelError", "SyntaxError" ].forEach (className) -> Liquid[className] = customError("Liquid.#{className}", Liquid.Error) Liquid.Helpers = require("./liquid/helpers") Liquid.Drop = require("./liquid/drop") Liquid.Strainer = require("./liquid/strainer") Liquid.Context = require("./liquid/context") Liquid.Tag = require("./liquid/tag") Liquid.Block = require("./liquid/block") Liquid.Document = require("./liquid/document") Liquid.Variable = require("./liquid/variable") Liquid.Template = require("./liquid/template") Liquid.StandardFilters = require("./liquid/standard_filters") Liquid.Condition = require("./liquid/condition") Liquid.ElseCondition = require("./liquid/else_condition") Liquid.Template.registerFilter(Liquid.StandardFilters) Liquid.Assign = require("./liquid/tags/assign") Liquid.Capture = require("./liquid/tags/capture") Liquid.Comment = require("./liquid/tags/comment") Liquid.Decrement = require("./liquid/tags/decrement") Liquid.For = require("./liquid/tags/for") Liquid.If = require("./liquid/tags/if") Liquid.Ifchanged = require("./liquid/tags/ifchanged") Liquid.Increment = require("./liquid/tags/increment") Liquid.Raw = require("./liquid/tags/raw") Liquid.Unless = require("./liquid/tags/unless") module.exports = Liquid