Quellcode durchsuchen

fix ringo and fix bug

잉여개발기 (SPDV) vor 3 Jahren
Ursprung
Commit
8cbe9622c5

+ 1 - 1
route/api_recent_change.py

@@ -10,7 +10,7 @@ def api_recent_change(num = 10):
         admin = admin_check(6)
         get_title = ''
 
-        curs.execute(db_change('select id, title from rc where type = "" order by date desc'))
+        curs.execute(db_change('select id, title from rc where type = "" order by date desc limit ?'), [num])
         for i in curs.fetchall():
             if repeat_ok == '1' or i[1] != get_title:
                 get_title = i[1]

+ 1 - 1
route/api_recent_discuss.py

@@ -4,7 +4,7 @@ def api_recent_discuss(num = 10, get_type = 'normal'):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
-        num = 50 if num > 50 else num
+        num = 50 if (1 if not num > 0 else num) > 50 else num
         data_list = []
 
         if get_type == 'stop':

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC3-dev140",
+        "r_ver" : "v3.4.6-RC3-dev141",
         "c_ver" : "3500360",
         "s_ver" : "3500111"
     }

+ 0 - 3
views/main_css/js/func/render_simple.js

@@ -1,3 +0,0 @@
-let opennamu_do_render_simple_url = [
-    '/change/skin_set/main'
-];

+ 42 - 0
views/ringo/css/dark.css

@@ -0,0 +1,42 @@
+html, section {
+    background: black;
+    color: white;
+}
+
+aside {
+    background: #2a2526;
+}
+
+header#main {
+    background: #26373f;
+}
+
+header#main a, header#main a:hover {
+    background: #26373f;
+    color: white;
+}
+
+.top_cel_in {
+    background: #3e3741;
+}
+
+header#section {
+    background: #2c3439;
+}
+
+input, textarea, button, select, aside .side_button, .menu_item_link, input:hover, aside .side_button:hover, .menu_item_link:hover, #opennamu_save_button, #main_data button:hover {
+    background: black;
+    color: white;
+}
+
+button.search_button#goto, button.search_button#goto:hover {
+    background: #374433;
+}
+
+button.search_button#search, button.search_button#search:hover {
+    background: #39352e;
+}
+
+footer {
+    background: #393636;
+}

+ 10 - 2
views/ringo/css/main.css

