diff --git a/_app/immutable/chunks/0-be9c92fb.js b/_app/immutable/chunks/0-480f94ba.js similarity index 87% rename from _app/immutable/chunks/0-be9c92fb.js rename to _app/immutable/chunks/0-480f94ba.js index 44cfc0e..ef6e43e 100644 --- a/_app/immutable/chunks/0-be9c92fb.js +++ b/_app/immutable/chunks/0-480f94ba.js @@ -1,5 +1,5 @@ import { _ } from "./_layout-68f6d432.js"; -import { default as default2 } from "../components/pages/_layout.svelte-8ddeb774.js"; +import { default as default2 } from "../components/pages/_layout.svelte-903c3b1e.js"; export { default2 as component, _ as universal diff --git a/_app/immutable/chunks/2-e5801a86.js b/_app/immutable/chunks/2-d7ff8fbe.js similarity index 83% rename from _app/immutable/chunks/2-e5801a86.js rename to _app/immutable/chunks/2-d7ff8fbe.js index d5f1fb1..2a48b28 100644 --- a/_app/immutable/chunks/2-e5801a86.js +++ b/_app/immutable/chunks/2-d7ff8fbe.js @@ -1,4 +1,4 @@ -import { default as default2 } from "../components/pages/_page.svelte-ee97f50d.js"; +import { default as default2 } from "../components/pages/_page.svelte-86a982db.js"; export { default2 as component }; diff --git a/_app/immutable/chunks/SvelteMarkdown-6743e4fc.js b/_app/immutable/chunks/helpers-3c288985.js similarity index 98% rename from _app/immutable/chunks/SvelteMarkdown-6743e4fc.js rename to _app/immutable/chunks/helpers-3c288985.js index d0b06ac..4f593c8 100644 --- a/_app/immutable/chunks/SvelteMarkdown-6743e4fc.js +++ b/_app/immutable/chunks/helpers-3c288985.js @@ -7456,6 +7456,80 @@ class SvelteMarkdown extends SvelteComponent { }); } } -export { - SvelteMarkdown as S +var removeMarkdown = function(md, options) { + options = options || {}; + options.listUnicodeChar = options.hasOwnProperty("listUnicodeChar") ? options.listUnicodeChar : false; + options.stripListLeaders = options.hasOwnProperty("stripListLeaders") ? options.stripListLeaders : true; + options.gfm = options.hasOwnProperty("gfm") ? options.gfm : true; + options.useImgAltText = options.hasOwnProperty("useImgAltText") ? options.useImgAltText : true; + options.abbr = options.hasOwnProperty("abbr") ? options.abbr : false; + options.replaceLinksWithURL = options.hasOwnProperty("replaceLinksWithURL") ? options.replaceLinksWithURL : false; + options.htmlTagsToSkip = options.hasOwnProperty("htmlTagsToSkip") ? options.htmlTagsToSkip : []; + var output = md || ""; + output = output.replace(/^(-\s*?|\*\s*?|_\s*?){3,}\s*/gm, ""); + try { + if (options.stripListLeaders) { + if (options.listUnicodeChar) + output = output.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm, options.listUnicodeChar + " $1"); + else + output = output.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm, "$1"); + } + if (options.gfm) { + output = output.replace(/\n={2,}/g, "\n").replace(/~{3}.*\n/g, "").replace(/~~/g, "").replace(/`{3}.*\n/g, ""); + } + if (options.abbr) { + output = output.replace(/\*\[.*\]:.*\n/, ""); + } + output = output.replace(/<[^>]*>/g, ""); + var htmlReplaceRegex = new RegExp("<[^>]*>", "g"); + if (options.htmlTagsToSkip.length > 0) { + var joinedHtmlTagsToSkip = "(?!" + options.htmlTagsToSkip.join("|") + ")"; + htmlReplaceRegex = new RegExp( + "<" + joinedHtmlTagsToSkip + "[^>]*>", + "ig" + ); + } + output = output.replace(htmlReplaceRegex, "").replace(/^[=\-]{2,}\s*$/g, "").replace(/\[\^.+?\](\: .*?$)?/g, "").replace(/\s{0,2}\[.*?\]: .*?$/g, "").replace(/\!\[(.*?)\][\[\(].*?[\]\)]/g, options.useImgAltText ? "$1" : "").replace(/\[([^\]]*?)\][\[\(].*?[\]\)]/g, options.replaceLinksWithURL ? "$2" : "$1").replace(/^\s{0,3}>\s?/gm, "").replace(/^\s{1,2}\[(.*?)\]: (\S+)( ".*?")?\s*$/g, "").replace(/^(\n)?\s{0,}#{1,6}\s+| {0,}(\n)?\s{0,}#{0,} #{0,}(\n)?\s{0,}$/gm, "$1$2$3").replace(/([\*]+)(\S)(.*?\S)??\1/g, "$2$3").replace(/(^|\W)([_]+)(\S)(.*?\S)??\2($|\W)/g, "$1$3$4$5").replace(/(`{3,})(.*?)\1/gm, "$2").replace(/`(.+?)`/g, "$1").replace(/~(.*?)~/g, "$1"); + } catch (e) { + console.error(e); + return md; + } + return output; +}; +function rand(length) { + let result = ""; + const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + const charactersLength = characters.length; + let counter = 0; + while (counter < length) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + counter += 1; + } + return result; +} +function animateText(ev) { + if (!ev.target.getAttribute("data-text")) { + ev.target.setAttribute("data-text", ev.target.innerHTML); + } + if (ev.target.getAttribute("data-animate") === "1") { + return; + } + ev.target.setAttribute("data-animate", "1"); + const orig = removeMarkdown(ev.target.getAttribute("data-text")); + const steps = orig.length; + const genRand = (pos = 0, len = null) => orig.substring(pos, len).split(" ").map((x) => rand(x.length)).join(" "); + const random = genRand(0, orig.length); + ev.target.innerHTML = random; + for (let i = 0; i <= steps; i++) { + setTimeout(() => { + ev.target.innerHTML = orig.substring(0, i) + genRand(i, orig.length); + if (i === steps) { + ev.target.setAttribute("data-animate", "0"); + } + }, 50 * i); + } +} +export { + SvelteMarkdown as S, + animateText as a }; diff --git a/_app/immutable/components/pages/_layout.svelte-8ddeb774.js b/_app/immutable/components/pages/_layout.svelte-903c3b1e.js similarity index 96% rename from _app/immutable/components/pages/_layout.svelte-8ddeb774.js rename to _app/immutable/components/pages/_layout.svelte-903c3b1e.js index ea53157..99f5d67 100644 --- a/_app/immutable/components/pages/_layout.svelte-8ddeb774.js +++ b/_app/immutable/components/pages/_layout.svelte-903c3b1e.js @@ -1,39 +1,6 @@ import { S as SvelteComponent, i as init, s as safe_not_equal, D as create_slot, k as element, a as space, q as text, E as svg_element, x as create_component, l as claim_element, m as children, h as detach, c as claim_space, r as claim_text, F as claim_svg_element, y as claim_component, G as src_url_equal, n as attr, b as insert_hydration, H as append_hydration, z as mount_component, I as listen, u as set_data, J as update_slot_base, K as get_all_dirty_from_scope, L as get_slot_changes, f as transition_in, t as transition_out, d as check_outros, M as destroy_each, A as destroy_component, o as onMount, C as noop, g as group_outros } from "../../chunks/index-858fda85.js"; -import { S as SvelteMarkdown } from "../../chunks/SvelteMarkdown-6743e4fc.js"; +import { S as SvelteMarkdown, a as animateText } from "../../chunks/helpers-3c288985.js"; const app = ""; -function rand(length) { - let result = ""; - const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - const charactersLength = characters.length; - let counter = 0; - while (counter < length) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - counter += 1; - } - return result; -} -function animateText(ev) { - if (!ev.target.getAttribute("data-text")) { - ev.target.setAttribute("data-text", ev.target.innerHTML); - } - if (ev.target.getAttribute("data-animate") === "1") { - return; - } - ev.target.setAttribute("data-animate", "1"); - const orig = ev.target.getAttribute("data-text"); - const steps = orig.length; - const genRand = (pos = 0, len = null) => orig.substring(pos, len).split(" ").map((x) => rand(x.length)).join(" "); - const random = genRand(0, orig.length); - ev.target.innerHTML = random; - for (let i = 0; i <= steps; i++) { - setTimeout(() => { - ev.target.innerHTML = orig.substring(0, i) + genRand(i, orig.length); - if (i === steps) { - ev.target.setAttribute("data-animate", "0"); - } - }, 50 * i); - } -} function get_each_context(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[7] = list[i]; diff --git a/_app/immutable/components/pages/_page.svelte-ee97f50d.js b/_app/immutable/components/pages/_page.svelte-86a982db.js similarity index 97% rename from _app/immutable/components/pages/_page.svelte-ee97f50d.js rename to _app/immutable/components/pages/_page.svelte-86a982db.js index 478a434..16d845a 100644 --- a/_app/immutable/components/pages/_page.svelte-ee97f50d.js +++ b/_app/immutable/components/pages/_page.svelte-86a982db.js @@ -1,8 +1,8 @@ -import { S as SvelteComponent, i as init, s as safe_not_equal, e as empty, b as insert_hydration, f as transition_in, g as group_outros, d as check_outros, t as transition_out, M as destroy_each, h as detach, k as element, a as space, q as text, l as claim_element, m as children, c as claim_space, r as claim_text, G as src_url_equal, n as attr, H as append_hydration, u as set_data, x as create_component, y as claim_component, z as mount_component, A as destroy_component, Z as head_selector } from "../../chunks/index-858fda85.js"; -import { S as SvelteMarkdown } from "../../chunks/SvelteMarkdown-6743e4fc.js"; +import { S as SvelteComponent, i as init, s as safe_not_equal, e as empty, b as insert_hydration, f as transition_in, g as group_outros, d as check_outros, t as transition_out, M as destroy_each, h as detach, k as element, a as space, q as text, l as claim_element, m as children, c as claim_space, r as claim_text, G as src_url_equal, n as attr, H as append_hydration, I as listen, u as set_data, x as create_component, y as claim_component, z as mount_component, A as destroy_component, Z as head_selector } from "../../chunks/index-858fda85.js"; +import { a as animateText, S as SvelteMarkdown } from "../../chunks/helpers-3c288985.js"; function get_each_context$1(ctx, list, i) { const child_ctx = ctx.slice(); - child_ctx[4] = list[i]; + child_ctx[5] = list[i]; return child_ctx; } function create_if_block$1(ctx) { @@ -12,7 +12,7 @@ function create_if_block$1(ctx) { sveltemarkdown = new SvelteMarkdown({ props: { source: ( /*item*/ - ctx[4].caption + ctx[5].caption ) } }); return { @@ -41,7 +41,7 @@ function create_if_block$1(ctx) { if (dirty & /*items*/ 1) sveltemarkdown_changes.source = /*item*/ - ctx2[4].caption; + ctx2[5].caption; sveltemarkdown.$set(sveltemarkdown_changes); }, i(local) { @@ -72,7 +72,7 @@ function create_each_block$1(ctx) { let div1; let t1_value = ( /*item*/ - ctx[4].name + "" + ctx[5].name + "" ); let t1; let t2; @@ -81,7 +81,7 @@ function create_each_block$1(ctx) { let t3; let t4_value = ( /*item*/ - ctx[4].twitter + "" + ctx[5].twitter + "" ); let t4; let a1_href_value; @@ -89,9 +89,11 @@ function create_each_block$1(ctx) { let t6; let div3_class_value; let current; + let mounted; + let dispose; let if_block = ( /*item*/ - ctx[4].caption && create_if_block$1(ctx) + ctx[5].caption && create_if_block$1(ctx) ); return { c() { @@ -146,20 +148,20 @@ function create_each_block$1(ctx) { }, h() { if (!src_url_equal(img.src, img_src_value = "/people/" + /*item*/ - ctx[4].img)) + ctx[5].img)) attr(img, "src", img_src_value); attr(img, "class", "grayscale invert aspect-square object-cover w-full"); attr(a0, "href", a0_href_value = twitterLink( /*item*/ - ctx[4].twitter + ctx[5].twitter )); attr(a0, "target", "_blank"); - attr(div1, "class", "mt-4"); + attr(div1, "class", "mt-4 speaker-name animate-speaker"); attr(a1, "href", a1_href_value = twitterLink( /*item*/ - ctx[4].twitter + ctx[5].twitter )); - attr(a1, "class", "hover:underline"); + attr(a1, "class", "hover:underline animate-speaker"); attr(div2, "class", "text-base text-mild"); attr(div3, "class", div3_class_value = "hover:bg-white hover:text-black p-2 " + /*size*/ (ctx[1] === "small" ? "w-2/3 sm:w-48" : "w-2/3 sm:w-64") + " person-item"); @@ -182,38 +184,47 @@ function create_each_block$1(ctx) { if_block.m(div3, null); append_hydration(div3, t6); current = true; + if (!mounted) { + dispose = listen( + div3, + "mouseenter", + /*animateSpeaker*/ + ctx[3] + ); + mounted = true; + } }, p(ctx2, dirty) { if (!current || dirty & /*items*/ 1 && !src_url_equal(img.src, img_src_value = "/people/" + /*item*/ - ctx2[4].img)) { + ctx2[5].img)) { attr(img, "src", img_src_value); } if (!current || dirty & /*items*/ 1 && a0_href_value !== (a0_href_value = twitterLink( /*item*/ - ctx2[4].twitter + ctx2[5].twitter ))) { attr(a0, "href", a0_href_value); } if ((!current || dirty & /*items*/ 1) && t1_value !== (t1_value = /*item*/ - ctx2[4].name + "")) + ctx2[5].name + "")) set_data(t1, t1_value); if ((!current || dirty & /*items*/ 1) && t4_value !== (t4_value = /*item*/ - ctx2[4].twitter + "")) + ctx2[5].twitter + "")) set_data(t4, t4_value); if (!current || dirty & /*items*/ 1 && a1_href_value !== (a1_href_value = twitterLink( /*item*/ - ctx2[4].twitter + ctx2[5].twitter ))) { attr(a1, "href", a1_href_value); } if ( /*item*/ - ctx2[4].caption + ctx2[5].caption ) { if (if_block) { if_block.p(ctx2, dirty); @@ -255,6 +266,8 @@ function create_each_block$1(ctx) { detach(div3); if (if_block) if_block.d(); + mounted = false; + dispose(); } }; } @@ -296,8 +309,8 @@ function create_fragment$1(ctx) { current = true; }, p(ctx2, [dirty]) { - if (dirty & /*size, items, getPerson, twitterLink*/ - 7) { + if (dirty & /*size, animateSpeaker, items, getPerson, twitterLink*/ + 15) { each_value = /*items*/ ctx2[0].map( /*getPerson*/ @@ -355,20 +368,25 @@ function instance$1($$self, $$props, $$invalidate) { function getPerson(id) { return people.find((p) => p.id === id); } + function animateSpeaker(el) { + for (const e of el.target.getElementsByClassName("animate-speaker")) { + animateText({ target: e }); + } + } $$self.$$set = ($$props2) => { if ("items" in $$props2) $$invalidate(0, items = $$props2.items); if ("people" in $$props2) - $$invalidate(3, people = $$props2.people); + $$invalidate(4, people = $$props2.people); if ("size" in $$props2) $$invalidate(1, size = $$props2.size); }; - return [items, size, getPerson, people]; + return [items, size, getPerson, animateSpeaker, people]; } class PeopleList extends SvelteComponent { constructor(options) { super(); - init(this, options, instance$1, create_fragment$1, safe_not_equal, { items: 0, people: 3, size: 1 }); + init(this, options, instance$1, create_fragment$1, safe_not_equal, { items: 0, people: 4, size: 1 }); } } function get_each_context(ctx, list, i) { diff --git a/_app/immutable/start-aff7cd15.js b/_app/immutable/start-59f2b3ac.js similarity index 99% rename from _app/immutable/start-aff7cd15.js rename to _app/immutable/start-59f2b3ac.js index a9f2d15..6474b4c 100644 --- a/_app/immutable/start-aff7cd15.js +++ b/_app/immutable/start-59f2b3ac.js @@ -900,9 +900,9 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) { }; const matchers = {}; const nodes = [ - () => __vitePreload(() => import("./chunks/0-be9c92fb.js"), true ? ["./chunks/0-be9c92fb.js","./chunks/_layout-68f6d432.js","./components/pages/_layout.svelte-8ddeb774.js","./chunks/index-858fda85.js","./chunks/SvelteMarkdown-6743e4fc.js","./assets/_layout-a1a19efe.css"] : void 0, import.meta.url), + () => __vitePreload(() => import("./chunks/0-480f94ba.js"), true ? ["./chunks/0-480f94ba.js","./chunks/_layout-68f6d432.js","./components/pages/_layout.svelte-903c3b1e.js","./chunks/index-858fda85.js","./chunks/helpers-3c288985.js","./assets/_layout-a1a19efe.css"] : void 0, import.meta.url), () => __vitePreload(() => import("./chunks/1-a708a445.js"), true ? ["./chunks/1-a708a445.js","./components/error.svelte-b9497535.js","./chunks/index-858fda85.js","./chunks/singletons-1811cedd.js"] : void 0, import.meta.url), - () => __vitePreload(() => import("./chunks/2-e5801a86.js"), true ? ["./chunks/2-e5801a86.js","./components/pages/_page.svelte-ee97f50d.js","./chunks/index-858fda85.js","./chunks/SvelteMarkdown-6743e4fc.js"] : void 0, import.meta.url) + () => __vitePreload(() => import("./chunks/2-d7ff8fbe.js"), true ? ["./chunks/2-d7ff8fbe.js","./components/pages/_page.svelte-86a982db.js","./chunks/index-858fda85.js","./chunks/helpers-3c288985.js"] : void 0, import.meta.url) ]; const server_loads = []; const dictionary = { diff --git a/_app/version.json b/_app/version.json index 2b0f737..c1efbeb 100644 --- a/_app/version.json +++ b/_app/version.json @@ -1 +1 @@ -{"version":"1676549437959"} \ No newline at end of file +{"version":"1676550439332"} \ No newline at end of file diff --git a/index.html b/index.html index 27430f6..d552299 100644 --- a/index.html +++ b/index.html @@ -7,14 +7,14 @@ - + - - + + -
This web is built with SvelteKit and is open-source under CC0 license