Kaynağa Gözat

아이고... 괜히 어설프게 JS 도입했다 피보네

Surplus_Up (2DU) 6 yıl önce
ebeveyn
işleme
4c489467ec

+ 7 - 2
route/api_topic_sub.py

@@ -73,6 +73,10 @@ def api_topic_sub_2(conn, topic_num):
                 if t_data_f == '':
                     t_data_f = '[br]'
 
+                t_data_f = render_set(data = t_data_f, num = 2, include = 'topic_' + i[0])
+                t_plus_data = t_data_f[1]
+                t_data_f = t_data_f[0]
+
                 all_data = '' + \
                     '<table id="toron">' + \
                         '<tbody>' + \
@@ -82,7 +86,7 @@ def api_topic_sub_2(conn, topic_num):
                                 '</td>' + \
                             '</tr>' + \
                             '<tr>' + \
-                                '<td id="' + b_color + '">' + render_set(data = t_data_f, include = 'topic_' + i[0]) + '</td>' + \
+                                '<td id="' + b_color + '">' + t_data_f + '</td>' + \
                             '</tr>' + \
                         '</tbody>' + \
                     '</table>' + \
@@ -90,7 +94,8 @@ def api_topic_sub_2(conn, topic_num):
                 ''
 
                 json_data[i[0]] = {
-                    "data" : all_data
+                    "data" : all_data,
+                    "plus_data" : t_plus_data
                 }
             else:
                 if i[4] != 'O' or (i[4] == 'O' and admin == 1):

+ 1 - 1
route/tool/func.py

@@ -427,7 +427,7 @@ def other2(data):
         data += ['']
 
     req_list = ''
-    main_css_ver = 10
+    main_css_ver = 11
 
     if not 'main_css_load' in flask.session or not 'main_css_ver' in flask.session or flask.session['main_css_ver'] != main_css_ver:
         for i_data in os.listdir(os.path.join("views", "main_css", "css")):

+ 0 - 1
route/tool/mark.py

@@ -1,5 +1,4 @@
 from .set_mark.namumark import namumark, link_fix
-from .set_mark.markdown import markdown
 
 from .set_mark.tool import *
 

+ 0 - 14
route/tool/set_mark/markdown.py

@@ -1,14 +0,0 @@
-from . import tool
-
-import datetime
-import html
-import re
-
-def markdown(conn, data, title, main_num):
-    curs = conn.cursor()
-
-    data = '<div id="render_contect">' + re.sub('\r\n', '<br>', html.escape(data)) + '</div>'
-    plus_data = '<script>render_markdown();</script>'
-    backlink = []
-
-    return [data, plus_data, backlink]

+ 6 - 7
route/tool/set_mark/namumark.py

@@ -465,13 +465,12 @@ def namumark(conn, data, title, main_num, include_num):
     global end_data
 
     data = '\n' + data + '\n'
-    plus_data = '<script>get_link_state(); get_file_state();</script>'
+    include_num = include_num + '_' if include_num else ''
+    plus_data = '<script>get_link_state("' + include_num + '"); get_file_state("' + include_num + '");</script>'
 
     backlink = []
     end_data = {}
 
-    include_num = include_num + '_' if include_num else ''
-
     data = re.sub('<math>(?P<in>(?:(?!<\/math>).)+)<\/math>', '[math(\g<in>)]', data)
 
     data = html.escape(data)
@@ -997,8 +996,8 @@ def namumark(conn, data, title, main_num, include_num):
                     '\[\[((?:(?!\[\[|\]\]).)+)\]\]',
                     '<span style="' + file_align + '">' + \
                         '<span style="' + file_color + '">' + \
-                            '<img class="file_finder_1" style="' + file_style + '" alt="' + file_alt + '" src="' + file_src + '">' + \
-                            '<a class="file_finder_2" id="not_thing" href="/upload?name=' + tool.url_pas(file_name) + '">' + file_alt + '</a>' + \
+                            '<img class="' + include_num + 'file_finder_1" style="' + file_style + '" alt="' + file_alt + '" src="' + file_src + '">' + \
+                            '<a class="' + include_num + 'file_finder_2" id="not_thing" href="/upload?name=' + tool.url_pas(file_name) + '">' + file_alt + '</a>' + \
                         '</span>' + \
                     '</span>',
                     data,
