Просмотр исходного кода

fix bug

https://github.com/openNAMU/openNAMU/issues/1385
https://github.com/openNAMU/openNAMU/issues/1801
잉여개발기 (SPDV) 3 лет назад
Родитель
Сommit
0ad854081c
2 измененных файлов с 18 добавлено и 12 удалено
  1. 0 7
      route/tool/func.py
  2. 18 5
      route/tool/func_render_namumark.py

+ 0 - 7
route/tool/func.py

@@ -1120,13 +1120,6 @@ def wiki_css(data):
     # Main CSS
     data_css += '<link rel="stylesheet" href="/views/main_css/css/main.css?ver=' + data_css_ver + '">'
 
-    # External
-    data_css += '<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.5.0/build/styles/default.min.css">'
-    data_css += '<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.5.0/build/highlight.min.js"></script>'
-    
-    data_css += '<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.css" integrity="sha384-vKruj+a13U8yHIkAyGgK1J3ArTLzrFGBbBc0tDp4ad/EyewESeXE/Iv67Aj8gKZ0" crossorigin="anonymous">'
-    data_css += '<script src="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.js" integrity="sha384-PwRUT/YqbnEjkZO0zZxNqcxACrXe+j766U2amXcgMg5457rve2Y7I6ZJSm2A0mS4" crossorigin="anonymous"></script>'
-
     data = data[0:2] + ['', data_css] + data[2:]
 
     return data

+ 18 - 5
route/tool/func_render_namumark.py

@@ -48,6 +48,7 @@ class class_do_render_namumark:
         self.render_data = self.doc_data
         self.render_data = html.escape(self.render_data)
         self.render_data = '<back_br>\n' + self.render_data + '\n<front_br>'
+        self.render_data_cdn = ''
         self.render_data_js = ''
 
     def get_tool_lang(self, name):
@@ -671,6 +672,10 @@ class class_do_render_namumark:
         def do_render_math_sub(match):
             data = match.group(1)
 
+            if self.data_math_count == 0:
+                self.render_data_cdn += '<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.css" integrity="sha384-vKruj+a13U8yHIkAyGgK1J3ArTLzrFGBbBc0tDp4ad/EyewESeXE/Iv67Aj8gKZ0" crossorigin="anonymous">'
+                self.render_data_cdn += '<script src="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.js" integrity="sha384-PwRUT/YqbnEjkZO0zZxNqcxACrXe+j766U2amXcgMg5457rve2Y7I6ZJSm2A0mS4" crossorigin="anonymous"></script>'
+
             data = re.sub(r'\n', '', data)
             data = self.get_tool_data_revert(data)
 
@@ -1566,7 +1571,7 @@ class class_do_render_namumark:
                         data_name = self.get_tool_data_storage('<div id="' + self.doc_include + 'opennamu_wiki_' + str(wiki_count) + '"></div>', '', middle_data_org)
                         wiki_count += 1
                     elif middle_name == '#!html':
-                        html_data = re.sub(r'^#!html ', '', middle_data)
+                        html_data = re.sub(r'^#!html( |\n)', '', middle_data)
                         if middle_slash:
                             html_data += '\\'
 
@@ -1621,11 +1626,17 @@ class class_do_render_namumark:
                             wiki_data_syntax = wiki_data_syntax.group(1)
                             if not wiki_data_syntax:
                                 wiki_data_syntax = 'python'
+                            else:
+                                if wiki_data_syntax == 'asm' or wiki_data_syntax == 'assembly':
+                                    wiki_data_syntax = 'x86arm'
                         else:
                             wiki_data_syntax = 'python'
 
                         if syntax_count == 0:
                             self.render_data_js += 'hljs.highlightAll();\n'
+                            self.render_data_cdn += '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/default.min.css" integrity="sha512-hasIneQUHlh06VNBe7f6ZcHmeRTLIaQWFd43YriJ0UND19bvYRauxthDg8E4eVNPm9bRUhr5JGeqH7FRFXQu5g==" crossorigin="anonymous" referrerpolicy="no-referrer" />'
+                            self.render_data_cdn += '<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js" integrity="sha512-rdhY3cbXURo13l/WU9VlaRyaIYeJ/KBakckXIvJNAQde8DgpOmE+eZf7ha4vdqVjTtwQt69bD2wH2LXob/LB7Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
+                            self.render_data_cdn += '<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/x86asm.min.js" integrity="sha512-HeAchnWb+wLjUb2njWKqEXNTDlcd1QcyOVxb+Mc9X0bWY0U5yNHiY5hTRUt/0twG8NEZn60P3jttqBvla/i2gA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
 
                         data_name = self.get_tool_data_storage('<pre id="syntax"><code class="' + wiki_data_syntax + '">' + wiki_data, '</code></pre>', middle_data_org)
                         syntax_count += 1
@@ -1635,7 +1646,7 @@ class class_do_render_namumark:
                             self.render_data = re.sub(middle_regex, lambda x : middle_data_org, self.render_data, 1)
                             continue
 
-                        wiki_data = re.sub(r'^\+[1-5] ', '', middle_data)
+                        wiki_data = re.sub(r'^\+[1-5]( |\n)', '', middle_data)
                         if middle_name == '+5':
                             wiki_size = '200'
                         elif middle_name == '+4':
@@ -1655,7 +1666,7 @@ class class_do_render_namumark:
                             self.render_data = re.sub(middle_regex, lambda x : middle_data_org, self.render_data, 1)
                             continue
 
-                        wiki_data = re.sub(r'^\-[1-5] ', '', middle_data)
+                        wiki_data = re.sub(r'^\-[1-5]( |\n)', '', middle_data)
                         if middle_name == '-5':
                             wiki_size = '50'
                         elif middle_name == '-4':
@@ -1695,7 +1706,7 @@ class class_do_render_namumark:
                         wiki_color = self.get_tool_css_safe(wiki_color_data)
                         wiki_color = self.get_tool_dark_mode_split(wiki_color)
 
-                        wiki_data = re.sub(r'^@(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+))(?:,@(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+)))? ?', '', middle_data)
+                        wiki_data = re.sub(r'^@(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+))(?:,@(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+)))?( |\n)', '', middle_data)
 
                         middle_data_pass = wiki_data
                         data_name = self.get_tool_data_storage('<span style="background-color:' + wiki_color + '">', '</span>', middle_data_org)
@@ -1725,7 +1736,7 @@ class class_do_render_namumark:
                         wiki_color = self.get_tool_css_safe(wiki_color_data)
                         wiki_color = self.get_tool_dark_mode_split(wiki_color)
 
-                        wiki_data = re.sub(r'^#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+))(?:,#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+)))? ?', '', middle_data)
+                        wiki_data = re.sub(r'^#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+))(?:,#(?:((?:[0-9a-f-A-F]{3}){1,2})|(\w+)))?( |\n)', '', middle_data)
 
                         middle_data_pass = wiki_data
                         data_name = self.get_tool_data_storage('<span style="color:' + wiki_color + '">', '</span>', middle_data_org)
@@ -1956,6 +1967,8 @@ class class_do_render_namumark:
 
         self.render_data = re.sub(r'<a fn_target="([^"]+)"', do_render_last_footnote, self.render_data)
 
+        self.render_data = self.render_data_cdn + self.render_data
+
     def __call__(self):
         self.do_render_remark()
         self.do_render_include_default()