diff options
Diffstat (limited to 'markdown')
-rw-r--r-- | markdown/extensions/abbr.py | 3 | ||||
-rw-r--r-- | markdown/extensions/footnotes.py | 12 | ||||
-rw-r--r-- | markdown/preprocessors.py | 3 |
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) |