async function write_markdown() { let names = ["introduction", "transform", "likelihood", "posterior", "forward_process", "backward_process", "fit_posterior", "posterior_transform", "deconvolution", "cond_kl", "approx_gauss", "non_expanding", "stationary", "reference", "about"]; // names = names.slice(-1) let data = await fetch("file/data.json").then(response => response.json()); names.forEach((name, index) => { let elem_zh = document.getElementById("md_" + name + "_zh"); if (elem_zh != null) { data[name+"_zh"] = elem_zh.outerHTML; console.log(name);} const elem_en = document.getElementById("md_" + name + "_en"); if (elem_en != null) { data[name+"_en"] = elem_en.outerHTML; } }); let a = document.createElement('a'); a.href = "data:application/octet-stream," + encodeURIComponent(JSON.stringify(data)); a.download = "data.json"; a.click(); } async function insert_markdown() { let names = ["introduction", "transform", "likelihood", "posterior", "forward_process", "backward_process", "fit_posterior", "posterior_transform", "deconvolution", "cond_kl", "approx_gauss", "non_expanding", "stationary", "reference", "about"]; let data = await fetch("file/data.json").then(response => response.json()); for (let i = 0; i < names.length; i++) { name = names[i]; const markdown_zh = document.createElement('div'); markdown_zh.id = "md_" + name + "_zh"; markdown_zh.style.display = "none"; markdown_zh.innerHTML = data[name+"_zh"] // fetch('file/Markdown/zh/' + name + ".html").then(response => response.text()).then(text => markdown_zh.innerHTML = text) const markdown_en = document.createElement('div'); markdown_en.id = "md_" + name + "_en"; markdown_en.style.display = "block"; markdown_en.innerHTML = data[name+"_en"] // fetch('file/Markdown/en/' + name + ".html").then(response => response.text()).then(text => markdown_en.innerHTML = text) const accord = document.getElementById(name).children[2]; accord.appendChild(markdown_zh); accord.appendChild(markdown_en); } } function control_language() { const names = ["introduction", "transform", "likelihood", "posterior", "forward_process", "backward_process", "fit_posterior", "posterior_transform", "deconvolution", "cond_kl", "approx_gauss", "non_expanding", "stationary", "reference", "about"]; var is_zh = document.getElementById("switch_language").checked; for (let i = 0; i < names.length; i++) { name = names[i]; zh_display = is_zh ? "block" : "none"; en_display = is_zh ? "none" : "block"; md_zh = document.getElementById("md_" + name + "_zh"); md_en = document.getElementById("md_" + name + "_en"); md_zh.style.display = zh_display; md_en.style.display = en_display; } } function control_accordion() { open = document.getElementById("switch_accordion").checked; all_accords = document.getElementsByClassName("label-wrap"); for (let i = 0; i < all_accords.length; i++) { const accord = all_accords[i]; const is_open = accord.classList.contains("open"); if (is_open != open) { accord.click(); } } } function create_switch(id, left_text, right_text, callback) { var input = document.createElement("input"); input.type = "checkbox"; input.id = id; input.checked = false; input.addEventListener("change", callback); var slider = document.createElement("span"); slider.className = "switchslider"; var switchbar = document.createElement("label"); switchbar.className = "switchbar"; switchbar.appendChild(input); switchbar.appendChild(slider); var div = document.createElement("div"); div.style.lineHeight = "30px"; div.style.fontSize = "18px"; var left_label = document.createElement("span"); left_label.innerText = left_text; var right_label = document.createElement("span"); right_label.innerText = right_text; div.appendChild(left_label); div.appendChild(switchbar); div.appendChild(right_label); return div; } function add_switch() { switch_accordion = create_switch("switch_accordion", "Collapse", "Expand", control_accordion); switch_language = create_switch("switch_language", "English", "Chinese", control_language); switch_accordion.style.float = "right"; switch_language.style.float = "left"; var state = document.createElement("span"); state.appendChild(switch_language); state.appendChild(switch_accordion); state.style.marginBottom = "20px" const elem = document.getElementById("introduction"); elem.insertAdjacentElement("beforebegin", state); switch_accordion.children[1].click(); switch_accordion.children[1].click(); } function katex_render(name) { const elem = document.getElementById(name); if (elem == null) { return; } var text = elem.innerText.replaceAll("{underline}", "_"); text = "\\begin{align}\n" + text + "\n\\end{align}"; katex.render(text, elem, {displayMode: true}); } function insert_special_formula() { katex_render("zh_fit_0"); katex_render("zh_fit_1"); katex_render("zh_fit_2"); katex_render("zh_cond_kl_1"); katex_render("zh_cond_kl_2"); katex_render("zh_cond_kl_3"); katex_render("en_fit_0"); katex_render("en_fit_1"); katex_render("en_fit_2"); katex_render("en_cond_kl_1"); katex_render("en_cond_kl_2"); katex_render("en_cond_kl_3"); }