فهرست منبع

Merge pull request #379 from 2DU/master

Master
ect (or 2du) 8 سال پیش
والد
کامیت
6708bac00d
10فایلهای تغییر یافته به همراه45 افزوده شده و 98 حذف شده
  1. 21 17
      app.py
  2. 18 14
      set_mark/footnote.py
  3. 2 2
      set_mark/mid_pas.py
  4. 1 1
      set_mark/text_help.py
  5. 2 1
      set_mark/toc_pas.py
  6. 1 1
      version.md
  7. 0 18
      views/file/MathJax.js
  8. 0 42
      views/file/config/TeX-AMS_CHTML.js
  9. 0 1
      views/file/default.min.css
  10. 0 1
      views/file/highlight.min.js

+ 21 - 17
app.py

@@ -17,7 +17,7 @@ logging.basicConfig(level = logging.ERROR)
 app = Flask(__name__)
 Reggie(app)
 
-r_ver = 'v2.6.4'
+r_ver = 'v2.6.5 Beta'
 print('Version : ' + r_ver)
 
 from func import *
@@ -1779,7 +1779,6 @@ def manager(num = 1):
                                         '== 목록 ==\r\n' + \
                                         ' * [[wiki:manager/2|문서 ACL]]\r\n' + \
                                         ' * [[wiki:manager/3|사용자 검사]]\r\n' + \
-                                        ' * [[wiki:manager/100|사용자 비교]]\r\n' + \
                                         ' * [[wiki:manager/4|사용자 차단]]\r\n' + \
                                         ' * [[wiki:manager/5|권한 주기]]\r\n' + \
                                         ' * [[wiki:big_delete|여러 문서 삭제]]\r\n' + \
@@ -1811,19 +1810,6 @@ def manager(num = 1):
                         </form>',
                 menu = [['manager', '관리자']]
             ))
-    elif num == 100:
-        if request.method == 'POST':
-            return redirect('/check/' + url_pas(request.form['name']) + '?plus=' + url_pas(request.form['name2']))
-        else:
-            return html_minify(template('index', 
-                imp = ['검사', wiki_set(conn, 1), custom(conn), other2([0, 0])],
-                data = '<form method="post"> \
-                            <input placeholder="사용자명" name="name" type="text"><hr> \
-                            <input placeholder="비교 대상" name="name2" type="text"><hr> \
-                            <button type="submit">이동</button> \
-                        </form>',
-                menu = [['manager', '관리자']]
-            ))
     else:
         return redirect('/')
         
@@ -2397,7 +2383,12 @@ def user_check(name = None):
     
     record = curs.fetchall()
     if record:
-        div = '<table style="width: 100%; text-align: center;"><tbody><tr>'
+        if not request.args.get('plus', None):
+            div = '<a href="/plus_check/' + url_pas(name) + '">(비교)</a><hr>'
+        else:
+            div = '<a href="/check/' + url_pas(name) + '">(주요 대상)</a> <a href="/check/' + url_pas(request.args.get('plus', None)) + '">(비교 대상)</a><hr>'
+
+        div += '<table style="width: 100%; text-align: center;"><tbody><tr>'
         div += '<td style="width: 33.3%;">이름</td><td style="width: 33.3%;">아이피</td><td style="width: 33.3%;">언제</td></tr>'
 
         for data in record:
@@ -2418,10 +2409,23 @@ def user_check(name = None):
         data = div,
         menu = [['manager', '관리자']]
     ))
+
+@app.route('/plus_check/<name>', methods=['POST', 'GET'])
+def plus_check(name):
+    if request.method == 'POST':
+        return redirect('/check/' + url_pas(name) + '?plus=' + url_pas(request.form['name2']))
+    else:
+        return html_minify(template('index',
+            imp = ['대상 추가', wiki_set(conn, 1), custom(conn), other2([0, 0])],
+            data = '<form method="post"> \
+                        <input placeholder="비교 대상" name="name2" type="text"><hr> \
+                        <button type="submit">이동</button> \
+                    </form>',
+            menu = [['manager', '관리자']]
+        ))
                 
 @app.route('/register', methods=['POST', 'GET'])
 def register():
-    ip = ip_check()
     ban = ban_check(conn)
 
     if ban == 1:

