ソースを参照

namumark new beta

2du 4 年 前
コミット
f136e1e815

+ 1 - 1
route/tool/func.py

@@ -66,7 +66,7 @@ else:
 print('----')
 
 # Init-Load
-from .func_mark import *
+from .func_render import *
 
 from diff_match_patch import diff_match_patch
 

+ 17 - 6
route/tool/func_mark.py → route/tool/func_render.py

@@ -1,4 +1,4 @@
-from .func_tool import *
+from .func_render_namumark import *
 
 # 커스텀 마크 언젠간 다시 추가 예정
 
@@ -129,6 +129,14 @@ class class_do_render:
                     ''',
                     []
                 ]
+            elif rep_data == 'namumark_beta':
+                doc_include = (data_in + '_') if data_in else ''
+                data_end = class_do_render_namumark(
+                    curs,
+                    doc_name,
+                    doc_data,
+                    doc_include
+                )()
             elif rep_data == 'markdown':
                 data_in = (data_in + '_') if data_in else ''
                 doc_data = html.escape(doc_data)
@@ -160,11 +168,14 @@ class class_do_render:
             else:
                 return data_end[0] + '<script>' + data_end[1] + '</script>'
         else:
-            backlink = self.do_backlink_generate(
-                rep_data, 
-                doc_data, 
-                doc_name
-            )
+            if rep_data == 'namumark':
+                backlink = self.do_backlink_generate(
+                    rep_data, 
+                    doc_data, 
+                    doc_name
+                )
+            else:
+                backlink = []
 
             if backlink != []:
                 curs.executemany(db_change("insert into back (link, title, type) values (?, ?, ?)"), backlink)

+ 115 - 0
route/tool/func_render_namumark.py

@@ -0,0 +1,115 @@
+from .func_tool import *
+
+class class_do_render_namumark:
+    def __init__(
+        self,
+        curs,
+        doc_name, 
+        doc_data, 
+        doc_include
+    ):
+        self.curs = curs
+        
+        self.doc_data = doc_data
+        self.doc_name = doc_name
+        self.doc_include = doc_include
+        
+        self.data_nowiki = {}
+        self.data_backlink = []
+        
+        self.data_toc = ''
+        self.data_footnote = ''
+        self.data_category = ''
+
+    def do_render_text(self):
+        # <b>
+        self.render_data = re.sub(
+            r"&#x27;&#x27;&#x27;((?:(?!&#x27;&#x27;&#x27;).)+)&#x27;&#x27;&#x27;",
+            '<b>\g<1></b>',
+            self.render_data
+        )
+        # <i>
+        self.render_data = re.sub(
+            r"&#x27;&#x27;((?:(?!&#x27;&#x27;).)+)&#x27;&#x27;",
+            '<i>\g<1></i>',
+            self.render_data
+        )
+        # <u>
+        self.render_data = re.sub(
+            r"__((?:(?!__).)+)__",
+            '<u>\g<1></u>',
+            self.render_data
+        )
+        
+        # <sup>
+        self.render_data = re.sub(
+            r"\^\^\^((?:(?!\^\^\^).)+)\^\^\^",
+            '<sup>\g<1></sup>',
+            self.render_data
+        )
+        # <sup> 2
+        self.render_data = re.sub(
+            r"\^\^((?:(?!\^\^).)+)\^\^",
+            '<sup>\g<1></sup>',
+            self.render_data
+        )
+        
+        # <sub>
+        self.render_data = re.sub(
+            r",,,((?:(?!,,,).)+),,,",
+            '<sub>\g<1></sub>',
+            self.render_data
+        )
+        # <sub> 2
+        self.render_data = re.sub(
+            r",,((?:(?!,,).)+),,",
+            '<sub>\g<1></sub>',
+            self.render_data
+        )
+        
+        # <s>
+        self.render_data = re.sub(
+            r"--((?:(?!--).)+)--",
+            '<s>\g<1></s>',
+            self.render_data
+        )
+        # <s> 2
+        self.render_data = re.sub(
+            r"~~((?:(?!~~).)+)~~",
+            '<s>\g<1></s>',
+            self.render_data
+        )
+
+    def do_render_last(self):
+        # remove front_br and back_br
+        self.render_data = re.sub(
+            r'\n<front_br>',
+            '',
+            self.render_data
+        )
+        self.render_data = re.sub(
+            r'<back_br>\n',
+            '',
+            self.render_data
+        )
+        
+        # \n to <br>
+        self.render_data = re.sub(
+            r'\n',
+            '<br>',
+            self.render_data
+        )
+
+    def __call__(self):
+        self.render_data = html.escape(self.doc_data)
+        
+        self.render_data_js = ''
+
+        self.do_render_text()
+        self.do_render_last()
+        
+        return [
+            self.render_data, # HTML
+            self.render_data_js, # JS
+            [] # Other
+        ]

+ 0 - 0
route/tool/func_render_wiki.py


+ 0 - 17
views/main_css/js/render/onmark.js

@@ -1,17 +0,0 @@
-"use strict";
-
-class opennamu_render_onmark {
-    constructor(
-        render_part_id,
-        render_part_id_after,
-        render_part_id_add,
-        doc_name
-    ) {
-        this.doc_data = doc_data;
-        this.doc_name = doc_name;
-    }
-    
-    text_part() {
-        return doc_data;
-    }
-}