소스 검색

add markdown list syntax

2du 5 년 전
부모
커밋
c653f5b8a9
2개의 변경된 파일25개의 추가작업 그리고 2개의 파일을 삭제
  1. 24 1
      route/tool/set_mark/markdown.py
  2. 1 1
      version.json

+ 24 - 1
route/tool/set_mark/markdown.py

@@ -103,6 +103,24 @@ class link_render:
     def get_plus_data(self):
         return self.plus_data
 
+class list_sub_render:
+    def __init__(self):
+        pass
+
+    def __call__(self, match):
+        return '<li style="margin-left: ' + str(len(match[1]) * 20) + 'px;">' + match[2] + '</li>'
+
+class list_render:
+    def __init__(self):
+        pass
+
+    def __call__(self, match):
+        list_sub_r = r'(?:\n( +)\* ([^\n]+))'
+        list_sub_do = list_sub_render()
+        list_data = re.sub(list_sub_r, list_sub_do, match[1])
+
+        return list_data
+
 def markdown(conn, data, title, include_name):
     backlink = []
     include_name = include_name + '_' if include_name else ''
@@ -120,6 +138,10 @@ def markdown(conn, data, title, include_name):
     data = re.sub(head_r, head_do, data)
     data = head_do.get_toc() + data
 
+    list_r = r'((?:\n(?: +)\* (?:[^\n]+))+)'
+    list_do = list_render()
+    data = re.sub(list_r, list_do, data)
+
     link_r = r'(!)?\[((?:(?!\]\().)+)\]\(([^\]]+)\)'
     link_do = link_render(plus_data, include_name)
     data = re.sub(link_r, link_do, data)
@@ -128,7 +150,8 @@ def markdown(conn, data, title, include_name):
     data = re.sub(r'\*\*(?P<A>(?:(?!\*\*).)+)\*\*', '<b>\g<A></b>', data)
     data = re.sub(r'__(?P<A>(?:(?!__).)+)__', '<i>\g<A></i>', data)
 
-    data = re.sub('^\n', '', data)
+    data = re.sub('^(\n| )+', '', data)
+    data = re.sub('(\n| )+$', '', data)
     data = data.replace('\n', '<br>')
 
     data = re.sub(r'(?P<A><\/h[0-6]>)<br>', '\g<A>', data)

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.2.0-stable-13 (beta-38) (dev-2020-09-27-01)",
+        "r_ver" : "v3.2.0-stable-13 (beta-38) (dev-2020-09-29-01)",
         "c_ver" : "3203400",
         "s_ver" : "10"
     }