From 3e2ac5cb9456aac3d25980248c786fddc8df2793 Mon Sep 17 00:00:00 2001 From: "Christopher P. Brown" Date: Fri, 22 Apr 2022 21:00:13 -0600 Subject: [PATCH] s01e05 --- candidates.txt | 21 + content/2022-04-24-episode-5-marcus.md | 70 + dist/2022-03-03-episode-1-acdw.html | 2 + dist/2022-03-03-episode-2-m455.html | 2 + dist/2022-03-24-episode-3-nihilazo.html | 2 + dist/2022-04-12-episode-4-piusbird.html | 2 + dist/2022-04-24-episode-5-marcus.html | 68 +- dist/about.html | 13 +- dist/contact.html | 2 + dist/game.html | 9517 +++++++++++++++++++++++ dist/index.html | 6 + dist/rss.xml | 56 +- dist/secret/build/bundle.css | 1 + dist/secret/build/bundle.js | 633 ++ dist/secret/global.css | 63 + dist/secret/index.html | 18 + drafts/2022-04-24-episode-5-marcus.md | 36 - drafts/2022-08-12-episode-12-ben.md | 25 + index.md | 4 + pages/about.md | 8 +- pages/game.html | 9517 +++++++++++++++++++++++ templates/index-before.html | 3 + templates/nav.html | 2 + 23 files changed, 20026 insertions(+), 45 deletions(-) create mode 100644 candidates.txt create mode 100644 content/2022-04-24-episode-5-marcus.md create mode 100644 dist/game.html create mode 100644 dist/secret/build/bundle.css create mode 100644 dist/secret/build/bundle.js create mode 100644 dist/secret/global.css create mode 100644 dist/secret/index.html delete mode 100644 drafts/2022-04-24-episode-5-marcus.md create mode 100644 pages/game.html diff --git a/candidates.txt b/candidates.txt new file mode 100644 index 0000000..d8cf1dc --- /dev/null +++ b/candidates.txt @@ -0,0 +1,21 @@ +who should i interview? + +devon +archenoth +archangelic +netscape_navigator +lucidiot +cat +bx +apreche +cymen +dzwdz +noa +sandra/idiomdrottning +brennan +technomancy +insom +vantablack +kirch +cat +tiwesdaeg diff --git a/content/2022-04-24-episode-5-marcus.md b/content/2022-04-24-episode-5-marcus.md new file mode 100644 index 0000000..cc11e41 --- /dev/null +++ b/content/2022-04-24-episode-5-marcus.md @@ -0,0 +1,70 @@ +--- +title: episode 5 +season: 1 +episode: 5 +subtitle: marcus! marcus! marcus! +date: Thu, 24 Mar 2022 12:12:12 -0700 +toc-title: Contents +file: 'https://archive.org/download/tilderwhirl-S01E01/tildewhirl-S01E05.mp3' +img_url: https://tilde.town/~dozens/podcast/assets/img/logo.png +summary: tilde whirl with dozens and marcus +explict: 'yes' +--- + +## notes + +Check it out! It's Marcus! + +Tune in as we talk about *bizniss*, tildes, art, anonymity, the art of programming, and minecraft as a means of self expression + +This episode's segments: + +- Food and Wine: vegan ice cream! +- A Word From Our Sponsors +- Poetry Corner: no one will ever read this +- Hey Gamers! +- Story Corner: joneworlds chapters 1 - 5 + +This episode's secret message is: + + + +``` +b yu tokx bufkonnoi yp jcv tokx nuykp xcq yko yp komcdlbzbld mcubm npkbfn +``` + +## links + +Stuff we talked about on the show + +- [shrimp!](http://tilde.town/~owenversteeg/) +- [Conway's Law](https://en.wikipedia.org/wiki/Conway%27s_law) +- [riotgirl.club](https://web.archive.org/web/20170717080959/http://riotgirl.club/) +- [No one will ever read this but](http://tilde.town/~karlen/) +- [linkbudz](https://linkbudz.m455.casa/) +- [joneworlds](gemini://republic.circumlunar.space/users/joneworlds/index.gmi) +- [casacraft season 2 server tour](https://tube.tchncs.de/w/p/bUXDVFXChcHV7NrT5iMo8m) +- + +## sources + +sounds included in this episode + +Music during poetry corner + +- [equa - trans void duet](https://tildetown.bandcamp.com/track/trans-void-duet) + +No one will ever read this but... + +- +- +- +- +- +- +- + +Sponsors: + +- +- diff --git a/dist/2022-03-03-episode-1-acdw.html b/dist/2022-03-03-episode-1-acdw.html index 387496c..20c7cad 100644 --- a/dist/2022-03-03-episode-1-acdw.html +++ b/dist/2022-03-03-episode-1-acdw.html @@ -24,6 +24,8 @@

