잉여개발기 2 лет назад
Родитель
Сommit
63c3d3ebdf

+ 1 - 1
route/tool/func.py

@@ -1043,7 +1043,7 @@ def skin_check(conn, set_n = 0):
         return skin
     
 def cache_v():
-    return '.cache_v219'
+    return '.cache_v220'
 
 def wiki_css(data):
     global global_wiki_set

+ 1 - 1
route/view_w.py

@@ -150,7 +150,7 @@ def view_w(name = 'Test', do_type = ''):
                     <img src="/image/''' + url_pas(file_all_name) + '''.cache_v''' + rev + '''">
                     <h2>''' + get_lang(conn, 'data') + '''</h2>
                     <table>
-                        <tr><td>URL</td><td><a href="/image/''' + url_pas(file_all_name) + '''">''' + get_lang(conn, 'link') + '''</a></td></tr>
+                        <tr><td>''' + get_lang(conn, 'url') + '''</td><td><a href="/image/''' + url_pas(file_all_name) + '''">''' + get_lang(conn, 'link') + '''</a></td></tr>
                         <tr><td>''' + get_lang(conn, 'volume') + '''</td><td>''' + file_size + '''KB</td></tr>
                         <tr><td>''' + get_lang(conn, 'resolution') + '''</td><td>''' + file_res + '''</td></tr>
                     </table>

BIN
route_go/bin/main.amd64.bin


BIN
route_go/bin/main.amd64.exe


BIN
route_go/bin/main.arm64.bin


BIN
route_go/bin/main.arm64.exe


+ 1 - 1
route_go/route/tool/markdown.go

@@ -150,7 +150,7 @@ func Markdown(db *sql.DB, db_set map[string]string, data map[string]string) map[
 
 	end_data := make(map[string]interface{})
 	end_data["data"] = string_data
-	end_data["js_data"] = ""
+	end_data["js_data"] = "opennamu_do_toc();"
 	end_data["backlink"] = end_backlink
 	end_data["link_count"] = link_count
 

+ 3 - 3
route_go/route/tool/render.go

@@ -80,7 +80,7 @@ func Get_render_direct(db *sql.DB, db_set map[string]string, doc_name string, da
 	} else if markup == "markdown" {
 		render_data = Markdown(db, db_set, doc_data_set)
 	} else {
-		render_data["data"] = "<div id=\"opennamu_render_complete\">" + data + "</div>"
+		render_data["data"] = data
 		render_data["js_data"] = ""
 		render_data["backlink"] = [][]string{}
 	}
@@ -168,7 +168,7 @@ func Get_render_direct(db *sql.DB, db_set map[string]string, doc_name string, da
 	}
 
 	return map[string]string{
-		"data":    render_data["data"].(string),
-		"data_js": render_data["js_data"].(string),
+		"data":    "<div id=\"opennamu_render_complete\">" + render_data["data"].(string) + "</div>",
+		"js_data": render_data["js_data"].(string),
 	}
 }

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.5.0-dev59",
+        "r_ver" : "v3.5.0-dev60",
         "c_ver" : "3500376",
         "s_ver" : "3500113"
     }

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

@@ -84,8 +84,8 @@ function opennamu_do_render(to_obj, data, name = '', do_type = '', option = '')
     }).then(function(text) {
         if(document.getElementById(to_obj)) {
             if(text["data"]) {
-                document.getElementById(to_obj).innerHTML = text.data;
-                eval(text.js_data);
+                document.getElementById(to_obj).innerHTML = text["data"];
+                eval(text["js_data"]);
             } else {
                 document.getElementById(to_obj).innerHTML = '';
             }

+ 44 - 0
views/main_css/js/route/render.js

@@ -267,4 +267,48 @@ function opennamu_do_include(name, render_name, to_obj, option_obj) {
             document.getElementById(option_obj).style.display = "inline";
         }
     });
+}
+
+function opennamu_do_toc() {
+    let data = document.getElementById('opennamu_render_complete');
+    let h_tag = data.querySelectorAll("h1, h2, h3, h4, h5, h6");
+    let toc_count = [0, 0, 0, 0, 0, 0];
+    let toc_html = '';
+
+    for(let for_a = 0; for_a < h_tag.length; for_a++) {
+        let tag = h_tag[for_a].tagName.toLowerCase();
+        tag = tag.replace('h', '');
+        tag = Number(tag) - 1;
+
+        for(let for_b = tag + 1; for_b < 6; for_b++) {
+            toc_count[for_b] = 0;
+        }
+
+        toc_count[tag] += 1;
+
+        let toc_string = '';
+        let add_on = false;
+        for(let for_b = 5; for_b >= 0; for_b--) {
+            if(add_on == false && toc_count[for_b] != 0) {
+                add_on = true;
+            }
+
+            if(add_on == true) {
+                toc_string = String(toc_count[for_b]) + '.' + toc_string;
+            }
+        }
+
+        toc_string = toc_string.replace(/^(0\.)+/, '');
+
+        let toc_string_sub =  toc_string.replace(/\.$/, '');
+        let toc_margin = '<span style="margin-left: 10px;"></span>'.repeat(toc_string_sub.split('.').length - 1);
+
+        toc_html += toc_margin + '<a href="#s-' + toc_string_sub + '">' + toc_string + '</a> ' + h_tag[for_a].innerHTML + '<br>';
+        h_tag[for_a].innerHTML = '<a id="s-' + toc_string_sub + '" href="#toc">' + toc_string + '</a> ' + h_tag[for_a].innerHTML;
+    }
+
+    data.innerHTML = data.innerHTML.replace(/(<h[1-6]>)/, '<div class="opennamu_toc"></div>$1');
+    data.innerHTML = data.innerHTML.replace(/<div class="opennamu_toc"><\/div>/g, function(match) {
+        return '<div class="opennamu_TOC" id="toc"><div class="opennamu_TOC_title">TOC</div><br>' + toc_html + '</div>';
+    });
 }