Some small efficiencies in the Chunk-handler

Also, log Maruku's processing time, out of perverse
interest.
master
Jacques Distler 2011-08-05 01:59:18 -05:00
parent 52da76ff38
commit 14592f57f9
3 changed files with 6 additions and 4 deletions

View File

@ -45,12 +45,11 @@ module Chunk
# Find all the chunks of the given type in content
# Each time the pattern is matched, create a new
# chunk for it, and replace the occurance of the chunk
# chunk for it, and replace the occurrence of the chunk
# in this content with its mask.
def self.apply_to(content)
text = content.to_str
text.gsub!( self.pattern ) do |match|
# content.replace text
new_chunk = self.new($~, content)
content.add_chunk(new_chunk)
new_chunk.mask

View File

@ -71,9 +71,11 @@ module Engines
@content.options[:renderer].s5_theme = my_content.s5_theme
my_content.to_s5
else
(t = Time.now; nil)
html = Maruku.new(@content.delete("\r").to_utf8,
{:math_enabled => true,
:math_numbered => ['\\[','\\begin{equation}']}).to_html
(ApplicationController.logger.info("Maruku took " + (Time.now-t).to_s + " seconds."); nil)
html.gsub(/\A<div class="maruku_wrapper_div">\n?(.*?)\n?<\/div>\Z/m, '\1')
end
end

View File

@ -8,6 +8,7 @@ require_dependency 'chunks/literal'
require 'chunks/nowiki'
require 'sanitizer'
require 'instiki_stringsupport'
require 'set'
# Wiki content is just a string that can process itself with a chain of
@ -53,10 +54,10 @@ module ChunkManager
def init_chunk_manager
@chunks_by_type = Hash.new
Chunk::Abstract::derivatives.each{|chunk_type|
@chunks_by_type[chunk_type] = Array.new
@chunks_by_type[chunk_type] = Set.new
}
@chunks_by_id = Hash.new
@chunks = []
@chunks = Set.new
@chunk_id = 0
end