105 lines
4.1 KiB
Plaintext
105 lines
4.1 KiB
Plaintext
var data = ""
|
|
header = document.querySelector("h2")
|
|
if (header) {
|
|
data += "# " + header.innerText + "\n\n"
|
|
|
|
var nav_links = document.querySelectorAll("li.nav-item > a.nav-link")
|
|
if (nav_links) {
|
|
var valid_links = ["summary", "tree", "source"]
|
|
nav_links.forEach((nav_link) => {
|
|
if (valid_links.includes(nav_link.innerText)){
|
|
let href = nav_link.getAttribute("href")
|
|
if (href[0] === "/") {
|
|
data += "=> "
|
|
+ window.electron.abs_href(href)
|
|
+ " "
|
|
+ nav_link.innerText
|
|
+ "\n"
|
|
} else {
|
|
data += "=> ?"
|
|
+ href
|
|
+ " "
|
|
+ nav_link.innerText
|
|
+ "\n"
|
|
}
|
|
}
|
|
})
|
|
}
|
|
var code_view = document.querySelector("div.col-md-12.code-view > div.highlight > pre")
|
|
if (code_view) {
|
|
var header = document.querySelector("div.header-extension").innerText.split(" ")[0]
|
|
data += "\n## " + header + "\n\n```\n" + code_view.innerText + "```\n"
|
|
}
|
|
|
|
var tree_list = document.querySelector("div.tree-list")
|
|
if (tree_list) {
|
|
var header = document.querySelector("div.header-extension").innerText.split(" ")[0]
|
|
data += "\n## " + header + "\n\n"
|
|
var tree_items = tree_list.children
|
|
for (let tree_item of tree_items) {
|
|
if (tree_item.className.includes("name")) {
|
|
let item_link = tree_item.querySelector("a").getAttribute("href")
|
|
data += "=> " + window.electron.abs_href(item_link) + " " + tree_item.innerText + " "
|
|
} else if (tree_item.className.includes("size")) {
|
|
if (tree_item.innerText !== "") {
|
|
data += "(" + tree_item.innerText + ")" + "\n"
|
|
} else {
|
|
data += "\n"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
var latest_events = document.querySelectorAll("div.event-list > div.event")
|
|
if (latest_events.length !== 0) {
|
|
data += "\n## Latest events:\n\n----\n"
|
|
latest_events.forEach((event_el) => {
|
|
data += event_el.innerText + "\n----\n"
|
|
})
|
|
}
|
|
var clone_links = document.querySelector("div.col-md-8 > dl")
|
|
if (clone_links) {
|
|
data += "\n## Clone:\n"
|
|
data += clone_links.innerText + "\n"
|
|
}
|
|
var readme_node = document.querySelector("div#readme")
|
|
var readme_selector = "div#readme"
|
|
if (! readme_node) { readme_node = document.querySelector("div.readme") } // don't ask me ask drew
|
|
|
|
if (readme_node) {
|
|
var markdown_node = readme_node.querySelector("div.markdown")
|
|
data += "\n----------\n"
|
|
if (markdown_node) {
|
|
var readme_elements = markdown_node.children
|
|
for (let i = 0; i < readme_elements.length; i++) {
|
|
let element = readme_elements[i]
|
|
|
|
let tag_name = element.tagName
|
|
if (tag_name.startsWith("H") && tag_name.length === 2) {
|
|
let header_lvl = tag_name[1]
|
|
data += "\n"
|
|
+ "#".repeat(header_lvl)
|
|
+ " "
|
|
+ element.innerText.replace("\n", "").replaceAll("#", "")
|
|
} else if (tag_name === "P") {
|
|
data += element.innerText
|
|
} else if (tag_name === "UL") {
|
|
let list_items = element.children
|
|
for (let j = 0; j < list_items.length ; j++) {
|
|
list_item = list_items[j]
|
|
data += "\n* " + list_item.innerText.replaceAll("\n", "\n\t - ")
|
|
}
|
|
} else if (tag_name === "PRE") {
|
|
data += "```\n" + element.innerText + "```\n"
|
|
}
|
|
data += "\n"
|
|
}
|
|
} else {
|
|
data += readme_node.innerText + "\n"
|
|
}
|
|
}
|
|
window.electron.send_gemtext(data)
|
|
} else {
|
|
window.electron.send_gemtext(window.electron.default_sigil())
|
|
}
|