UNPKG

liquid-node

Version:

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

35 lines (31 loc) 1.82 kB
module.exports = class Liquid @log = -> return unless debug? try console.log(arguments...) catch e console.log "Failed to log. %s", e @FilterSeparator = /\|/ @ArgumentSeparator = /,/ @FilterArgumentSeparator = /\:/ @VariableAttributeSeparator = /\./ @TagStart = /\{\%/ @TagEnd = /\%\}/ @VariableSignature = /\(?[\w\-\.\[\]]\)?/ @VariableSegment = /[\w\-]/ @VariableStart = /\{\{/ @VariableEnd = /\}\}/ @VariableIncompleteEnd = /\}\}?/ @QuotedString = /"[^"]*"|'[^']*'/ @QuotedFragment = ///#{@QuotedString.source}|(?:[^\s,\|'"]|#{@QuotedString.source})+/// @StrictQuotedFragment = /"[^"]+"|'[^']+'|[^\s|:,]+/ @FirstFilterArgument = ///#{@FilterArgumentSeparator.source}(?:#{@StrictQuotedFragment.source})/// @OtherFilterArgument = ///#{@ArgumentSeparator.source}(?:#{@StrictQuotedFragment.source})/// @SpacelessFilter = ///^(?:'[^']+'|"[^"]+"|[^'"])*#{@FilterSeparator.source}(?:#{@StrictQuotedFragment.source})(?:#{@FirstFilterArgument.source}(?:#{@OtherFilterArgument.source})*)?/// @Expression = ///(?:#{@QuotedFragment.source}(?:#{@SpacelessFilter.source})*)/// @TagAttributes = ///(\w+)\s*\:\s*(#{@QuotedFragment.source})/// @AnyStartingTag = /\{\{|\{\%/ @PartialTemplateParser = ///#{@TagStart.source}.*?#{@TagEnd.source}|#{@VariableStart.source}.*?#{@VariableIncompleteEnd.source}/// @TemplateParser = ///(#{@PartialTemplateParser.source}|#{@AnyStartingTag.source})/// @VariableParser = ///\[[^\]]+\]|#{@VariableSegment.source}+\??/// @async = require("./liquid/async")