2du vor 5 Jahren
Ursprung
Commit
411dce82e1
5 geänderte Dateien mit 57 neuen und 3 gelöschten Zeilen
  1. 1 1
      route/tool/func.py
  2. 1 1
      route/tool/init.py
  3. 2 0
      route/tool/mark.py
  4. 1 1
      version.json
  5. 52 0
      views/main_css/js/load_onmark_render.js

+ 1 - 1
route/tool/func.py

@@ -1210,7 +1210,7 @@ def edit_filter_do(data):
     return 0
 
 def redirect(data = '/'):
-    return flask.redirect(data)
+    return '<script>window.location.href = "' + data.replace('"', '\\"') + '";</script>'
 
 def get_acl_list(type_d = 'normal'):
     if type_d == 'user':

+ 1 - 1
route/tool/init.py

@@ -29,7 +29,7 @@ server_set_var = {
         'display' : 'Markup',
         'require' : 'select',
         'default' : 'namumark',
-        'list' : ['namumark', 'markdown', 'custom', 'raw']
+        'list' : ['namumark', 'markdown', 'custom', 'js_onmark', 'raw']
     },
     'encode' : {
         'display' : 'Encryption method',

+ 2 - 0
route/tool/mark.py

@@ -56,6 +56,8 @@ def render_do(title, data, num, include):
         data = markdown(conn, data, title, include)
     elif rep_data[0][0] == 'custom':
         data = custom_mark(conn, data, title, include)
+    elif rep_data[0][0] == 'js_onmark':
+        data = ['<div id="raw_data_field">' + data + '</div>', 'do_onmark_render("raw_data_field");', []]
     elif rep_data[0][0] == 'raw':
         data = [data, '', []]
     else:

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.2.0-stable-13 (beta-47) (dev-2021-02-05-01)",
+        "r_ver" : "v3.2.0-stable-13 (beta-48) (dev-2021-02-05-02)",
         "c_ver" : "3203400",
         "s_ver" : "11"
     }

+ 52 - 0
views/main_css/js/load_onmark_render.js

@@ -0,0 +1,52 @@
+function do_onmark_text_render(data) {
+    data = data.replace(/'''((?:(?!''').)+)'''/g, '<b>$1</b>');
+    data = data.replace(/''((?:(?!'').)+)''/g, '<i>$1</i>');
+    data = data.replace(/__((?:(?!__).)+)__/g, '<u>$1</u>');
+    data = data.replace(/\^\^((?:(?!\^\^).)+)\^\^/g, '<sup>$1</sup>');
+    data = data.replace(/,,((?:(?!,,).)+),,/g, '<sub>$1</sub>');
+    data = data.replace(/--((?:(?!--).)+)--/g, '<s>$1</s>');
+    data = data.replace(/~~((?:(?!~~).)+)~~/g, '<s>$1</s>');
+    
+    return data;
+}
+
+function do_onmark_heading_render(data) {
+    var heading_re = /<br>(={1,6}) ?([^=]+) ?={1,6}<br>/;
+    var heading_level_all = [0, 0, 0, 0, 0, 0];
+    while(data.match(heading_re)) {
+        console.log(data.match(heading_re));
+        data = data.replace(heading_re, function(x, heading_level, heading_data) {
+            console.log(heading_level);
+            heading_level = heading_level.length;
+            heading_level_all[heading_level - 1] += 1;
+
+            var i = 6;
+            while(i > heading_level - 1) {
+                heading_level_all[i] = 0;
+
+                i -= 1;
+            }
+
+            console.log(heading_level_all);
+            heading_level = String(heading_level);
+            heading_level_string = heading_level_all.join('.');
+            console.log(heading_level_string);
+            
+            return '<h' + heading_level + '>' + heading_data + '</h' + heading_level + '><br>';
+        });
+    }
+    
+    console.log(data.match(heading_re));
+    
+    return data;
+}
+
+function do_onmark_render(id_name) {
+    var data = document.getElementById(id_name).innerHTML;
+    data = '<br>' + data.replace(/\n/g, '<br>') + '<br>';
+    
+    data = do_onmark_text_render(data);
+    data = do_onmark_heading_render(data);
+    
+    document.getElementById(id_name).innerHTML = data;
+}