if blocks work with filtered variables

This commit is contained in:
James MacAulay
2008-10-15 17:02:26 -04:00
parent 69bc84b777
commit 282786d7e2
5 changed files with 24 additions and 5 deletions
+7 -2
View File
@@ -22,7 +22,7 @@
$LOAD_PATH.unshift(File.dirname(__FILE__))
module Liquid
FilterSperator = /\|/
FilterSeparator = /\|/
ArgumentSeparator = ','
FilterArgumentSeparator = ':'
VariableAttributeSeparator = '.'
@@ -33,7 +33,12 @@ module Liquid
VariableStart = /\{\{/
VariableEnd = /\}\}/
VariableIncompleteEnd = /\}\}?/
QuotedFragment = /"[^"]+"|'[^']+'|[^\s,|]+/
QuotedFragment = /"[^"]+"|'[^']+'|[^\s,\|]+/
StrictQuotedFragment = /"[^"]+"|'[^']+'|[^\s,\|,\:,\,]+/
FirstFilterArgument = /#{FilterArgumentSeparator}(?:#{StrictQuotedFragment})/
OtherFilterArgument = /#{ArgumentSeparator}(?:#{StrictQuotedFragment})/
SpacelessFilter = /#{FilterSeparator}(?:#{StrictQuotedFragment})(?:#{FirstFilterArgument}(?:#{OtherFilterArgument})*)?/
Expression = /(?:#{QuotedFragment}(?:#{SpacelessFilter})*)/
TagAttributes = /(\w+)\s*\:\s*(#{QuotedFragment})/
TemplateParser = /(#{TagStart}.*?#{TagEnd}|#{VariableStart}.*?#{VariableIncompleteEnd})/
VariableParser = /\[[^\]]+\]|#{VariableSegment}+/