home | about + | game + | secret | contact

diff --git a/dist/2022-03-03-episode-2-m455.html b/dist/2022-03-03-episode-2-m455.html index f0a0f8b..cf4208f 100644 --- a/dist/2022-03-03-episode-2-m455.html +++ b/dist/2022-03-03-episode-2-m455.html @@ -24,6 +24,8 @@

home | about + | game + | secret | contact

diff --git a/dist/2022-03-24-episode-3-nihilazo.html b/dist/2022-03-24-episode-3-nihilazo.html index 9179a9e..22a3242 100644 --- a/dist/2022-03-24-episode-3-nihilazo.html +++ b/dist/2022-03-24-episode-3-nihilazo.html @@ -24,6 +24,8 @@

home | about + | game + | secret | contact

diff --git a/dist/2022-04-12-episode-4-piusbird.html b/dist/2022-04-12-episode-4-piusbird.html index a8728fc..5b3b4eb 100644 --- a/dist/2022-04-12-episode-4-piusbird.html +++ b/dist/2022-04-12-episode-4-piusbird.html @@ -24,6 +24,8 @@

home | about + | game + | secret | contact

diff --git a/dist/2022-04-24-episode-5-marcus.html b/dist/2022-04-24-episode-5-marcus.html index 8be6883..936ff34 100644 --- a/dist/2022-04-24-episode-5-marcus.html +++ b/dist/2022-04-24-episode-5-marcus.html @@ -4,7 +4,7 @@ - 2022-04-24-episode-5-marcus + episode 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index f77f162..dd50825 100644 --- a/dist/index.html +++ b/dist/index.html @@ -26,6 +26,8 @@

home | about + | game + | secret | contact

@@ -34,6 +36,9 @@

the greatest tildeverse podcast in the world

dozens

+

+Subscribe with RSS 🚀 +

