2du il y a 4 ans
Parent
commit
c57775d74e
4 fichiers modifiés avec 84 ajouts et 21 suppressions
  1. 1 1
      route/tool/func.py
  2. 1 1
      version.json
  3. 36 0
      views/main_css/js/load_shortcut.js
  4. 46 19
      views/main_css/js/render_onmark.js

+ 1 - 1
route/tool/func.py

@@ -84,7 +84,7 @@ if sys.version_info < (3, 6):
 global_lang = {}
 global_wiki_set = {}
 
-data_css_ver = '105'
+data_css_ver = '106'
 data_css = ''
 
 conn = ''

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.0 (stable-01) (beta-02) (dev-14)",
+        "r_ver" : "v3.4.0 (stable-02b) (beta-03) (dev-15)",
         "c_ver" : "3400101",
         "s_ver" : "12"
     }

+ 36 - 0
views/main_css/js/load_shortcut.js

@@ -0,0 +1,36 @@
+let shortcut_key_list = [];
+document.onkeyup = function(e) {
+    delete shortcut_key_list[e.key];
+}
+
+document.onkeypress = function(e) {
+    let doc_shortcut = /^\/(w|history)\//i;
+    
+    shortcut_key_list[e.key] = 1;
+    if(
+        window.location.pathname.match(doc_shortcut) ||
+        window.location.pathname === '/recent_change' ||
+        window.location.pathname === '/recent_changes' ||
+        window.location.pathname === '/recent_discuss'
+    ) {
+        if(shortcut_key_list['f'] === 1) {
+            window.location.href = '/';
+        } else if(shortcut_key_list['c'] === 1) {
+            window.location.href = '/recent_change';
+        } else if(shortcut_key_list['d'] === 1) {
+            window.location.href = '/recent_discuss';
+        } else if(shortcut_key_list['a'] === 1) {
+            window.location.href = '/random';
+        }
+    }
+    
+    if(window.location.pathname.match(doc_shortcut)) {
+        if(shortcut_key_list['w'] === 1) {
+            window.location.pathname = window.location.pathname.replace(doc_shortcut, '/w/');
+        } else if(shortcut_key_list['e'] === 1) {
+            window.location.pathname = window.location.pathname.replace(doc_shortcut, '/edit/');
+        } else if(shortcut_key_list['h'] === 1) {
+            window.location.pathname = window.location.pathname.replace(doc_shortcut, '/history/');
+        }
+    }
+}

+ 46 - 19
views/main_css/js/render_onmark.js

