@@ -24,9 +24,13 @@ function handleFilters(ast, filters, options, filterAliases) {
24
24
var firstFilter = node . filters . pop ( ) ;
25
25
var attrs = getAttributes ( firstFilter , options ) ;
26
26
var filename = ( attrs . filename = node . file . fullPath ) ;
27
- var str = node . file . str ;
28
27
node . type = 'Text' ;
29
- node . val = filterFileWithFallback ( firstFilter , filename , str , attrs ) ;
28
+ node . val = filterFileWithFallback (
29
+ firstFilter ,
30
+ filename ,
31
+ node . file ,
32
+ attrs
33
+ ) ;
30
34
node . filters
31
35
. slice ( )
32
36
. reverse ( )
@@ -55,10 +59,14 @@ function handleFilters(ast, filters, options, filterAliases) {
55
59
}
56
60
}
57
61
58
- function filterFileWithFallback ( filter , filename , text , attrs ) {
62
+ function filterFileWithFallback ( filter , filename , file , attrs ) {
59
63
var filterName = getFilterName ( filter ) ;
60
64
if ( filters && filters [ filterName ] ) {
61
- return filters [ filterName ] ( text , attrs ) ;
65
+ if ( filters [ filterName ] . renderBuffer ) {
66
+ return filters [ filterName ] . renderBuffer ( file . raw , attrs ) ;
67
+ } else {
68
+ return filters [ filterName ] ( file . str , attrs ) ;
69
+ }
62
70
} else {
63
71
return filterWithFallback ( filter , filename , attrs , 'renderFile' ) ;
64
72
}
0 commit comments