module Glim

Constants

VERSION

Public Class Methods

preprocess_template(source) click to toggle source
# File lib/liquid_ext.rb, line 216
def self.preprocess_template(source)
  source = source.gsub(/({%-? include )([\w.\/-]+)(.*?)(-?%})/) do
    prefix, include, variables, suffix = $1, $2, $3, $4
    unless variables.strip.empty?
      variables = ', ' + variables.scan(/(\w+)=(.*?)(?=\s)/).map { |key, value| "include_#{key}: #{value}" }.join(', ') + ' '
    end

    "#{prefix}\"#{include}\"#{variables}#{suffix}"
  end

  source.gsub!(/({{-? include)\.(.*?}})/) { "#$1_#$2" }
  source.gsub!(/({%-? .+? include)\.(.*?%})/) { "#$1_#$2" }

  source
end