Website module
This module implements the HTML sent as a response by the webserver. It is not well optimised, as for each new response, it:
- stringifies the HTML
- stringifies the CSS and embeds it into the HTML
- reads the javascript file from disk and embeds into the HTML
But it works! And just for fun with friends this is more than enough :)
Consts
contentBoxId: string = "content-display-div"
css: CssStyleSheet = (file: "styles.css", elements: [(name: "html", properties: (data: [ (0, "", ""), (0, "", ""), (1732819394, "color", "rgb(245, 245, 245)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1713920888, "background-color", "rgb(30, 30, 40)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (272249982, "font-family", "Verdana, Geneva, Tahoma, sans-serif"), (0, "", "")], counter: 3)), (name: "h1, h2, h3, h4, h5, h6", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3156619578, "text-decoration", "underline"), (0, "", ""), (0, "", ""), (0, "", ""), (541961726, "text-align", "center"), (0, "", "")], counter: 2)), ( name: "input", properties: (data: [(0, "", ""), (0, "", ""), (1732819394, "color", "rgb(245, 245, 245)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3561731281, "width", "92%"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), ( 1713920888, "background-color", "rgb(50, 50, 70)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 4)), (name: "textarea", properties: (data: [ (0, "", ""), (0, "", ""), (1732819394, "color", "rgb(245, 245, 245)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (922530568, "resize", "vertical"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3561731281, "width", "92%"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1713920888, "background-color", "rgb(50, 50, 70)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 5)), (name: "form", properties: (data: [(0, "", ""), (0, "", ""), (1732819394, "color", "rgb(245, 245, 245)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "auto 10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3561731281, "width", "90%"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (3158656221, "max-width", "750px"), (0, "", ""), (0, "", ""), (1069335456, "border", "solid 1px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2627757291, "padding", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 7)), ( name: "button", properties: (data: [(0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2262444604, "margin-top", "10px"), (0, "", ""), (541961726, "text-align", "center"), (0, "", "")], counter: 2)), ( name: "a:link", properties: (data: [(0, "", ""), (0, "", ""), (1732819394, "color", "HotPink"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3156619578, "text-decoration", "none"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 2)), ( name: "a:visited", properties: (data: [(0, "", ""), (0, "", ""), (1732819394, "color", "HotPink"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3156619578, "text-decoration", "none"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 2)), ( name: "a:hover", properties: (data: [(0, "", ""), (0, "", ""), (1732819394, "color", "LightPink"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3156619578, "text-decoration", "none"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 2)), ( name: "a:active", properties: (data: [(0, "", ""), (0, "", ""), (1732819394, "color", "WhiteSmoke"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3156619578, "text-decoration", "none"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 2)), ( name: ".center", properties: (data: [(0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "auto"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 1)), (name: ".center-everything", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "auto"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (541961726, "text-align", "center"), (0, "", "")], counter: 2)), (name: ".div-flex-box", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "auto"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (370136851, "flex-basis", "auto"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (497703773, "display", "flex"), (0, "", ""), (0, "", ""), (901322400, "align-items", "center"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (735933797, "flex-wrap", "wrap"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (541961726, "text-align", "center"), (3607542143, "flex", "auto")], counter: 7)), (name: ".content-display", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "auto"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (3158656221, "max-width", "750px"), (0, "", ""), (0, "", ""), (1069335456, "border", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2627757291, "padding", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1713920888, "background-color", "rgb(40, 40, 60)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 6)), (name: ".search-bar", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "auto"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (0, "", ""), (0, "", ""), (0, "", ""), (1069335456, "border", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2627757291, "padding", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1713920888, "background-color", "rgb(40, 40, 60)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 5)), (name: ".search-bar-div", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (497703773, "display", "flex"), (3158656221, "max-width", "750px"), (0, "", ""), (901322400, "align-items", "baseline"), (1069335456, "border", "10px"), (0, "", ""), (0, "", ""), (1663458404, "margin-right", "auto"), (735933797, "flex-wrap", "nowrap"), (2020917734, "margin-bottom", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2627757291, "padding", "2px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (269387194, "margin-left", "auto"), (0, "", ""), (2262444604, "margin-top", "auto"), (0, "", ""), (0, "", ""), (0, "", "")], counter: 11)), (name: ".button-redirect", properties: (data: [(0, "", ""), (0, "", ""), (1732819394, "color", "rgb(245, 245, 245)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "4px 2px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1648012884, "transition", "0.3s"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2627757291, "padding", "5px 10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1713920888, "background-color", "rgb(50, 30, 58)"), (0, "", ""), (3156619578, "text-decoration", "none"), (0, "", ""), (0, "", ""), (0, "", ""), (541961726, "text-align", "center"), (0, "", "")], counter: 8)), ( name: ".button-redirect:hover", properties: (data: [(0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1648012884, "transition", "0.1s"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1713920888, "background-color", "rgb(60, 40, 68)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 2)), (name: ".definition", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1360229003, "margin", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3267597340, "border-radius", "6px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2627757291, "padding", "10px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1713920888, "background-color", "rgb(50, 50, 70)"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 4)), (name: ".definition-word", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2811585877, "overflow", "hidden"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (988410778, "white-space", "pre-wrap"), (0, "", ""), (0, "", ""), (0, "", ""), (652089374, "word-wrap", "break-word"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2020917734, "margin-bottom", "5px"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (3156619578, "text-decoration", "underline"), (0, "", ""), (2262444604, "margin-top", "5px"), (0, "", ""), (0, "", ""), (0, "", "")], counter: 6)), (name: ".definition-description", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2811585877, "overflow", "hidden"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (988410778, "white-space", "pre-wrap"), (0, "", ""), (0, "", ""), (0, "", ""), (652089374, "word-wrap", "break-word"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2262444604, "margin-top", "10px"), (0, "", ""), (0, "", ""), (0, "", "")], counter: 4)), (name: ".definition-author", properties: (data: [ (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (2811585877, "overflow", "hidden"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (988410778, "white-space", "pre-wrap"), (0, "", ""), (0, "", ""), (0, "", ""), (652089374, "word-wrap", "break-word"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 3))])
defaultJavascriptNotAvailable: string = "window.onload = function() { alert(\'Could not load javascript for this page - page may not function correctly...\') }"
javascriptLocation: string = "./src/javascript/"
javascriptScripts: Table[string, string] = (data: [(0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1994986530, "definition_submit_success.js", "function redirect() {\n window.location.replace(\"/definitions\")\n}\n\nwindow.onload = function() {\n setTimeout(redirect, 3000);\n}\n"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (1534509296, "definitions.js", "const searchBarId = \"search-bar-field\";\n\nfunction getSearchBar() {\n return document.getElementById(searchBarId);\n}\n\nfunction getQueryParams() {\n let searchBar = getSearchBar();\n if(searchBar == undefined || searchBar == null) {\n return undefined;\n }\n return encodeURI(searchBar.value);\n}\n\nfunction searchBarQuery() {\n let query = getQueryParams();\n if(query == undefined) {\n return alert(\"Cannot search, fuck you javascript\");\n }\n\n if(query != \"\") {\n query = \"%\" + query + \"%\";\n }\n\n window.location = \"/definitions/\" + query;\n}\n"), ( 2223057521, "definition_submit.js", "const contentDiv = \"content-display-div\";\nconst submitWordId = \"submit-word\";\nconst submitDefinitionId = \"submit-definition\";\nconst submitAuthorId = \"submit-author\";\n\n\nfunction renderForm() {\n document.getElementById(contentDiv).innerHTML = `\n <form action=\"/handle-submit\" method=\"post\" class=\"center\">\n <ul>\n <li>\n <label for=\"submit-word\">Word:</label>\n <br />\n <input type=\"text\" id=\"submit-word\" name=\"word\" placeholder=\"My interesting word\" />\n </li>\n <li>\n <label for=\"submit-definition\">Definition:</label>\n <br />\n <textarea id=\"submit-definition\" name=\"definition\" rows=\"10\" placeholder=\"My interesting definition\" ></textarea>\n </li>\n <li>\n <label for=\"submit-author\">Author: (optional)</label>\n <br />\n <input type=\"text\" id=\"submit-author\" name=\"author\" placeholder=\"My name (optional)\" />\n </li>\n </ul>\n <div class=\"center-everything\">\n <button type=\"submit\">Submit</button>\n </div>\n </form>\n `;\n}\n\nfunction cleanUpString(str) {\n let result = str;\n if(result === undefined || result === null) {\n return \"\";\n }\n // result.replace(\"<\", \"<\").replace(\">\", \">\")\n return result;\n}\n\nfunction submitFormButtonPress() {\n let word = document.getElementById(\"submit-word\").value;\n let definition = document.getElementById(\"submit-definition\").value;\n let author = document.getElementById(\"submit-author\").value;\n let json = JSON.stringify({\n \"word\": cleanUpString(word),\n \"definition\": cleanUpString(definition),\n \"author\": cleanUpString(author)\n })\n try {\n let encoded = btoa(json)\n window.location.replace(\"/submit/\" + encoded)\n } catch {\n alert(\"Your submission seems to use Base64 unsupported characters. Please replace them with supported ones :(\")\n }\n}\n\nwindow.onload = function() {\n // renderForm();\n}\n"), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", ""), (0, "", "")], counter: 3)
searchBarId: string = "search-bar-field"
Procs
proc getHtmlDefinition(definition: Definition): HtmlElement {. ...raises: [ValueError], tags: [], forbids: [].}
- Converts Definition to an HtmlElement with redundant sussy character replacement for security
proc htmlDisplayMultipleDefinitions(query: string = ""): Future[HtmlDocument] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [DbEffect, ReadDbEffect, WriteDbEffect, RootEffect], forbids: [].}
- HTML - (Multiple) Definitions page
proc htmlDisplaySingleDefinition(id: int): Future[HtmlDocument] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [DbEffect, ReadDbEffect, WriteDbEffect, RootEffect], forbids: [].}
- HTML - Definition page
proc htmlIndex(): Future[HtmlDocument] {....stackTrace: false, raises: [Exception, ValueError], tags: [DbEffect, ReadDbEffect, WriteDbEffect, RootEffect], forbids: [].}
- HTML - Index page
proc htmlSubmitDefinition(): Future[HtmlDocument] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect], forbids: [].}
- HTML - Submit page
proc htmlSubmitSuccess(word: string): Future[HtmlDocument] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect], forbids: [].}
- HTML - Submit success page
proc httpErrorPage(details: string): Future[HtmlDocument] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect], forbids: [].}
- HTML - Error page
proc newPage(name, description: string; generateContentBox: bool = true; scriptPath: string = ""): HtmlDocument {. ...raises: [KeyError, ValueError], tags: [], forbids: [].}
- Generalised HTML page generator