@@ -3,7 +3,7 @@ html {
 }
 
 body {
-    font-family: "나눔바른고딕", "나눔고딕", "맑은고딕", "Sans-Serif";
+    font-family: 'SUIT', sans-serif;
     font-size: 14px;
 
     margin: 0;
@@ -15,6 +15,14 @@ h1, h2, h3, h4, h5, h6 {
     padding-bottom: 10px;
 }
 
+select {
+    font-family: 'SUIT', sans-serif;
+}
+
+textarea {
+    font-family: 'SUIT', monospace;
+}
+
 h1.blank, h2.blank, h3.blank, h4.blank, h5.blank, h6.blank {
     border-bottom: none;
 
@@ -194,7 +202,7 @@ aside {
     
     background-color: #ffeaee;
     
-    height: calc(100vh - (50px + 20px));
+    min-height: calc(100vh - (50px + 20px));
 }
 
 aside button {

+ 6 - 0
views/ringo/index.html

@@ -8,9 +8,15 @@
             <title>{{imp[0]}} - {{imp[1][0]}}</title>
         {% endif %}
         {{imp[3][3]|safe}}
+        <link href="https://cdn.jsdelivr.net/gh/sunn-us/SUIT/fonts/static/woff2/SUIT.css" rel="stylesheet">
         <script src="https://code.iconify.design/1/1.0.3/iconify.min.js"></script>
         <script src="/views/ringo/js/main.js?ver=2"></script>
+        <script src="/views/ringo/js/sidebar.js?ver=1"></script>
+        <script src="/views/ringo/js/skin_set.js?ver=1"></script>
         <link rel="stylesheet" href="/views/ringo/css/main.css?ver=2">
+        {% if request.cookies.get('main_css_darkmode', '') == '1' %}
+            <link rel="stylesheet" href="/views/ringo/css/dark.css?ver=1">
+        {% endif %}
         <link rel="shortcut icon" href="/views/main_css/file/favicon.ico?ver=1">
         {{imp[1][5]|safe}}
         {{imp[2][3]|safe}}

+ 2 - 2
views/ringo/info.json

@@ -1,5 +1,5 @@
 {
     "name" : "Ringo",
-    "skin_ver" : "v0.1.2",
-    "require_ver" : "3500110"
+    "skin_ver" : "v1.0.0",
+    "require_ver" : "3500111"
 }

+ 95 - 0
views/ringo/js/sidebar.js

@@ -0,0 +1,95 @@
+// func
+function ringo_do_xss_encode(data) {
+    data = data.replace(/'/g, '&#x27;');
+    data = data.replace(/"/g, '&quot;');
+    data = data.replace(/</g, '&lt;');
+    data = data.replace(/</g, '&gt;');
+
+    return data;
+}
+
+function ringo_do_url_encode(data) {
+    return encodeURIComponent(data);
+}
+
+// event
+function ringo_do_side_button_1() {
+    fetch("/api/recent_change/10").then(function(res) {
+        return res.json();
+    }).then(function(text) {
+        if(temp_save[0] === '') {
+            let data = '';
+            for(let for_a = 0; for_a < text.length; for_a++) {
+                data += '<a href="/w/' + ringo_do_url_encode(text[for_a][1]) + '">' + ringo_do_xss_encode(text[for_a][1]) + '</a><br>';
+                data += text[for_a][2] + ' | ' + ringo_do_xss_encode(text[for_a][3]) + '<br>';
+            }
+
+            document.getElementById('side_content').innerHTML = data;
+            temp_save[0] = data;
+        } else {
+            document.getElementById('side_content').innerHTML = temp_save[0];
+        }
+    }).catch(function(error) {
+        document.getElementById('side_content').innerHTML = 'Error';
+    });
+}
+
+function ringo_do_side_button_2() {
+    fetch("/api/recent_discuss/10").then(function(res) {
+        return res.json();
+    }).then(function(text) {
+        if(temp_save[1] === '') {
+            let data = '';
+            for(let for_a = 0; for_a < text.length; for_a++) {
+                data += '<a href="/w/' + ringo_do_url_encode(text[for_a][3]) + '">' + ringo_do_xss_encode(text[for_a][1]) + '</a><br>';
+                data += text[for_a][2] + '<br>';
+            }
+
+            document.getElementById('side_content').innerHTML = data;
+            temp_save[1] = data;
+        } else {
+            document.getElementById('side_content').innerHTML = temp_save[1];
+        }
+    }).catch(function(error) {
+        document.getElementById('side_content').innerHTML = 'Error';
+    });
+}
+
+function ringo_do_side_button_3() {
+    if(temp_save[2] === '') {
+        if(document.getElementsByClassName('opennamu_TOC').length > 0) {
+            temp_save[2] = document.getElementsByClassName('opennamu_TOC')[0].innerHTML;
+            document.getElementById('side_content').innerHTML = temp_save[2];
+        }
+    } else {
+        document.getElementById('side_content').innerHTML = temp_save[2];
+    }
+}
+
+function ringo_do_side_button_4() {
+    if(temp_save[3] === '') {
+        if(document.getElementsByClassName('opennamu_footnote').length > 0) {
+            let data = '';
+            for(let for_a = 0; for_a < document.getElementsByClassName('opennamu_footnote').length; for_a++) {
+                data += document.getElementsByClassName('opennamu_footnote')[for_a].innerHTML + '<br>';
+            }
+
+            document.getElementById('side_content').innerHTML = data;
+            temp_save[3] = data;
+        }
+    } else {
+        document.getElementById('side_content').innerHTML = temp_save[3];
+    }
+}
+
+// init
+let temp_save = ['', '', '', ''];
+
+window.addEventListener('DOMContentLoaded', function() {
+    document.getElementById("side_button_1").addEventListener("click", ringo_do_side_button_1);
+    document.getElementById("side_button_2").addEventListener("click", ringo_do_side_button_2);
+    document.getElementById("side_button_3").addEventListener("click", ringo_do_side_button_3);
+    document.getElementById("side_button_4").addEventListener("click", ringo_do_side_button_4);
+
+    ringo_do_side_button_1();
+});

+ 57 - 0
views/ringo/js/skin_set.js

@@ -0,0 +1,57 @@
+function ringo_do_regex_data(data) {
+    return new RegExp('(?:^|; )' + data + '=([^;]*)');
+}
+
+function ringo_get_post() {
+    check = document.getElementById('invert');
+    if(check.checked === true) {
+        document.cookie = 'main_css_darkmode=1;';
+    } else {
+        document.cookie = 'main_css_darkmode=0;';
+    }
+
+    history.go(0);
+}
+
+let cookies = document.cookie;
+
+function ringo_do_skin_set() {
+    if(window.location.pathname === '/change/skin_set') {
+        let set_language = {
+            "en-US" : {
+                "save" : "Save",
+                "darkmode" : "Darkmode"
+            }, "ko-KR" : {
+                "save" : "저장",
+                "darkmode" : "다크모드"
+            }
+        }
+
+        let language = cookies.match(ringo_do_regex_data('language'))[1];
+        let user_language = cookies.match(ringo_do_regex_data('user_language'))[1];
+        if(user_language in set_language) {
+            language = user_language;
+        }
+
+        if(!language in set_language) {
+            language = "en-US";
+        }
+
+        let set_data = {};
+
+        if(
+            cookies.match(ringo_do_regex_data('main_css_darkmode')) &&
+            cookies.match(ringo_do_regex_data('main_css_darkmode'))[1] === '1'
+        ) {
+            set_data["invert"] = "checked";
+        }
+
+        document.getElementById("main_skin_set").innerHTML = ' \
+            <input ' + set_data["invert"] + ' type="checkbox" id="invert" name="invert" value="invert"> ' + set_language[language]['darkmode'] + ' \
+            <hr class="main_hr"> \
+            <button onclick="ringo_get_post();">' + set_language[language]['save'] + '</button> \
+        ';
+    }
+}
+
+window.addEventListener('DOMContentLoaded', ringo_do_skin_set);