+ 18 - 14
set_mark/footnote.py

@@ -4,6 +4,7 @@ def footnote(data, fol_num):
     a = 1
     tou = "<hr style='margin-top: 30px;' id='footnote'><div><br>"
     namu = []
+    div = ''
     pop_re = re.compile('(?:\[\*([^\s]*)(?:\s((?:(?!\[|\]).)*))?\]|(\[각주\]))')
     while 1:
         b = pop_re.search(data)
@@ -25,10 +26,10 @@ def footnote(data, fol_num):
                             break
                             
                     if none_this == 0:
-                        data = pop_re.sub("<sup><a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ", 1);' id='rfn-" + str(a) + "'>(" + results[0] + ")</a></sup>" + \
-                                        "<div class='popup' style='display: none;' id='folding_" + str(fol_num) + "'><a onclick='folding(" + str(fol_num) + ");'" + \
-                                        " href='#fn-" + str(a) + "'>(" + results[0] + ")</a> <a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ");'>(X)</a> " + \
-                                         namu[i + 1] + "</div>", data, 1)
+                        data = pop_re.sub("<sup><a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ", 1);' id='rfn-" + str(a) + "'>(" + results[0] + ")</a></sup>", data, 1)
+                        div += "<div class='popup' style='display: none;' id='folding_" + str(fol_num) + "'><a onclick='folding(" + str(fol_num) + ");'" + \
+                                " href='#fn-" + str(a) + "'>(" + results[0] + ")</a> <a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ");'>(X)</a> " + \
+                                namu[i + 1] + "</div>"
                     else:
                         data = pop_re.sub("<sup><a href='javascript:void(0);' id='rfn-" + str(a) + "'>(" + results[0] + ")</a></sup>", data, 1)
                 else:
@@ -36,17 +37,20 @@ def footnote(data, fol_num):
                         namu += [results[0]]
                         namu += [results[1]]
 
-                        tou += "<span id='footnote-list'><a href='#rfn-" + str(a) + "' id='fn-" + str(a) + "'>(" + results[0] + ")</a> " + results[1] + "</span><br>"
-                        data = pop_re.sub("<sup><a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ", 1);' id='rfn-" + str(a) + "'>(" + results[0] + ")</a>" + \
-                                        "</sup><div class='popup' style='display: none;' id='folding_" + str(fol_num) + "'><a onclick='folding(" + str(fol_num) + ");'" + \
-                                        " href='#fn-" + str(a) + "'>(" + results[0] + ")</a> <a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ");'>" + \
-                                        "(X)</a> " + results[1] + "</div>", data, 1)     
+                        data = pop_re.sub("<sup><a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ", 1);' id='rfn-" + str(a) + "'>(" + results[0] + ")</a></sup>", data, 1)
+
+                        tou += "<span id='footnote-list'><a href='#rfn-" + str(a) + "' id='fn-" + str(a) + "'>(" + results[0] + ")</a> " + results[1] + "</span><br>"                        
+                        div += "<div class='popup' style='display: none;' id='folding_" + str(fol_num) + "'><a onclick='folding(" + str(fol_num) + ");'" + \
+                                " href='#fn-" + str(a) + "'>(" + results[0] + ")</a> <a href='javascript:void(0);' onclick='folding(" + str(fol_num) + ");'>" + \
+                                "(X)</a> " + results[1] + "</div>"
+
                     else:                    
+                        data = pop_re.sub('<sup><a href="javascript:void(0);" onclick="folding(' + str(fol_num) + ', 1);" id="rfn-' + str(a) + '">(' + str(a) + ')</a></sup>', data, 1)
+
                         tou += "<span id='footnote-list'><a href='#rfn-" + str(a) + "' id='fn-" + str(a) + "'>(" + str(a) + ")</a> " + results[1] + "</span><br>"
