From bdc61ca4fe057ed5cd8ad34d4083ea3af3ad2c77 Mon Sep 17 00:00:00 2001 From: "N0\\A" Date: Sat, 7 Mar 2026 12:28:30 +0100 Subject: [PATCH] first commit --- .gitignore | 1 + README.md | 26 + awk/collect_dir_info.awk | 27 + awk/generate_sidebar.awk | 104 +++ awk/markdown_embed.awk | 538 ++++++++++++++ awk/render_template.awk | 32 + awk/replace_variables.awk | 64 ++ kewt.sh | 358 ++++++++++ markdown.sh | 672 ++++++++++++++++++ site.conf | 11 + site/Heaven/catgirl.jpg | Bin 0 -> 152259 bytes site/Heaven/index.md | 4 + .../the deepest depths/blobfish/blobfish.bmp | Bin 0 -> 20918 bytes .../the deepest depths/blobfish/blobfish.md | 17 + .../the deepest depths/blobfish/hello.mp3 | Bin 0 -> 12524 bytes site/index.md | 26 + styles/cat-v.css | 171 +++++ styles/kew.css | 90 +++ styles/kewt.css | 186 +++++ styles/werc.css | 56 ++ template.html | 20 + 21 files changed, 2403 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 awk/collect_dir_info.awk create mode 100644 awk/generate_sidebar.awk create mode 100644 awk/markdown_embed.awk create mode 100644 awk/render_template.awk create mode 100644 awk/replace_variables.awk create mode 100755 kewt.sh create mode 100755 markdown.sh create mode 100644 site.conf create mode 100644 site/Heaven/catgirl.jpg create mode 100644 site/Heaven/index.md create mode 100644 site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/blobfish.bmp create mode 100644 site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/blobfish.md create mode 100644 site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/hello.mp3 create mode 100644 site/index.md create mode 100644 styles/cat-v.css create mode 100644 styles/kew.css create mode 100644 styles/kewt.css create mode 100644 styles/werc.css create mode 100644 template.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..89f9ac0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +out/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..57cc699 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# _kewt_ + +_kewt_ is a minimalist ssg inspired by _[werc](http://werc.cat-v.org/)_ and _[kew](https://github.com/uint23/kew)_ + +It's meant to be a static site generator, like _[kew](https://github.com/uint23/kew)_ but use only default (POSIX) tooling, like _[werc](http://werc.cat-v.org/)_ (and definitely unlike _[kew](https://github.com/uint23/kew)_) + +## Features + +- No dependencies +- Supports many embed types +- Automatic css variable replacement for older browsers +- Automatic inlining and embedding of many filetypes with `\![link]` or `\![alt](link)` +- Inline html support +- MFM `$font` and `\` tags +- Admonition support (that's what the blocks like the warning block below are called) + +If you want to **force** a file to be inlined, use `\!![]` instead of `\![]` + +## Credits + +- Markdown to html conversion based on [markdown.bash](https://github.com/chadbraunduin/markdown.bash) by [chadbraunduin](https://github.com/chadbraunduin) +- Default css style and html template based on _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23) + +# Warning +>![WARNING] +>Most of this was coded at night, while sleepy and a bit sick, and after walking for about 4 hours around a forest, so... diff --git a/awk/collect_dir_info.awk b/awk/collect_dir_info.awk new file mode 100644 index 0000000..0f4ec58 --- /dev/null +++ b/awk/collect_dir_info.awk @@ -0,0 +1,27 @@ +BEGIN { + slen = length(src) +} + +{ + if (length($0) <= slen) { + next + } + + rel = substr($0, slen + 2) + parent = rel + if (sub(/\/[^\/]+$/, "", parent) == 0) { + parent = "." + } + + all[parent]++ + if (is_dir[rel]) { + dirs[parent]++ + } + is_dir[parent] = 1 +} + +END { + for (parent in all) { + printf "%s|%d|%d\n", parent, all[parent], dirs[parent] + } +} diff --git a/awk/generate_sidebar.awk b/awk/generate_sidebar.awk new file mode 100644 index 0000000..dffdf08 --- /dev/null +++ b/awk/generate_sidebar.awk @@ -0,0 +1,104 @@ +function title_from_name(name) { + gsub(/\.md$/, "", name) + gsub(/-/, " ", name) + return name +} + +BEGIN { + n_dlines = split(dinfo, dlines, "\n") + for (i = 1; i <= n_dlines; i++) { + if (split(dlines[i], dparts, "|") == 3) { + d_all[dparts[1]] = dparts[2] + d_dirs[dparts[1]] = dparts[3] + } + } +} + +{ + rel = substr($0, length(src) + 2) + all_paths[rel] = 1 + ordered_paths[count++] = rel + + dir = rel + if (sub(/\/[^\/]+$/, "", dir) == 0) { + dir = "." + } + + md_count[dir]++ + if (rel ~ /index\.md$/) { + has_index[dir] = 1 + } +} + +END { + print "" + delete opened_levels[depth] + depth-- + } + + for (i = common + 1; i < n; i++) { + dir_path = "" + for (j = 1; j <= i; j++) { + dir_path = dir_path parts[j] "/" + } + + this_d = "" + for (j = 1; j <= i; j++) { + this_d = (this_d == "" ? parts[j] : this_d "/" parts[j]) + } + + if (flatten == "true" && d_all[this_d] == 1 && d_dirs[this_d] == 1) { + continue + } + + printf "
  • %s
      \n", dir_path, title_from_name(parts[i]) + opened_levels[++depth] = i + } + + curr_dir = rel + if (sub(/\/[^\/]+$/, "", curr_dir) == 0) { + curr_dir = "." + } + is_single = (single_file_index == "true" && md_count[curr_dir] == 1 && !has_index[curr_dir]) + + if (parts[n] != "index.md" && !is_single) { + path = "/" rel + gsub(/\.md$/, ".html", path) + printf "
    • %s
    • \n", path, title_from_name(parts[n]) + } + + prev_n = n + split(rel, prev_parts, "/") + } + + while (depth > 0) { + print "
  • " + depth-- + } + print "" +} diff --git a/awk/markdown_embed.awk b/awk/markdown_embed.awk new file mode 100644 index 0000000..0d35ca7 --- /dev/null +++ b/awk/markdown_embed.awk @@ -0,0 +1,538 @@ +function is_global_url(src) { + return (src ~ /^https?:\/\//) +} + +function split_src(src, base, qpos, hpos, cutpos) { + base = src + qpos = index(base, "?") + hpos = index(base, "#") + cutpos = 0 + if (qpos > 0) cutpos = qpos + if (hpos > 0 && (cutpos == 0 || hpos < cutpos)) cutpos = hpos + if (cutpos > 0) base = substr(base, 1, cutpos - 1) + return base +} + +function ext_of(src, base, n, parts) { + base = split_src(src) + n = split(base, parts, ".") + if (n < 2) return "" + return tolower(parts[n]) +} + +function is_image_ext(ext) { + return (ext ~ /^(png|jpe?g|gif|bmp|webp|svg|ico)$/) +} + +function is_audio_ext(ext) { + return (ext ~ /^(mp3|wav|ogg|m4a|aac|flac)$/) +} + +function is_video_ext(ext) { + return (ext ~ /^(mp4|webm|ogv|mov|m4v)$/) +} + +function is_inline_text_ext(ext) { + return (ext ~ /^(html|txt|md|css|js|mjs|cjs|json|xml|yml|yaml|toml|ini|conf|c|h|cpp|hpp|rs|go|py|sh|lua|php|java|kt|swift|sql|csv|tsv|log)$/) +} + +function dirname_of(path, p) { + p = path + if (sub(/\/[^\/]*$/, "", p)) return p + return "." +} + +function resolve_local_path(src, rel, candidate) { + rel = split_src(src) + if (substr(rel, 1, 1) == "/") { + rel = substr(rel, 2) + if (site_root != "") { + candidate = site_root "/" rel + if ((getline _tmp < candidate) >= 0) { + close(candidate) + return candidate + } + close(candidate) + } + candidate = rel + if ((getline _tmp < candidate) >= 0) { + close(candidate) + return candidate + } + close(candidate) + + if (rel == "styles.css" && fallback_file != "") { + candidate = fallback_file + if ((getline _tmp < candidate) >= 0) { + close(candidate) + return candidate + } + close(candidate) + } + return "" + } + + candidate = input_dir "/" rel + if ((getline _tmp < candidate) >= 0) { + close(candidate) + return candidate + } + close(candidate) + + candidate = rel + if ((getline _tmp < candidate) >= 0) { + close(candidate) + return candidate + } + close(candidate) + return "" +} + +function read_file(path, out, line, rc) { + out = "" + while ((rc = getline line < path) > 0) { + out = out line "\n" + } + close(path) + return out +} + +function escape_html(s, t) { + t = s + gsub(/&/, "\\&", t) + gsub(//, "\\>", t) + return t +} + +function css_highlight_line(line, m, prop, val) { + if (line ~ /^[[:space:]]*\/\*.*\*\/[[:space:]]*$/) { + return "" line "" + } + + if (line ~ /^[[:space:]]*[^{}][^{}]*\{[[:space:]]*$/) { + sub(/\{[[:space:]]*$/, "", line) + return "" line "{" + } + + if (line ~ /^[[:space:]]*\}[[:space:]]*$/) { + return "}" + } + + if (match(line, /^([[:space:]]*)(--?[A-Za-z0-9_-]+)([[:space:]]*:[[:space:]]*)([^;]*)(;?[[:space:]]*)$/, m)) { + prop = "" m[2] "" + gsub(/var\(--[A-Za-z0-9_-]+\)/, "&", m[4]) + val = "" m[4] "" + return m[1] prop m[3] val m[5] + } + + return line +} + +function highlight_code_block_line(line) { + return css_highlight_line(line) +} + +function highlight_css_block(text, n, i, lines, out) { + n = split(text, lines, "\n") + out = "" + for (i = 1; i <= n; i++) { + out = out css_highlight_line(lines[i]) + if (i < n) out = out "\n" + } + return out +} + +function render_code_include(src, force_inline, ext, local_path, content) { + if (is_global_url(src)) return "" + + ext = ext_of(src) + if (!force_inline && !is_inline_text_ext(ext)) return "" + + local_path = resolve_local_path(src) + if (local_path == "") return "" + + content = read_file(local_path) + if (content ~ /\n$/) sub(/\n$/, "", content) + content = escape_html(content) + if (ext == "css") { + content = highlight_css_block(content) + } + return content +} + +function render_embed(src, alt, has_alt, force_inline, ext, local_path, content) { + if (force_inline && !is_global_url(src)) { + local_path = resolve_local_path(src) + if (local_path != "") { + content = read_file(local_path) + if (content ~ /\n$/) sub(/\n$/, "", content) + return content + } + } + + ext = ext_of(src) + + if (is_global_url(src)) { + if (is_image_ext(ext)) { + if (has_alt) return "\""" + return "" + } + if (is_audio_ext(ext)) return "" + if (is_video_ext(ext)) return "" + return "" + } + + if (is_image_ext(ext)) { + if (has_alt) return "\""" + return "" + } + if (is_audio_ext(ext)) return "" + if (is_video_ext(ext)) return "" + + if (is_inline_text_ext(ext)) { + local_path = resolve_local_path(src) + if (local_path != "") { + content = read_file(local_path) + if (content ~ /\n$/) sub(/\n$/, "", content) + return content + } + } + + return "" +} + +function extract_attr(tag, attr, pat, m, token) { + pat = attr "=\"[^\"]*\"" + if (match(tag, pat)) { + token = substr(tag, RSTART, RLENGTH) + sub(/^[^=]*="/, "", token) + sub(/"$/, "", token) + return token + } + return "" +} + +function trim_ws(s) { + sub(/^[[:space:]]+/, "", s) + sub(/[[:space:]]+$/, "", s) + return s +} + +function extract_vertical_align(style, rest, part, pos, key, val) { + rest = style + while (rest != "") { + pos = index(rest, ";") + if (pos > 0) { + part = substr(rest, 1, pos - 1) + rest = substr(rest, pos + 1) + } else { + part = rest + rest = "" + } + part = trim_ws(part) + if (part == "") continue + pos = index(part, ":") + if (pos == 0) continue + key = tolower(trim_ws(substr(part, 1, pos - 1))) + val = trim_ws(substr(part, pos + 1)) + if (key == "vertical-align" && val != "") return val + } + return "" +} + +function td_has_vertical_align(td_tag, style_attr) { + style_attr = extract_attr(td_tag, "style") + if (style_attr == "") return 0 + return (extract_vertical_align(style_attr) != "") +} + +function add_td_vertical_align(td_tag, align, style_attr, repl) { + style_attr = extract_attr(td_tag, "style") + if (style_attr == "") { + sub(/>$/, " style=\"vertical-align: " align ";\">", td_tag) + return td_tag + } + repl = style_attr + if (repl !~ /;[[:space:]]*$/) repl = repl ";" + repl = repl " vertical-align: " align ";" + gsub(/&/, "\\&", repl) + gsub(//, "\\>", repl) + sub("style=\"" style_attr "\"", "style=\"" repl "\"", td_tag) + return td_tag +} + +function apply_td_vertical_align(line, out, rest, seg, td_tag, img_tag, after_td, after_img, style_attr, align, new_td) { + out = "" + rest = line + while (match(rest, /]*>[[:space:]]*]*>/)) { + out = out substr(rest, 1, RSTART - 1) + seg = substr(rest, RSTART, RLENGTH) + rest = substr(rest, RSTART + RLENGTH) + + after_td = index(seg, ">") + if (after_td == 0) { + out = out seg + continue + } + td_tag = substr(seg, 1, after_td) + after_img = index(seg, "]*\/?>/)) { + pre = substr(rest, 1, RSTART - 1) + tag = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + src = extract_attr(tag, "src") + alt = extract_attr(tag, "alt") + force_inline_tag = extract_attr(tag, "data-force-inline") + if (is_image_ext(ext_of(src)) && force_inline_tag == "") { + # Preserve hand-written attributes (style/class/etc) for normal images. + repl = tag + } else { + repl = render_embed(src, alt, (alt != ""), (force_inline_tag != "")) + } + out = out pre repl + rest = post + } + return out rest +} + +function rewrite_double_bang_with_parens(line, out, rest, token, inside, src, alt, sep, pre, post, repl) { + out = "" + rest = line + while (match(rest, /!!\[[^]]*\]\([^)]*\)/)) { + pre = substr(rest, 1, RSTART - 1) + token = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + + inside = token + sub(/^!!\[/, "", inside) + sep = index(inside, "](") + alt = substr(inside, 1, sep - 1) + src = substr(inside, sep + 2) + sub(/\)$/, "", src) + + repl = render_embed(src, alt, (alt != ""), 1) + out = out pre repl + rest = post + } + return out rest +} + +function rewrite_double_bang_bare(line, out, rest, token, src, pre, post, repl) { + out = "" + rest = line + while (match(rest, /!!\[[^]]+\]/)) { + pre = substr(rest, 1, RSTART - 1) + token = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + src = token + sub(/^!!\[/, "", src) + sub(/\]$/, "", src) + repl = render_embed(src, "", 0, 1) + out = out pre repl + rest = post + } + return out rest +} + +function rewrite_bare_bang(line, out, rest, token, src, pre, post, repl) { + out = "" + rest = line + while (match(rest, /!\[[^]]+\]/)) { + pre = substr(rest, 1, RSTART - 1) + token = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + src = token + sub(/^!\[/, "", src) + sub(/\]$/, "", src) + repl = render_embed(src, "", 0, 0) + out = out pre repl + rest = post + } + return out rest +} + +function rewrite_noncode_line(line, out, rest, pstart, pend, code_seg, noncode) { + out = "" + rest = line + while (1) { + pstart = index(rest, "") + if (pstart == 0) { + noncode = rest + noncode = rewrite_img_tags(noncode) + noncode = rewrite_double_bang_with_parens(noncode) + noncode = rewrite_double_bang_bare(noncode) + noncode = rewrite_bare_bang(noncode) + out = out noncode + break + } + + noncode = substr(rest, 1, pstart - 1) + noncode = rewrite_img_tags(noncode) + noncode = rewrite_double_bang_with_parens(noncode) + noncode = rewrite_double_bang_bare(noncode) + noncode = rewrite_bare_bang(noncode) + out = out noncode + + rest = substr(rest, pstart) + pend = index(rest, "") + if (pend == 0) { + out = out rest + break + } + code_seg = substr(rest, 1, pend + length("") - 1) + out = out code_seg + rest = substr(rest, pend + length("")) + } + return out +} + +function rewrite_code_double_bang_with_parens(line, out, rest, token, inside, src, sep, pre, post, repl) { + out = "" + rest = line + while (match(rest, /!!\[[^]]*\]\([^)]*\)/)) { + pre = substr(rest, 1, RSTART - 1) + token = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + + inside = token + sub(/^!!\[/, "", inside) + sep = index(inside, "](") + src = substr(inside, sep + 2) + sub(/\)$/, "", src) + + repl = render_code_include(src, 1) + if (repl == "") repl = token + out = out pre repl + rest = post + } + return out rest +} + +function rewrite_code_double_bang_bare(line, out, rest, token, src, pre, post, repl) { + out = "" + rest = line + while (match(rest, /!!\[[^]]+\]/)) { + pre = substr(rest, 1, RSTART - 1) + token = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + src = token + sub(/^!!\[/, "", src) + sub(/\]$/, "", src) + repl = render_code_include(src, 1) + if (repl == "") repl = token + out = out pre repl + rest = post + } + return out rest +} + +function rewrite_code_bang_with_parens(line, out, rest, token, inside, src, sep, pre, post, repl) { + out = "" + rest = line + while (match(rest, /!\[[^]]*\]\([^)]*\)/)) { + pre = substr(rest, 1, RSTART - 1) + token = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + + inside = token + sub(/^!\[/, "", inside) + sep = index(inside, "](") + src = substr(inside, sep + 2) + sub(/\)$/, "", src) + + repl = render_code_include(src, 0) + if (repl == "") repl = token + out = out pre repl + rest = post + } + return out rest +} + +function rewrite_code_bare_bang(line, out, rest, token, src, pre, post, repl) { + out = "" + rest = line + while (match(rest, /!\[[^]]+\]/)) { + pre = substr(rest, 1, RSTART - 1) + token = substr(rest, RSTART, RLENGTH) + post = substr(rest, RSTART + RLENGTH) + src = token + sub(/^!\[/, "", src) + sub(/\]$/, "", src) + repl = render_code_include(src, 0) + if (repl == "") repl = token + out = out pre repl + rest = post + } + return out rest +} + +function restore_plain_markers(line) { + gsub(/\034P0\034/, "*", line) + gsub(/\034P1\034/, "_", line) + gsub(/\034P2\034/, "`", line) + gsub(/\034P3\034/, "[", line) + gsub(/\034P4\034/, "]", line) + gsub(/\034P5\034/, "(", line) + gsub(/\034P6\034/, ")", line) + gsub(/\034P7\034/, "!", line) + gsub(/\034P8\034/, "$", line) + gsub(//, "", line) + gsub(/<\/mfmplain>/, "", line) + return line +} + +BEGIN { + input_dir = dirname_of(input_file) + in_pre_code = 0 +} + +{ + line = $0 + + start_pre = (line ~ /
    /)
    +    end_pre = (line ~ /<\/code><\/pre>/)
    +
    +    if (in_pre_code || start_pre) {
    +        gsub(/\\!\[/, "\034ESC_BANG_OPEN\034", line)
    +        line = rewrite_code_double_bang_with_parens(line)
    +        line = rewrite_code_double_bang_bare(line)
    +        line = rewrite_code_bang_with_parens(line)
    +        line = rewrite_code_bare_bang(line)
    +        gsub(/\034ESC_BANG_OPEN\034/, "![", line)
    +        line = highlight_code_block_line(line)
    +    } else {
    +        line = rewrite_noncode_line(line)
    +    }
    +
    +    line = apply_td_vertical_align(line)
    +    line = restore_plain_markers(line)
    +    print line
    +
    +    if (start_pre && !end_pre) {
    +        in_pre_code = 1
    +    } else if (in_pre_code && end_pre) {
    +        in_pre_code = 0
    +    }
    +}
    diff --git a/awk/render_template.awk b/awk/render_template.awk
    new file mode 100644
    index 0000000..90d3b06
    --- /dev/null
    +++ b/awk/render_template.awk
    @@ -0,0 +1,32 @@
    +function replace_all(text, token, value, pos, token_len) {
    +    token_len = length(token)
    +    while ((pos = index(text, token)) > 0) {
    +        text = substr(text, 1, pos - 1) value substr(text, pos + token_len)
    +    }
    +    return text
    +}
    +
    +{
    +    line = $0
    +    line = replace_all(line, "{{TITLE}}", title)
    +    line = replace_all(line, "{{NAV}}", nav)
    +    line = replace_all(line, "{{FOOTER}}", footer)
    +    line = replace_all(line, "{{CSS}}", style_path)
    +    line = replace_all(line, "{{HEAD_EXTRA}}", head_extra)
    +    line = replace_all(line, "{{HEADER_BRAND}}", header_brand)
    +
    +    pos = index(line, "{{CONTENT}}")
    +    if (pos > 0) {
    +        printf "%s", substr(line, 1, pos - 1)
    +        while ((getline content_line < "-") > 0) {
    +            gsub(/\.md\)/, ".html)", content_line)
    +            gsub(/\.md"/, ".html\"", content_line)
    +            gsub(/\.md\?/, ".html?", content_line)
    +            gsub(/\.md#/, ".html#", content_line)
    +            print content_line
    +        }
    +        printf "%s\n", substr(line, pos + 11)
    +    } else {
    +        print line
    +    }
    +}
    diff --git a/awk/replace_variables.awk b/awk/replace_variables.awk
    new file mode 100644
    index 0000000..5678883
    --- /dev/null
    +++ b/awk/replace_variables.awk
    @@ -0,0 +1,64 @@
    +{
    +    raw[++n] = $0
    +    lines[n] = $0
    +    rest = $0
    +
    +    while (match(rest, /--[A-Za-z0-9_-]+[[:space:]]*:[[:space:]]*[^;]+;/)) {
    +        decl = substr(rest, RSTART, RLENGTH)
    +
    +        name = decl
    +        sub(/:.*/, "", name)
    +        gsub(/[[:space:]]/, "", name)
    +
    +        value = decl
    +        sub(/^[^:]*:[[:space:]]*/, "", value)
    +        sub(/;[[:space:]]*$/, "", value)
    +
    +        vars[name] = value
    +        rest = substr(rest, RSTART + RLENGTH)
    +    }
    +}
    +
    +END {
    +    in_root = 0
    +    for (i = 1; i <= n; i++) {
    +        line = raw[i]
    +        if (!in_root && line ~ /:root[[:space:]]*\{/) {
    +            in_root = 1
    +            lines[i] = ""
    +            if (line ~ /\}/) {
    +                in_root = 0
    +            }
    +            continue
    +        }
    +        if (in_root) {
    +            lines[i] = ""
    +            if (line ~ /\}/) {
    +                in_root = 0
    +            }
    +        }
    +    }
    +
    +    for (i = 1; i <= n; i++) {
    +        line = lines[i]
    +        if (line == "") {
    +            continue
    +        }
    +        changed = 1
    +        iter = 0
    +
    +        while (changed && iter < 10) {
    +            changed = 0
    +            iter++
    +            for (name in vars) {
    +                token = "var(" name ")"
    +                while ((pos = index(line, token)) > 0) {
    +                    line = substr(line, 1, pos - 1) vars[name] substr(line, pos + length(token))
    +                    changed = 1
    +                }
    +            }
    +        }
    +
    +        print line
    +    }
    +}
    diff --git a/kewt.sh b/kewt.sh
    new file mode 100755
    index 0000000..d06d47c
    --- /dev/null
    +++ b/kewt.sh
    @@ -0,0 +1,358 @@
    +#!/bin/sh
    +
    +die() {
    +    echo "Error: $1" >&2
    +    exit 1
    +}
    +
    +usage() {
    +    cat <] [--to ]
    +       $0 [src] [out]
    +       $0 --new [title]
    +       $0 --help
    +
    +Options:
    +  --help         Show this help message.
    +  --new [title]  Create a new site directory (default: site)
    +  --from    Source directory (default: site)
    +  --to      Output directory (default: out)
    +EOF
    +}
    +
    +script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
    +awk_dir="$script_dir/awk"
    +
    +ensure_root_defaults() {
    +    if [ ! -f "./site.conf" ]; then
    +        cat > "./site.conf" <<'EOF'
    +title = "kewt"
    +style = "kewt"
    +dir_indexes = true
    +single_file_index = true
    +flatten = false
    +footer = "made with kewt"
    +logo = ""
    +display_logo = false
    +display_title = true
    +logo_as_favicon = true
    +favicon = ""
    +EOF
    +    fi
    +
    +    if [ ! -f "./template.html" ]; then
    +        cat > "./template.html" <<'EOF'
    +
    +
    +    
    +        
    +        {{TITLE}}
    +
    +        
    +        {{HEAD_EXTRA}}
    +    
    +
    +    
    +        
    +

    {{HEADER_BRAND}}

    +
    + + + +
    {{CONTENT}}
    + + +EOF + fi +} + +create_new_site() { + new_title="$1" + new_dir="site" + [ -n "$new_title" ] && new_dir="$new_title" + + [ -e "$new_dir" ] && die "Target '$new_dir' already exists." + + ensure_root_defaults + + mkdir -p "$new_dir" + cp "./site.conf" "$new_dir/site.conf" + printf "# _kewt_ website\n" > "$new_dir/index.md" + + if [ -n "$new_title" ]; then + awk -v new_title="$new_title" ' + BEGIN { done = 0 } + /^title[[:space:]]*=/ { + print "title = \"" new_title "\"" + done = 1 + next + } + { print } + END { + if (!done) print "title = \"" new_title "\"" + } + ' "$new_dir/site.conf" > "$new_dir/site.conf.tmp" && mv "$new_dir/site.conf.tmp" "$new_dir/site.conf" + fi + + echo "Created new site at '$new_dir'." + exit 0 +} + +generate_nav() { + dinfo=$(find "$1" -not -path '*/.*' | sort -r | awk -v src="$1" -f "$awk_dir/collect_dir_info.awk") + find "$1" -name "*.md" | sort | awk -v src="$1" -v single_file_index="$single_file_index" -v flatten="$flatten" -v dinfo="$dinfo" -f "$awk_dir/generate_sidebar.awk" +} + +src="" +out="" +new_mode="false" +new_title="" +positional_count=0 + +while [ $# -gt 0 ]; do + case "$1" in + --help|-h) + usage + exit 0 + ;; + --new) + new_mode="true" + if [ $# -gt 1 ] && [ "${2#-}" = "$2" ]; then + new_title="$2" + shift + fi + ;; + --from) + [ $# -lt 2 ] && die "--from requires a value." + src="$2" + shift + ;; + --to) + [ $# -lt 2 ] && die "--to requires a value." + out="$2" + shift + ;; + --*) + die "Unknown option: $1" + ;; + *) + positional_count=$((positional_count + 1)) + if [ "$positional_count" -eq 1 ]; then + [ -z "$src" ] && src="$1" || die "Source already set (use either positional or --from)." + elif [ "$positional_count" -eq 2 ]; then + [ -z "$out" ] && out="$1" || die "Output already set (use either positional or --to)." + else + die "Too many positional arguments." + fi + ;; + esac + shift +done + +[ "$new_mode" = "true" ] && create_new_site "$new_title" + +ensure_root_defaults + +[ -z "$src" ] && src="site" +[ -z "$out" ] && out="out" + +[ -d "$src" ] || die "Source directory '$src' does not exist." + +title="kewt" +style="kewt" +footer="made with kewt" +dir_indexes="true" +single_file_index="true" +flatten="false" +logo="" +display_logo="false" +display_title="true" +logo_as_favicon="true" +favicon="" + +load_config() { + [ -f "$1" ] || return + while IFS='= ' read -r key val; do + val=$(echo "$val" | tr -d '" ' | tr -d "'") + case "$key" in + title) ;; + style) style="$val" ;; + dir_indexes) dir_indexes="$val" ;; + single_file_index) single_file_index="$val" ;; + flatten) flatten="$val" ;; + footer) footer="$val" ;; + logo) logo="$val" ;; + display_logo) display_logo="$val" ;; + display_title) display_title="$val" ;; + logo_as_favicon) logo_as_favicon="$val" ;; + favicon) favicon="$val" ;; + esac + done < "$1" + + t=$(grep "^title" "$1" | cut -d= -f2- | sed 's/^[ "]*//;s/[ "]*$//') + [ -n "$t" ] && title="$t" +} + +load_config "./site.conf" +load_config "$src/site.conf" + +template="$src/template.html" +[ -f "$template" ] || template="./template.html" +[ -f "$template" ] || die "Template '$template' not found." + +[ -d "$out" ] && rm -rf "$out" +mkdir -p "$out" + +nav=$(generate_nav "$src") + +find_closest() { + target="$1" + start_dir="$2" + curr="$start_dir" + while [ "$curr" != "$src" ] && [ "$curr" != "." ] && [ "$curr" != "/" ]; do + if [ -f "$curr/$target" ]; then + echo "$curr/$target" + return + fi + curr=$(dirname "$curr") + done + if [ -f "$src/$target" ]; then + echo "$src/$target" + fi +} + +copy_style_with_resolved_vars() { + src_style="$1" + out_style="$2" + awk -f "$awk_dir/replace_variables.awk" "$src_style" > "$out_style" +} + +render_markdown() { + file="$1" + local_template=$(find_closest "template.html" "$(dirname "$file")") + [ -z "$local_template" ] && local_template="$template" + + closest_style_src=$(find_closest "styles.css" "$(dirname "$file")") + [ -z "$closest_style_src" ] && closest_style_src=$(find_closest "style.css" "$(dirname "$file")") + if [ -n "$closest_style_src" ]; then + style_rel_to_src="${closest_style_src#$src/}" + case "$closest_style_src" in + "$src/styles.css") style_rel_to_src="styles.css" ;; + "$src/style.css") style_rel_to_src="style.css" ;; + esac + style_path="/${style_rel_to_src%styles.css}" + style_path="${style_path%style.css}styles.css" + else + style_path="/styles.css" + fi + + logo_html="" + if [ "$display_logo" = "true" ] && [ -n "$logo" ]; then + logo_html="\"$title\"" + fi + + brand_text="" + if [ "$display_title" = "true" ]; then + brand_text="$title" + fi + + if [ -n "$logo_html" ] && [ -n "$brand_text" ]; then + header_brand="$logo_html $brand_text" + elif [ -n "$logo_html" ]; then + header_brand="$logo_html" + elif [ -n "$brand_text" ]; then + header_brand="$brand_text" + else + header_brand="$title" + fi + + favicon_src="" + if [ "$logo_as_favicon" = "true" ] && [ -n "$logo" ]; then + favicon_src="$logo" + elif [ -n "$favicon" ]; then + favicon_src="$favicon" + fi + head_extra="" + if [ -n "$favicon_src" ]; then + head_extra="" + fi + + MARKDOWN_SITE_ROOT="$src" MARKDOWN_FALLBACK_FILE="styles/$style.css" sh "$script_dir/markdown.sh" "$file" | awk -v title="$title" -v nav="$nav" -v footer="$footer" -v style_path="$style_path" -v header_brand="$header_brand" -v head_extra="$head_extra" -f "$awk_dir/render_template.awk" "$local_template" +} + +echo "Building site from '$src' to '$out'..." + +find "$src" -type d | sort | while read -r dir; do + rel_dir="${dir#$src/}" + [ "$dir" = "$src" ] && rel_dir="." + out_dir="$out/$rel_dir" + mkdir -p "$out_dir" + + if [ -f "$dir/styles.css" ]; then + copy_style_with_resolved_vars "$dir/styles.css" "$out_dir/styles.css" + elif [ -f "$dir/style.css" ]; then + copy_style_with_resolved_vars "$dir/style.css" "$out_dir/styles.css" + fi + + [ "$dir_indexes" != "true" ] && continue + + if [ ! -f "$dir/index.md" ]; then + if [ "$single_file_index" = "true" ]; then + md_count=$(find "$dir" -maxdepth 1 -name "*.md" | wc -l) + if [ "$md_count" -eq 1 ]; then + md_file=$(find "$dir" -maxdepth 1 -name "*.md") + render_markdown "$md_file" > "$out_dir/index.html" + continue + fi + fi + + temp_index="/tmp/kewt_index_$$.md" + display_dir="${rel_dir#.}" + [ -z "$display_dir" ] && display_dir="/" + echo "# Index of $display_dir" > "$temp_index" + echo "" >> "$temp_index" + find "$dir" -maxdepth 1 -not -path '*/.*' -not -path "$dir" | sort | while read -r entry; do + name="${entry##*/}" + case "$name" in + template.html|site.conf|style.css|index.md) continue ;; + esac + if [ -d "$entry" ]; then + echo "- [${name}/](${name}/index.html)" >> "$temp_index" + elif [ "${entry%.md}" != "$entry" ]; then + echo "- [${name%.md}](${name%.md}.html)" >> "$temp_index" + else + echo "- [$name]($name)" >> "$temp_index" + fi + done + render_markdown "$temp_index" > "$out_dir/index.html" + rm "$temp_index" + fi +done + +if [ ! -f "$out/styles.css" ] && [ -f "styles/$style.css" ]; then + copy_style_with_resolved_vars "styles/$style.css" "$out/styles.css" +fi + +find "$src" -type f | sort | while IFS= read -r file; do + rel_path="${file#$src/}" + dir_rel=$(dirname "$rel_path") + out_dir="$out/$dir_rel" + + case "${file##*/}" in + template.html|site.conf|style.css|styles.css) continue ;; + esac + + if [ "$single_file_index" = "true" ] && [ "${file%.md}" != "$file" ] && [ ! -f "$(dirname "$file")/index.md" ]; then + md_count=$(find "$(dirname "$file")" -maxdepth 1 -name "*.md" | wc -l) + [ "$md_count" -eq 1 ] && continue + fi + + if [ "${file%.md}" != "$file" ]; then + out_file="$out/${rel_path%.md}.html" + render_markdown "$file" > "$out_file" + else + cp "$file" "$out/$rel_path" + fi +done + +echo "Build complete." diff --git a/markdown.sh b/markdown.sh new file mode 100755 index 0000000..9409988 --- /dev/null +++ b/markdown.sh @@ -0,0 +1,672 @@ +#!/bin/sh + +script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) +awk_dir="$script_dir/awk" + +sed_ere() { + if sed -E '' /dev/null 2>&1; then + sed -E "$@" + else + sed -r "$@" + fi +} + +sed_ere_inplace() { + script="$1" + file="$2" + tmp="${file}.tmp.$$" + sed_ere "$script" "$file" > "$tmp" && mv "$tmp" "$file" || { + rm -f "$tmp" + return 1 + } +} + +sed_ere_inplace_n() { + script="$1" + file="$2" + tmp="${file}.tmp.$$" + sed_ere -n "$script" "$file" > "$tmp" && mv "$tmp" "$file" || { + rm -f "$tmp" + return 1 + } +} + +sed_inplace() { + script="$1" + file="$2" + tmp="${file}.tmp.$$" + sed "$script" "$file" > "$tmp" && mv "$tmp" "$file" || { + rm -f "$tmp" + return 1 + } +} + +temp_file="/tmp/markdown.$$" +cat "$@" > "$temp_file" + +awk ' +function find_unescaped_tag(s, tag, p, off, pos) { + p = 1 + while (1) { + off = index(substr(s, p), tag) + if (off == 0) return 0 + pos = p + off - 1 + if (pos == 1 || substr(s, pos - 1, 1) != "\\") return pos + p = pos + 1 + } +} + +function mask_plain(s, t) { + t = s + gsub(/\*/, "\034P0\034", t) + gsub(/_/, "\034P1\034", t) + gsub(/`/, "\034P2\034", t) + gsub(/\[/, "\034P3\034", t) + gsub(/\]/, "\034P4\034", t) + gsub(/\(/, "\034P5\034", t) + gsub(/\)/, "\034P6\034", t) + gsub(/!/, "\034P7\034", t) + gsub(/\$/, "\034P8\034", t) + return t +} +BEGIN { in_plain = 0 } +{ + line = $0 + out = "" + while (1) { + if (!in_plain) { + pos = find_unescaped_tag(line, "") + if (pos == 0) { + out = out line + break + } + out = out substr(line, 1, pos - 1) "" + line = substr(line, pos + 7) + in_plain = 1 + } else { + pos = find_unescaped_tag(line, "") + if (pos == 0) { + out = out mask_plain(line) + line = "" + break + } + out = out mask_plain(substr(line, 1, pos - 1)) "" + line = substr(line, pos + 8) + in_plain = 0 + } + } + print out +} +' "$temp_file" > "$temp_file.plain.$$" && mv "$temp_file.plain.$$" "$temp_file" + +IFS=' +' +refs=$(sed_ere -n "/^\[.+\]: +/p" "$@") +for ref in $refs +do + ref_id=$(printf %s "$ref" | sed_ere -n "s/^\[(.+)\]: .*/\1/p" | tr -d '\n') + ref_url=$(printf %s "$ref" | sed_ere -n "s/^\[.+\]: (.+)/\1/p" | cut -d' ' -f1 | tr -d '\n') + ref_title=$(printf %s "$ref" | sed_ere -n "s/^\[.+\]: (.+) \"(.+)\"/\2/p" | sed 's@|@!@g' | tr -d '\n') + + # reference-style image using the label + sed_ere_inplace "s|!\[([^]]+)\]\[($ref_id)\]|\"\1\"|g" "$temp_file" + # reference-style link using the label + sed_ere_inplace "s|\[([^]]+)\]\[($ref_id)\]|\1|g" "$temp_file" + + # implicit reference-style + sed_ere_inplace "s|!\[($ref_id)\]\[\]|\"\1\"|g" "$temp_file" + # implicit reference-style + sed_ere_inplace "s|\[($ref_id)\]\[\]|\1|g" "$temp_file" +done + +# delete the reference lines +sed_ere_inplace "/^\[.+\]: +/d" "$temp_file" + +# normalize GitHub admonition shorthand in blockquotes +sed_ere_inplace ' +/^>!\[/s/^>!\[/> [!/ +/^>\[!/s/^>\[!/> [!/ +s/^>([^[:space:]>])/> \1/ +' "$temp_file" + +# blockquotes +# use grep to find all the nested blockquotes +while grep '^> ' "$temp_file" >/dev/null +do + sed_ere_inplace_n ' +/^$/b blockquote + +H +$ b blockquote +b + +:blockquote +x +s/(\n+)(> .*)/\1
    \n\2\n<\/blockquote>/ # wrap the tags in a blockquote +p +' "$temp_file" + + sed_inplace '1 d' "$temp_file" # cleanup superfluous first line + + # cleanup blank lines and remove subsequent blockquote characters + sed_ere_inplace ' +/^> /s/^> (.*)/\1/ +' "$temp_file" +done + +# convert [!TYPE] blockquotes into admonition blocks +awk ' +function cap(s) { return toupper(substr(s, 1, 1)) tolower(substr(s, 2)) } +BEGIN { count = 0 } +{ lines[++count] = $0 } +END { + i = 1 + while (i <= count) { + if (lines[i] == "
    ") { + j = i + 1 + while (j <= count && lines[j] != "
    ") j++ + if (j <= count) { + first = "" + first_idx = 0 + for (k = i + 1; k < j; k++) { + if (lines[k] != "") { + first = lines[k] + first_idx = k + break + } + } + if (first ~ /^\[![A-Za-z]+\]$/) { + kind = first + sub(/^\[!/, "", kind) + sub(/\]$/, "", kind) + lkind = tolower(kind) + if (lkind == "note" || lkind == "tip" || lkind == "important" || lkind == "warning" || lkind == "caution") { + print "
    " + print "

    " cap(lkind) "

    " + has_body = 0 + for (k = first_idx + 1; k < j; k++) { + if (lines[k] != "") { + print "

    " lines[k] "

    " + has_body = 1 + } + } + if (!has_body) print "

    " + print "
    " + i = j + 1 + continue + } + } + } + } + print lines[i] + i++ + } +} +' "$temp_file" > "$temp_file.admon.$$" && mv "$temp_file.admon.$$" "$temp_file" + +# Setext-style headers +sed_ere_inplace_n ' +# Setext-style headers need to be wrapped around newlines +/^$/ b print + +# else, append to holding area +H +$ b print +b + +:print +x +/=+$/{ +s/\n(.*)\n=+$/\n

    \1<\/h1>/ +p +b +} +/\-+$/{ +s/\n(.*)\n\-+$/\n

    \1<\/h2>/ +p +b +} +p +' "$temp_file" + +sed_inplace '1 d' "$temp_file" # cleanup superfluous first line + +# atx-style headers and other block styles +sed_ere_inplace ' +/^#+ /s/ #+$// # kill all ending header characters +/^# /s/# ([A-Za-z0-9 ]*)(.*)/

    \1\2<\/h1>/g # H1 +/^#{2} /s/#{2} ([A-Za-z0-9 ]*)(.*)/

    \1\2<\/h2>/g # H2 +/^#{3} /s/#{3} ([A-Za-z0-9 ]*)(.*)/

    \1\2<\/h3>/g # H3 +/^#{4} /s/#{4} ([A-Za-z0-9 ]*)(.*)/

    \1\2<\/h4>/g # H4 +/^#{5} /s/#{5} ([A-Za-z0-9 ]*)(.*)/

    \1\2<\/h5>/g # H5 +/^#{6} /s/#{6} ([A-Za-z0-9 ]*)(.*)/
    \1\2<\/h6>/g # H6 + +/^\*\*\*+$/s/\*\*\*+/
    / # hr with * +/^---+$/s/---+/
    / # hr with - +/^___+$/s/___+/
    / # hr with _ + +' "$temp_file" + +# unordered lists +# use grep to find all the nested lists +while grep '^[\*\+\-] ' "$temp_file" >/dev/null +do +sed_ere_inplace_n ' +# wrap the list +/^$/b list + +# wrap the li tags then add to the hold buffer +# use uli instead of li to avoid collisions when processing nested lists +/^[\*\+\-] /s/[\*\+\-] (.*)/<\/uli>\n\n\1/ + +H +$ b list # if at end of file, check for the end of a list +b # else, branch to the end of the script + +# this is where a list is checked for the pattern +:list +# exchange the hold space into the pattern space +x +# look for the list items, if there wrap the ul tags +//{ +s/(.*)/\n
      \1\n<\/uli>\n<\/ul>/ # close the ul tags +s/\n<\/uli>// # kill the first superfluous closing tag +p +b +} +p +' "$temp_file" + +sed_inplace '1 d' "$temp_file" # cleanup superfluous first line + +# convert to the proper li to avoid collisions with nested lists +sed_inplace 's/uli>/li>/g' "$temp_file" + +# prepare any nested lists +sed_ere_inplace '/^[\*\+\-] /s/(.*)/\n\1\n/' "$temp_file" +done + +# ordered lists +# use grep to find all the nested lists +while grep -E '^[1-9]+\. ' "$temp_file" >/dev/null +do +sed_ere_inplace_n ' +# wrap the list +/^$/b list + +# wrap the li tags then add to the hold buffer +# use oli instead of li to avoid collisions when processing nested lists +/^[1-9]+\. /s/[1-9]+\. (.*)/<\/oli>\n\n\1/ + +H +$ b list # if at end of file, check for the end of a list +b # else, branch to the end of the script + +:list +# exchange the hold space into the pattern space +x +# look for the list items, if there wrap the ol tags +//{ +s/(.*)/\n
        \1\n<\/oli>\n<\/ol>/ # close the ol tags +s/\n<\/oli>// # kill the first superfluous closing tag +p +b +} +p +' "$temp_file" + +sed_inplace '1 d' "$temp_file" # cleanup superfluous first line + +# convert list items into proper list items to avoid collisions with nested lists +sed_inplace 's/oli>/li>/g' "$temp_file" + +# prepare any nested lists +sed_ere_inplace '/^[1-9]+\. /s/(.*)/\n\1\n/' "$temp_file" +done + +# make escaped periods literal +sed_ere_inplace '/^[1-9]+\\. /s/([1-9]+)\\. /\1\. /' "$temp_file" + +# fenced code blocks (triple backticks) +awk ' +BEGIN { in_fence = 0 } +{ + if (!in_fence && $0 ~ /^```/) { + print "
        "
        +        in_fence = 1
        +        next
        +    }
        +    if (in_fence && $0 ~ /^```[[:space:]]*$/) {
        +        print "
        " + in_fence = 0 + next + } + print +} +END { + if (in_fence) print "
    " +} +' "$temp_file" > "$temp_file.fence.$$" && mv "$temp_file.fence.$$" "$temp_file" + + +# code blocks +sed_ere_inplace_n ' +# if at end of file, append the current line to the hold buffer and print it +${ +H +b code +} + +# wrap the code block on any non code block lines +/^\t| {4}/!b code + +# else, append to the holding buffer and do nothing +H +b # else, branch to the end of the script + +:code +# exchange the hold space with the pattern space +x +# look for the code items, if there wrap the pre-code tags +/\t| {4}/{ +s/(\t| {4})(.*)/
    \n\1\2\n<\/code><\/pre>/ # wrap the ending tags
    +p
    +b
    +}
    +p
    +' "$temp_file"
    +
    +sed_inplace '1 d' "$temp_file" # cleanup superfluous first line
    +
    +# convert html characters inside pre-code tags into printable representations
    +sed_ere_inplace '
    +# get inside pre-code tags
    +/^
    /{
    +:inside
    +n
    +# if you found the end tags, branch out
    +/^<\/code><\/pre>/!{
    +s/&/\&/g # ampersand
    +s//\>/g # greater than
    +b inside
    +}
    +}
    +' "$temp_file"
    +
    +# remove the first tab (or 4 spaces) from the code lines
    +sed_ere_inplace 's/^\t| {4}(.*)/\1/' "$temp_file"
    +
    +# markdown pipe tables
    +awk '
    +function trim(s) {
    +    sub(/^[[:space:]]+/, "", s)
    +    sub(/[[:space:]]+$/, "", s)
    +    return s
    +}
    +
    +function is_table_row(line, t) {
    +    t = line
    +    return (t ~ /^[[:space:]]*\|/ && t ~ /\|[[:space:]]*$/)
    +}
    +
    +function is_table_sep(line, t) {
    +    if (!is_table_row(line)) return 0
    +    t = line
    +    gsub(/[|:\-[:space:]]/, "", t)
    +    return (t == "" && line ~ /-/)
    +}
    +
    +function split_row(line, out, n, i, raw) {
    +    raw = line
    +    sub(/^[[:space:]]*\|/, "", raw)
    +    sub(/\|[[:space:]]*$/, "", raw)
    +    n = split(raw, out, /\|/)
    +    for (i = 1; i <= n; i++) out[i] = trim(out[i])
    +    return n
    +}
    +
    +function align_for(sep, t) {
    +    t = trim(sep)
    +    if (t ~ /^:-+:$/) return "center"
    +    if (t ~ /^:-+$/) return "left"
    +    if (t ~ /^-+:$/) return "right"
    +    return ""
    +}
    +
    +function render_cell(cell, inner) {
    +    inner = trim(cell)
    +    if (inner ~ /^```.*```$/) {
    +        sub(/^```[[:space:]]*/, "", inner)
    +        sub(/[[:space:]]*```$/, "", inner)
    +        return "
    " inner "
    " + } + return inner +} + +BEGIN { count = 0 } +{ lines[++count] = $0 } + +END { + in_pre = 0 + i = 1 + while (i <= count) { + if (lines[i] ~ /^
    /) {
    +            in_pre = 1
    +            print lines[i]
    +            i++
    +            continue
    +        }
    +        if (in_pre) {
    +            print lines[i]
    +            if (lines[i] ~ /^<\/code><\/pre>/) in_pre = 0
    +            i++
    +            continue
    +        }
    +
    +        if (i < count && is_table_row(lines[i]) && is_table_sep(lines[i + 1])) {
    +            n_header = split_row(lines[i], header)
    +            n_sep = split_row(lines[i + 1], sep)
    +            n_cols = (n_header > n_sep ? n_header : n_sep)
    +
    +            print ""
    +            print ""
    +            print ""
    +            for (c = 1; c <= n_cols; c++) {
    +                cell = (c <= n_header ? render_cell(header[c]) : "")
    +                a = (c <= n_sep ? align_for(sep[c]) : "")
    +                if (a != "") print ""
    +                else print ""
    +            }
    +            print ""
    +            print ""
    +
    +            j = i + 2
    +            print ""
    +            while (j <= count && is_table_row(lines[j])) {
    +                n_body = split_row(lines[j], body)
    +                print ""
    +                for (c = 1; c <= n_cols; c++) {
    +                    cell = (c <= n_body ? render_cell(body[c]) : "")
    +                    a = (c <= n_sep ? align_for(sep[c]) : "")
    +                    if (a != "") print ""
    +                    else print ""
    +                }
    +                print ""
    +                j++
    +            }
    +            print ""
    +            print "
    " cell "" cell "
    " cell "" cell "
    " + + i = j + continue + } + + if (is_table_sep(lines[i]) && i < count && is_table_row(lines[i + 1])) { + n_sep = split_row(lines[i], sep) + n_cols = n_sep + + print "" + print "" + print "" + for (c = 1; c <= n_cols; c++) { + a = align_for(sep[c]) + if (a != "") print "" + else print "" + } + print "" + print "" + + j = i + 1 + print "" + while (j <= count && is_table_row(lines[j])) { + n_body = split_row(lines[j], body) + print "" + for (c = 1; c <= n_cols; c++) { + cell = (c <= n_body ? render_cell(body[c]) : "") + a = align_for(sep[c]) + if (a != "") print "" + else print "" + } + print "" + j++ + } + print "" + print "
    " cell "" cell "
    " + + i = j + continue + } + + print lines[i] + i++ + } +} +' "$temp_file" > "$temp_file.table.$$" && mv "$temp_file.table.$$" "$temp_file" + +# br tags +sed_ere_inplace ' +# if an empty line, append it to the next line, then check on whether there is two in a row +/^$/ { +N +N +/^\n{2}/s/(.*)/\n
    \1/ +} +' "$temp_file" + +# emphasis and strong emphasis and strikethrough +sed_ere_inplace_n ' +# batch up the entire stream of text until a line break in the action +/^$/b emphasis + +H +$ b emphasis +b + +:emphasis +x +s/\*\*(.+)\*\*/\1<\/strong>/g +s/__([^_]+)__/\1<\/strong>/g +s/\*([^\*]+)\*/\1<\/em>/g +s/([^\\])_([^_]+)_/\1\2<\/em>/g +s/\~\~(.+)\~\~/\1<\/strike>/g +p +' "$temp_file" + +sed_inplace '1 d' "$temp_file" # cleanup superfluous first line + +# paragraphs +sed_ere_inplace_n ' +# if an empty line, check the paragraph +/^$/ b para +# else append it to the hold buffer +H +# at end of file, check paragraph +$ b para +# now branch to end of script +b +# this is where a paragraph is checked for the pattern +:para +# return the entire paragraph into the pattern space +x +# look for non block-level elements, if there - print the p tags +/\n<(div|table|pre|p|[ou]l|h[1-6]|[bh]r|blockquote|li)/!{ +s/(\n+)(.*)/\1

    \n\2\n<\/p>/ +p +b +} +p +' "$temp_file" + +sed_inplace '1 d' "$temp_file" # cleanup superfluous first line + +# cleanup area where P tags have broken nesting +sed_ere_inplace_n ' +# if the line looks like like an end tag +/^<\/(div|table|pre|p|[ou]l|h[1-6]|[bh]r|blockquote)>/{ +h +# if EOF, print the line +$ { +x +b done +} +# fetch the next line and check on whether or not it is a P tag +n +/^<\/p>/{ +G +b done +} +# else, append the line to the previous line and print them both +H +x +} +:done +p +' "$temp_file" + +# inline styles and special characters +sed_ere_inplace ' +/^

    /,/^<\/code><\/pre>/b
    +
    +s/<(http[s]?:\/\/.*)>/\1<\/a>/g # automatic links
    +s/<(.*@.*\..*)>/\1<\/a>/g # automatic email address links
    +
    +# inline code
    +s/([^\\])``+ *([^ ]*) *``+/\1\2<\/code>/g
    +s/([^\\])`([^`]*)`/\1\2<\/code>/g
    +
    +# force-inline image syntax (double bang)
    +s/!!\[([^]]*)\]\(([^)]*) \"([^\"]*)\"\)/\"\1\"/g
    +s/!!\[([^]]*)\]\(([^)]*)\)/\"\1\"/g
    +
    +s/(^|[^\\])!\[([^]]*)\]\(([^)]*) \"([^\"]*)\"\)/\1\"\2\"/g # inline image with title
    +s/(^|[^\\])!\[([^]]*)\]\(([^)]*)\)/\1\"\2\"/g # inline image without title
    +
    +s/(^|[^\\!])\[([^]]*)\]\(([^)]*) \"([^\"]*)\"\)/\1\2<\/a>/g # inline link with title
    +s/(^|[^\\!])\[([^]]*)\]\(([^)]*)\)/\1\2<\/a>/g # inline link
    +
    +# MFM font syntax
    +s/\$\[font\.serif ([^]]+)\]/\1<\/span>/g
    +s/\$\[font\.monospace ([^]]+)\]/\1<\/span>/g
    +s/\$\[font\.sans ([^]]+)\]/\1<\/span>/g
    +
    +# special characters
    +/&.+;/!s/&/\&/g # ampersand
    +/<[\/a-zA-Z]/!s//\>/g # greater than bracket
    +s/\\\\/\\/g # backslash
    +' "$temp_file"
    +
    +# display and cleanup
    +awk -v input_file="$1" -v site_root="$MARKDOWN_SITE_ROOT" -v fallback_file="$MARKDOWN_FALLBACK_FILE" -f "$awk_dir/markdown_embed.awk" "$temp_file"
    +rm "$temp_file"
    diff --git a/site.conf b/site.conf
    new file mode 100644
    index 0000000..933873c
    --- /dev/null
    +++ b/site.conf
    @@ -0,0 +1,11 @@
    +title = "kewt"
    +style = "kewt"
    +dir_indexes = true
    +single_file_index = true
    +flatten = false
    +footer = "made with kewt"
    +logo = ""
    +display_logo = false
    +display_title = true
    +logo_as_favicon = true
    +favicon = ""
    diff --git a/site/Heaven/catgirl.jpg b/site/Heaven/catgirl.jpg
    new file mode 100644
    index 0000000000000000000000000000000000000000..a73b848e59ca3dc61fe6ecf484c554f1913bf200
    GIT binary patch
    literal 152259
    zcmb5V1yo$iwl>Sk^c(y}F50
    z)%qECK*u?Qv_@>UX*CItbLRwaTu#m8pMl{3a7b{^?eBq~pNxbIhk}as+%1j!JTN>W
    zJSs9AJQ5r#0ssLH@Z67!^k-N#{Fla1znIE#WX{a?^)muGNfbgZ@c9RNDMx=;R#gWP
    z_k=nF@$Ut|i$8baBH#kV09OfR=>E8p2h5WHdzoa>$5~J>Z@|Oj>Y7NN*nHmrDs7fI
    z4!5c{n8vWUsV^;6Sv1Inp}
    zGZkxQn%Qb9tB_x+@!gD9%g-){BP;Ob|3Y4cfmLC(1q?t^`cwcj{5?{K)Y}2`)zg6n
    zw(hX3ul>Sz#Mnt!SHA(3#xF#u@?Db4%Xv`fMBizI`)z{>tzQclNdCVLLoh@=z793h
    zg@E>dD~^U7(Z@LHX@XL=RUHJIk^JA{GHFZ;rOyCxFeUac9K7<31Nk=I?+PCzgdc58
    z_gzI&X}fujF}E8%{lwQLzDFVY^5AY9V1d+2IvpxHD4A!y9Jf^JA4|;HqY?+Kn6Jf_
    z+_6V3GOT$ks&&{?P`{?UEfUuGoMLZU)#1SBD__AM+YJIDu&B{r(ocOC|9aA18voI;UE1tKdf_}Xk|F3D_nL9?iuv#
    zu+VE(4AX|@zcboiRRVs_ME!?gY{bRUms+ENWaOCu=zykm+N^D^^4n_zf)Cwlil*sI
    zF%EZ+A}k#wj@E9vMfaDgjF0QvT%c+MA_ZNK@xltDJl-^SbPSNouGyzk%kG&veI>`f4N29ePZ7XXe
    zDK4mTQ8`$fr)Lvu7I(hdl(&;DQ<;A=91Vnr42n|$05;@vd2;*diw6Vg7<%Lbrq3;T%|1MzMilX
    zLz1jTcn?5Rp+xhgIZn&?*{2zwI#foA-&kH@A35CPl_#GbO8H<>8xr={=ex4tZ|ewP
    z4lE#z%Nf2!{m-H#B2^&rt>^{e6EPD7^}8`oU+NHnF^R;I;~8I^EZPRK)
    zW5iMJTE739^n%dEU#kw~tLgm8k9hdj)V^^#H>&Vh$rX-fmHFjE#Zhe!K|0!moW}m)
    zH3hHUA%e9GHY(?B=Qr!|F(adKDT|3>8p$4%+6dXM>uk0v((kSU$y1X3Uw=93)kn4Y
    z4jMUtJI8~`;+2cWQ~~y&(J@A0zbu$^gu}(NRpM4Gdi@+|ofzRalcisS
    z>qYoficbpLI&ssP+w4<_+*LnbgVox!EQg+96UH$;N<9|#oaCuv^x<A_BM9YS+SPqR5oNQ`S|?a1!^gzi}-MG!3%A~$$zXfTL5g1IwEbZ8qL
    zvY}{&N8*A4gx2N&S*QYWd|Y<1iCD)ZRdX2rvwdRB%bXJVbwz@4&!NmO`s3TxFEK2q
    zZvn4#2gN>rpk&ziyx(>C$aoCW*vrH?Aj+E}3L+?Eq6z3CLv7k)$Xgda;@dL7p_5lt
    zjEkg12pICb*ZerPb;xIy^R1i^f$o>RMzz{>^552a_N5SKk~(%B(LxU@&rCzj61_aR
    znUzU*yJGls(xUo2sXm4%(r*CW;iL5cP&%O2?2vgGbOI3~NKr13`v-8lc(ln6n-PC2
    z#Qv~oHKk8J^)82oP@!fJtPZUQx-0Ba>x!9mU1|4ik?B*J2+}t;`d^939I^|Q*BmLS
    z=kDeipji!Q@B?eH|H5e|Kk66*n$
    ze+nUNq6CtlgPK?YFQ_O4BAX~)5kt5H(L%KSwu)KyzLf2gHc8LhLJD-Rop`-+^uN}9
    z%4EQ+sspD|5U_1o@ZYMCC5ATnTRYL4ny*71Wt+^SHL46ETbeai@m`Risyi50QnIS)
    z!6uCX1(!^eHf(p)w9UiQ&3fb&`UZOX5_(Z^^6-bbnx!>1y860PPQ3OOadlTgNhgPD
    z@(`UT1_oh8L}p*pNTdycRK9VSymp65f&E-cwQJFVaN@2XUsl5CX2etmWXIp=H=J5W
    z9s|wQjZ>`Q9moQ){luM5Q89$Si!8_uu{6E@zFZopG;W`LwT<_a$$QUzM<{XixqIuq2&h_Dz1b7A6=a8P<7_w*IW9Cm1*UviGsf1*px!88suQS0~5XB{$FoXxMuR3N`o@se*0#1X?0F4wp?Q>q2|858))-bMTw{WbQTbR@{x2Rq%
    z-?o+c2vFq3L-A!rNfHNxW4hcT`C^(|!i70M&kT`vIxT(Ep5YC{r(F&4ENvPP#$?Zf
    z=)w0y?(=C&^I%?Ry=3YIcC#jdW8(-fSG`$;ZMDz2}
    z-d4(2E=aL6pvr;7+W_z3wiQ^==M5z74^2;X$9x9&#bAX>%knwD0cvkhR}ekI^eRDi+q(rG{*mHey5V{K(AS9X?245v=}OIrX+=&DB|=Xe(;i-Uk@kge!GO$JA*h2pbUeexFaT6`8hW
    zdm{Uv6@)z|TZDb9H*#J-oFAY~u{Q3QNMRS>{)L!9_}hMp6YfN)V(zU+p@r~cNUpf^
    z3ABM%kKbX=p=EsJeaksC9_5}dx0@0Jh!F>fzdV=rYvP!C$dYSJuN0znv*YltW$;4LQFZ)DX>!J96!ytE+CeXFmCc8!gx057>2PNe|<^h~6|q
    zS8jQwYg7EI2zpl-zk@!5I>S8kOh_NKgomoz+{}C_oTmC-Q$rT29pRrJBty9&YTSyT@C}d3JKLc0Y`7!B?_U
    z=ei#$LdZcOL*@;d>cQGLbz==l3)QMJar1T3ouTMRy@ICB)Vm6n8~N&zdQOczts1#+
    z?8o@{Zy-&UOcc%x>bc7GF)h8&IlEVhiSC1RJ1nu(=GLlfyrKua7(@jeNA3mI<
    z9?watGI0I&v#Q=jhfwblJvyu~0lRg|JnrETRT5dA8{cdUjTfz9rj(_D>bhkv>@1Rs
    z{%P~qyBocIo+Fj7o=tYCpY*p@zgPkCt1
    zpj69RYUMGoJUP+*;cX@5!x{^y7k?a~&zDQ{QfY!5Ga)%RQ2oW}T?<~z>k_qpFAiKu
    zqQ*D#2?N=Ew(J-rG!w}ilMX3=BcISr{+VMP(MOD5vNI(g;^c(1jH)80%629z<);pU
    z>trIY>SL*d%~(Z#_77oF035wbNR^27>Omgup(;HEPvIjYM@)`LtDm9`f!xDp$M2>%2*_-#+x
    z%F>Aa;mG|;>)KpSJFuiSw4sp1AOuC?MxRuu@Gcdmq!jsvL~ZG)TWr6(>%Rd#&w0O$S6SDWj2#-v$sIQ;N&|
    z-4o_^;t^sSKI%7UFQ8e$YIoX!L+r#X+WFxBo;L!k(z>rl9v>F--l>f7V@x;@5J=qO
    z?+A|?NzJUpVq@8P1V0k7lKzYsip|UtqEr!WpC3A3OKXzVmY8<%nyHwo`-EMY4ivNW
    z$hmurkSxk|;VN-m)BJ@W)*bd1n%%Q`B7}GSR;%w{;73nynu^Zu(ltGkqC8G6R?l)+
    z?84AGOJa(`(5GN5?X0Y<;f<^$JZG@oamdnJ>YIZ;D5zhD8DV+YTGnt5GE{UUixiG;
    z!pqkXgVN39c7u#;#~qWMGn?XZq*{+RA^MU;B2@wQbzF9?8^eWxb-~$%TaA?Y1fMjj
    zN`S}9*LZyL0Id-8Z%*cnYVYCh_fHBd_1gN7r3&fxi!!*clLUQL#H+tyU&{@@mQ&LL
    zf#C#%mF0Ha(`z$Lq{v8k$=KqeIEBBT^QlG#O~ss^E>Eed(GGrT^sSqWDyj342deaG
    zf4F-!vTfKzN3OplLeQD_>TI!=h)GTX6y8Qi?SYaY{8)Kb)?i)CLJRd?;FH&0*1GOu
    z;eM(6#T~z2;pZJTXb%!QHW_SvJn0L3kc`X88_AljOJRJp9KdH}3ULismv|WXB^A{X
    zcuDJYEr^7<>Kf`k+0@!zu5ssRSaeEdsVpuprK^_$xIm(nqIBA^&LDX1G2(r$oi=N5T&~hT+;R@`?t?|+`o1PZ^GZB6
    zt*Oh?)-@>zEgcIu&H)dwqr_gq0i-YRRIZp6(uRAYW`6?aP@p*89KE;GmcHvS9&Z|y
    z%|4}%e?h?KpUBcf_8wc`$LQDMElbkj(k)5h+rFi=kjAGqNh@ne%+VXXfTkG?{9S&o
    zRl|I_H2SBFdZJwH1Qdx+fMWMT!`BD0zSyhIlk|J!3G!&dqZMQB^weV|d$kX)J+8xy
    zL;B|!A{z>`!TmY0r32~_httFYd036;>dC&$oSLlC???Hp%vyWy7V>%?7#Xl8
    ztA5~Zjo;5WAVk-{5?fePQ~9B_Y^jn;g5^v0IkTwAVx{f(9@h3&J|4wtgk=p{2zBMyYC|HQ5Bz4i$eWpgRZ{y58?hQSk*N
    zkPi#ixzuR!D4^9Y%>vP)z#I+k(stwh@aq
    zq2Skz7}Ofx36rr+8A<*0lW%(H(Cna&(N_O}IomncIr}9Jyl0r>vUYifImu_3`zyC|
    zD8Vb4MVb8|tGEz2%bgeJJ+}a6O;sV_*r-XzVspX_=w=oT)22Y|NHDm^j6E_pR6f8A
    z;V^8~=US6@75;j{Fk@t8#tN|#K$oYGKs3cwTxK^q8Gg#%fbi1k$!fJud25sYfd9!r
    zOivHhL!ntiU=iQ#mS2xfs#M63YBD|=ESOi}zW6K68-5c~Lv`Cyp+kKJl}=(7y-mjX
    z_S!~gUxv^nn>ddxuC-FeKT*G!*#nH4f
    zrW&hjS`Ez)iXpo(rKb+)iggE+-xeUDA-TLLEW@bSs4VreATfu2Wl^ibV`t2Rxu0ea
    zgo=-@;XF<6Ro+9d(2BEiA@HL`JVfO)$f)hKem{Yej*{)zC#C>A0s
    zl>PC$PGOQP!j+fy{m-0X*HoeUWHWGI0>n!x`Hs#OpcR+sL$$By_KmBBLXXCN143eXx{<>8evK{OSw+gEBE
    zASL_HR~dWtiq_!~t-K{u_?g{OAuX}E2+W91OG0fI2*PrR(bzA$%~-8BF}<(0vkY7q
    zxg1Jn5+drnaV^41;~{p-#YblgQi_W_i00G56VdSaEU!Tm;v{fZT7om4AKCM_c}0qB
    zT|z#CIYN&0%{@Vn%IEN%9BN}of|Rhu^v%_=>ru@(~(pAkA7L)~yw*+<^K
    zfJzyl*DnFGCeYo?`-$>1I8J>zY(&(x?l)mvmOZ-}o3oM0L^Jh^Lgl4%$q@Zd+bjv0
    zz0^>q=xebMy-Bro_V>uoDxQy9pB<>fjDA@2;2b*ITf^v@)esbY@t$4~uQjuGN=i;N
    z%;+{(4~;~yGJG+ywR4#JCG=2C`8QxOM}8qzr(|c-c~a0g9ty88kZ>d7m=_)Ubbg-M
    zBXLPo|3m%eAvc)o6UV(*j!hsra&cs{%ce~X6Za|7>;8Jg*fTKEw~wC%2qx$H7ffLK
    z0iDH1>Jd&^0?C6Oh4`|~g;%9TBCYeKW=mOBX)|x9>$W~c26)5OMhlwBQltAnBBym0
    zZC;6)CQc=iH)aZ$K)ki`n=d
    zzoTDNy_|u^iUh|(=EKj#dD!G0Ru6j#JG%S^5$c-LM6o_)EsJm&T@ijI>L0&6rx3&s
    zcmcEOfE21NOl%rAdCb|$)qRtThR-SZD2Wn%eaZ8Vdww{0P(ex(80_}A68a&#nEqeB
    zt79fQ#e&_$)A#0l?xUz{<2Vp3;C_{x<|%_~Hj%@&{&g4HM5Zt~INBx#H65d#W!yCE(hKnQL1wkEXnTg>n06U(TZ_wWs
    zB2%=$JAB1m6<=4A8blvSv{|_7#llg%Whzk
    z5sNZ!VE|5AP**&}lW8_}X9d0rl2^eK&vb?do2KQ@b7M}ho~+J?L-jsI5em3U`}<_+
    z$Y||+gvBZ;&TZMr6UHODK;@Y78|b32@tmu?6c%S%8W$I1-p?yGTT{p=9;*uweQr0h
    zvcUqW9(Kn)dQL04d*!%fPusnVQkQI>NdNJmKXXyH{@R78aY5;b=%m>!!b-C82RUe7
    zy`_2jrDE1P(tu|x0+Rt61p656*^8H^8F|Uh
    zV8cYx4-OGCVvIg2Bel(LY6x&;qVVeXISGG3p1K&+b`FJ?3?o(16jWaqzv@wWfuOeX
    zGPE&V(!ji|VDAtyrOa@?G-zkG+(l8BSXSnxBrLZz^EUt)U-rB6{krV7pK2O-!+Ffr
    zuGBc!)+A|1(`$OH*48FTDOTP3qd%A4N5h$-|5D5}V+#x5!KP_CMMmZ1#3q<-po^xg5v1s{9;HcW&vZ@~
    zLTBL2D@ct{aDNatFBP19l$Zyxe)5@&THwh`u0QbdYI69FpbAIOx-hMl*9{9;C3<{UHmBfMERzmd(UF4iMuXzAJOFUqb=(bQc;Du=
    zdrtA@7V0KUTF6#OpC@QCiU})cvr|;T;y2){s(>WneH;}(6tvuul?^i)@BV?`=XiUu
    za67D}>B~Kze{b>|0KM7njAFn!mbG;{#hXYcJZAwJO&8&M~RQKtA0Zf*N@1CnfyIpT%Kg_Bp?r0sNkq=FOe@?J#
    zWH-3
    z{S78c^aHGc;+DL!?s(}gqiQ>lO+0Sz_^UWg`l}*zG^XLVz}*8)5U%uUe0D!`i0_Js
    zOG~~>X}_34J_M5{63xJJ%LjcWm#F3he#d>W>j^A)MO9cMa(r`$ueu_?a?0-Y1+
    z87divxC>zWM!Y||1}YLgK{P5)M3Gl{;``D9%M`#qWpUKF@WIP}XGv90CS4PcbC(73
    zO?`{cr3;zGN-rg`=PyM(9Crp++ZcGhPrXxO_>(VZkJ%E#z1e>20TG_?AFH7NvQT{H
    z8M6%%Iy$xdVx5Onx0S==Y9%a7-zRs!e|@R)A57Oj4Hr?N<3?N9)&7KD6q(RpLC~LE
    z&tE|hDg9WGbhF$|bYe}v-9F~ahsvuG3t<~l(20WlS}m4wg$y`g)IYu#?)7$}Xn^Sh
    zX`*_QA26`yFH;=U`eHw!|BC@+A}xZ2HPj_BSr@dZrz{DR#gRBPMDEk>t&XzX^HK|3
    zNtjmQA=m7-&p^!D2#n;Qam4ulny%PROMTIsitYQ3-pMaz($3g39;I~09+5w&+~Rl|
    zAp|K7ti)08Mc5AtW%WPrE(m!*F^l=tO=E?jgwt-@3FZ?Qp3;=l)iF5J*~DIbO%@Ax&c<647V>L
    zH&a?@duC=Z*%H4Ut*R{4RI5bHZoP%DX3%53-NzUV7tNKvpROU1ww*Dmy!XIv@))v-
    z!e6o9?sG*_-f|S827AQ77o4MI?R;BH=0nj*Si;|G
    zDC!&6F@N<@6xWdhU-AZT*M(Op&zM>bsuSsis?VZ;2H*kET}P+5e878)uo*eh4O#S1
    z1~zlWk&CBCmfkg}#uRDJo%5u9`JApzwPlN0!Mq^sj<%q{{j_FcS$l$7G$N5{)=s%zvOS97vOMDHKCU=RS7YLQ$eMird-CMwurCME76b)Jr40SODbWxcJP
    z<1OWDJ=P8)N`I0c#c!{9$~Iu^w>39is<2YX%Uhmun{&jsbi$H>^h_aEcnGeGsXl2u
    z8T-5A0P`YaOI)v&1+^-+jAzFMUlH-&@;84%6!yEa>D}@MPH?2yRK??To4HadaVZYS
    zx=uwmj^p_h)qnD?+#|>-@$KSYV-XU|r;YNP^6p*jRupkXi99uw5>fb!BJSmGbl^Jo%GydWKtpAIW{f)QXb0hR!Ttr$5|7iDiHfrGlIY2H
    z238u%X?hr+n_S5Xp}`x=5N+10h8wM)K^SMZ*AWY@qWjv`dKsEF?CMyU^%6#}nm!DX
    zHtSI-mu%1**0)eP5+*jFz4qPzumU5
    zfJ2Y?RWalI#__xkiVU*(b$K`Yg0pB!ZD1)*V7@HXjqI1*^^>TMhUoqD6W~WcG+s1-
    z0zeUjmV5Jz{q&0~=`{x=Jt8A42K*fq6hu+}KaNxrdK-h+r6Kz|DV$Tsj8DM51*5G~
    z=j9zv&f}Qt42)digpNprQff3R`gQRSVXf&Prr!XLL}im(zm3xU?Z^UWN4pZ_XGYuY
    zhi27Z-wrwUQ;c%F5esu;2|&()m4cj6yrz^h3F(&3_375&qDms!chnafL=JZ$nJ3`F
    zOZDbVpKQMe){;rTDWv?El5rxIF2Z=|Uqn2qMWqFc+S?{4Wx0DS=6E2=b-Ja*gQ!J0
    z?Oz$hXD5w?BM&_OUt20feHYZBw2f*;`YPPt>XsxrV3~aZhV$qi^DAR>)6njwjT{~q
    zGXbzHVr$IxzfaqP7@TR?g!
    zB2^8fi15dFTJ6=LAT`-jBZ@}Pvhn8%x%Dt`*2j7Ynq^A~Q&fs4Tg7cctZWYRewKCI5C^X#P
    zn?x|mlM`z@4Z4U1v)um%9LUq!2psR5E>4gm&X8-srhfyhzEqmj?D~i#tdio^gFjBh
    ztUVoXU!u6?tFOOGypQ+9zKQzrN|V=CSy1Lmqs3(C@Hap-Y-sO^G`~h9vzQ~Lwi20D
    z%AXuDo|=bw8zh<&tF2^0XD5S!B*iwNd^ABGpA9~MVt698i1%&P3-axW_y)1@-siv1
    zAD(gTPfeIPGYHXc3QTP{=>
    zR9CTVI_b_yhhj1hBz#XuI^_!+T~xa-6bs$o+vfL`;X2*RQ&m^sLWT(Q9;qHWatL0i
    zeP6LC?12M9*w3ELZJaa0(76DG`{Xh4v>`GtT)ZDgcPJUY;gC6a!CN3B^iUa-7>&tg
    zdZ~%@bkLMn89oZ25`CG;xN)QROM@f7b(Dv&Y9+U~Wr?~CTGMG}_BMx*`Scalfn1+}
    za4=NWdfn;zi`ymmeKemeK~QaDofrH5odbO+mS}W6{&!StJV!XnH~v1{O|n8+q#=%5
    zrO3)f5zbTzS`$3v7j~ao%xarnRAjCv(S0?UMqASophoA9I9Cvx;$7oAKDxcw`C63n
    z^9a*^$R{A9Dv2jGVPlarFg8feDREh@|MAvpy-;&1qPc&oA{IbNFt$W~ocRii!o8U3
    zg0a!3O8wn4e6zqWY7lhRi_h3*W9c&TUJg*26z?sMev_Ok50j1OQJ=OJ|AM&!1@La#~fM-54km1Wt%;^A{Wn$bMS6`$m3Hy+qtZQmVv%`
    zG@JW7{m5S;*^N3IsPwr0f*RMXF4|tMtF{%+t!e&+is8Gp{6`w}zX2t@BfFvRBZ104
    zWz}H(7AUy8@s-?>OtZ-fz`$yr^_Jc0nBALcO;(>p*EFP@o|vNTrA@yky@uii$BgRM
    zA7ru#2f>0Lvfh5ykh*BTomRA?R2;mr#XK4FfLy7I_VKp$l!1@jR7o1R)2>XM>2&fvSTLVez))!B&&L@$$D8cxUrf<13;ihzU?nt{qV=
    zlSqgl@0sn!A%c;=am*@b*eqhLYyI|C@pW@>L}ODGO4G)RA3~-)?h3^-T=gbiR4AJ-w`~AGQ@)tF*(1TV
    z;fWg|%Mh`Ixtj5*C)?$Mz9fXw9|{4{
    zUUQ`w)AQW2XPR6b9tg=t{{DlZNAuj^^!b~_qoCoI#{t*z*rwi4y_bifVK{$&gX?j`3UuhB+|!u;Z-xN3bx4Ob4*
    zoAF#!t~SR5LVi@Ggg{AXNkMMY4KY(0v=@kvaD_RrqFebU*!4XNGbA8M<;>P;ncC*D
    z#S(u1=gWP}k#;UK$#CB7YFXzwt4L`?`C}bByS!xp1cLz^ivZPt@LgOgQPh&
    zK3)!S-IeFzp5|aBzB_)-x7^y>8qkvJ@mxI?vaH%cM@}$XIo!Z_!Hdf9V16u$PXsr9
    zZ=E__pvu9{$E}0JR}t67(@`#Q=}3ksD`N4CxAW3mP1>dr3`Ub8CnwHV44+PeK5zPg
    zQ1T@nZ8Al0Ef4CA%oqw;Kw%oFbbctgF2a@c^n}cx0R2qgGSU2;J$FlLxiQ}uLxD-o
    zUh|tk6QJ=oS@-)8n8b)+L8gec@PrvL`LBcAu0gv}bqZOFC^g42r6`k-(!q0pZ`Lv4S7E(Aj-wjxF6y=V=jVSSZn{|0o2JGN
    zx|8ur8dMtY9}}}g6mkod+xUj!a>@KoYkvO6{$ND1q=cQV1&M0!f;{y|suN-ao3OJs
    zw3#j-1c~72*Vgf*ygq$vNh@7${?Fe4Tfc_gpD=4~tXH9BLW@SfSPX^-F5vZ3u!Mh}
    z$V5+Qh2TA>?M#_*yKt3nC}SbKe5zDMRfet}g}P~`X&fXNr{4yQw|Ng)DBASoXug~Y
    zj9~XveT^W^j^*|RE>?eiS}UXVV##KUMi`<3dQ;}|?tRAiRGRmW64Z0*d6dh(CPG19
    z;KM_H=ZI`dbb&BV+u;1d$92ioV6oqO#>*n4_)6bX=V(?%x`B0msQKQ1%OHonf-~zf
    zu*5#v5j_fCwv_kIiFf9FBbQgWtYz|*;@+`(iP;0u*Gh$k22^ym?6#-{-46B3m+?q!
    z(~RTX87d+$^TM!HBW+zB%&#|UGc$`dm`ZL_LwXF7F0X2)WSX!21%aRr_b>hcRhpRO
    z*6j9G<#X265B!)uMZwjiVOk_#7XwD6Zx>|pXYSvrOHC$VdO3O8d`5y4adSpKts=TY
    zmn@L1<<&+UGP^#Mnqk=}1Vp``e8#^5=do^j8QBW`-rleZ+^}%*g7bXJrUHFA#P?sq
    zHi%y|Qx;i@JThMRRLLCtz%^_{>lwPSRkuFOS}_G4ngmTniY&C8#vFpMc5-_)u%gt=
    zD>Gh686GvO)Ynw9%8w`}p~}%Jcf1=Puzb{~Ki^Vi`9Ylj>+Ktd<))v|+cRw)=XnMM
    zKXAE8gkv#*~
    zvnLzPg_~8DPBC?DhTSf|(`3H;4ZxDj0g$obd*uoq;7a0x&=?3{P0xj1?KdQGoiS#d
    zi$mZ27b6;?b4uyo=LEF*^W#`bW_#y)@w8OWW7~M+681WG4z9#f3V=(CnaJLH3
    zl30+=%zA#@HL~A}zTueaH-IoDuQ6`mL#LT2cRj-?hMI0K9w;h8DilqX0)^a~#pJ7%
    zW0n##Ahznmk-ixo_gZ4O@eh>ug_
    z0~;g5XTi!l{fmf}sZys#{Ug`elUX2Y6cMXgFNHP@$~jXsrF^%-vQ}kTOnd24P6WsH
    z$iYCZ<^t!u;|Jd<pC9!Ypr`Dx%
    z7a4K2!6sD`Zp$9qUSD2Em1O@ijpmf4IBR!I#DAwMt+prT!kVJIZ!>&j3el~hud?9u
    zn&YjD|3S5w-uP?!k%IV*Ul+{_SQ$Wm=;_Y!@mEkky$xI>WkWjCoU2E^@UXmb%_$>f
    zg5L295(*Vaj(+V0{!}zd8uLwDn@L)Qt^p5W>q;B6JD$HXjvJZ4hc17lIWD&sBS(<=
    zR?CJoio5LkW-9~dAZ8;-NG`m!=c!AYhbKAGtO-OdRzOhvhf
    zMBRSMe8}#agz#o>|7BR-^kz;zw1|m@=~e6}@v*NQiwv2bao~2Y#muB}RQa(TN41D1
    zJ1*yzj8rUuCt1N78+Q%+6tU^8?s*CbD^zaiwL>n7nY++>n!5H{#=AF%`}R#=Ch!W5
    z`@{<65kfE31Re{kfuE6oXj92&3l+}2^eLl1?mdH7NrC8T9e1;PDc-&ghP&0h==sq~vGB1T>`XA&d>Ton=p43I%r{@pOBw$YU<#LiA;Zy4wk=D#F
    zaR?`LhN|iHw<%bWs)?~|ezt4`Z`xUKw1isru14>aewPK)%Ps5a>uhvNg)4bd2^~E2
    zQhdsrW8-Rex}s>A~KHa{^2F|G7Wo&SkLOVmWjeoW{)cHYT8t+fo4C;VYLqIs)KQ1CQ|^jbUOd5
    zhxD#nXb03ES=0r$HYk>;+2)R&oEAH@-0ns-vYp)(_2gK{Ot1833}v`?!j^2Bj+~V)
    zM-YSTV2gaO#%`Xqkioi}Yz6c}@M)?MK!f5)t%MhJe_1`>WUQ#;+&Obtlt=5KKj6#|
    zy@HCt6sb8D*?3j>#WwR6+Mw2NMTUeAL2iGhRKJg*w2`EMh#V@jt3(|X)^
    z==knTi%=(!AVXj_T1#8}Mr=aM=fti&?)XHmot>hVlIaF+Mf;Q$WuV;ZEX`*
    z;#T)Q)!M^3sz|ie+M{~EnJ0|S0iv~cZc_6)ILVe4jq1}2^y*>b_$DOf+s0k4h=E0q
    zW{Jt0B)8B*%--OEbcgFU(za{ikis%dZ4=`^Yq?0)W`Q@S6%xNJVL8Eht<(*>JksAN
    z)jfr7=%7i41wgiGO#DdqHKyHD-WLs!f90!NcyguIEc*?3wGRwr=RI4$V;R^}YML*<
    zoS#gFO*>A^?()A}c8@GLbiU)x1rVRDm4i~0KC91Al=8aK-Ru;woHgzXb{T%}T?RoK
    z5|P19;J&I--9K9#qYE6-;RUu6w|Ypuy86mF*fW{(G*OY5>~#+8uH6c`1#kEfs=kP2
    zFVEW^qx}TGQ?DYMoLKlO*M6FmzKDvlwkVDrWKs!vF3ohne8g-4=<698ZSYR6p0r?>
    zjBEX2?4zaCuxH3jk1O^WzgX5)CU-c)%JF{tTpl#JF6YI?5nu*47|Mv4Xsl#x+d2?N
    z0Wm?McjoTt?=EV1e!V|Zo_p0Ys%0=~S5F5pRuRrzGo!Zr4WONgn@J?>uq_cynRFdy
    zw|!eRH-jgv%wO(3eGQJvINJsTFp1DwCURZ=DjUc}goVi){#9B_cTl{X-f!WtI0$JS
    z+*5za0wX*oC1G9`Mx{9)eW5-keh^}6?f3Zu&U(dFRr-2Y#wx?E>q4EzNqQQc#(v+|
    zDmjNzXbOW-n}$2RMW}rwoUkn2So*ASUYtdg);-G?CTfz{Cg7DXmb9yDRM`PzQSCQL
    z4X`B4L6&7>k9Udz^#Y+2#lQE>uH4H314j$WVh98OA38=8q;CE;JkU$ChD+N=aD6QJ5u0VKOZgu;v$Yp%?rSP8XwE$}^Z|
    z-0Ab{oi9W304bG8<6?8h;xH{2yO8d5ZXOZEgeUZwD5fePeHSYHJq*Xw_puXwQ8gF$
    zk-yBx%^TkF7~9enGi@%>qeVDNqil!Uyuv8%oQfz#MU#Sx=@S4ZjyOTFPSW@r5Koq#
    zcKxbv^rvdih%e|^$f(>hc^ksW6DqQ0nW-Cv3)%=CQ|6T6OW5Th$cH(^%*bpw3Hhq5
    zSdZjzMq&lCFE?)Zx+50WC{GEx_JyolArEgz(bGP=+#0TN%77KBJEmwvgx>CSLT%kI
    z?I2J7rqeCn%LhcYwTTg~!D;*1+ZKAOVQR9Q&V^!2tp+!Yr#}1Kd{Pw`h=jm%(fn1{
    zTA|MwKPf-`aDJXs(uC$GBX@n78?2S(iIufk(@)Xui-o60M+U@ciakSV*aj|S+Y3hY
    z$mV?<1IC6JHfpRM6n>!kxb)}Lm6c=P0P=3qjfK^e8&qT=L;4X)mR?L=ZoV2gShZZf
    zXg7tOY1@bolF>Q!8_;Hs1ln$%i{N2nnxew6WrZjLBM-?D6Q~
    zv3ocj^C^wq%tB67(PrBzZT22^gi)xRFrl2A;hj6?ug=rw0<*U75=2goT2zw|^J%04
    z#Yj{t1{ZKs@;)C+m~0Z|*RtGFIms{$85t~W&>FEkVni&tg%WAKp-MpO<$KmYS}|1urER${Lc~lDq6}2KTfs!N!!$W|LBZ)`+%utiqSCgD&^B+JmI;PIzeSoJ|kw1-K&z&Hx|
    zfc^gVsf#8DqfB(T>pA#3R(byFio2~w!j20lu&hFn!Ks4h!@bW^dm$*5)U(Yzi$~ne
    zOmCWuQ;cH0TvkSJY8g)V^Ayb>5xLK&h3{N`U6V#
    z$Vq&E?3~d;bBJZQq(3Nzh@f|Alp4+6DQfsbr5$v-*QLmEW^keqav;;TjMge8%G@D6fM@39Q|3zVdC(6VeTC+>CDc$y183ZBmQyo%
    z7nAi9Em=Ic%f879rm6T+{8rSLPHy#ctc$jdy-l*%oDP}omckRhr~ikqw+w2#|Jr>+
    zaVT1>I0cGR+?^r`5Zt8{cXtY<6e;fR65I){#oax)I~3R6C-?Jz&VFX^J?G4Cl1XOr
    zBCo#Jcdd0@pH*pT7CB(2InS%WoR-!}8-G$Xm-w#)jjs?*n%XQ4*inZ#R1~A>Zc@rW
    zMf{a3?uos#Fhm(aN+MEx&)%Ebv+S2dAh0q(kc1tQx-8J34L{YBZU$0Yj@#1h8yEh>
    zyqje7dM~#kKI9Hh-S<0XuwWHI=j#>p@$4G;14O{Bc{}cY8U-({7_k7W8l?oca>M_I
    zWWfF5`SIFPjE2DU2vz-?`4;tq>T~Ffa@aiF1@8mbtf$aDo1gz`)>N9gXm1!Z#vEzj
    zRw+A6vjO?A7!gdlb;XCC_U|>k{
    z7ZQ}x83*EU$OuV%=>KdRA@8d6OS9e<_Q4Y%HMV^F89vBd
    z)d?1Gy%4ZNRKld9T{|!|pq`B_AgfW;3~+i=N)a_9HLc1yx87|dfdccmX88gP5&P(-
    zNO6$%LPvPUpmq#H^oaAc7>D3)`Rtss=PL#fIB$rJXpu7l5F#BS-$;ts(ucojs%pGd
    zd0UVoPNx6cNOhAV^yZrE?&9m3?*l}X-es!s)!0lX!?mlwq2j|LrHCud(d16wlfDER
    z2;tuQU3WrH(&d>U8!eVU-6c7nBfJ`3XK8Mr-A{OcVzHyf@UkeioZai@_D`?SklNr6
    zAi;V|aS--N->-=ilx6mH^?^JLp+EbMzcoH3mQe+k6$%y+J^A~Gvo_oL>d3FyDY1#G
    z3Vv%7rD$nFX9lV}Pif`ix&XDD&?qTUN!|~Y^?cF&qa-sL)tu1nc3g=9wTE^979Ah*%gA|ar)DwR
    z4;Nl1Eh*;%?OaS`Zn?;0c^Pty)z`ynC=9943V9)jK%_7KvHTP
    z077AQN!!(@viDzRgf?}YFw+hU=bOaM%|S|yTy+iD6kGoQs+GY!)rm|13=0c!PH+g!
    zK6z$V9$g9mQWHb~stnVuR+LCh3z-rn&@8451A}x;?lXYwNTuA^@Z-q~MliGNRu&)(Gj?V=dDI;Liy7gZ4ZTvf>HMRW
    zP|Kt~|0}T1vAN8mWk>!F+j)e$**ET*
    zwWA`Yq}Z;JLbzh44%(8WHrij9%a)W6#J^(apTf4hcL%Wv^?p7U&2KB=E4OMMo;~My
    zR+4HG4%MMp`3Ybw6uLzVJoSP3Xt#5ai4RE1qtAz6GXHyS2_UmjME=)&H
    zEC^-j3r$W-{hF^$iW_&RZg;{7u
    zmF;Q&nzCr0cI@+;<@$!!L=xSbM$xqFhhaakDzBy$&!Hx{DT#_inu(P}W+17;Xg(f&
    z+?@W=b%I54-GFhn&X8HVP6*-SdP8<9QXOzuo^e}+JHO||^@lRexwxa*nz^{*tcY(+
    zs^9C&?3y;oulPARN_6+#3u>y$qa2}@y7ITq4qxl!=AHtVNx2sm4fN)&ZS2h}C@0_^TkD=g+5hkY6%qtmt
    ziQ};~u0oCVb=S;{&JB@p3*c{pf#E(#k=yvB
    z=IXS4W7B<>yL9)AQ0bQ;_o@cS=)bK;?jrkit)&S2hEB@ssuHh%JCFYW5M~My5_S2M
    zW-9+v?B$`U#U~~)2B6|A0SujDkw-xOmzz!@_*uV)N}PFVYB6nc#Y#5H>oiODl+n3W
    zj>-Jfo0zwpzO30pbKaFb(>`V=-r$PmJ?iC|5MKVbqKYIEm+)c@su^fIH46^@`%6sV
    zGwsXMLOj}gM6L#JKfiBFkpsHQPMfII30&Wf_R!ypxzQM3vjNSWcX>kf-03l;X4{kK
    zB5@`6(W-FKYT+63|I*fK+qMtB^6edx#Vh)a+L}qZW@V&dyWggiX=mdO!KS#qr;BN}sjH;jZQaVshzI!gwIvCzEw^?(t
    z?$^X5w)v7xq#u3pKI-O;%myx~Seg%~2g@_qBb&79HWukgWqVEAA_NgW1n?SiS4$3=
    z)qiL!zBEoILA_OaBSWH?*_(#PBM)jQT8~BLyg(YS?1{ZP?G9A#Jbt8sMu$jZ{X$?B;my>_RyhX8Cou;_q3wEUM+zashakAFlsD+b`?4w~{Py2OO?C1I@
    zF%kuvMlkG+fAKkctgz^ky88<0fk4zg^oGi681BxXBjj6tq`?=*Q*a)qZ^3*#6gzqW
    z8^rEWt@{7GVHI{b`zTYO44(=>uF{B8FlPdBe#zNIGTdjof9nqCyvn79a(W(YCmgZ
    zQ8XlXH_<2lkeqafFUm>NW~AMnZ`W3rMhdfFJ!?e0QrgbUH1>azu_1~*u8zgnlwT7b
    zcF(L-!lp%#XI8zn)6`-L4gb}&th1GxP_ph4vG&FG^BG+S7MZTNZ7??N!kmGTS_Z~>
    z1{*42Uu5Rnzl34#oJUVY5gD-K#=w$RJeH{7>b3lGp#%-lf&*}~jvaIJ**kq9^IC)u
    z&w0EU_sUB_dMMz>RBS;vA>M^s*T91~rWv?NUS{&Uqw!|DN$ETlfeE&&V?2D+invDW
    zVYzHLU^I0BlU#^STeSLA^}$HJWAiTI_bsvuz1YWQClVcU4(l)2JvIup)(x)bWc~)q
    zOCBHnX;L2Ins8zy_?wDbYf0lTchknK^^G)c0;M4$@v&SkJ_x)OtfZfsIIGnul@KBNH8PitV%*BZ%QrPGI=fBs`$9iPA5swQs%V1~3zQ5e
    zQ(V-REwXIC*uUqdvLX}9+>k~`>~2Bq-u?&RDLUily8((&=a-%N(<`~r_uyNSnguL?
    z@I7WdKdS%DZ4x?peMYB5nS)RR-jFE+To*;0k1k8xTv3`>T3$gDs){75RR{YZ$NBhr
    zC5j@(uAEX&EQ
    zN8$M85_O`WNv~8m<6aA4*;?{U+}!5I47@#OR^nC2S}yM9L^b)R*syg{Q|O|Jt_!Fd
    z3l^9Pet*Vo<6^fckd7(cZ*x?^zD{z=7(e#$FEk9v8BKntZQKC$?SA|{9Le<
    zG>tg<|7;SR3AL%OJ&Gl3J$(K$lsboJyaw3&2S8bL+yu~&QbUJ#dYpMv^khy#P1oYv
    z>ilB#DpN?-<`=y9S$@$Xe`-Zo6)TaD!YN~>m+op1=q?6@XDW3_7dPD(cgsa&ME#hY
    z^Lf%3V)(nrtSF7svH#06rnR`Eu{sj#liAFv!dq~PpeJ2xJb$W#unj`D5AI1NuK#g+
    z*)#Uf;`qLm?u;uDoa{~vLXw7657_vJ!zdq*s619uNWa54YZ>b5)0Ps+Hl7lU2l0mt8WKo89h!r_BD>j`GF_hhTV2g{~y^fGemOhEB4@qsMgK1H|C
    z0D8f9+|3*;GRt42zN_ASf>4jzJ^P&54aI8+Qh75-Q=V2BqriQ0!1h;ypIq
    z6$ZwfUdUFd19P+Tmo@7`xDH-Xjont#;qqmr>9u!ucG}6BvKBWxA;tm|uY&#)G^_DW
    zHmlq9#-drs0!mFmgXw{^NVwjCEJ3K4gbU3zp*%~$dLC_c{7~PMt|e0aMmf!GIYMUA
    zuzO{AjaePH6X@~~LTNn-q#8Z!z(gA8cftkRQ~v{4d)yb1GqWb;35zEU!wYVI9>r>0
    z!PkJ4WC8&DHno-Pd}Nh~>q{#JJH~{$OA}+@iBZyYo8NPv9ciqoe;L1i&X)P?r26oq
    zS8!Hkt1>tZLhSs+ioy~zs>(=E*bpT|Np~%pmF<_j@%hB6wdj+}-yMD;^_xm;1uA>W
    zY*UD2c_Ghv^P^TZ%7AWIJweL!5BOZc@goM_+c*HlR2)#kym5TX40P8#`0M_fORQwid%$vRQ&((A
    zH5$pt|ikd
    zUO5%!-j{E%%CLkE#V>=O7j=Q%l61Jj%@5Q#e{&a1QH#wn-{u+)-ru(vZQstAd>T?p
    z6=3d%&FUIJ*XvBb3JZ6XD#Q`Uw+#(RN6{E3%F(&3OKhkD%$enPHT6;peOCZeNtsC%
    zffpXR%oocYE$Oz<^~oVCx!AqEkcA*8kY`VZGcA<{WKJh$ey6Y<)@H@wG5`KX^I7(*+%d$~8q9iQBb-LUs~eyusievGN%wE&$DM`)
    zV^Ph&-0D0xwO=@mWvlfNb)XPEv#8Gnxm8I;S-e7x7M{HnhXp#$-9x*+(I_bpGBOce~!UffX}p
    ze9}CuS9Ezm>xjx64cX{(P;q)Nj1KPB|mW#>gnvo#xJ
    zY2i?y@8KUTaqP{MmDT#g*TX+3j5Fcm>5W(9kM<)e+_)dz+r@pSv7sWDT6iK{fctFp
    zAHL!c-o5w*f&8V}d+pk3c(054MLH(#cujt-+v_!P|JKyC<>>xSudyB~@5?)V^$FXd
    zN^eF#WRk0ibCN=0>kl0^lo%y&=eHnG(Wdb2RzGJW=yjhc(ZwP^aW|uKtEq5EKb)CK
    zy+sx92*5>!Fh$W6@E!M*Mtwp^M{vy76gzrQo64sUr^cSr3#NP9<`7IFR!C#p{bK#=
    zAHZuET#VI?#7`?Pn8%l@7gF{*iZ;8}hZ;C0p#(7iW)|?97D8mciXWpP*4jw1L>{uu
    zx03`NQr4fJZDGtjJRUdu8J4hH(XkK{SvyCfxvI}GVuFK`eK!~i8`Du$;NF~_^qTzq
    zqX};w<2Ao!$}#O+d;DAWl7zFBvMb?}$U$rncOOr@H=Sin+V#HXTW@gDxp2-pV&I;=
    z_7(Yi%1APt)?#6eIbu=ovQMPT%`U6Z7D3geq}B2kX=}2Ig70LxrRW!&nXfbz4ovz4
    z^F<=PyinqW)w5w+r(K3eWOj?F7=sMO8HffF~KSIik<5R^%!qa
    zh(9QXCbfp7%hQ7xh7c4?F{1*3d`9YLDOT}~i_nb9BhE!ig1Y34uhJ-NElBtFjBd^|
    z8V%7|+k>AME^r_mebnNd^J_nU`c6Wg2^B`ABUV@iJg-48+}0|TqB%W-k`Ovy(eXkz
    z(1?QV;GiqRoy`b)#SC}z&P&LD;{biTyElon27cdK#A_4
    zNG%{Iyt_na?iGt&vJHBM|Ag&lEt2$h8kNswp!e~MUSJE3H^Wc`@e>c
    z|55Y*vZBFDQOqEiT3qo27vWl?yxsTk!hx~YBz=+Bk3Y=^!Hg$_u6Y>Lb9&+b3Tuwj
    zmrs~VbPsyUv41TqjU*9`9ki-Ns;e{bQb(E2$pJubN{y?a$QWka|MOMjmrT#GYt2ft
    zU$%STjyR?0;$hC{Urp8ql9g(wc=TFCV*N?*#*=p*lFNF3z#~VIZ}vr~-)L`PTqV`oi|fUt11@NQtJo
    z>olKVZ@o3b%&G-3_`xcQDRiGkwYEOC1dEJ=
    z7u#HvUgn9o*wnuc(Z?LVF2nfGT)(aKJ-lug+@IB5g-9kb^)&G-ubH#GZ0J-|4;*)u
    z+*7P>`(4a|hGcH60&3mr&CoRRXr$R?Hw2%@VXISqG(
    z$i1y{YDh9vG?8rySU(A^8`I()w0;%$8c}tejT~-Q@HRTJubX%icKBu?e9tZ|U0!Kx
    ziUi8Mac4f|Xp@%0R$4{&qrAQ>JM9xUA89IeTjm%SGWi$G|Lc%T7gW
    zR3>!Zg>dp*oZf>s-M9)qc9_NctUzbBgWPvtyy*Mur55OMoSwH_$O5jMPqu$=l2YOr
    zKhq~~wV@Zo1s`aXg>@s2%^2tnq_i&~rGEW(fmdUYq;76=)b@2D?qVhQhTqy6o551Aj-8%Pcc3!k+F}5f0e&6+OrOln+>Xpec`K(;|om=cA
    za%Dk?`la^5qtk84yB(;rz~K9dtx-pDvt2K<34{wGWPv+}`3rS{Ea#GRtPZAtF|=V>
    zL{@wP&9R4M36a;iqN15JdaIIDow(dx(aE|f)p+qE?yp_nw{%$yINz*MQfW=S>9S3G
    zxdu~c`N&y1yKK!7znL;w=o#|24UQReda47jsVaM@95VI<->^Hq3-SNVc`BhIHkHTgvaIzK1C}ZY41oY!l=*sInhC2uE
    zhV3<-ZANUB?Bro%*rs%e@o4ZlvvA*&R4P7`4(Tg3j%x2^aiVM4Z!;v8P|zC!@d6&h
    z4ehh_XBU&*=7phI+PX)(ul+>ZjT%9$g)T>9ensx%rh{<=7HN-c?iyl->z?kG1-5rBYn>Rh$$MJ$mYXAtUo7YjJlHg(pfO|
    z_no6nM*&;95;n}OS7|ckcN{f~H^o&84K!wfWglN?7cpA2hi_kuqGQDHBk57a5f7$T
    zuLsa2ig&!&{w=d?VT-w4(QO_74E!K+%bJIF@D1_Cde$b$?w{$*9tWirn(QDg>a}~gh$K*(O@bt6Wf|@DAc9C+5n&A+w|H9qd_VW{C1KZ3S)o!csT%CBv5d
    z33tr+)yM&ZlG|-$UX(AUeVQzyu<7Xd3DKkgJyNm&3KSM?Cc5K#lhNi<+Vs#JrDb>i
    zhUAV}A)?U_uO;VEpTpi`s4YmU3LtGU$}{WL-~>}AL~EQnwe0_x~*VL7hAT={Ig{R>6U)gWp~M0OZ;v`%2Wu
    z(3)^Gsq`vUD>*-VyotewR9dn)Tc#)aBxA>84$`g`SV_UmlJXlr*K{K{B!^rG8O
    zOkjlQ_a#&7o&q_Eul6Lr6Q&
    zgz!^*-f~OQX<}lO8P@0!J^KP_&tCDf@H(ufInS*F(ncpbA5`9ve5JFg`~km#{HEXf
    zFI5c0)c(0_+!Tl4+&3#1@w9ydc0M>?pCJbqbV~v2n)Wn{5_wrs~8b3^G+SQA}Xr6LP5)@s*gn-h@mHu4P@|HNJP5tEzcX
    zSfAVFHjca`F%ag;dLvzWi~&;^rSz>N9n;bX5og@04qy6BrOmnBf&R1T^odsXZ&>|j
    z2Rf_M#$GFBK*-D+waiDPNG*^>NbO*l_B80I*#3@;nasI$Y#ztRUC|Ome{6jLjNE$9
    z2CYVNH$9h=wxsY>&hkCzg^KSjDRN+u%fN-)yYZ9e%g7_Wuu*TbRU%sr&2lB&y+_T{
    zXEC#aAQF!vknot^hJ^*dN>UGVZc(Fv=^l0P7h&gRxP5IieTy7Mwk#DF`6knMc`MR&
    zXuwsm<1{Qp7b~5gxiofIB#R7r)rgg
    zR;~a&ZNNzLt)S1wFYBF?W&nQ=0BPRQthu}Vt*MnI%Xszygjh@^bea+w2+)DA>WT~qcv
    zYoGc1AyDLF3KPFKtp5JAGCHoY;jDrN2+|49ew?I(h~M`6VvaASOk9!Jx2W-iMaupv
    zt!BZZA={1n8J#I|RL(pAZCRGGSjzIbFMWkuz)A?th3F81V#d@aet=Wa@<#9{nmR;H
    zX6qR~OBmDyjLA+i&^70Vs9!q+se~j2_2gByEj$A}o}Cp94aJP&X82waAe0+zAaf2q
    zZ-d{f^bX||PDI-=pMxnG0HIHc0LL1&JS^9!&s~hKh^P4AwAoAOcsg%3w#KSktbs~T
    zmad?F`16P=vsh8`LI^*jdiK@51(Q}{e68!Mc27WX@z>;mS@*g7&ykSP@&~bIDV$Ax
    zm7&il`ZjaGs@OUt76!YS(B)B
    z?-mO(_{K6(y9}Q?uS`1Cl3`14q+MR5gliFHhj4ekmW@{04_brSBpD@`)xx>~?#2Af
    zzc3F8iOyWhGZysrm*I1412Ti=T7J$g=lfx`rcNw+5%KkTj}NXLaalhQ`<`($%X)GT
    zKhT{!e2cdeWy8jdRECOk!MKFlhOWMjI2V&>uSlZy_!I2Z_}~NWjNkQHXsxvq$D^QJrR)2ST&oU?%6g?gicv-loO%Btz5`?Q
    z@MGp%+F?)6>YkIeSTo9zT%^_uHRKowJSy*nOZ$@(FDMu9xh>o=Hfep~9hf$MpCP@F
    zqOhfXht10Uo|bx(YYBZo*2#r?po02$Y2JJAF)^E==F-$CI=lv&851dm{ZB=ZijD#u%KpqaPF#ps=Z`
    ztA23mRJ|5h^0K~}D_$lBNn?-BXJsB{@J;f#m&@zW-gB_2>WB9zx2whVgG4n7lHSe5
    z+aj=B6WUFi?H9%Wzu|CrEaHDX#Qk~L)Q!+R=1mzlGP0l)9s!*~VC*8HpMvF@_7yLE
    z%vkxypgvz>UN)|9+*)lR+}z#?sKV%U_%U8MZlp?(Nf0do4M`qaKbkC~6sOcXaa&vm
    zenU)`dcEXAU<-XSlb)<6;skv|`6fPuDv6(M6pdUnncz-FZJDa3<%-x~=H|A^680(0
    zYWB~lqCT7BJ+<$Mn!Z|i*fE5KF1s*Y1tD@|9YK^ry4+TJS2*rCmm<}`Y`T0
    z`I%LG7&^uzLW;i}29?m%*SqMrybYM|Q>Eg>k;TM>un+T6F@>M4->vy#axuA>jq0#?
    z7;jjzG|O1@>M<1Sy-Z-kYt)_eCpGKQ{mvisimRsMc=lU1G{wSDWP#wF;|k%nY+(qE
    z1b!@YNclE8hoUUg`*MjBY~ypW6pFIroHsEfy}PD2&Z6o=(PI3yTF=IlpoqL3>#(@>
    zC>AiAM^ep|r&dV1xMX%HYjSg-tP6rbg@w>ihS4LnhlR+#^{GcElARoHNe>lmiOz6;
    z_H<(ObaC7&A=O>zOq=n1tF7+Qvn|(t6SiNQ`cd{7jii(iZW^Q{)lQnkL)`n#a)|id;vsgz_OpXS@t1IpeO-{}?Owh`x
    zL42YWasVTv(;7U+PfPsJC@=^`aUc?Y^I-Kg#<%`m#*~Na*^PE1{EF(K?aA}icHelJj?~11j>rwPhAZI)=bROk%hyoTr?NdPb9}wV)?ddIlsc=9
    zFE&cTatbdazc&8?xTcHcxlO)!v>Hh~5z4wnR$JRByRG28!R+is`*A^E7{vBv14I5s
    z)@N~Qd|}g$hZ1v~j%dTR)ZiQ_ThW?K;l!W}_uqlSdMsL#yfPSGA=luYGr`H?V6b3
    zAJ4u>u2fonTMxvreLvJayH4TyY?h1l>p=y#R
    z;rAOqIrdej-UrkdibNaRL9JYr{mbFuanmCpYU
    z>aM7*mX@q~splunCT*jR+J6Ak(<#ZiVq7@wT~|~CArb8AGKrSLiFtWj_s&$Awf*xB
    z44Z;~Ew8GC<83MzX-X0GHfUQ)xBA?zIqj4(Dq_L-UsTj+sh|8?diU0HAGHBvn}W8d
    zzi8R5ns~_U%g%lOZumI9s$y=M!iF)Bq9go(prOMRQW8{OCaSpvet2Dd
    zd;Zzsui}E^lk=glVc$Lf*A?JyYppWVVLzH)VRf51s0wOORpKalm*g>OnPoLAM7rga
    zeKw=tV+MizqQ~@BSie9}n-9#7#ZMSbEy2@Blhs)Q7pv!Pi63V})N{!6F%W?Q&snRy_8I_Q#0CbP)-L9a+&{dK+(lf_@Uy=f*u
    zL%AE_8WKp0e7?kjp=W~Dxu@#q%C2{jF2Aa;=D_b;R?Ur{cg{3l;7-*XfcG3&YDotK
    zc$|Bf?l?;3&-9>Z!;D!A_rGi81RF7)2>mzokQi&-ITY)FO#N#gA7sxGU7iFP^jttI
    zep^(O_!$Q03j6cyiihaYUy3wo0m(KQ7isG6P{bp^LsPWR{{Hf4xcR@)ESu9(?r$K9g0oN@Jb`0SCh@7#+j
    zpw_}(qOU8qs`wHUn|cAv4+!!8ggGTCd0{gy7!xEF{QkT*b=z25LFNWc769y@6OsKLXXzsi`>71+Ip#
    zc_m1};mg-iv*F}O4gpX^wF2a_GH=BA3a^SfE|~GRGNs`)?Kbz$pd_q2Xktkl_8gcG
    z-Sbt6mCnyHvQZlNK$!UR(B@?8Z>$L?NvJ+Y!yM?PYtY}XqGa#Sa3c$Hm;BMhb*F1{
    z_-?F|X$>TZZQFl&BwS9t-76^l?x@HPJ36bl;uY0t_0dm@h;gi?NEpj6aMYsJ{I%F{
    z)2_cS*`5#Dym#G(EPBl*qO$tgG{rlp)N6P7d2>O0=dITkk5oM3tDN;JFO@zULvOQu
    zA9Jg>zht$ywy%N}ao%r}4YPV)d=@4&dvpnFD8mr;&n+WreO~E$y_1AyND+J2LI6oq0c@zhv^
    zGx@4X_f)>n84~hwwqaicALn+A=G`^9G@hR8}vq_AOKa}5Nwy@sgTtqV{JasB9dIt9c|#QyDven^K#S{
    zlUi1@sG(r-N9Av7nO*FlLX6W2a7F)@bK6b{>Eh5
    z!INcuGYbOe2hp)Pd&0}nwNIEvhrw7!?_Y!7y_83PmmL(3g%9gp+xgS0+h}KJ**$~_
    zv#BK$I1^dCZPq}b7juv(V3=;s=HqU$u}JknS$%0NN6TPfYdWpGE)+Wl*F+>Z;ie8!
    z4rp(8y^-HVl{^N1q5zF*C_bgJe|rO()64RtICKh+Bk>*CHGt=qKv;DN$YS97CY6vy
    z_ORBW#zV&Ab$()`wg4)vcgz^@sdk^MGiAZ|k+hPN%PKJx-sf}i+iZpXx~6}#O8v5HlL
    z49#c^_|?8YTFeRNEU=n}OVuY1aN;^5S-eaxdH9sxOu;daMj;#{I(B?Ex_xbVIh`oe)&`9l2D|%Skgq%0x6G$pC&f{(qi}
    zz1ct@vj~8E_$trMqs)Az+Tg=Ux#8?o;e8}bu6B=kL?K{r4`<`jG7byTpfXk(?U%#Z
    zbC>_gm&@@_3jY9XoMuB|8~qYd%{wd#l>&uq3`}ZZG_jCUt#MuUZc-`AQdoBiC)q|G
    z8`sA=&bakbc{8f>*4DBCI@SP$amBnQd1aGMGQ8<`e41qq7L)Y#5sJ^{E1}Bbx7w7F
    zD4!i=>JAwwR8B0^kb&%vyE;jBQr
    zUjD*OOcKpaZ#t79Rss`4;j`cRJXcy7yci^^C{c&E*fAl(>?pj)vCPjmq#!Hi-o5Rx0ZVU
    znZ}Mn1M-g3UhRF?E+uZ@25~da%DHyG63Ydj)?zvW-MoyFNMbZJ|7=t4;)3@ps*Kj;
    z5t;BW5zVNnXKARdyki*`WvCcB)?^b1f$M{Stb`6yU_6%^G(HKNI-B?XpOp#gW~O?N
    z_(e?Il0~bquz9~yZ9BD|d@GoDylUpQL4EhmUt+3Xl^5LtUPrrSPLCcJ;t=&0B^^b)
    zZbARo1fw-EwqC=0#Wxy@HK6c@oxtSYGsGAUg6-KqC>_jOGyCMfu4vaxf3ZamralGT
    z7QaI`RgyDSFq|+6G?k>-PV^~1j*0n_H+awO2^qzgApa5Pp6uxj&w#_e5J$D`2SRw4;R|2Fo72Wyy51?`7
    zC_Eb~^Ya<{oRh0oihAqnqUZ7M>zyAr(ZjQs`ZTG9m>eBa)V3G{;;yw5JomT0b(o~}
    z+zw@u^Yd-X81x(!Vd}>oCeyO9HHxnt?KIqlq}GzM3sf~9!XaGUh@~Hz4;nwFQPn6!
    zg~*{aNUw+z3)d&yPUM<3ICYe=(6D_jSni^$K9BGc0S=6`&o6Q}36@!5vTLE$
    z1TzgQ=?lX0^9f&&Rk!+V#%4lA;yU+5erbu5ntTkiDfC_fY_uo~t`R6AcF1Y32|CT_
    zWt(?y&g|g-1Mu;MK1WA-28+lcCJJQJ{`{HD9DyHvGaIH4`5PM3e4&Lqw5*#Sd+t%`
    zTB!4r>zbYaFrwVrW7&%{;&PulGHOw+(BV_Iz77Twu8i*VwuQ=j+HOy)sfR$Z(o$-y
    zIV_?+!P4Ydb>@YNKkMh2@2RkMUTjuouc^McQb!c1^n%aMnxJw*gKKzjZ2@s@Utz*%Q%~2xWX&WlnR_
    zmS!@}J|nM-+HP=Bl^6kAbde$#F{>JTiYQ;CXAttX⁡xHuW}sws=c2&e4knDN46S
    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�+1fYxgkwqFND+}aniTAKXVn?xWGzVnm}WMGe{#{ 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 literal 0 HcmV?d00001 diff --git a/site/Heaven/index.md b/site/Heaven/index.md new file mode 100644 index 0000000..fbe7648 --- /dev/null +++ b/site/Heaven/index.md @@ -0,0 +1,4 @@ +# Heaven + +| --- | --- | +| ```![/styles.css]``` | | diff --git a/site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/blobfish.bmp b/site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/blobfish.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a6a9aede5c55bef3f24954af98bd484bc71bd826 GIT binary patch literal 20918 zcmeI2!Lj5f5Qeo?u6l3t(7_Qn0N-@*!GVy04~~HZoCV1c4E{i)5ugSnAW0A&8aviPV5CUj_6K*{NRZ0^v6%JJ1vHf=A-ybd`3P6 zH`pESE$$8OHSQJeCu|Oz#b&T+Y>K+0ZmApUJ}yVuQuciucV8xU2ZM#d&_~0dV3@|i zIBXW1!KSgPanO#srEaL}aZrx3rEJDwa@;NSZX6r|SadMxpwU60!-NhFo5g0ZX>7{d zs9WlWy7qO-ma_3>?$+NqEqOBd)%Z}1ndmqAe%Lj3g?++4df(U-wh7yaO;MkykG>D( z(U-Y9^t9+{&{LzQLeB|39eP^yH0Y_(Q=z9rPm7)gJvDkd^t9+{(9@x(MNfyG4m~Y; z8uZlYsnBymPluisJq>zl^i=5S(9@!)K~IgI4m~Y;8uWDNY0=Z6r-4($so*zf_rf`5Xa>=7rd_%!&`_*D2Li^K{mHiJ!L^Bx>A zSzm}8Mh1q!!d878A7A?zzBb;+o3AfHZ~fl- z^(oLd`n~>sdi|DfLVxcQ<~cj0!Z$=*Y4L?h7WsxUUVwd(k|n+d z-J<6el=vuTztFT3?}0f}R_7@a_&ilcihQlyF6wRWGiZ?|YIuh93^8hqiZb73;zNe# z+$nBi-Z~UX#J`_5lbg)6yZ06;wTR15qOQ*f-1p>o(591}sfjF6t{=q~UIMpPF2EE3 zB~vZ-T)dTUEH)L_QnCv)d44a#i_|Q^NcIij)*uag+On@lQc_g62lsm)Ouj?g_$yk^wB}{2$!;p*;Buv^hHw7I7<3GWfWI_x-?X+3DN>Z*Q_h4zf~idv^@stJa@1#UQDhN~dp)K*xRb9y zQZVmCOqlxeTLLNBcM<+a`A)=K9#U@EAz>t7T--4-?NWJsd=0)7H>vdi#-gqJT z0nhSfC?~34o$v80Rfuf(zN)sCK1%CPUc`dmgQn5~yu^vVVTgrB99qas783}&s~8}+8~m@Yi&_( zv*d!9=qEm5u7%0GJ$FUe8e6;{%NHvr>|LMXAE)2)JeigIQu_IlQ(%f_}lgIy-%(m}ptqFoEI2dwze>t2wr$mf4mW-h}21(UY$rei*^T`%n3(*DSnVB|m7(buEqv&E8pW&JiOUZ?g< z%duK}N=3XHAA~(~9vOR*?^S@s)mK}8!Y)1{$^O0-x)$Fn1T5z^DC94dBRw9sc~ z&&vppuzA3pd>3hWK)8p(yZJm}cbX5(cAU?v-9vaZwSn+pL>(F)oavN)e$Yt`&*AOg zACGv>5uQqInDJa#%y&e_bCY!N%|n}vAq*~|`?*WcSZ4GDg>SJwt|gjIKJUgerjWt1 z%+PngfG+?9q~+3wl#ITLFL8Qd<;~Y8=3BqFetin`jef7cw|;#J^o@S6zfS%B1!57i AU;qFB literal 0 HcmV?d00001 diff --git a/site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/blobfish.md b/site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/blobfish.md new file mode 100644 index 0000000..52735e2 --- /dev/null +++ b/site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/blobfish.md @@ -0,0 +1,17 @@ +# Hello! + +![the greatest drawing of a blobfish in the world](blobfish.bmp) + +![mine turtle hello](hello.mp3) + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus malesuada lacus eu ligula semper pharetra. Cras viverra volutpat massa nec sagittis. Aliquam fringilla quam ut tincidunt ultricies. Aliquam erat volutpat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed id sagittis nisi. Aenean vitae urna justo. Vivamus dictum eros ac mi convallis, blandit hendrerit nunc sagittis. Mauris feugiat neque quis justo molestie, vel pulvinar diam faucibus. Ut tempus magna sit amet ex pharetra mollis. Ut elementum metus metus, id consectetur est tempor eget. Proin sed nibh tincidunt, porttitor elit non, blandit ligula. Ut condimentum accumsan lobortis. Nullam nec tempus leo, sit amet iaculis erat. Donec rutrum, orci in elementum varius, nisl elit rutrum nunc, in lacinia lorem enim non enim. + +In vulputate porta pretium. Nam et facilisis dolor. Etiam augue lectus, blandit in congue non, euismod eget felis. Sed gravida bibendum magna. Mauris eu maximus dolor, ac suscipit erat. Nam rutrum ac orci ut sollicitudin. Vivamus imperdiet convallis sem, eu ultrices eros aliquam vel. + +Sed dictum tortor at interdum dignissim. Nunc hendrerit sollicitudin elementum. Donec dictum pulvinar scelerisque. Cras ac dui at enim commodo pulvinar. Mauris non finibus odio, eu blandit lectus. In hac habitasse platea dictumst. Mauris imperdiet purus nec risus feugiat fringilla. Quisque quis nisl non libero mattis lobortis. Phasellus lobortis volutpat elit, ac tempor risus tempus eu. Nunc quam ipsum, ornare sit amet pellentesque et, tempor quis mi. Maecenas accumsan, est in vestibulum pulvinar, lacus eros pharetra dolor, eget gravida lorem urna id magna. In eget dictum nisl, eu viverra metus. Donec tristique at velit vel tincidunt. Maecenas rhoncus fermentum tellus ut sagittis. Proin sit amet laoreet velit. Proin eget tellus porttitor lorem mattis sollicitudin. + +**Never gonna give you up, never gonna let you down, never gonna run around and desert you.** + +Cras vitae sapien egestas, blandit libero et, volutpat augue. Ut augue quam, sollicitudin quis libero laoreet, bibendum imperdiet massa. Duis sed venenatis risus. Praesent a est mollis, viverra erat quis, faucibus elit. Donec at sagittis est, non posuere nisi. Integer posuere pharetra dui in aliquam. Morbi vehicula eros in hendrerit aliquam. Duis in turpis vel mauris mattis convallis in id tortor. Cras et aliquam augue. + +Cras quis consectetur dolor, a sodales tortor. Vestibulum aliquam lacinia metus, sed viverra erat egestas in. Morbi interdum sapien sed bibendum maximus. Aenean accumsan pharetra libero dapibus aliquam. Etiam sodales purus posuere gravida ullamcorper. Vestibulum tincidunt, nibh a pulvinar aliquet, leo tortor pulvinar diam, ut viverra nunc elit bibendum nulla. Praesent vel pulvinar erat, eu efficitur magna. Mauris at consequat purus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce in dui quis nisi elementum aliquam. Proin eget justo sed est commodo accumsan. Suspendisse a feugiat tellus, eget gravida tellus. diff --git a/site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/hello.mp3 b/site/depths/deeper depths/deeper deeper depths/the deepest depths/blobfish/hello.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ed4a3841f3e7b9f68089db046e2b69e025426e05 GIT binary patch literal 12524 zcmdU#ja)mLCN`7?P;AqBb8QfdK%>+8!1T&Nd!^wz?cI zq6i&Pq+sLh45kIN_4V};CH9CCE3k`;jjIbRA(kJ3A)`yS~1L!{JZPAbhq$_{{r%`wK8U z13evk@&g(&o%%oN|MLsKOR`2hF1wSE9E$lfVaRiq0tkSgmm$*`0U;pd*cy69gE;vs z@GQ=XY#4aU8|Q+B2M$43&8 zoPCYhA9i=cP1e_X5cwB%C%bpu-CZPzOFkpEd}HCpi#8FL=OlQM1K*{t7mX!ua;XFH z`t&8g{=C~6c*Kjmk$Aiw4?P_?gFoNAhhK)m7xDTG9;xBaH@LcSB8Fxg?wvVFqCxqm z57r}2#sl--=59mqd9f(Bl40zvWbg~5Kf)u0TxS1F=w*S7R1E&Um)q-7PMmn5*slg< zg(W>hXJ&epb8)5Qo+W(_>cY0qw!?~(EHL4N*Unca8QRvFX?&QK?}J}F*k{r0Q;I|f zw!+SXA`aq$0e>; z`kb13Y;@D+)VSdfh9XQ!R91K#4VBe>kIZ0r#6oj*@A>JM>#+}^;WAm0?7LYP11PNU zyHD1b5EL3UwRhqL03Qu{XMY?(SZE?8QVs!TKGTH)G(hzW60`wx=Vhcb%aY{z(GulP zR(Uhdlg?&XnKy3;FlC!zMCs>oYS^H||?SDdOP5=o$~vyYtO@B>=-NjM4;Dk=a0039VO z61m!#sp$&;>sq#`X(zY`3*1{$?15Udtx|RTbhn#g$_Wvt3#4vu=%;OL!Vzkk2o;(x z1AI{qY+@$M@5=s?25DuuIdwTnT+-4eWC?qgNAHx_BwNzwgg2z)*Q`hvoyu(33Lb2F zB=|9fw)SIH)RxQP9U|qj)e^W;LK`+3k(;w-W+Tt7zf5G_bF=Yv6Gas}8S6gaI3o=tZ+6@Y9 zZL(K<%Y}(``0Mv96A#@I(&kc;wS0CZEC_x9hY_QCDzczFXXI*%T1k5o@9QO#sPjY! zBXoY=d}7lb0Qi}2e*HuTQgDL#5-cE)y5iyqBuW|q5?Jp^-pzX{GGw_=;SoA3oT)`8 z?Xt0dSR~xs2qGf@?6CC~ree7#fZj@{{vhp06$O z#&UJQE~&4EGm~}>hZ;t$r!ICI-D?VmXSLMBgUF=-Bt*C$Cm-wKds=x-Yy_cI*l#=0 zCoj^=k;ClVLTPb5c+uTIgKi+fLZo)Ns#3ItKX+-KNgaU>me)+(Z7V%N&gv;+|8A=G zIJiRuv_DR6k4d^5kReM!PUvt610yRO*2EdU)U@@YCX1(s!}S}jzrA*%7BjOs+h}(D zcyZyI(=G9d&FTF0ZTl;Ruq|tjyKa}J>15Bf%;h)gqbv0$edF^lu(<-=K1|(D z^as7qEt#{U+I$GH6LsLnguB|6*(Pg5ilw7im5OS?AFFB2s>RZ3(u#v(2GH}^h9=#Y z+|lfGq<$WfkXB6@jbo?ZBNfSQ&Efb)O{uRnx8#OT6j z)=Jrf(#cRu!5cyTJPAQlOF+p7R8kD{TDt%>b;A-v8hVFGm|Z*HUp?0&T+RKy`t3pW z9vru+4qaW!Hht9}vHIDerfIFI*#0ciUPa6TxgdbOfNy#SZ|;4AnM?1&XJ-tZIj z3?Nf_8JmoS{xQ#lXE(v`kvgWNHS?vv3|^(tAIB5DwEaL6LY)YWvonQw+b#-mU38uR z*389F06$fiSD(*jk%r0R?*`Bqfspg?#bzGRAt~%%v!=kC0-{;KO0uuM9T8Od8PC# zCRR5>ZlQUf>toLGo!Vi(jFEI2ISLs*Z?v&gf1XJW!9Rc@q_dN79b!B=-T|EAgeC6&xTHD^!>B9Q=iP01o-U- zHcyEq?p-l95ykM`TcQv<*OH|_m?Oh<2sHU`b%2i}_ zLje$-JF+x6VZ3Pbgpzv3z}_cXtLCx*HrGS@sbKVi5cE*-+%%mWTqeckwah0%WJpBZ z$_t)qvJG4X==LbmrUc2pdXqFpz;}Qaf*;L7?(Uf~G+8Ll0|~$*8Ge1apQ?~8y4a{= ztpk;vS1~)HMX_`owvD90WY+IG5It}WWb37;84=(3g)(z7Z-zB2!6j1a+pW=Kw~X@} zu8gf#?^6GESNmgudayn=kRcvZ68tOn=t%I$>Ah>7VV3O{#$})7h}Vcgs?^tn3Lo5^(58MRaTtxq6X^KxU4pnfTt3I`Lor^^ZVk0sLsUq15-6^@KXp@4Z$Q=gWKDzsEn@6{@QG zzLZLkG38C4n>T(T82wU!=TvA9Cj4VMaJan)ezbA7)Dp8XjNR%8or6lSTe*u}`ic8Bj_DTwJUsZ)pi(j}4xxZHR}w>w31Cm@K${Jz)RT#y} ztbeXu@CVt-mc_VvCfTEhg|(grmcvVt@nC--HZ3&^}tr(NJ(Dl&&)jIbFSG` zTtip7Oe-5_?>4>=p`nU0XPtkS35#gS=JqBF6*e#@+o>_!S z;mhvyC0$ALi9aMu%q)ST1-0TAm?tX zKkl$z+`NXMo1@UX;x-)X)xN3k|M^5HzQb+bT`rPDeXWawOOei!Tk365Jo8_Lzo$8h zp6xK*R->)9_BR<{Fv2*cMlhXCk6(nPRGD6tckZl>WXXC6tkFix3hM%?eA14Kq%<^? zEbjKT;cL$g7^7g14myc-wa3ZL(x{mJw-1T3y*;(6KaNzsWZSKTDH@n>d3h5)W4rX@ z%!gM)Cq~$wse)1q`khioBSx>U?;1xB&+&?et=VK++64xX4>Z@_yWtgBa`@-Ax1_bL zllW_2X351d*lE})E~Y1vLxpxDU5*4oreY(p*#aOlv~+~lEFD!{GZ_ILZ^qDlN?S#= z{dkVQ+c>|p{|!trEZwSvpa9KLCRP3)KfhZmJ%72tK}Lc;=};!vEhRZ~)3M>ysV09r z_1Z;HI7n6ZB0arLoB-Lqw=42q*u7Q=4*P7c&x>A+vh{a9FHrhu5MXCcievJ?YJhn8 zJKRaa;h>*c_1^;K_hx91_-of6hyq&;<9nf%Cu>)guI}NU?PEP-i!ij@Cqg=q3ndes zLp3fQb{h02rGOjE3Er(SEa-(GlmY;(dY16zXl-!R`g{oH!dA<>`qWYUs<@>5BdZq1 zng1LW?}%sVhupDWCv*2WEHQVQexMMnr!LnVRd26{t9S zZCTmtL<ZVby&qYB0ukpP z3uEKrdL3ZKID}g)LnV4jJ?WbCi;z!MiqJl=pOghS3FA0z`&~*7`Fju9{xgDnXD|fs zBF`fqt|Z0p>Xg!#vN;gd<%cg^uxyZIXUdMBmPxub212tst9o59n{7973Fc>uI$nCK9| zd~O`GK8w=JR50Sji{v@5i%e65bj^2SPNY5e-Lp>nj_wVjS>_6FlqQ@bS;E}T%9ku9y1`ui+DGI1nHWz@f@)qZ5MCFIr-(9{KSj*^6tOzuF8-Jom zB3Y*Ee}Oe=Lj`_oZbX=bbZSf|m@n^wUSOGO5bu|gQ@i!qud2E70&Ej%>|5hwfEw2c z3ddC@Js=*UUtdXgbP}I7+RXU-)@+z>=ZDf-cq2v~C*!xkIl)XfBz$}Zo@ay(*gXfn zi^1S>De*-V*my5E2To8ruBU_bv(b5m#u*i77Aid5xLlf%;KJ_ z_Q#GdKC_##45UKvdD|uTPXj5<$F|Zz>xO?|XcXEr$ixKfnn(ohq4*%)gsF02kz!3` z8dV40_6`3&4RL8g;;#(H}Km-QJ zf=IAc1*;)uUwk*F{lmzQHt*Lyt8H6m7G2z)p6&S8sk1OqllnNbV?7ZH4MxG1*Ev__ zD&Q_aM~o~0_!j&+@#1)pd4L*W*`<$+?cDFmBZmQi4iyzqJ z-@y-75F@Zi05WZyNXPg()-QCBPt_l}4m7lgpGBlR07}{)r>gA_H7xU-`BPIBbPQ4* zx~27(8o3Gwa$;Ol6Mk5FsonSWw;*ijc)||=d+=Z2RT8Z4YiRkPBz>^thF|!Lba2p{{3jekxJ58TT|X3!3hXHWniMJcZF8m*rKuBRErV^+YH&_`+EQYUT7U zi5>D^D~I36uO7d}{ogx;0Ct}j`-itwgr4gvqoFren+$$=C8F`J8|z1BtEoY@i(116 z;5GvGdBM@)Qkr$WkbTat*(v}1yo(=;hl}iEO|2I=Q3g+x6*(us;^yPlHV9xo%th3yL1W_imzj13oep zxI~+B@Qbp|Kj2Kc(GdUc?=?&7v*1d_+{FuR*}24->>lcXm{sLyJR%)5dctcQlC_p{ zBSyzJE$o^cfw9W~fb!X*OHwPr=nUy2aw;YY$6=CKL)bac`CKuhFpTGBqA)A2u$;q6 zIGt#Awjbt)eQP*Liy^>E(EUC^j$C@|<5AFNjnG4_ z>jTBu+&kb5l}3{|xhWM`Rl?G|qga>|<%xj%($})wk8u4bLb(8uv<39so~xe=^xqdN zVJp8%d@ZcM8$wHiAmq!WZs{mq8#?5cz#}u_;d%e3*5^}999wofjR(nYLu*UXwA{S) zXIjE09e=+okykoX`(P`4`Q(x%aQhF_{BwJou`~z(FqM#_3BFFwXqKTxC;f_r#}UJ9 z$X3L(H}Q&Nie{^yoWpmR&ph}S>!a+ytSD5JoSV2JRYgku{*dKWwq%VB50j*yw{Q1s zmZ5DjwTwYK>)!=R#0MqkY7EnvEU{x7Ve;4f>x%Em&PTf1VM~tutEaa;f{EO+&SUu^;m?NpKT>FcIFDO)IR zw~b%!vJR-nXSXCBZagL!$dDMq{vmW>We`{-kdGW&8Al@}Em??tLe)4fENEHH6>S#&aDd)(@z@JDD zND4~;yA=k}$>4-OyDrPpa(N{I4;eD~Vmr1x2_VhNL&iH$65skmhDq4AKy&kRH4YDl^YG$$Ibcq%RJCTO2ryAc95c$ zE&LgV2Jx>FcucSS%Dq0G$ugea%GZ0&7#ANZ)kL9EoWJk`uG5?H@Ns=4rMm8Km2m39 z9cis+G%*F=Zr?>Y{iE+)+kX2Q#YN|oUZ+ai@z|k16SNo|iGxkfz}iKV#CV=_`lU0b zG$eygC6?yV@K(|w^8^+DDwGbndNM8qN_SfKe{<0JjC94 zZ{vG9L3I!dMBN8ymy5UA{f;?pEvbZmlxWRRiS9i=Z#6xjdNuft(@t;P3(3|l9NCm| z@LFLR?iNx{75v+F!JRo@x0Sl`WiL1K>9p}Qg-N{^_m->Op0fR|!O}AB`M4fW` zS$W8!C;p+}cg(i~#>TwRF|DAJy3d=dfxYco)928uwupczL$p@WmBrb+NKWe1LvAA% zxtnPb(cPZ7S|uoJgvNIUfus z)Yn_!c6#gbCf;LW0VdJ$N6VLM)in!x74rg00EWdAA*aYoH}lz{MBT59|D(1^f|F$v z#Jhn!#5;s|Y%KlgY0&hj46soc7ml9U3hk^G*)k_@G%1XNT1$y4)3&ZyJx^xc%H3&m zARQSYxJ@1Y-4gdzS_m0^+x;Mgxb%0y;=je$&4bMgFL*6ZhhC*Z$Fuc*qA^o_xrus@ ze6_T|A6#ZFAZz9(Lr;bazx`x$Fz|TZm?IXoa*W-RtSR9hjJA8@{iZDcuJVP31i5`M zxkG!hijpEBuz?l)1~xqr+qY0(`Oq44C|@!kKYqEq)X+p(vI4*B7Gm0|c$oALCn$vSxq)-ywpKFo9MqQngSOK;u&-ok?$qw01ZCGxR#7NYgaZ>ykUuU zNcr|AE0VmUtvS+xdk%+WkgBVG`yLh(fu>sT+nLQ;k+hfF-t~C+>z_-Y@71pgwdsRT zi3cetQ(O55P_mNUDuwG09K%bQa9v8==U#BwHs@viWh`xH6g2(CkJ)Oa071G@Woe|( z+~rPUm9JaK#{SYW-gr5DwMJ+tpPq2=p98BWLR!x+<196b!FmMZMxP{d$)|-F3KmTz1u1YwKdPU>y5BMzlrfDqkZTmd4UZUk6Rs z1i!5vgfGSZ8cagAn@n$?P5VvsEX$PZSyLS9a{w!?Ta*Dn=A4PcN4Gq8eWt7YQ|5Uh zy@+1?%76=U$c-X1<^}r1AF^&@5ZfylT$~+W!Qs(NlUar=+tZZ%gk}@^W)9qo6*Wz zQzU7Rg`0_@rn*~LO{EtR=loz*6SCK1&=Vn%NK{|zr&g|?fd+j7G5bJVnXC}s(+zwE zES?DE_ny8kp`OaUA57FoPRkQ&saQEg(QFR5uP??wz8Wt5IGU92`5{^5tAAo)ZF6Lv zTJG`8yi3sO?L2(?nDHIMVh*D{4=)?Kf%L_Ev$0!vcHfmVEPcte>#^@bH{J}^145#+ znSdFZ(I)eLh(XWW|l>;{|Ll^%WK^~!BojHGiTzCB-<2YOskm@ z#X%@bbFf)yIgKvs0qY!>OeXHJL~8~ZXR|!t?`EOpge^YuTQHaMW9SqW^bBoKRxfjA z+X<{9cb?gIJX88gxUmwUaM(y{av6e=JsC0SCdY|U>%-* zW13yn-}osp_IO>qjHqa1yEo5&)}ah=G_v}RhRwW`hb6PUtSwzFE%SYIeHb)BU7XV_ zf79bbaP$v$F;9O*zh7>bYo&zN=bsC)mFDVG`mCA{>#lHo{-{$1H>W*&_K`BD|Ldk) zsCqwVavZ?*R{LCKENee@rp_S#ZO;A(_Di|IMXkJn{1jA~OYX^qgXTo^q4pE2@Dd$5 zim6SW&XWfca-Y`YR;7O{*iZ*R)TwWz%>64rF{^L)a&{lIYjM}?=$xwRJWS&Pj&{T@ zL{HmfW<7RuiRN=HV2c`m5*`QNt+nVsI2Z8#MCU;u!OIfYm~7Ptx}LOL^ap3lMIWD% zbw14OY#Gg$Q>ocPZfRB(1dwdsW~f4!l9sA;OULdD<6ImY!RmO%$q8N|7T!7k&q|42 z+SVgXVF!#Tue=#Xx6!IU4K)f#Ew{eFQWKuA$P!{Mu4-dbzAF!#No|bpO5bZdSh-_Je;9SEgML!t zW~kDQ_5BxB-Pg5HYn28?V0n&Y%8b(=@&gDXv=|r3mf2Egv#pVrW5$p+$3%~NHbC(! z->0HDf)A@j!YHf$i4ZyJ#hLybeX`5b7wc0$M97$;?9!^=Uj;GmM`ZV1t?^N~-OIpy zZXO|DqRBXZEK>FRy;nVtSgGcFPT-I|H-q}2p!9=I=dgx8r()#`E!nAzPRlu!r6w&8 ztV?RjsO9n3Bwr!8p%E2)N%44~qZT_dlyaN{yzQ(W8=JoRQp1T`7<*k724&TLTSw{T z+)<4B# zZ^Z8@gtCR`>!S7udOY|F8>!~JM&Z2e;x~D&dN#aIk{ybqeChbIF#xZ^ zL$-9V|L}ZRg9BZmV{lXa-);Dx-985RDLi%GOeXhXkEEi}&sxF0zWwt~qksBh;PK^N z(q^l}roTy}(v*ugjw9nd*n=U>8xdD@40)RkSMFw7g<^W?xPRERDD|&7Z+&L^XP7{P z^e5N7NhqpA;!lK#Q7@8p=T@_v8d%KHX%LqZD%vO|xRm!-KxjaSEOo}xh7ZlB{s?+r z`#4RX81&@*H|E}Rco1E`&g7k9gBVLtf#bPSXl}Jfky)Jm8iZFihDTYxqwpatKu8j8*H|BO@kER9i~g&yF-B_50_>b2F!gTN)m1-Yo$e_ z>eJ)%I0Ze1Ry4M+IMOsI5=%+8ThVN5MpeVx-N;ArO zSmROeBK;BCN+{cTzB{2dsg%#-_mCX_Hc{9kDI~5fD^(@(LyaP(oeHMa`|?F@((JTn zg(lc1mJX$Aig2jw{E}Ia7nfM=_tKz)fap$)1uJ|V*R^2qy#Jo-K79F56je8m-QlE7 z)=N*z8;g#6?hFx7vzdG0)-85pVZbJ>p`)Q++FXIWxJLuO0)G-+ntmQXg#0i?CnYm; z3|j9*`9z2;^kPtRb}0U>Iup&)ggHPssVJM^00w#>7X3(ZK+Dv~`9DdnMk_pLm2%F5 znu|=#s=43)Vwqp_h-%V)zR9Pa%pMqZ6r32=VsKVw2rjha^@HKIQ4NbGi%LX8%t|if z!xf)-IfEPJMm9PjYsm$F-%SC7l4V9Ye-4x6*=g~YoN6IFc?fh`{D>QI zs;Cm#XSKpS_x&XkVmTR#7}gQ&Y_Nw7A3#C7QeU&zN;8T^Ez9|t6D350i3$nFA_?n4ndpr@x%1RK_=(E`%=ik;l!l(4s ztef+;Y9zF}^2@Bf>+c1{47i7%gy|1;amUf*TY-6Ah^3&5hX`JkB>+~>GOXEzP}ZY zKr>r?t{-{BkNrwzmQRV0_jzTsM}JRvJs9_#1ju==i8^fh9N*scJ)FKdHq#$7mJ_Hw zXcklYT;6m3Kz&)uQs{S|9nW#b-0-W~szSL|XINf|>DJe-Ph%XsSBqFAi;oh|l$sYP zsX`D=CI|YL(hDJ}Skga(DDV=O4XK}-m`?Tc5D62Pi#P3>vW;VvQCBILr@Em&Kcox4 zo2jV2vTIr|L_hdcIXJSfg+pdGk&*iAK+Q!o%ib{-J$HA<{BM*T5j9--jR8dcfNF}3 zZb8)K;If|kk}u<7?vEGeO-Y{b&)5>^C;N8xt`zU-8j{2q!^g;4Lzh;Q1IhWjM1kGBgi%hgJ5wG{joQM0 z-4GGV`LVv16B=g&$It(y9KME(6n4pb$l#Mui0{aq{6H~-nKG?AvBvL)l1^2YiG#)f zd$jC!aevlYtSX-1Sx$XB?Ijq)Hn1cHe;|w-Cwx^`J7V>n_90p8tyBqb>QsNZtSo&% zV8UOSIw@mqK_g>I)0j2h+dhU2-WR1QYpGxSjgCC(KkjgsMXnYbeV(VHT(Z;u290=B zCIx#B%>?&jBS*FEfD-BA+1-ng3yuZ9{!UK^_zNM2%Q3V4$HfsBdv7~N;*?dlNlDc*q`_IYqpVsh_4K99L%?kV%WO0pauqS z6iy#B^KZdPM-&aRG+W5Q0L360Ck?Gt@gxBO5oHkg;Qn7yPa_X$#dji+QUUFCBkN`ma8UEZ5+t#TozJ3U)%|u}7 zghciJ%gCMkRORyztHbMek!16%=KQ}|W(rJat~JqV7up@G?=!l3RHey_zr92Ao9}yS zwQW-q*VFHsMEHLphfdK_mho5CD;;wYl&yoXF}U_&e%p68=}{w}7n;aiubn z;pmU|6-+N9x(2oVUCOLUh+FpgWj{heI+GW#exs;3cQl2nmkOc1^;|O z3%ti+Vl>z*Cu5S%SKksMJ==%4*6`A4bHubT8s3@2+pfweJZSut?7O=q(8+iDTp)Nn zvE|BeWoIfs>|ch#@LH|HFkXM*m7+jL^zL~TRgevV-p8|dsBHZC*XJg>Z6{vYPlQAu z$kFugWbpVb1%HyMBM9MShSJr%85n7Un7bjShhAb8&SNzm!ueiMAk7R)H+B&%lG?cP zv(>d=I2Rne9O_~Axk^_VnS1~fSrAU!+P0aNCLxxNYe!!ZmoEEau*{JEqWG9y_DRls zPJFt^tII*XGP;s=x` tags +- Admonition support (that's what the blocks like the warning block below are called) + +If you want to **force** a file to be inlined, use `\!![]` instead of `\![]` + +## Credits + +- Markdown to html conversion based on [markdown.bash](https://github.com/chadbraunduin/markdown.bash) by [chadbraunduin](https://github.com/chadbraunduin) +- Default css style and html template based on _[kew](https://github.com/uint23/kew)_ by [uint23](https://github.com/uint23) + +# Warning +>![WARNING] +>Most of this was coded at night, while sleepy and a bit sick, and after walking for about 4 hours around a forest, so... diff --git a/styles/cat-v.css b/styles/cat-v.css new file mode 100644 index 0000000..cb7a3ae --- /dev/null +++ b/styles/cat-v.css @@ -0,0 +1,171 @@ +:root { + --color-white: white; + --color-black: black; + --color-border: #ddd; + --color-brand: rgb(100, 135, 220); + --color-accent: #ff6d06; + --color-link: rgb(0, 102, 204); + --color-table-border: rgba(128, 128, 128, 0.5); + --color-row-alt: rgba(128, 128, 128, 0.1); +} + +body { + margin: 0; + padding: 0; + font-size: 84%; + font-family: + Helvetica, Verdana, Arial, "Liberation Sans", FreeSans, sans-serif; +} + +header { + width: 100%; + clear: both; +} + +article { + margin-left: 16em; + padding: 0.5ex 0 5vh 1vw; +} + +footer { + clear: both; + width: 100%; + overflow: hidden; + color: var(--color-white); + background-color: var(--color-brand); +} + +footer div { + padding: 1em; + float: left; +} + +footer a { + color: inherit; +} + +header nav { + overflow: hidden; + background-color: var(--color-brand); + color: var(--color-white); + padding: 0.3em; + border-bottom: 2px solid var(--color-black); + font-size: 91%; +} + +header nav a, +header a { + text-decoration: none; + color: inherit; +} + +header h1 { + background-color: var(--color-accent); + color: var(--color-black); + margin: 0; + border-bottom: 2px solid var(--color-black); + font-weight: normal; + padding: 0.25ex; + font-size: 233%; +} + +header h1 span { + margin-left: 1em; + font-size: 50%; + font-style: italic; +} + +header a:hover { + text-decoration: none; +} + +body > nav { + float: left; + width: 16em; + padding: 0; + border-right: 1px solid var(--color-border); +} + +nav ul { + list-style-type: none; + list-style-position: outside; + padding-left: 8px; +} + +nav li ul { + padding-left: 0.6em; +} + +body > nav > div { + border-bottom: 1px solid var(--color-border); +} + +body > nav > div a { + color: var(--color-link); + display: block; + text-transform: capitalize; + font-weight: bold; + padding: 0.25em 1ex 0.25em 2mm; + font-size: 102%; + text-decoration: none; +} + +body > nav > div a:hover { + color: var(--color-white); + background-color: var(--color-brand); + border-left: var(--color-black) solid 0.2em; + text-decoration: none; +} + +body > nav > div p { + font-weight: bold; + margin: 0 0 0.5em 2mm; + padding: 1em 0 0 0; +} + +a { + text-decoration: none; + color: var(--color-link); +} + +a:hover { + text-decoration: underline; +} + +.thisPage { + color: var(--color-black); +} + +article h1, +article h2 { + color: var(--color-link); + font-weight: bold; + margin: 2em 0 0 0; + border-bottom: 2px solid var(--color-link); +} + +article h3, +article h4, +article h5 { + color: var(--color-link); + font-weight: bold; + margin: 2em 0 0 0; +} + +article pre { + font-size: 1.2em; +} + +table { + border: 1px solid var(--color-table-border); + padding: 0; +} + +th { + color: var(--color-white); + background-color: var(--color-brand); +} + +tr:nth-child(odd) { + background-color: var(--color-row-alt); +} diff --git a/styles/kew.css b/styles/kew.css new file mode 100644 index 0000000..6d11203 --- /dev/null +++ b/styles/kew.css @@ -0,0 +1,90 @@ +:root { + --bg: #646c7f; + --fg: #fffde0; + --fg-link: #fff18f; +} + +body { + margin: 0; + padding: 0; + background: var(--bg); + color: var(--fg); + font-family: serif; + font-size: 16px; + line-height: 1.2; +} + +header { + padding: 20px; +} + +header h1 { + margin: 0; + font-size: 35px; + font-weight: normal; + font-style: italic; +} + +header a { + color: var(--fg); + text-decoration: none; +} + +#side-bar { + position: absolute; + top: 80px; + left: 0; + width: 200px; + padding-left: 20px; +} + +.side-title { + font-size: 25px; + margin: 20px 0 8px 0; + color: var(--fg); +} + +#side-bar ul { + margin: 0 0 0 20px; + padding: 0px; + list-style: none; +} + +#side-bar li { + margin: 6px 0; +} + +a { + color: var(--fg-link); + text-decoration: none; + padding: 1px 2px; +} + +a:hover { + background: var(--fg); + color: var(--bg); +} + +article { + margin: 80px 0 0 0; + max-width: 800px; +} + +h3 { + margin-top: 30px; + font-size: 25px; + color: var(--fg); + font-weight: normal; +} + +footer { + padding-top: 80px; + font-style: italic; + font-size: 17px; +} + +article, +footer { + margin-left: 240px; + margin-top: 0px; +} diff --git a/styles/kewt.css b/styles/kewt.css new file mode 100644 index 0000000..33e85c9 --- /dev/null +++ b/styles/kewt.css @@ -0,0 +1,186 @@ +:root { + --bg: #646c7f; + --fg: #fffde0; + --fg-link: #fff18f; + --code-bg: #32394a; + --code-border: #8f95a4; + --code-fg: #fffde0; + --code-sel: #fff18f; + --code-prop: #ffd27f; + --code-val: #cde7ff; + --code-var: #b9ffbe; + --code-com: #d0d0d0; + --adm-note-bg: #3f5666; + --adm-note-border: #a8d8ff; + --adm-tip-bg: #3f664c; + --adm-tip-border: #b9ffbe; + --adm-important-bg: #5a4a6c; + --adm-important-border: #e4c7ff; + --adm-warning-bg: #6b5539; + --adm-warning-border: #ffe0a8; + --adm-caution-bg: #6f3f3f; + --adm-caution-border: #ffb4b4; +} + +body { + margin: 0; + padding: 0; + background: var(--bg); + color: var(--fg); + font-family: serif; + font-size: 16px; + line-height: 1.2; +} + +header { + padding: 20px; +} + +header h1 { + margin: 0; + font-size: 35px; + font-weight: normal; + font-style: italic; +} + +header a { + color: var(--fg); + text-decoration: none; +} + +#side-bar { + position: absolute; + top: 80px; + left: 0; + width: 200px; + padding-left: 20px; +} + +.side-title { + font-size: 25px; + margin: 20px 0 8px 0; + color: var(--fg); +} + +#side-bar ul { + margin: 0 0 0 20px; + padding: 0px; + list-style: none; +} + +#side-bar li { + margin: 6px 0; +} + +a { + color: var(--fg-link); + text-decoration: none; + padding: 1px 2px; +} + +a:hover { + background: var(--fg); + color: var(--bg); +} + +article { + margin: 80px 0 0 0; + max-width: 800px; +} + +h3 { + margin-top: 30px; + font-size: 25px; + color: var(--fg); + font-weight: normal; +} + +pre { + background: var(--code-bg); + color: var(--code-fg); + border: 1px solid var(--code-border); + margin: 20px 0; + padding: 12px; + overflow: auto; +} + +code { + font-family: monospace; +} + +.tok-sel { + color: var(--code-sel); +} + +.tok-prop { + color: var(--code-prop); +} + +.tok-val { + color: var(--code-val); +} + +.tok-var { + color: var(--code-var); +} + +.tok-com { + color: var(--code-com); +} + +.tok-punc { + color: var(--code-fg); +} + +.admonition { + margin: 18px 0; + padding: 10px 12px; + border: 1px solid var(--fg); + border-left-width: 5px; +} + +.admonition-title { + margin: 0 0 8px 0; + font-weight: bold; +} + +.admonition p { + margin: 0; +} + +.admonition-note { + background: var(--adm-note-bg); + border-color: var(--adm-note-border); +} + +.admonition-tip { + background: var(--adm-tip-bg); + border-color: var(--adm-tip-border); +} + +.admonition-important { + background: var(--adm-important-bg); + border-color: var(--adm-important-border); +} + +.admonition-warning { + background: var(--adm-warning-bg); + border-color: var(--adm-warning-border); +} + +.admonition-caution { + background: var(--adm-caution-bg); + border-color: var(--adm-caution-border); +} + +footer { + padding-top: 80px; + font-style: italic; + font-size: 17px; +} + +article, +footer { + margin-left: 240px; + margin-top: 0px; +} diff --git a/styles/werc.css b/styles/werc.css new file mode 100644 index 0000000..68b2751 --- /dev/null +++ b/styles/werc.css @@ -0,0 +1,56 @@ +body { + font-family: sans; + margin: 0; + padding: 0; +} + +header { + width: 100%; + clear: both; +} + +article { + margin-left: 18em; + padding-left: 1em; +} + +footer { + clear: both; + width: 100%; +} + +header nav { + overflow: hidden; +} + +nav a, +header a { + text-decoration: none; + color: inherit; +} + +header h1 span { + margin-left: 1em; + font-size: 50%; + font-style: italic; +} + +body > nav { + float: left; + width: 16em; + padding-right: 1vw; +} + +nav ul { + list-style-type: none; + list-style-position: outside; + padding-left: 8px; +} + +nav li ul { + padding-left: 0.6em; +} + +footer { + overflow: hidden; +} diff --git a/template.html b/template.html new file mode 100644 index 0000000..a7f5582 --- /dev/null +++ b/template.html @@ -0,0 +1,20 @@ + + + + + {{TITLE}} + + + {{HEAD_EXTRA}} + + + +
    +

    {{HEADER_BRAND}}

    +
    + + + +
    {{CONTENT}}
    + +