tilde whirl logo
@@ -47,6 +52,7 @@ New episodes on the 12th and the 24th of each month. Episodes:
    +
  • episode 5: marcus! marcus! marcus!
  • episode 4: whoa check it out it’s piusbird
  • episode 3: and now nihilazo
  • episode 2: a special conversation with m455
  • diff --git a/dist/rss.xml b/dist/rss.xml index e1a5a3c..3e3d85c 100644 --- a/dist/rss.xml +++ b/dist/rss.xml @@ -9,12 +9,66 @@ https://tilde.town/~dozens/podcast/index.html pandoc and stuff -Mon, 11 Apr 2022 14:06:39 -0600 +Fri, 22 Apr 2022 16:57:35 -0600 dozens@tilde.team (dozens) dozens@tilde.team (dozens) dozens en + + episode 5 + https://tilde.town/~dozens/podcast/2022-04-24-episode-5-marcus.html + Thu, 24 Mar 2022 12:12:12 -0700 + notes +

    Check it out! It’s Marcus!

    +

    Tune in as we talk about bizniss, tildes, art, anonymity, the art of programming, and minecraft as a means of self expression

    +

    This episode’s segments:

    +
      +
    • Food and Wine: vegan ice cream!
    • +
    • A Word From Our Sponsors
    • +
    • Poetry Corner: no one will ever read this
    • +
    • Hey Gamers!
    • +
    • Story Corner: joneworlds chapters 1 - 5
    • +
    +

    This episode’s secret message is:

    + +
    b yu tokx bufkonnoi yp jcv tokx nuykp xcq yko yp komcdlbzbld mcubm npkbfn
    + +

    Stuff we talked about on the show

    + +

    sources

    +

    sounds included in this episode

    +

    Music during poetry corner

    + +

    No one will ever read this but…

    + +

    Sponsors:

    +]]>
    + Thu, 24 Mar 2022 12:12:12 -0700 + +
    episode 4 https://tilde.town/~dozens/podcast/2022-04-12-episode-4-piusbird.html diff --git a/dist/secret/build/bundle.css b/dist/secret/build/bundle.css new file mode 100644 index 0000000..5911426 --- /dev/null +++ b/dist/secret/build/bundle.css @@ -0,0 +1 @@ +.active.svelte-146lywd{color:inherit;background:#f4f4f4;border-color:#333}button.svelte-146lywd{color:gray;background:none;cursor:pointer;border-color:transparent}main.svelte-146lywd{text-align:center;padding:1em;max-width:240px;margin:0 auto}h1.svelte-146lywd{color:#ff3e00;text-transform:uppercase;font-size:4em;font-weight:100}.output.svelte-146lywd{max-width:240px;margin:0 auto}@media(min-width: 640px){main.svelte-146lywd{max-width:none}} \ No newline at end of file diff --git a/dist/secret/build/bundle.js b/dist/secret/build/bundle.js new file mode 100644 index 0000000..fe6cf7c --- /dev/null +++ b/dist/secret/build/bundle.js @@ -0,0 +1,633 @@ + +(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document); +var app = (function () { + 'use strict'; + + function noop() { } + function add_location(element, file, line, column, char) { + element.__svelte_meta = { + loc: { file, line, column, char } + }; + } + function run(fn) { + return fn(); + } + function blank_object() { + return Object.create(null); + } + function run_all(fns) { + fns.forEach(run); + } + function is_function(thing) { + return typeof thing === 'function'; + } + function safe_not_equal(a, b) { + return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function'); + } + function is_empty(obj) { + return Object.keys(obj).length === 0; + } + function append(target, node) { + target.appendChild(node); + } + function insert(target, node, anchor) { + target.insertBefore(node, anchor || null); + } + function detach(node) { + node.parentNode.removeChild(node); + } + function element(name) { + return document.createElement(name); + } + function text(data) { + return document.createTextNode(data); + } + function space() { + return text(' '); + } + function listen(node, event, handler, options) { + node.addEventListener(event, handler, options); + return () => node.removeEventListener(event, handler, options); + } + function attr(node, attribute, value) { + if (value == null) + node.removeAttribute(attribute); + else if (node.getAttribute(attribute) !== value) + node.setAttribute(attribute, value); + } + function children(element) { + return Array.from(element.childNodes); + } + function set_input_value(input, value) { + input.value = value == null ? '' : value; + } + function toggle_class(element, name, toggle) { + element.classList[toggle ? 'add' : 'remove'](name); + } + function custom_event(type, detail, bubbles = false) { + const e = document.createEvent('CustomEvent'); + e.initCustomEvent(type, bubbles, false, detail); + return e; + } + + let current_component; + function set_current_component(component) { + current_component = component; + } + + const dirty_components = []; + const binding_callbacks = []; + const render_callbacks = []; + const flush_callbacks = []; + const resolved_promise = Promise.resolve(); + let update_scheduled = false; + function schedule_update() { + if (!update_scheduled) { + update_scheduled = true; + resolved_promise.then(flush); + } + } + function add_render_callback(fn) { + render_callbacks.push(fn); + } + // flush() calls callbacks in this order: + // 1. All beforeUpdate callbacks, in order: parents before children + // 2. All bind:this callbacks, in reverse order: children before parents. + // 3. All afterUpdate callbacks, in order: parents before children. EXCEPT + // for afterUpdates called during the initial onMount, which are called in + // reverse order: children before parents. + // Since callbacks might update component values, which could trigger another + // call to flush(), the following steps guard against this: + // 1. During beforeUpdate, any updated components will be added to the + // dirty_components array and will cause a reentrant call to flush(). Because + // the flush index is kept outside the function, the reentrant call will pick + // up where the earlier call left off and go through all dirty components. The + // current_component value is saved and restored so that the reentrant call will + // not interfere with the "parent" flush() call. + // 2. bind:this callbacks cannot trigger new flush() calls. + // 3. During afterUpdate, any updated components will NOT have their afterUpdate + // callback called a second time; the seen_callbacks set, outside the flush() + // function, guarantees this behavior. + const seen_callbacks = new Set(); + let flushidx = 0; // Do *not* move this inside the flush() function + function flush() { + const saved_component = current_component; + do { + // first, call beforeUpdate functions + // and update components + while (flushidx < dirty_components.length) { + const component = dirty_components[flushidx]; + flushidx++; + set_current_component(component); + update(component.$$); + } + set_current_component(null); + dirty_components.length = 0; + flushidx = 0; + while (binding_callbacks.length) + binding_callbacks.pop()(); + // then, once components are updated, call + // afterUpdate functions. This may cause + // subsequent updates... + for (let i = 0; i < render_callbacks.length; i += 1) { + const callback = render_callbacks[i]; + if (!seen_callbacks.has(callback)) { + // ...so guard against infinite loops + seen_callbacks.add(callback); + callback(); + } + } + render_callbacks.length = 0; + } while (dirty_components.length); + while (flush_callbacks.length) { + flush_callbacks.pop()(); + } + update_scheduled = false; + seen_callbacks.clear(); + set_current_component(saved_component); + } + function update($$) { + if ($$.fragment !== null) { + $$.update(); + run_all($$.before_update); + const dirty = $$.dirty; + $$.dirty = [-1]; + $$.fragment && $$.fragment.p($$.ctx, dirty); + $$.after_update.forEach(add_render_callback); + } + } + const outroing = new Set(); + function transition_in(block, local) { + if (block && block.i) { + outroing.delete(block); + block.i(local); + } + } + function mount_component(component, target, anchor, customElement) { + const { fragment, on_mount, on_destroy, after_update } = component.$$; + fragment && fragment.m(target, anchor); + if (!customElement) { + // onMount happens before the initial afterUpdate + add_render_callback(() => { + const new_on_destroy = on_mount.map(run).filter(is_function); + if (on_destroy) { + on_destroy.push(...new_on_destroy); + } + else { + // Edge case - component was destroyed immediately, + // most likely as a result of a binding initialising + run_all(new_on_destroy); + } + component.$$.on_mount = []; + }); + } + after_update.forEach(add_render_callback); + } + function destroy_component(component, detaching) { + const $$ = component.$$; + if ($$.fragment !== null) { + run_all($$.on_destroy); + $$.fragment && $$.fragment.d(detaching); + // TODO null out other refs, including component.$$ (but need to + // preserve final state?) + $$.on_destroy = $$.fragment = null; + $$.ctx = []; + } + } + function make_dirty(component, i) { + if (component.$$.dirty[0] === -1) { + dirty_components.push(component); + schedule_update(); + component.$$.dirty.fill(0); + } + component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); + } + function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) { + const parent_component = current_component; + set_current_component(component); + const $$ = component.$$ = { + fragment: null, + ctx: null, + // state + props, + update: noop, + not_equal, + bound: blank_object(), + // lifecycle + on_mount: [], + on_destroy: [], + on_disconnect: [], + before_update: [], + after_update: [], + context: new Map(options.context || (parent_component ? parent_component.$$.context : [])), + // everything else + callbacks: blank_object(), + dirty, + skip_bound: false, + root: options.target || parent_component.$$.root + }; + append_styles && append_styles($$.root); + let ready = false; + $$.ctx = instance + ? instance(component, options.props || {}, (i, ret, ...rest) => { + const value = rest.length ? rest[0] : ret; + if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { + if (!$$.skip_bound && $$.bound[i]) + $$.bound[i](value); + if (ready) + make_dirty(component, i); + } + return ret; + }) + : []; + $$.update(); + ready = true; + run_all($$.before_update); + // `false` as a special case of no DOM component + $$.fragment = create_fragment ? create_fragment($$.ctx) : false; + if (options.target) { + if (options.hydrate) { + const nodes = children(options.target); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + $$.fragment && $$.fragment.l(nodes); + nodes.forEach(detach); + } + else { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + $$.fragment && $$.fragment.c(); + } + if (options.intro) + transition_in(component.$$.fragment); + mount_component(component, options.target, options.anchor, options.customElement); + flush(); + } + set_current_component(parent_component); + } + /** + * Base class for Svelte components. Used when dev=false. + */ + class SvelteComponent { + $destroy() { + destroy_component(this, 1); + this.$destroy = noop; + } + $on(type, callback) { + const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); + callbacks.push(callback); + return () => { + const index = callbacks.indexOf(callback); + if (index !== -1) + callbacks.splice(index, 1); + }; + } + $set($$props) { + if (this.$$set && !is_empty($$props)) { + this.$$.skip_bound = true; + this.$$set($$props); + this.$$.skip_bound = false; + } + } + } + + function dispatch_dev(type, detail) { + document.dispatchEvent(custom_event(type, Object.assign({ version: '3.47.0' }, detail), true)); + } + function append_dev(target, node) { + dispatch_dev('SvelteDOMInsert', { target, node }); + append(target, node); + } + function insert_dev(target, node, anchor) { + dispatch_dev('SvelteDOMInsert', { target, node, anchor }); + insert(target, node, anchor); + } + function detach_dev(node) { + dispatch_dev('SvelteDOMRemove', { node }); + detach(node); + } + function listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) { + const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : []; + if (has_prevent_default) + modifiers.push('preventDefault'); + if (has_stop_propagation) + modifiers.push('stopPropagation'); + dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers }); + const dispose = listen(node, event, handler, options); + return () => { + dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers }); + dispose(); + }; + } + function attr_dev(node, attribute, value) { + attr(node, attribute, value); + if (value == null) + dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute }); + else + dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value }); + } + function set_data_dev(text, data) { + data = '' + data; + if (text.wholeText === data) + return; + dispatch_dev('SvelteDOMSetData', { node: text, data }); + text.data = data; + } + function validate_slots(name, slot, keys) { + for (const slot_key of Object.keys(slot)) { + if (!~keys.indexOf(slot_key)) { + console.warn(`<${name}> received an unexpected slot "${slot_key}".`); + } + } + } + /** + * Base class for Svelte components with some minor dev-enhancements. Used when dev=true. + */ + class SvelteComponentDev extends SvelteComponent { + constructor(options) { + if (!options || (!options.target && !options.$$inline)) { + throw new Error("'target' is a required option"); + } + super(); + } + $destroy() { + super.$destroy(); + this.$destroy = () => { + console.warn('Component was already destroyed'); // eslint-disable-line no-console + }; + } + $capture_state() { } + $inject_state() { } + } + + /* src/App.svelte generated by Svelte v3.47.0 */ + + const file = "src/App.svelte"; + + function create_fragment(ctx) { + let main; + let h1; + let t1; + let label; + let t3; + let input; + let t4; + let p0; + let t5; + let t6; + let textarea; + let t7; + let div0; + let button0; + let t9; + let button1; + let t11; + let div1; + let p1; + let t13; + let p2; + let t14; + let mounted; + let dispose; + + const block = { + c: function create() { + main = element("main"); + h1 = element("h1"); + h1.textContent = "secret decoder ring"; + t1 = space(); + label = element("label"); + label.textContent = "Input key:"; + t3 = space(); + input = element("input"); + t4 = space(); + p0 = element("p"); + t5 = text(/*salphabet*/ ctx[2]); + t6 = space(); + textarea = element("textarea"); + t7 = space(); + div0 = element("div"); + button0 = element("button"); + button0.textContent = "encode"; + t9 = space(); + button1 = element("button"); + button1.textContent = "decode"; + t11 = space(); + div1 = element("div"); + p1 = element("p"); + p1.textContent = "The secret answer is..."; + t13 = space(); + p2 = element("p"); + t14 = text(/*answer*/ ctx[4]); + attr_dev(h1, "class", "svelte-146lywd"); + add_location(h1, file, 27, 1, 656); + attr_dev(label, "for", "key"); + add_location(label, file, 28, 2, 687); + attr_dev(input, "type", "text"); + attr_dev(input, "name", "key"); + attr_dev(input, "id", "key"); + add_location(input, file, 29, 2, 725); + attr_dev(p0, "class", "alphabet"); + add_location(p0, file, 31, 2, 785); + attr_dev(textarea, "rows", "10"); + add_location(textarea, file, 33, 2, 824); + attr_dev(button0, "class", "svelte-146lywd"); + toggle_class(button0, "active", /*encode*/ ctx[0]); + add_location(button0, file, 36, 4, 908); + attr_dev(button1, "class", "svelte-146lywd"); + toggle_class(button1, "active", !/*encode*/ ctx[0]); + add_location(button1, file, 37, 4, 978); + attr_dev(div0, "class", "buttongroup"); + add_location(div0, file, 35, 2, 878); + add_location(p1, file, 41, 4, 1082); + add_location(p2, file, 42, 4, 1117); + attr_dev(div1, "class", "output svelte-146lywd"); + add_location(div1, file, 40, 2, 1057); + attr_dev(main, "class", "svelte-146lywd"); + add_location(main, file, 26, 0, 648); + }, + l: function claim(nodes) { + throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); + }, + m: function mount(target, anchor) { + insert_dev(target, main, anchor); + append_dev(main, h1); + append_dev(main, t1); + append_dev(main, label); + append_dev(main, t3); + append_dev(main, input); + set_input_value(input, /*key*/ ctx[3]); + append_dev(main, t4); + append_dev(main, p0); + append_dev(p0, t5); + append_dev(main, t6); + append_dev(main, textarea); + set_input_value(textarea, /*message*/ ctx[1]); + append_dev(main, t7); + append_dev(main, div0); + append_dev(div0, button0); + append_dev(div0, t9); + append_dev(div0, button1); + append_dev(main, t11); + append_dev(main, div1); + append_dev(div1, p1); + append_dev(div1, t13); + append_dev(div1, p2); + append_dev(p2, t14); + + if (!mounted) { + dispose = [ + listen_dev(input, "input", /*input_input_handler*/ ctx[6]), + listen_dev(textarea, "input", /*textarea_input_handler*/ ctx[7]), + listen_dev(button0, "click", /*flipper*/ ctx[5], false, false, false), + listen_dev(button1, "click", /*flipper*/ ctx[5], false, false, false) + ]; + + mounted = true; + } + }, + p: function update(ctx, [dirty]) { + if (dirty & /*key*/ 8 && input.value !== /*key*/ ctx[3]) { + set_input_value(input, /*key*/ ctx[3]); + } + + if (dirty & /*salphabet*/ 4) set_data_dev(t5, /*salphabet*/ ctx[2]); + + if (dirty & /*message*/ 2) { + set_input_value(textarea, /*message*/ ctx[1]); + } + + if (dirty & /*encode*/ 1) { + toggle_class(button0, "active", /*encode*/ ctx[0]); + } + + if (dirty & /*encode*/ 1) { + toggle_class(button1, "active", !/*encode*/ ctx[0]); + } + + if (dirty & /*answer*/ 16) set_data_dev(t14, /*answer*/ ctx[4]); + }, + i: noop, + o: noop, + d: function destroy(detaching) { + if (detaching) detach_dev(main); + mounted = false; + run_all(dispose); + } + }; + + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment.name, + type: "component", + source: "", + ctx + }); + + return block; + } + + const alphabet = 'abcdefghijklmnopqrstuvwxyz'; + + function instance($$self, $$props, $$invalidate) { + let key; + let salphabet; + let answer; + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots('App', slots, []); + const uniq = arr => Array.from(new Set(arr)); + let encode = true; + let message = 'enter your secret message here'; + + const flipper = () => { + $$invalidate(0, encode = !encode); + }; + + const writable_props = []; + + Object.keys($$props).forEach(key => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== '$$' && key !== 'slot') console.warn(` was created with unknown prop '${key}'`); + }); + + function input_input_handler() { + key = this.value; + $$invalidate(3, key); + } + + function textarea_input_handler() { + message = this.value; + $$invalidate(1, message); + } + + $$self.$capture_state = () => ({ + uniq, + alphabet, + encode, + message, + flipper, + salphabet, + answer, + key + }); + + $$self.$inject_state = $$props => { + if ('encode' in $$props) $$invalidate(0, encode = $$props.encode); + if ('message' in $$props) $$invalidate(1, message = $$props.message); + if ('salphabet' in $$props) $$invalidate(2, salphabet = $$props.salphabet); + if ('answer' in $$props) $$invalidate(4, answer = $$props.answer); + if ('key' in $$props) $$invalidate(3, key = $$props.key); + }; + + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + + $$self.$$.update = () => { + if ($$self.$$.dirty & /*key*/ 8) { + $$invalidate(2, salphabet = uniq(key).join('').replace(/[^a-z]/g, '') + Array.from(alphabet).filter(c => Array.from(key).every(k => k != c)).join('')); + } + + if ($$self.$$.dirty & /*message, encode, salphabet*/ 7) { + $$invalidate(4, answer = message.split(' ').map(word => Array.from(word).map(char => char !== ' ' && encode + ? salphabet[alphabet.indexOf(char)] + : alphabet[salphabet.indexOf(char)]).join('')).join(' ')); + } + }; + + $$invalidate(3, key = ''); + + return [ + encode, + message, + salphabet, + key, + answer, + flipper, + input_input_handler, + textarea_input_handler + ]; + } + + class App extends SvelteComponentDev { + constructor(options) { + super(options); + init(this, options, instance, create_fragment, safe_not_equal, {}); + + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "App", + options, + id: create_fragment.name + }); + } + } + + const app = new App({ + target: document.body, + props: { + name: 'world' + } + }); + + return app; + +})(); +//# sourceMappingURL=bundle.js.map diff --git a/dist/secret/global.css b/dist/secret/global.css new file mode 100644 index 0000000..bb28a94 --- /dev/null +++ b/dist/secret/global.css @@ -0,0 +1,63 @@ +html, body { + position: relative; + width: 100%; + height: 100%; +} + +body { + color: #333; + margin: 0; + padding: 8px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} + +label { + display: block; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + -webkit-padding: 0.4em 0; + padding: 0.4em; + margin: 0 0 0.5em 0; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 2px; +} + +input:disabled { + color: #ccc; +} + +button { + color: #333; + background-color: #f4f4f4; + outline: none; +} + +button:disabled { + color: #999; +} + +button:not(:disabled):active { + background-color: #ddd; +} + +button:focus { + border-color: #666; +} diff --git a/dist/secret/index.html b/dist/secret/index.html new file mode 100644 index 0000000..2e5771f --- /dev/null +++ b/dist/secret/index.html @@ -0,0 +1,18 @@ + + + + + + + Svelte app + + + + + + + + + + + diff --git a/drafts/2022-04-24-episode-5-marcus.md b/drafts/2022-04-24-episode-5-marcus.md deleted file mode 100644 index 10205aa..0000000 --- a/drafts/2022-04-24-episode-5-marcus.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: episode 5 -season: 1 -episode: 5 -subtitle: "it's marcus!" -date: Thu, 24 Mar 2022 12:12:12 -0700 -toc-title: Contents -file: 'https://archive.org/download/tilderwhirl-S01E01/tildewhirl-S01E05.mp3' -img_url: https://tilde.town/~dozens/podcast/assets/img/logo.png -summary: tilde whirl with dozens and nihilazo -explict: 'yes' ---- - -## notes - -ideas: secret decoder ring - - -## links - -Stuff we talked about on the show - - -## sources - -sounds included in this episode - - -- -- -- -- -- -- -- -- diff --git a/drafts/2022-08-12-episode-12-ben.md b/drafts/2022-08-12-episode-12-ben.md index e69de29..d3e5d5f 100644 --- a/drafts/2022-08-12-episode-12-ben.md +++ b/drafts/2022-08-12-episode-12-ben.md @@ -0,0 +1,25 @@ +--- +title: episode 12 +season: 1 +episode: 12 +subtitle: benb ben ben ben b +date: Thu, 12 Aug 2022 12:12:12 -0700 +toc-title: Contents +file: 'https://archive.org/download/tilderwhirl-S01E01/tildewhirl-S01E12.mp3' +img_url: https://tilde.town/~dozens/podcast/assets/img/logo.png +duration: '' +length: '' +summary: tilde whirl with dozens and ben +explict: 'yes' +--- + +## notes + + +## links + +Stuff we talked about on the show + +https://pad.bhh.sh/KmE382ytQSeAW6pSYsbZlA# + +## sources diff --git a/index.md b/index.md index 7844214..bc3dc99 100644 --- a/index.md +++ b/index.md @@ -1,9 +1,13 @@ +

    +Subscribe with RSS 🚀 +

    tilde whirl logo
    give it a whirl

    New episodes on the 12th and the 24th of each month.

    Episodes:

    +- [episode 5](2022-04-24-episode-5-marcus.html): marcus! marcus! marcus! - [episode 4](2022-04-12-episode-4-piusbird.html): whoa check it out it’s piusbird - [episode 3](2022-03-24-episode-3-nihilazo.html): and now nihilazo - [episode 2](2022-03-03-episode-2-m455.html): a special conversation with m455 diff --git a/pages/about.md b/pages/about.md index d390101..d33c84a 100644 --- a/pages/about.md +++ b/pages/about.md @@ -4,7 +4,7 @@ subtitle: what is all this anyway toc-title: Contents --- -## about +## what Welcome to the Tilde Whirl Tildeverse podcast! @@ -26,7 +26,7 @@ more about tildes: New episodes drop on the 12th and 24th of each month. -## me +## who Hi, I'm dozens! 👋 @@ -35,6 +35,10 @@ I'm just some guy from the internet, who is a hero for fun and a friend to anima - email: dozens@tilde.team - mastodon: @dozens@tiny.tilde.website +## why + +BECAUSE + ## sources Sounds you hear on the show. diff --git a/pages/game.html b/pages/game.html new file mode 100644 index 0000000..bcb392e --- /dev/null +++ b/pages/game.html @@ -0,0 +1,9517 @@ + + + + + + + + +~~~ Tilde Whirl ~~~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/index-before.html b/templates/index-before.html index 8c621bc..b02c299 100644 --- a/templates/index-before.html +++ b/templates/index-before.html @@ -1,3 +1,6 @@ +

    +Subscribe with RSS 🚀 +

    tilde whirl logo
    give it a whirl
    diff --git a/templates/nav.html b/templates/nav.html index 6c81c1a..a553623 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -2,6 +2,8 @@

    home | about + | game + | secret | contact