@@ -1018,7 +1017,7 @@ def namumark(conn, data, title, main_num, include_num):
                     main_link = re.sub('#blur', '', main_link)
 
                 backlink += [[title, main_link, 'cat']]
-                category += '<a class="link_finder" href="' + tool.url_pas(main_link) + '">' + category_re.sub('', see_link) + '</a> | '
+                category += '<a class="' + include_num + 'link_finder" href="' + tool.url_pas(main_link) + '">' + category_re.sub('', see_link) + '</a> | '
 
                 data = re.sub('\[\[((?:(?!\[\[|\]\]).)+)\]\]', '', data, 1)
             elif re.search('^wiki:', main_link):
@@ -1089,7 +1088,7 @@ def namumark(conn, data, title, main_num, include_num):
 
                             data = re.sub(
                                 '\[\[((?:(?!\[\[|\]\]).)+)\]\]',
-                                '<a class="link_finder" ' + \
+                                '<a class="' + include_num + 'link_finder" ' + \
                                     'title="' + main_link + other_link + '" ' + \
                                     'href="/w/' + tool.url_pas(main_link) + other_link + '"' + \
                                 '>' + see_link + '</a>',

+ 0 - 0
route/tool/set_mark/namumark_backlink.py


+ 16 - 13
views/main_css/js/load_namumark.js

@@ -1,28 +1,31 @@
-function get_link_state(i = 0) {       
-    if(document.getElementsByClassName('link_finder')[i]) {
-        var link_data = document.getElementsByClassName('link_finder')[i];
+function get_link_state(data, i = 0) { 
+    console.log(i);
+    console.log(data + 'link_finder');
+    console.log(document.getElementsByClassName(data + 'link_finder')[i]);
+    if(document.getElementsByClassName(data + 'link_finder')[i]) {
+        var link_data = document.getElementsByClassName(data + 'link_finder')[i];
 
         var xhr = new XMLHttpRequest();
         xhr.open("GET", link_data.href.replace('/w/', '/api/w/') + "?exist=1", true);
         xhr.send(null);
-        
+
         xhr.onreadystatechange = function() {
             if(this.readyState === 4 && this.status === 200) {
                 if(JSON.parse(this.responseText)['exist'] !== '1') {
-                    document.getElementsByClassName('link_finder')[i].id = "not_thing";
+                    document.getElementsByClassName(data + 'link_finder')[i].id = "not_thing";
                 } else {
-                    document.getElementsByClassName('link_finder')[i].id = "";
+                    document.getElementsByClassName(data + 'link_finder')[i].id = "";
                 }
 
-                get_link_state(i + 1);
+                get_link_state(data, i + 1);
             }
         }
     }
 }
 
-function get_file_state(i = 0) {       
-    if(document.getElementsByClassName('file_finder_1')[i]) {
-        var file_data = document.getElementsByClassName('file_finder_1')[i];
+function get_file_state(data, i = 0) {       
+    if(document.getElementsByClassName(data + 'file_finder_1')[i]) {
+        var file_data = document.getElementsByClassName(data + 'file_finder_1')[i];
 
         var xhr = new XMLHttpRequest();
         xhr.open("GET", file_data.src.replace('/image/', '/api/image/'), true);
@@ -31,12 +34,12 @@ function get_file_state(i = 0) {
         xhr.onreadystatechange = function() {
             if(this.readyState === 4 && this.status === 200) {
                 if(JSON.parse(this.responseText)['exist'] !== '1') {
-                    document.getElementsByClassName('file_finder_1')[i].style = "display: none;";
+                    document.getElementsByClassName(data + 'file_finder_1')[i].style = "display: none;";
                 } else {
-                    document.getElementsByClassName('file_finder_2')[i].innerHTML = "";
+                    document.getElementsByClassName(data + 'file_finder_2')[i].innerHTML = "";
                 }
             
-                get_file_state(i + 1);
+                get_file_state(data, i + 1);
             }
         }
     }

+ 4 - 0
views/main_css/js/topic_list_load.js

@@ -10,11 +10,15 @@ function topic_list_load(topic_num, s_num, where) {
     xhr.onreadystatechange = function() {
         if(this.readyState === 4 && this.status === 200) {
             var t_data = JSON.parse(this.responseText);
+            var t_plus_data = '';
+            
             for(key in t_data) {
                 n_data += t_data[key]['data'];
+                t_plus_data += t_data[key]['plus_data'].replace(/<script>/g, '').replace(/<\/script>/g, '');
             }
 
             o_data.innerHTML = n_data;
+            eval(t_plus_data);
         }
     }
 

+ 6 - 15
views/main_css/js/topic_main_load.js

@@ -20,30 +20,21 @@ function topic_main_load(topic_num, s_num) {
     xhr.onreadystatechange = function() {
         if(xhr.readyState === 4 && xhr.status === 200) {
             var t_data = JSON.parse(xhr.responseText);
+            var t_plus_data = '';
+
             for(var key in t_data) {
                 n_data += t_data[key]['data'];
                 num = key;
+
+                t_plus_data += t_data[key]['plus_data'].replace(/<script>/g, '').replace(/<\/script>/g, '');
             }
 
             o_data.innerHTML = n_data;
+            eval(t_plus_data);
+
             if(!s_num) {
                 topic_plus_load(topic_num, String(Number(num) + 1));
             }
-
-            xhr_2.onreadystatechange = function() {
-                if(xhr_2.readyState === 4 && xhr_2.status === 200) {
-                    var markup = JSON.parse(xhr_2.responseText)['markup'];
-
-                    if(markup === 'markdown') {
-                        render_markdown();
-                    } else {
-                        for(var key in t_data) {
-                            render_html('topic_' + String(key) + '-');
-                        }
-                    }
-                }
-            }
         }
     }
-
 }

+ 5 - 14
views/main_css/js/topic_plus_load.js

@@ -17,12 +17,17 @@ function topic_plus_load(topic_num, num) {
         xhr.onreadystatechange = function() {
             if(this.readyState === 4 && this.status === 200 && this.responseText !== '{}\n') {
                 var t_data = JSON.parse(this.responseText);
+                var t_plus_data = '';
+
                 for(key in t_data) {
                     n_data += t_data[key]['data'];
                     n_num = key;
+
+                    t_plus_data += t_data[key]['plus_data'].replace(/<script>/g, '').replace(/<\/script>/g, '');
                 }
 
                 p_data.innerHTML += n_data;
+                eval(t_plus_data);
 
                 // https://programmingsummaries.tistory.com/379
                 var options = {
@@ -35,20 +40,6 @@ function topic_plus_load(topic_num, num) {
                     notification.close();
                 }, 5000);
 
-                xhr_2.onreadystatechange = function() {
-                    if(xhr_2.readyState === 4 && xhr_2.status === 200) {
-                        markup = JSON.parse(xhr_2.responseText)['markup'];
-
-                        if(markup === 'markdown') {
-                            render_markdown();
-                        } else {
-                            for(var key in t_data) {
-                                render_html('topic_' + String(key) + '-');
-                            }
-                        }
-                    }
-                }
-
                 topic_plus_load(topic_num, String(Number(num) + 1));
                 clearInterval(test);
             }

+ 6 - 0
views/main_css/js/topic_top_load.js

@@ -11,12 +11,18 @@ function topic_top_load(topic_num) {
     xhr.onreadystatechange = function() {
         if(this.readyState === 4 && this.status === 200) {
             var t_data = JSON.parse(this.responseText);
+            var t_plus_data = '';
+
             for(var key in t_data) {
                 n_data += t_data[key]['data'];
                 num = key;
+
+                t_plus_data += t_data[key]['plus_data'].replace(/<script>/g, '').replace(/<\/script>/g, '');
             }
 
             o_data.innerHTML = n_data;
+            eval(t_plus_data);
+
             topic_main_load(topic_num, null);
         }
     }