public Method

BlueCloth.hide_html_blocks( str, rs )

Replace all blocks of HTML in str that start in the left margin with tokens.

Source Code

# File bluecloth.rb, line 333
def hide_html_blocks( str, rs )
        @log.debug "Hiding HTML blocks in %p" % str

        # Tokenizer proc to pass to gsub
        tokenize = lambda {|match|
                key = Digest::MD5::hexdigest( match )
                rs.html_blocks[ key ] = match
                @log.debug "Replacing %p with %p" % [ match, key ]
                "\n\n#{key}\n\n"
        }

        rval = str.dup

        @log.debug "Finding blocks with the strict regex..."
        rval.gsub!( StrictBlockRegex, &tokenize )

        @log.debug "Finding blocks with the loose regex..."
        rval.gsub!( LooseBlockRegex, &tokenize )

        @log.debug "Finding hrules..."
        rval.gsub!( HruleBlockRegex ) {|match| $1 + tokenize[$2] }

        return rval
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.