aboutsummaryrefslogtreecommitdiffstats
path: root/markdown.py
diff options
context:
space:
mode:
authorArtem Yunusov <nedrlab@gmail.com>2008-08-02 13:53:06 +0500
committerArtem Yunusov <nedrlab@gmail.com>2008-08-02 13:53:06 +0500
commit495578c86f58b9a84d8583825768a84eebdd8a9f (patch)
tree9d0c7129df85ccc71c4b3673a89aa2de7fa09e49 /markdown.py
parente54a1868b38c53073eb54df313962a105819b03e (diff)
parent6a63cadc9a7738c9495bb1eec435908a11fec469 (diff)
downloadmarkdown-495578c86f58b9a84d8583825768a84eebdd8a9f.tar.gz
markdown-495578c86f58b9a84d8583825768a84eebdd8a9f.tar.bz2
markdown-495578c86f58b9a84d8583825768a84eebdd8a9f.zip
Merge git://gitorious.org/python-markdown/mainline
Conflicts: markdown.py mdx_rss.py
Diffstat (limited to 'markdown.py')
-rwxr-xr-xmarkdown.py41
1 files changed, 32 insertions, 9 deletions
diff --git a/markdown.py b/markdown.py
index b5903f5..059ac87 100755
--- a/markdown.py
+++ b/markdown.py
@@ -161,8 +161,10 @@ INLINE_PLACEHOLDER_PREFIX = u'\u0001'
INLINE_PLACEHOLDER_SUFFIX = u'\u0002'
# a template for html placeholders
-HTML_PLACEHOLDER_PREFIX = "qaodmasdkwaspemas"
-HTML_PLACEHOLDER = HTML_PLACEHOLDER_PREFIX + "%dajkqlsmdqpakldnzsdfls"
+START = u'\u0001'
+END = u'\u0002'
+HTML_PLACEHOLDER_PREFIX = START+"html:"
+HTML_PLACEHOLDER = HTML_PLACEHOLDER_PREFIX + "%d"+END
BLOCK_LEVEL_ELEMENTS = ['p', 'div', 'blockquote', 'pre', 'table',
'dl', 'ol', 'ul', 'script', 'noscript',
@@ -1486,9 +1488,9 @@ class Markdown:
break
# Check if the next non-blank line is still a part of the list
- if ( RE.regExp['ul'].match(next) or
- RE.regExp['ol'].match(next) or
- RE.regExp['tabbed'].match(next)):
+
+ if ( RE.regExp[listexpr].match(next) or
+ RE.regExp['tabbed'].match(next) ):
# get rid of any white space in the line
items[item].append(line.strip())
looseList = loose or looseList
@@ -1870,6 +1872,10 @@ class Markdown:
return u""
# Fixup the source text
+
+ self.source = self.source.replace(START, "")
+ self.source = self.source.replace(END, "")
+
self.source = self.source.replace("\r\n", "\n").replace("\r", "\n")
self.source += "\n\n"
self.source = self.source.expandtabs(TAB_LENGTH)
@@ -2047,6 +2053,22 @@ class Extension:
""" Set a config setting for `key` with the given `value`. """
self.config[key][0] = value
+ def extendMarkdown(self, md, md_globals):
+ """
+ Add the various proccesors and patterns to the Markdown Instance.
+
+ This method must be overriden by every extension.
+
+ Ketword arguments:
+
+ * md: The Markdown instance.
+
+ * md_globals: All global variables availabel in the markdown module
+ namespace.
+
+ """
+ pass
+
def load_extension(ext_name, configs = []):
"""
@@ -2076,11 +2098,12 @@ def load_extension(ext_name, configs = []):
try:
module = __import__(extension_module_name)
- except:
- message(CRITICAL,
- "couldn't load extension %s (looking for %s module)"
+ except ImportError:
+ message(WARN,
+ "Couldn't load extension '%s' from \"%s\" - continuing without."
% (ext_name, extension_module_name) )
- sys.exit(1)
+ # Return a dummy (do nothing) Extension as silent failure
+ return Extension(configs={})
return module.makeExtension(configs.items())