@@ -24,9 +24,13 @@ function handleFilters(ast, filters, options, filterAliases) {
2424 var firstFilter = node . filters . pop ( ) ;
2525 var attrs = getAttributes ( firstFilter , options ) ;
2626 var filename = ( attrs . filename = node . file . fullPath ) ;
27- var str = node . file . str ;
2827 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+ ) ;
3034 node . filters
3135 . slice ( )
3236 . reverse ( )
@@ -55,10 +59,14 @@ function handleFilters(ast, filters, options, filterAliases) {
5559 }
5660 }
5761
58- function filterFileWithFallback ( filter , filename , text , attrs ) {
62+ function filterFileWithFallback ( filter , filename , file , attrs ) {
5963 var filterName = getFilterName ( filter ) ;
6064 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+ }
6270 } else {
6371 return filterWithFallback ( filter , filename , attrs , 'renderFile' ) ;
6472 }
0 commit comments