From 6a80c768c9c2e16efe7d7ed6f7235131b13e60ba Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Mon, 5 Nov 2007 20:49:57 +0000 Subject: safe_mode now has three options: "replace", "remove" and "escape". Setting safe_mode to True gets the old behavior - "replace". --- markdown.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'markdown.py') diff --git a/markdown.py b/markdown.py index 6b7b09f..1ffe9de 100644 --- a/markdown.py +++ b/markdown.py @@ -47,7 +47,7 @@ TAB_LENGTH = 4 # expand tabs to this many spaces ENABLE_ATTRIBUTES = True # @id = xyz -> <... id="xyz"> SMART_EMPHASIS = 1 # this_or_that does not become thisorthat HTML_REMOVED_TEXT = "[HTML_REMOVED]" # text used instead of HTML in safe mode - # If blank, html will be escaped. + RTL_BIDI_RANGES = ( (u'\u0590', u'\u07FF'), # from Hebrew to Nko (includes Arabic, Syriac and Thaana) (u'\u2D30', u'\u2D7F'), @@ -912,12 +912,14 @@ class RawHtmlTextPostprocessor(Postprocessor) : def run(self, text): for i in range(self.stash.html_counter) : html, safe = self.stash.rawHtmlBlocks[i] - if self.safeMode and not safe: - if HTML_REMOVED_TEXT: - html = HTML_REMOVED_TEXT - else: + if self.safeMode and not safe : + if str(self.safeMode).lower() == 'escape' : html = self.escape(html) - + elif str(self.safeMode).lower() == 'remove' : + html = '' + else : + html = HTML_REMOVED_TEXT + text = text.replace("

%s\n

" % (HTML_PLACEHOLDER % i), html + "\n") text = text.replace(HTML_PLACEHOLDER % i, html) -- cgit v1.2.3