-                        data = pop_re.sub('<sup><a href="javascript:void(0);" onclick="folding(' + str(fol_num) + ', 1);" id="rfn-' + str(a) + '">(' + str(a) + ')</a></sup>' + \
-                                        '<div class="popup" style="display: none;" id="folding_' + str(fol_num) + '"><a onclick="folding(' + str(fol_num) + ');"' + \
-                                        ' href="#fn-' + str(a) + '">(' + str(a) + ')</a> <a href="javascript:void(0);" onclick="folding(' + str(fol_num) + ');">(X)</a> ' + \
-                                        results[1] + '</div>', data, 1)
+                        div += '<div class="popup" style="display: none;" id="folding_' + str(fol_num) + '"><a onclick="folding(' + str(fol_num) + ');"' + \
+                                ' href="#fn-' + str(a) + '">(' + str(a) + ')</a> <a href="javascript:void(0);" onclick="folding(' + str(fol_num) + ');">(X)</a> ' + \
+                                results[1] + '</div>'
                     a += 1
 
                 fol_num += 2
@@ -68,6 +72,6 @@ def footnote(data, fol_num):
     
     data = re.sub("\[각주\](?:(?:<br>| |\r|\n)+)?$", "", data)
     data = re.sub("(?:(?:<br>| |\r|\n)+)$", "", data)
-    data += tou
+    data += tou + div
     
     return data

+ 2 - 2
set_mark/mid_pas.py

@@ -113,8 +113,8 @@ def mid_pas(data, fol_num, include, in_c, toc_y):
                 
             elif syn:
                 if syntax == 0:
-                    data += '<script src="/views/file/highlight.min.js"></script> \
-                            <link rel="stylesheet" href="/views/file/default.min.css"> \
+                    data += '<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"> \
+                            <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> \
                             <script>hljs.initHighlightingOnLoad();</script>'
                     syntax = 1
 

+ 1 - 1
set_mark/text_help.py

@@ -11,7 +11,7 @@ def text_help(data):
     if re.search('&lt;math&gt;((?:(?!&lt;\/math&gt;).)*)&lt;\/math&gt;', data):
         data = re.sub('&lt;math&gt;(?P<in>(?:(?!&lt;\/math&gt;).)*)&lt;\/math&gt;', '[math]\g<in>[/math]', data)
         data += '<script type="text/x-mathjax-config">MathJax.Hub.Config({tex2jax: { inlineMath: [ [\'[math]\', \'[/math]\'] ] } });</script> \
-                <script src="/views/file/MathJax.js?config=TeX-AMS_CHTML"></script>'
+                <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/MathJax.js?config=TeX-AMS_CHTML"></script>'
  
     data = re.sub('{{\|(?P<in>(?:(?:(?:(?!\|}}).)*)(?:\n?))+)\|}}', '<table><tbody><tr><td>\g<in></td></tr></tbody></table>', data)
     data = re.sub("-{4,11}", "<hr>", data)

+ 2 - 1
set_mark/toc_pas.py

@@ -60,11 +60,12 @@ def toc_pas(data, title, num, toc_y):
             t = toc.count('.')
             span = '<span style="margin-left: 5px;"></span>' * t
 
-            rtoc += span + '<a href="#s-' + toc + '">' + toc + '</a>. ' + result[1] + '<br>'
+            rtoc += span + '<a href="#s-' + toc + '">' + toc + '</a>. ' + re.sub('(?:\[\*([^\s]*)(?:\s((?:(?!\[|\]).)*))?\])', '', result[1]) + '<br>'
 
             c = re.sub(" $", "", result[1])
             d = c
             c = re.sub("\[\[(([^|]*)\|)?(?P<in>[^\]]*)\]\]", "\g<in>", c)
+            c = re.sub('(?:\[\*([^\s]*)(?:\s((?:(?!\[|\]).)*))?\])', '', c)
 
             edit_d = ''
             if toc_y == 1:

+ 1 - 1
version.md

@@ -160,7 +160,7 @@
 
 ----
 ## 기타
- * 현재 버전 : v2.6.4
+ * 현재 버전 : v2.6.5 Beta
 
 ----
 ## 개발 이념

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 18
views/file/MathJax.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 42
views/file/config/TeX-AMS_CHTML.js


+ 0 - 1
views/file/default.min.css

@@ -1 +0,0 @@
-.hljs{display:block;overflow-x:auto;padding:0.5em;background:#F0F0F0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888888}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta-keyword,.hljs-doctag,.hljs-name{font-weight:bold}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#880000}.hljs-title,.hljs-section{color:#880000;font-weight:bold}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-selector-pseudo{color:#BC6060}.hljs-literal{color:#78A960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
views/file/highlight.min.js


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است