@@ -31,7 +31,21 @@ function do_link_change(data, data_nowiki, no_change) {
 }
 
 function do_darkmode_split(data) {
-    return data.split(',')[0];
+    console.log(document.cookie.match(regex_data('main_css_darkmode')));
+    if(
+        document.cookie.match(regex_data('main_css_darkmode')) &&
+        document.cookie.match(regex_data('main_css_darkmode'))[1] === '1'
+    ) {
+        let data_split = data.split(',');
+        console.log(data_split);
+        if(data_split.length > 1) {
+            return data.split(',')[1];
+        } else {
+            return data.split(',')[0];
+        }
+    } else {
+        return data.split(',')[0];
+    }
 }
 
 function do_js_safe_change(data, br_on = 1) {
@@ -97,6 +111,12 @@ function do_xss_change(data) {
     return data;
 }
 
+function do_end_br_replace(data) {
+    data = data.replace(/(\n| )+$/, '');
+    
+    return data;
+}
+
 // Sub
 function do_onmark_text_render(data) {    
     data = data.replace(/'''((?:(?!''').)+)'''/g, '<b>$1</b>');
@@ -185,7 +205,7 @@ function do_onmark_heading_render(data, name_doc, name_include) {
     
     if(toc_data !== '') {
         toc_data += '</div>';
-        data += '</div>';
+        data = do_end_br_replace(data) + '</div>';
     }
     
     var toc_auto_add = data.match(/\[(?:목차|toc)\(no\)\]/);
@@ -254,9 +274,9 @@ function do_onmark_link_render(data, data_js, name_doc, name_include, data_nowik
                     file_set_name = file_set_name[0];
 
                     if(file_set_name === 'width') {
-                        file_style += 'width:' + file_set_data + ';';
+                        file_style += 'width:' + do_px_add(file_set_data) + ';';
                     } else if(file_set_name === 'height') {
-                        file_style += 'height:' + file_set_data + ';';
+                        file_style += 'height:' + do_px_add(file_set_data) + ';';
                     } else if(file_set_name === 'bgcolor') {
                         file_bgcolor += 'background:' + file_set_data + ';';
                     } else if(file_set_name === 'alt') {
@@ -433,7 +453,7 @@ function do_onmark_link_render(data, data_js, name_doc, name_include, data_nowik
             category_data = '<div style="display: none;" id="cate_all"><div id="cate">Category : ' + category_data;
         }
         
-        data += category_data.replace(/\| $/, '') + '</div></div>';
+        data = do_end_br_replace(data) + category_data.replace(/\| $/, '') + '</div></div>';
     }
     
     return [data, data_js];
@@ -498,7 +518,7 @@ function do_onmark_footnote_render(data, name_include) {
     }
     
     if(name_include === '' && footnote_end_data !== '') {
-        data += '<ul id="footnote_data">' + footnote_end_data + '</ul>';
+        data = do_end_br_replace(data) + '<ul id="footnote_data">' + footnote_end_data + '</ul>';
     }
     
     return data;
@@ -609,22 +629,26 @@ function do_onmark_middle_render(data, data_js, name_include, data_nowiki, name_
             }
 
             var middle_type = middle_data.match(
-                /^(?:(?:(?:(#|@)((?:[0-9a-f-A-F]{3}){1,2}))(?:,(?:#|@)(?:(?:[0-9a-f-A-F]{3}){1,2}))?|(#|@)([a-zA-Z]+))|(\+|-)([1-5])|#!(html|wiki|syntax|folding|html))$/i
+                /^(?:(?:(#|@)((?:[0-9a-f-A-F]{3}){1,2}|\w+))(?:,(?:(#|@)((?:[0-9a-f-A-F]{3}){1,2}|\w+)))?|(\+|-)([1-5])|#!(html|wiki|syntax|folding|html))$/i
             );
             if(middle_type) {
                 if(middle_data_x_1[middle_data_x_1.length - 1] === '\\') {
                     return middle_data_before + '{{{' + middle_data_x_1 + '<mid_e>';
                 } else if(middle_type[1]) {
-                    if(middle_type[1] === '@') {
-                        return middle_data_before + '<span style="background: #' + middle_type[2] + '">' + middle_data_all + '</span>';
-                    } else {
-                        return middle_data_before + '<span style="color: #' + middle_type[2] + '">' + middle_data_all + '</span>';
+                    let data_color = middle_type[2];
+                    if(middle_type[3]) {
+                        data_color = do_darkmode_split(middle_type[2] + ',' + middle_type[4])    
+                    }
+                    
+                    let data_sharp = '';
+                    if(data_color.match(/^(?:[0-9a-f-A-F]{3}){1,2}$/)) {
+                        data_sharp = '#';
                     }
-                } else if(middle_type[3]) {
-                    if(middle_type[3] === '@') {
-                        return middle_data_before + '<span style="background: ' + middle_type[4] + '">' + middle_data_all + '</span>';
+                    
+                    if(middle_type[1] === '@') {
+                        return middle_data_before + '<span style="background: ' + data_sharp + data_color + '">' + middle_data_all + '</span>';
                     } else {
-                        return middle_data_before + '<span style="color: ' + middle_type[4] + '">' + middle_data_all + '</span>';
+                        return middle_data_before + '<span style="color: ' + data_sharp + data_color + '">' + middle_data_all + '</span>';
                     }
                 } else if(middle_type[5]) {
                     if(middle_type[5] === '+') {
@@ -743,7 +767,7 @@ function do_onmark_last_render(data) {
     
     // br 마지막 처리
     data = data.replace(/^(\n| )+/, '');
-    data = data.replace(/(\n| )+$/, '');
+    data = do_end_br_replace(data);
     data = data.replace(/\n/g, '<br>');
     
     return data;
@@ -915,9 +939,10 @@ function do_onmark_table_render_sub(data, data_col) {
                 
                 
             } else {
-                var table_option_data = data_option.replace(/"/g, '').match(/^((?:#[a-zA-Z0-9]{3}){1,2}|\w+)/);
+                var table_option_data = data_option.replace(/"/g, '')
+                table_option_data = table_option_data.match(/^((?:(?:#[a-zA-Z0-9]{3}){1,2}|\w+)(?:,(?:(?:#[a-zA-Z0-9]{3}){1,2}|\w+))?)/);
                 if(table_option_data) {
-                    data_option_all['td'] += 'background:' + table_option_data[1] + ';';
+                    data_option_all['td'] += 'background:' + do_darkmode_split(table_option_data[1]) + ';';
                 } else {
                     no_option = '<lt>' + data_option + '<gt>';
                 }
@@ -1076,11 +1101,13 @@ function do_onmark_list_sub_render(data) {
         });
 
         data = data.replace(quote_re, '' +
+            '\n<start_point>' +
             '<blockquote>' + 
                 '<end_point>\n' +
                 quote_end_data + 
                 '\n<start_point>' +
             '</blockquote>' +
+            '<end_point>\n' +
        '');
     }
     
@@ -1189,7 +1216,7 @@ function do_onmark_redirect_render(data, data_js, name_doc) {
 }
 
 function do_onmark_remark_render(data) {
-    data = data.replace(/\n##([^\n]+)/, '');
+    data = data.replace(/\n##([^\n]+)/g, '');
     
     return data;
 }