aboutsummaryrefslogtreecommitdiffstats
path: root/markdown
diff options
context:
space:
mode:
Diffstat (limited to 'markdown')
-rw-r--r--markdown/extensions/abbr.py3
-rw-r--r--markdown/extensions/footnotes.py12
-rw-r--r--markdown/preprocessors.py3
3 files changed, 17 insertions, 1 deletions
diff --git a/markdown/extensions/abbr.py b/markdown/extensions/abbr.py
index bfa8c10..ec2428a 100644
--- a/markdown/extensions/abbr.py
+++ b/markdown/extensions/abbr.py
@@ -53,6 +53,9 @@ class AbbrPreprocessor(Preprocessor):
title = m.group('title').strip()
self.markdown.inlinePatterns['abbr-%s' % abbr] = \
AbbrPattern(self._generate_pattern(abbr), title)
+ # Preserve the line to prevent raw HTML indexing issue.
+ # https://github.com/Python-Markdown/markdown/issues/584
+ new_text.append('')
else:
new_text.append(line)
return new_text
diff --git a/markdown/extensions/footnotes.py b/markdown/extensions/footnotes.py
index cdaf391..072c5dd 100644
--- a/markdown/extensions/footnotes.py
+++ b/markdown/extensions/footnotes.py
@@ -238,7 +238,12 @@ class FootnotePreprocessor(Preprocessor):
fn, _i = self.detectTabbed(lines[i+1:])
fn.insert(0, m.group(2))
i += _i-1 # skip past footnote
- self.footnotes.setFootnote(m.group(1), "\n".join(fn))
+ footnote = "\n".join(fn)
+ self.footnotes.setFootnote(m.group(1), footnote.rstrip())
+ # Preserve a line for each block to prevent raw HTML indexing issue.
+ # https://github.com/Python-Markdown/markdown/issues/584
+ num_blocks = (len(footnote.split('\n\n')) * 2)
+ newlines.extend([''] * (num_blocks))
else:
newlines.append(lines[i])
if len(lines) > i+1:
@@ -290,6 +295,11 @@ class FootnotePreprocessor(Preprocessor):
if lines[j].strip():
next_line = lines[j]
break
+ else:
+ # Include extreaneous padding to prevent raw HTML
+ # parsing issue: https://github.com/Python-Markdown/markdown/issues/584
+ items.append("")
+ i += 1
else:
break # There is no more text; we are done.
diff --git a/markdown/preprocessors.py b/markdown/preprocessors.py
index 94f9830..1e99afa 100644
--- a/markdown/preprocessors.py
+++ b/markdown/preprocessors.py
@@ -346,6 +346,9 @@ class ReferencePreprocessor(Preprocessor):
lines.pop(0)
t = tm.group(2) or tm.group(3) or tm.group(4)
self.markdown.references[id] = (link, t)
+ # Preserve the line to prevent raw HTML indexing issue.
+ # https://github.com/Python-Markdown/markdown/issues/584
+ new_text.append('')
else:
new_text.append(line)