Переглянути джерело

JS 렌더링 방식 수정, JS 알림 버그 수정

Surplus_Up (2DU) 6 роки тому
батько
коміт
2faa9d80cf

+ 4 - 0
app.py

@@ -594,6 +594,10 @@ def api_version():
 def api_skin_info(name = ''):
     return api_skin_info_2(conn, name)
 
+@app.route('/api/markup')
+def api_markup(name = ''):
+    return api_markup_2(conn, name)
+
 @app.route('/api/topic/<everything:name>/sub/<sub>')
 def api_topic_sub(name = '', sub = '', time = ''):
     return api_topic_sub_2(conn, name, sub, time)

+ 11 - 0
route/api_markup.py

@@ -0,0 +1,11 @@
+from .tool.func import *
+
+def api_markup_2(conn, name):
+    curs = conn.cursor()
+
+    curs.execute('select data from other where name = "markup"')
+    rep_data = curs.fetchall()
+    if rep_data[0][0] != '':
+        return flask.jsonify({ "markup" : rep_data[0][0] })
+    else:
+        return flask.jsonify({})

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "master" : {
-        "r_ver" : "v3.1.2-master-18",
+        "r_ver" : "v3.1.2-master-19",
         "c_ver" : "400002",
         "s_ver" : "2"
     }, "stable" : {

+ 15 - 12
views/main_css/js/do_preview.js

@@ -6,24 +6,27 @@ function do_preview(name) {
     s_data.append('data', o_data.value);
 
     var url = "/api/w/" + name;
+    var url_2 = "/api/markup";
     
     var xhr = new XMLHttpRequest();
     xhr.open("POST", url, true);
     xhr.send(s_data);
 
+    var xhr_2 = new XMLHttpRequest();
+    xhr_2.open("GET", url_2, true);
+    xhr_2.send(null);
+
     xhr.onreadystatechange = function() {
-        if(this.readyState === 4 && this.status === 200) {
-            g_data = JSON.parse(this.responseText)['data'];
-            p_data.innerHTML = g_data;
-            
-            while(1) {
-                m_data = g_data.match(/<script>((?:(?!<\/script>).)+)<\/script>/);
-                if(m_data) {
-                    eval(m_data[1]);
-                    
-                    g_data = g_data.replace(/<script>((?:(?!<\/script>).)+)<\/script>/, '', 1);
-                } else {
-                    break;
+        if(xhr.readyState === 4 && xhr.status === 200) {
+            p_data.innerHTML = JSON.parse(xhr.responseText)['data'];
+
+            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();
+                    }
                 }
             }
         }

+ 2 - 2
views/main_css/js/render_markdown.js

@@ -1,7 +1,7 @@
 function render_markdown() {
     data = document.getElementById('render_contect').innerHTML;
-   
-    data = data.replace(/\*\*((?:(?!\*\*).)+)\*\*/, '<g>$1</g>');
+
+    data = data.replace(/\*\*((?:(?!\*\*).)+)\*\*/, '<b>$1</b>');
     data = data.replace(/__((?:(?!__).)+)__/, '<b>$1</b>');
     data = data.replace(/\*((?:(?!\*).)+)\*/, '<i>$1</i>');
     data = data.replace(/_((?:(?!_).)+)_/, '<i>$1</i>');

+ 18 - 2
views/main_css/js/topic_main_load.js

@@ -5,6 +5,7 @@ function topic_main_load(name, sub, s_num = null) {
     } else {
         var url = "/api/topic/" + name + "/sub/" + sub + "?render=1";
     }
+    var url_2 = "/api/markup";
     var n_data = "";
     var num = 1;
     
@@ -12,9 +13,13 @@ function topic_main_load(name, sub, s_num = null) {
     xhr.open("GET", url, true);
     xhr.send(null);
 
+    var xhr_2 = new XMLHttpRequest();
+    xhr_2.open("GET", url_2, true);
+    xhr_2.send(null);
+
     xhr.onreadystatechange = function() {
-        if(this.readyState === 4 && this.status === 200) {
-            t_data = JSON.parse(this.responseText);
+        if(xhr.readyState === 4 && xhr.status === 200) {
+            t_data = JSON.parse(xhr.responseText);
             for(key in t_data) {
                 n_data += t_data[key]['data'];
                 num = key;
@@ -24,6 +29,17 @@ function topic_main_load(name, sub, s_num = null) {
             if(!s_num) {
                 topic_plus_load(name, sub, String(Number(num) + 1));
             }
+
+            // 여기 수정 필요
+            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();
+                    }
+                }
+            }
         }
     }
     

+ 1 - 1
views/main_css/js/topic_plus_load.js

@@ -10,7 +10,7 @@ function topic_plus_load(name, sub, num) {
         xhr.send(null);
 
         xhr.onreadystatechange = function() {
-            if(this.readyState === 4 && this.status === 200 && this.responseText && this.responseText !== {}) {                
+            if(this.readyState === 4 && this.status === 200 && this.responseText !== '{}\n') {                
                 t_data = JSON.parse(this.responseText);
                 for(key in t_data) {
                     n_data += t_data[key]['data'];