Переглянути джерело

Markdown2 can already parse headers, remove custom code for it

Boudhayan Gupta 6 роки тому
батько
коміт
ce6aac53d4
1 змінених файлів з 1 додано та 32 видалено
  1. 1 32
      blogit/blogit.py

+ 1 - 32
blogit/blogit.py

@@ -31,9 +31,8 @@ import http.server
 import subprocess as sp
 import socketserver
 
-
 from jinja2 import Environment, FileSystemLoader, Markup
-import markdown2 as md2
+from markdown2 import Markdown
 import tinydb
 from tinydb import Query
 
@@ -43,36 +42,6 @@ except DistributionNotFound:  # pragma: no cover
     __version__ = '0.3'
 
 
-class Markdown(md2.Markdown):
-    _metadata_pat = re.compile("^---\W(?P<metadata>[\S+:\S+\s]+\n)---\n")
-    _key_val_pat = re.compile("^\w+:(?! >)\s*(?:[ \t].*\n?)+", re.MULTILINE)
-    # this allows key: >
-    #                   value
-    #                   conutiues over multiple lines
-    _key_val_block_pat = re.compile(
-        "(\w+:\s+>\n\s+[\S\s]+?)(?=\n\w+\s*:\s*\w+\n|\Z)")
-
-    def _extract_metadata(self, text):
-        # fast test
-        if not text.startswith("---"):
-            return text
-        match = self._metadata_pat.match(text)
-        if not match:
-            return text
-        tail = text[len(match.group(0)):]
-        metadata_str = match.groupdict()['metadata']
-
-        kv = re.findall(self._key_val_pat, metadata_str)
-        kvm = re.findall(self._key_val_block_pat, metadata_str)
-        kvm = [item.replace(": >\n", ":", 1) for item in kvm]
-
-        for item in kv + kvm:
-            k, v = item.split(":", 1)
-            self.metadata[k.strip()] = v.strip()
-
-        return tail
-
-
 def markdown(text, html4tags=False, tab_width=4,
              safe_mode=None, extras=None, link_patterns=None,
              use_file_vars=False):