Просмотр исходного кода

Merge pull request #697 from 2du/make_render

아 실수로 여기서 했네
잉여개발기 (SPDV) 6 лет назад
Родитель
Сommit
b3c67f3d06

+ 1 - 1
route/api_skin_info.py

@@ -35,6 +35,6 @@ def api_skin_info_2(conn, name):
                 a_data = {**a_data, **{ i : json_data }}
 
         if a_data == {}:
-            return flask.jsonify({}), 404
+            return flask.jsonify({})
         else:
             return flask.jsonify(a_data)

+ 1 - 1
route/api_topic_sub.py

@@ -88,4 +88,4 @@ def api_topic_sub_2(conn, name, sub, time):
 
         return flask.jsonify(json_data)
     else:
-        return flask.jsonify({}), 404
+        return flask.jsonify({})

+ 1 - 1
route/api_w.py

@@ -15,4 +15,4 @@ def api_w_2(conn, name):
         
             return flask.jsonify(json_data)
         else:
-            return flask.jsonify({}), 404
+            return flask.jsonify({})

+ 4 - 4
route/edit.py

@@ -66,18 +66,18 @@ def edit_2(conn, name):
         new = curs.fetchall()
         if new:
             if flask.request.args.get('section', None):
-                data = '\n' + re.sub('\r\n', '\n', new[0][0]) + '\n'
+                data = re.sub('\n(?P<in>={1,6})', '<br>\g<in>', '\n' + re.sub('\r\n', '\n', new[0][0]) + '\n')
                 i = 0
 
                 while 1:
-                    g_data = re.search('\n((?:={1,6}) ?(?:(?:(?!\n).)+) ?\n(?:(?:(?:(?!(?:={1,6}) ?(?:(?:(?!\n).)+) ?\n).)+\n+)+))', data)
+                    g_data = re.search('((?:<br>={1,6})(?:(?:(?!\n).)+)\n(?:(?:(?:(?!<br>(?:={1,6})).)+\n*)+))', data)
                     if g_data:
                         if int(flask.request.args.get('section', '1')) - 1 == i:
-                            data = g_data.groups()[0]
+                            data = re.sub('<br>(?P<in>={1,6})', '\n\g<in>', g_data.groups()[0])
                             
                             break
                         else:
-                            data = re.sub('\n((?:={1,6}) ?(?:(?:(?!\n).)+) ?\n(?:(?:(?:(?!(?:={1,6}) ?(?:(?:(?!\n).)+) ?\n).)+\n+)+))', '\n', data, 1)
+                            data = re.sub('((?:<br>={1,6})(?:(?:(?!\n).)+)\n(?:(?:(?:(?!<br>(?:={1,6})).)+\n*)+))', '\n', data, 1)
 
                         i += 1
                     else:

+ 9 - 7
route/tool/set_mark/markdown.py

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

+ 16 - 0
route/view_read.py

@@ -125,6 +125,22 @@ def view_read_2(conn, name):
             end_data = '<h2>' + load_lang('error') + '</h2><ul><li>' + sql_d[0][0] + '</li></ul>'
         else:
             end_data = '<h2>' + load_lang('error') + '</h2><ul><li>' + load_lang('decument_404_error') + '</li></ul>'
+            
+        curs.execute('select ip, date, leng, send from history where title = ? order by id desc limit 3', [name])
+        sql_d = curs.fetchall()
+        if sql_d:
+            end_data += '<h2>' + load_lang('history') + '</h2><ul>'
+            for i in sql_d:
+                if re.search("\+", i[2]):
+                    leng = '<span style="color:green;">(' + i[2] + ')</span>'
+                elif re.search("\-", i[2]):
+                    leng = '<span style="color:red;">(' + i[2] + ')</span>'
+                else:
+                    leng = '<span style="color:gray;">(' + i[2] + ')</span>'
+            
+                end_data += '<li>' + i[1] + ' | ' + ip_pas(i[0]) + ' | ' + leng + (' | ' + i[3] if i[3] != '' else '') + '</li>'
+                
+            end_data += '<li><a href="/history/' + url_pas(name) + '">(...)</a></li></ul>'
     else:
         response_data = 200
     

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "master" : {
-        "r_ver" : "v3.1.2-master-08",
+        "r_ver" : "v3.1.2-master-11",
         "c_ver" : "400001",
         "s_ver" : "2"
     }, "stable" : {

+ 3 - 2
views/main_css/css/main.css

@@ -19,7 +19,7 @@ input[type="checkbox"] { width: auto; }
 #toron_color_red { background: indianred; }
 #toron_color_grey { background: gainsboro; }
 #cate { border: 1px solid; padding: 5px; }
-blockquote { border: 1px solid; padding: 15px; margin: 0; margin-top: 10px; }
+blockquote { border: 1px solid; padding: 15px; margin: 0; margin-top: 10px; display: inline-block; }
 img, iframe { max-width: 100%; }
 pre { border: 1px solid; padding: 10px; white-space: pre-wrap; }
 #in { margin-left: 20px; }
@@ -37,4 +37,5 @@ hr.main_hr { border: none; }
 .foot_plus { background: gainsboro; }
 #toc_title { font-size: 18px; }
 blockquote { background-image: url(/views/acme/img/quote.png); background-position: calc(100% - 10px) 10px; background-repeat: no-repeat; background-size: 25px; }
-#admin_log_search { width: 100px; }
+#admin_log_search { width: 100px; }
+@media (max-width: 768px) { table { min-width: 100%; }}

+ 13 - 1
views/main_css/js/do_preview.js

@@ -13,7 +13,19 @@ function do_preview(name) {
 
     xhr.onreadystatechange = function() {
         if(this.readyState === 4 && this.status === 200) {
-            p_data.innerHTML = JSON.parse(this.responseText)['data'];
+            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;
+                }
+            }
         }
     }
 }

+ 7 - 0
views/main_css/js/render_markdown.js

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

+ 0 - 2
views/neo_yousoro/css/main.css

@@ -375,8 +375,6 @@ blockquote {
     padding: 1em calc(2em + 25px) 1em 1em;
     margin: 1em 0em 0em;
     background: #eeeeee;
-    display: block;
     border: 2px dashed #ccc;
     border-left: 5px solid skyblue;
-    font-size: 14px;
 }