lib/dionysus/redcarpet/includes.rb in dionysus-2.0.0 vs lib/dionysus/redcarpet/includes.rb in dionysus-2.1.0

- old
+ new

@@ -1,9 +1,9 @@ -require 'pathname' -require 'redcarpet' -require 'active_support/concern' -require 'active_support/core_ext/object/blank' +require "pathname" +require "active_support/concern" +require "active_support/core_ext/object/blank" +require "dionysus/redcarpet" module Dionysus module Redcarpet module Includes extend ActiveSupport::Concern @@ -17,11 +17,11 @@ end def preprocess_with_includes(full_document) lines = full_document.split($/) lines.each_with_index do |ln, i| - if m = ln.match(/\A\s*<<<\s*(\S+)\s*\Z/) + if m = ln.match(LINE_DIRECTIVE_REGEXP) path = Pathname.new(m[1]) if path.file? newlines = path.readlines newlines.collect! {|ln| ln.chomp} newlines.shift while(newlines.first.blank?) @@ -30,10 +30,16 @@ else warn "[WARNING] Cannot find path %s to include"%[path.to_s] end end end - lines.flatten.join("\n") + full_document = lines.flatten.join("\n") + + if respond_to? :preprocess_without_includes + preprocess_without_includes(full_document) + else + full_document + end end end end end