Forráskód Böngészése

https://github.com/openNAMU/openNAMU/issues/1571

잉여개발기 (SPDV) 2 éve
szülő
commit
bdc1f6744c
1 módosított fájl, 7 hozzáadás és 11 törlés
  1. 7 11
      route/tool/func_render_namumark.py

+ 7 - 11
route/tool/func_render_namumark.py

@@ -805,7 +805,7 @@ class class_do_render_namumark:
         self.render_data = re.sub(math_regex, do_render_math_sub, self.render_data)
 
     def do_render_link(self):
-        link_regex = r'\[\[((?:(?!\[\[|\]\]|\||<|>).|<(?:\/?(?:slash)_(?:[0-9]+)(?:[^<>]+))>)+)(?:\|((?:(?!\[\[|\]\]|\|).)+))?\]\]'
+        link_regex = r'\[\[((?:(?!\[\[|\]\]|\||<|>).|<(?:\/?(?:slash)_(?:[0-9]+)(?:[^<>]+))>)+)(?:\|((?:(?!\[\[|\]\]|\|).)+))?\]\](\n?)'
         image_count = 0
         link_count_all = len(re.findall(link_regex, self.render_data)) * 4
         while 1:
@@ -814,7 +814,6 @@ class class_do_render_namumark:
                 break
             elif link_count_all < 0:
                 print('Error : render link count overflow')
-
                 break
             else:
                 # link split
@@ -977,7 +976,7 @@ class class_do_render_namumark:
                         else:
                             data_name = self.get_tool_data_storage('', '', link_data_full)
                         
-                        self.render_data = re.sub(link_regex, '<' + data_name + '></' + data_name + '>', self.render_data, 1)
+                        self.render_data = re.sub(link_regex, '<' + data_name + '></' + data_name + '>' + link_data[2], self.render_data, 1)
                 # category
                 elif re.search(r'^(분류|category):', link_main, flags = re.I):
                     link_main = re.sub(r'^(분류|category):', '', link_main, flags = re.I)
@@ -1026,10 +1025,7 @@ class class_do_render_namumark:
 
                         self.data_category += '<a class="' + category_blur + ' ' + link_exist + '" title="' + link_sub + '" href="/w/category:' + link_main + '">' + link_sub + '</a>'
 
-                    if self.render_data.find('\n' + link_data_full + '\n') != -1:
-                        self.render_data = self.render_data.replace('\n' + link_data_full + '\n', '\n', 1)
-                    else:
-                        self.render_data = re.sub(link_regex, '', self.render_data, 1)
+                    self.render_data = re.sub(link_regex, '', self.render_data, 1)
                 # inter link
                 elif re.search(r'^(?:inter|인터):([^:]+):', link_main, flags = re.I):
                     link_inter_regex = re.compile('^(?:inter|인터):([^:]+):', flags = re.I)
@@ -1088,9 +1084,9 @@ class class_do_render_namumark:
 
                         data_name = self.get_tool_data_storage('<a class="opennamu_link_inter" title="' + link_title + '" href="' + link_main + link_data_sharp + '">' + link_sub_storage, '</a>', link_data_full)
                     
-                        self.render_data = re.sub(link_regex, lambda x : ('<' + data_name + '>' + link_sub + '</' + data_name + '>'), self.render_data, 1)
+                        self.render_data = re.sub(link_regex, lambda x : ('<' + data_name + '>' + link_sub + '</' + data_name + '>' + link_data[2]), self.render_data, 1)
                     else:
-                        self.render_data = re.sub(link_regex, '', self.render_data, 1)
+                        self.render_data = re.sub(link_regex, link_data[2], self.render_data, 1)
                 # out link
                 elif re.search(r'^https?:\/\/', link_main, flags = re.I):
                     link_main = self.get_tool_data_restore(link_main, do_type = 'slash')
@@ -1137,7 +1133,7 @@ class class_do_render_namumark:
                             link_class = 'opennamu_link_inter'
 
                     data_name = self.get_tool_data_storage('<a class="' + link_class + '" target="_blank" title="' + link_title + '" href="' + link_main + '">' + link_inter_icon + link_sub_storage, '</a>', link_data_full)
-                    self.render_data = re.sub(link_regex, lambda x : ('<' + data_name + '>' + link_sub + '</' + data_name + '>'), self.render_data, 1)
+                    self.render_data = re.sub(link_regex, lambda x : ('<' + data_name + '>' + link_sub + '</' + data_name + '>' + link_data[2]), self.render_data, 1)
                 # in link
                 else:
                     # under page & fix url
@@ -1202,7 +1198,7 @@ class class_do_render_namumark:
                     self.link_count += 1
 
                     data_name = self.get_tool_data_storage('<a class="' + link_exist + ' ' + link_same + '" title="' + link_title + '" href="' + link_main + link_data_sharp + '">' + link_sub_storage, '</a>', link_data_full)
-                    self.render_data = re.sub(link_regex, lambda x : ('<' + data_name + '>' + link_sub + '</' + data_name + '>'), self.render_data, 1)
+                    self.render_data = re.sub(link_regex, lambda x : ('<' + data_name + '>' + link_sub + '</' + data_name + '>' + link_data[2]), self.render_data, 1)
 
             link_count_all -= 1