From ef7210901c620e926b5ddb7ab1561774e77e04a4 Mon Sep 17 00:00:00 2001 From: Ben Christel Date: Sun, 25 Feb 2024 12:57:07 -0800 Subject: [PATCH] Build for deployment --- dist/assets/index.9d073e1c.js | 273 ++++++++++++++++++++++++++++++++++ dist/assets/index.ccc2de1d.js | 269 --------------------------------- dist/index.html | 4 +- 3 files changed, 275 insertions(+), 271 deletions(-) create mode 100644 dist/assets/index.9d073e1c.js delete mode 100644 dist/assets/index.ccc2de1d.js diff --git a/dist/assets/index.9d073e1c.js b/dist/assets/index.9d073e1c.js new file mode 100644 index 0000000..c5edda7 --- /dev/null +++ b/dist/assets/index.9d073e1c.js @@ -0,0 +1,273 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const c of r.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function o(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerpolicy&&(r.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?r.credentials="include":s.crossorigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(s){if(s.ep)return;s.ep=!0;const r=o(s);fetch(s.href,r)}})();var V,u,bt,F,rt,z={},kt=[],Bt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function C(t,e){for(var o in e)t[o]=e[o];return t}function vt(t){var e=t.parentNode;e&&e.removeChild(t)}function l(t,e,o){var n,s,r,c={};for(r in e)r=="key"?n=e[r]:r=="ref"?s=e[r]:c[r]=e[r];if(arguments.length>2&&(c.children=arguments.length>3?V.call(arguments,2):o),typeof t=="function"&&t.defaultProps!=null)for(r in t.defaultProps)c[r]===void 0&&(c[r]=t.defaultProps[r]);return T(t,c,n,s,null)}function T(t,e,o,n,s){var r={type:t,props:e,key:o,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:s==null?++bt:s};return s==null&&u.vnode!=null&&u.vnode(r),r}function A(t){return t.children}function N(t,e){this.props=t,this.context=e}function P(t,e){if(e==null)return t.__?P(t.__,t.__.__k.indexOf(t)+1):null;for(var o;e0?T(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):a)!=null){if(a.__=o,a.__b=o.__b+1,(h=w[i])===null||h&&a.key==h.key&&a.type===h.type)w[i]=void 0;else for(f=0;f=o.__.length&&o.__.push({__V:$}),o.__[t]}function Ht(t){return O=1,Gt(Tt,t)}function Gt(t,e,o){var n=tt(q++,2);if(n.t=t,!n.__c&&(n.__=[o?o(e):Tt(void 0,e),function(r){var c=n.__N?n.__N[0]:n.__[0],p=n.t(c,r);c!==p&&(n.__N=[p,n.__[1]],n.__c.setState({}))}],n.__c=y,!y.u)){y.u=!0;var s=y.shouldComponentUpdate;y.shouldComponentUpdate=function(r,c,p){if(!n.__c.__H)return!0;var m=n.__c.__H.__.filter(function(i){return i.__c});if(m.every(function(i){return!i.__N}))return!s||s.call(this,r,c,p);var d=!1;return m.forEach(function(i){if(i.__N){var f=i.__[0];i.__=i.__N,i.__N=void 0,f!==i.__[0]&&(d=!0)}}),!!d&&(!s||s.call(this,r,c,p))}}return n.__N||n.__}function It(t,e){var o=tt(q++,3);!u.__s&&Mt(o.__H,e)&&(o.__=t,o.i=e,y.__H.__h.push(o))}function Wt(t){return O=5,Kt(function(){return{current:t}},[])}function Kt(t,e){var o=tt(q++,7);return Mt(o.__H,e)?(o.__V=t(),o.i=e,o.__h=t,o.__V):o.__}function Xt(){for(var t;t=Ft.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(D),t.__H.__h.forEach(K),t.__H.__h=[]}catch(e){t.__H.__h=[],u.__e(e,t.__v)}}u.__b=function(t){typeof t.type!="function"||t.o||t.type===A?t.o||(t.o=t.__&&t.__.o?t.__.o:""):t.o=(t.__&&t.__.o?t.__.o:"")+(t.__&&t.__.__k?t.__.__k.indexOf(t):0),y=null,lt&<(t)},u.__r=function(t){ut&&ut(t),q=0;var e=(y=t.__c).__H;e&&(G===y?(e.__h=[],y.__h=[],e.__.forEach(function(o){o.__N&&(o.__=o.__N),o.__V=$,o.__N=o.i=void 0})):(e.__h.forEach(D),e.__h.forEach(K),e.__h=[])),G=y},u.diffed=function(t){ht&&ht(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(Ft.push(e)!==1&&at===u.requestAnimationFrame||((at=u.requestAnimationFrame)||Zt)(Xt)),e.__H.__.forEach(function(o){o.i&&(o.__H=o.i),o.__V!==$&&(o.__=o.__V),o.i=void 0,o.__V=$})),G=y=null},u.__c=function(t,e){e.some(function(o){try{o.__h.forEach(D),o.__h=o.__h.filter(function(n){return!n.__||K(n)})}catch(n){e.some(function(s){s.__h&&(s.__h=[])}),e=[],u.__e(n,o.__v)}}),_t&&_t(t,e)},u.unmount=function(t){pt&&pt(t);var e,o=t.__c;o&&o.__H&&(o.__H.__.forEach(function(n){try{D(n)}catch(s){e=s}}),o.__H=void 0,e&&u.__e(e,o.__v))};var mt=typeof requestAnimationFrame=="function";function Zt(t){var e,o=function(){clearTimeout(n),mt&&cancelAnimationFrame(e),setTimeout(t)},n=setTimeout(o,100);mt&&(e=requestAnimationFrame(o))}function D(t){var e=y,o=t.__c;typeof o=="function"&&(t.__c=void 0,o()),y=e}function K(t){var e=y;t.__c=t.__(),y=e}function Mt(t,e){return!t||t.length!==e.length||e.some(function(o,n){return o!==t[n]})}function Tt(t,e){return typeof e=="function"?e(t):e}function Qt({link:t}){return l("li",{class:"directory-link"},l("a",{href:t.destination},t.text))}function Yt({category:t}){const{title:e,entries:o,subCategories:n}=t,s=o.map(dt);return l("section",{class:"category"},l("h2",null,e),l("div",{class:"columns "+Jt(te(t))},s.length>0&&l("section",null,l("ul",null,s)),n.map(({title:r,entries:c})=>l("section",null,l("h3",null,r),l("ul",null,c.map(dt))))))}function Jt(t){switch(!0){case t>=12:return"columns-3";case t>=6:return"columns-2";default:return"columns-1"}}function dt(t){return l(Qt,{link:t})}function te(t){return t.entries.length+t.subCategories.map(({entries:e})=>e.length).reduce(ee,0)}function ee(t,e){return t+e}function Nt(t){return l("button",{class:"raised-button",...t})}function oe(t){const[e,o]=Ht(!1),n=Wt(null);return It(()=>{if(!e)return;function s(){o(!1)}const r=n.current;return r==null||r.addEventListener("close",s),r==null||r.showModal(),()=>r==null?void 0:r.removeEventListener("close",s)},[e]),l("div",{class:"dev-info-pane-opener"},l(Nt,{onClick:()=>o(!0)},"Show Developer Info"),e&&l("dialog",{ref:n},t.children))}function re(t){return l("div",{class:"dev-info-pane"},l("label",{for:"leechblock-config"},"LeechBlock Config"),l("textarea",{id:"leechblock-config"},`* +`,t.leechblockAllowPatterns.map(e=>"+"+e).join(` +`)))}function ne(t){const{config:e,query:o,onQuery:n,onSearchSubmitted:s}=t;return l(A,null,l("nav",{class:"menu"},e.menu.map((r,c)=>l("a",{href:r.destination,key:c},r.text))),l("div",{class:"podium"},l("div",{class:"omnisearch"},l("input",{type:"search",placeholder:"Search",autoFocus:!0,value:o,onKeyPress:r=>{r.key==="Enter"&&s(0)},onInput:r=>n(r.currentTarget.value)}),l("div",{class:"search-providers"},e.searchProviders.map((r,c)=>l(Nt,{key:c,onClick:()=>s(c)},r.name)))),l("article",null,e.categories.map(r=>l(Yt,{category:r}))),l("footer",null,l("hr",null),l("p",null,"Bastion is maintained by"," ",l("a",{href:"https://github.com/benchristel"},"Ben Christel"),"."),l("p",null,"The image that appears at the top of each page is"," ",l("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.flickr.com/photos/23730371@N05/49396214307"},"619 | Elizabeth Terry | Untitled Double Landscape | Watercolor | 20x22.25"),'" by'," ",l("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.flickr.com/photos/23730371@N05"},"theartleaguegallery"),", and is marked with"," ",l("a",{target:"_blank",rel:"noopener noreferrer",href:"https://creativecommons.org/publicdomain/mark/1.0/?ref=openverse"},"Public Domain Mark 1.0"),"."),l("p",null,"Theme inspired by"," ",l("a",{href:"https://www.palemoon.org/"},"The Pale Moon Browser"),"."),l(oe,null,l(re,{leechblockAllowPatterns:e.leechblockAllowPatterns})))))}const X=Symbol(),Z=Symbol(),Q=Symbol(),j=Symbol();function b(t,e){function o(...n){if(n.length>=t.length)return t(...n);{const s=(...r)=>o(...n,...r);return s[X]=t,s[Z]=o,s[Q]=n,s[j]=o[j],s}}return o[X]=t,o[Z]=o,o[Q]=[],o[j]=e||ie(t),o}function I(t){return t[X]}function se(t){return t[Z]}function Y(t){return t[Q]||[]}function ie(t){return t[j]||t.name}class ce extends Error{constructor(e){super("Expectation failed"),this.expectArgs=e}}const ae=b(function(t,e){return t(e)},"which"),L=b(function(t,e){var o,n;if(le(t))return t(e);if(Array.isArray(t)&&Array.isArray(e))return t.length===e.length&&t.every((s,r)=>L(t[r],e[r]));if(t instanceof Function&&e instanceof Function)return I(t)&&I(t)===I(e)?L(Y(t),Y(e)):t===e;if(t instanceof Date&&e instanceof Date)return t.toISOString()===e.toISOString();if(t instanceof Set&&e instanceof Set)return t.size===e.size&&[...t.values()].every(s=>e.has(s));if(t instanceof Error&&e instanceof Error)return t.message===e.message&&t.__proto__.constructor===e.__proto__.constructor;if(ft(t)&&ft(e)){const s=Object.keys(t),r=Object.keys(e);return s.length===r.length&&s.every(c=>L(t[c],e[c]))&&((o=t.__proto__)==null?void 0:o.constructor)===((n=e.__proto__)==null?void 0:n.constructor)}return t===e},"equals");b(function(t,e){return t===e},"is");b(function(t,e,...o){return!t(e,...o)},"not");b(function(t){return/^\s*$/.test(t)},"isBlank");function ft(t){return!!t&&typeof t=="object"}function le(t){return t instanceof Function&&se(t)===ae&&Y(t).length===1}b(function(e,o){return o.slice(0,e.length)===e?o.slice(e.length):o});b(function(e,o){return o instanceof ce&&L(e,o.expectArgs)});Object.freeze({test:{subject:"a thing",scenario:"does something",fn(){}},error:void 0,instrumentLog:[]});function ue(t){return t.replace(/^[^:]+:\/\//,"").replace(/^www\./,"").replace(/\/$/,"")}function $t(t){const[e,o,n]=he(t);return{link:{text:e,destination:o},keywords:n}}function he(t){const e=t.indexOf("|");let o,n;e===-1?(o=void 0,n=t):(o=t.slice(0,e).trim(),n=t.slice(e+1).trim());const[s,...r]=n.split(/\s+/);return[o!=null?o:ue(s),s,r]}function Dt(t){const e=t==null?void 0:t.trim();return e?e.split(/\s+/):[]}function jt(t){return $t(t).link}const W=(t,...e)=>e.reduce((o,n)=>n(o),t);function _e(t){return t||[]}function S(t){return e=>e.map(t)}function gt(t){return e=>e.map(t).reduce(me,[])}function pe(t){const e=[...t].sort();return e.filter((o,n)=>o!==e[n-1])}function me(t,e){return t.concat(e)}function de(t){const e=fe(t.menu),o=ye(t.categories),n=ge(t.searchProviders);return{menu:e,searchProviders:n,categories:o,leechblockAllowPatterns:pe([...W(e,S(s=>s.destination),S(yt)),...W(n,S(s=>s.searchUrlFormat),S(Ce)),...W(_e(o),gt(s=>[s,...s.subCategories]),gt(s=>s.entries),S(s=>s.link.destination),S(yt)),...we(t.customLeechblockAllowPatterns)])}}function fe(t){return et(t).map(jt)}function ge(t){return et(t).map(jt).map(e=>({name:e.text,searchUrlFormat:e.destination}))}function ye(t){return(t!=null?t:[]).map(be)}function we(t){var e;return(e=t==null?void 0:t.trim().split(/\s+/))!=null?e:[]}function be(t){var o;const e=Dt(t.keywords);return{title:t.title,entries:zt(t.entries,e),subCategories:((o=t.subCategories)!=null?o:[]).map(ke(e))}}const ke=b((t,e)=>({title:e.title,entries:zt(e.entries,t.concat(Dt(e.keywords)))}),"parseLeafCategory");function zt(t,e=[]){return et(t).map($t).map(o=>({...o,keywords:o.keywords.concat(e)}))}function et(t){return t?t.split(` +`).map(ve).filter(Boolean):[]}function ve(t){return t.trim()}function yt(t){return xe(()=>new URL(t).hostname,()=>t)}function Ce(t){const e=new URL(t),o=e.pathname==="/"?"":e.pathname;return e.hostname+o}function xe(t,e){try{return t()}catch{return e()}}const Se={menu:` + TV | https://benchristel.github.io/tv + Recipes | https://benchristel.github.io/recipes + Bliki | https://github.com/benchristel/benchristel.github.io/wiki + Gmail | https://mail.google.com + Guide | https://bensguide.substack.com + `,searchProviders:` + DuckDuckGo | https://html.duckduckgo.com/html/?q=%s + YouTube | https://youtube.com/results?search_query=%s + GitHub | https://github.com/search?q=%s + NPM | https://www.npmjs.com/search?q=%s + Openverse | https://openverse.org/search/?q=%s + Unicode | https://www.fileformat.info/info/unicode/char/search.htm?q=%s&han=Y&preview=entity + iconsdb | https://www.iconsdb.com/black-icons/?search=%s + Cornish Dict. | https://cornishdictionary.org.uk/#%s + Wikipedia | https://en.wikipedia.org/w/index.php?search=%s + `,customLeechblockAllowPatterns:` + bastionhome.github.io + localhost + 127.0.0.1 + youtube.com/channel* + youtube.com/@* + youtube.com/playlist* + youtube.com/results* + youtube.com/watch* + dasichuanrestaurant.com + doordash.com + yelp.com + opentable.com + `,categories:[{title:"Software Development",keywords:"software development",subCategories:[{title:"Engineering",keywords:"engineering",entries:` + The Art of Unix Programming | http://www.catb.org/esr/writings/taoup/html/ Eric Raymond + https://buildingbeauty.org Christopher Alexander Greg Bryant + https://beautiful.software Christopher Alexander Greg Bryant + https://refactoring.com Martin Fowler + https://dreamsongs.com Richard Gabriel + `},{title:"Unix",keywords:"unix",entries:` + https://hub.docker.com + https://man7.org + `},{title:"Reference",keywords:"reference",entries:` + https://unicode.org + https://memorymanagement.org + https://lawsofux.com + https://cheatsheetseries.owasp.org + https://www.w3.org world wide web consortium + `},{title:"Web Programming",keywords:"web programming",entries:` + NPM | https://npmjs.com node package manager javascript + MDN | https://developer.mozilla.com network html css javascript js + https://eslint.org + https://cssreference.io + https://css-tricks.com + https://moderncss.dev + https://marked.js.org + https://vitejs.dev + https://preactjs.com + https://react.dev + https://sqlite.org + https://json.org + https://jwt.io + https://jsonpath.com + Deno | https://deno.com javascript js node + Deno Docs | https://docs.deno.com + https://flow.org/ + https://typescriptlang.org + https://iconsdb.com + mdsite | https://benchristel.github.io/mdsite + https://caniuse.com + https://bun.sh javascript js node + Build Your Own React | https://pomb.us/build-your-own-react/ didact + https://codemirror.net + https://eloquentjavascript.net + `},{title:"Languages",entries:"Zig | https://ziglang.org"},{title:"Hosting",keywords:"hosting",entries:` + https://gitlab.com + https://surge.sh/ + fly.io | https://fly.io + render.com | https://render.com + cloudflare.com | https://cloudflare.com + supabase.com | https://supabase.com + digitalocean.com | https://digitalocean.com + https://hub.docker.com + https://adaptable.io + alwaysdata.com | https://www.alwaysdata.com/en/ + https://www.argonaut.dev/ + https://www.cyclic.sh/ + https://domcloud.co/ + https://www.koyeb.com/ + https://www.northflank.com/ + https://www.withcoherence.com/ + `},{title:"Help",keywords:"help",entries:` + stackoverflow.com | https://stackoverflow.com + exercism.org | https://exercism.org + `},{title:"On Mac OS",keywords:"apple macintosh",entries:` + Homebrew | https://brew.sh + `}]},{title:"Food",keywords:"food",subCategories:[{title:"Merchants",entries:` + Sunridge Farms | https://shopsunridgefarms.com bulk + https://herbco.com + Byrd's Filling Station | https://byrdsfillingstation.com/pages/in-store-bulk-product-list-non-food + `},{title:"Korean",keywords:"korean recipes cookbook",entries:` + https://maangchi.com + https://koreanbapsang.com + https://mykoreankitchen.com + `},{title:"Indian",keywords:"indian recipes cookbook",entries:` + https://indianhealthyrecipes.com + https://www.vegrecipesofindia.com + `},{title:"Turkish",keywords:"turkish recipes cookbook",entries:` + Ozlem's Turkish Table | https://ozlemsturkishtable.com/ + Binnur's Turkish Cookbook | https://binnurturkishcookbook.blogspot.com/ + `},{title:"French",keywords:"french recipes cookbook",entries:` + https://www.pardonyourfrench.com + `}]},{title:"Web-based Tools",keywords:"web based tools",subCategories:[{title:"Sensing",entries:` + https://timeanddate.com + https://accuweather.com + https://map.purpleair.com + `},{title:"Deciding",entries:` + https://druthers.app + https://decisionmatrix.app + `},{title:"Communicating",entries:` + https://pop.com + https://tuple.app + https://benchristel.github.io/call + https://pivotaltracker.com + `},{title:"Calculating",entries:` + www.wolframalpha.com + `},{title:"Creating",entries:` + https://excalidraw.com + `},{title:"Transforming",entries:` + https://pngtosvg.com + https://jsonpath.com + https://yamllint.com + https://translate.google.com + `},{title:"Recording",entries:` + https://pivotaltracker.com + `},{title:"Prototyping",entries:` + Taste Playground | https://benchristel.github.io/try-taste + https://jsfiddle.net + https://codesandbox.io + Flow Playground | https://flow.org/try + TypeScript Playground | https://www.typescriptlang.org/play + `}]},{title:"Gaming",keywords:"gaming games",subCategories:[{title:"Catalogs",entries:` + https://protondb.com linux wine + https://store.steampowered.com + https://steamdb.info + https://kongregate.com + `},{title:"Hosting",entries:` + https://server.pro + `},{title:"Minecraft",keywords:"minecraft",entries:` + https://minecraft.fandom.com + https://curseforge.com + https://minecraftmods.com + `},{title:"Age of Empires",entries:` + https://ageofempires.fandom.com + `},{title:"Heroes of Might and Magic",entries:` + http://celestialheavens.com + https://maps4heroes.com + https://heroesofmightandmagic.com + https://mightandmagic.fandom.com + https://heroescommunity.com + `},{title:"Other Games",entries:` + https://zero-k.info + https://mindustrygame.github.io + `},{title:"General / Reference",entries:` + https://lparchive.org + `}]},{title:"Linux and Computer Hardware",keywords:"linux",entries:` + https://frame.work + https://community.frame.work + https://packagehub.suse.com + https://superuser.com + https://packages.fedoraproject.org + https://flathub.org + https://cinnamon-spices.linuxmint.com + `},{title:"Computer Habitability",keywords:"computing computers browsers extensions",entries:` + addons.mozilla.org | https://addons.mozilla.org + LeechBlock NG | https://www.proginosko.com/leechblock/ + uBlock Origin for Firefox | https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/ + New Tab Override for Firefox | https://addons.mozilla.org/en-US/firefox/addon/new-tab-override/ + darkreader.org | https://darkreader.org + https://href.li + https://alternativeto.net + `},{title:"Images",keywords:"images",entries:` + https://images.freeimages.com + https://flickr.com + https://cliparts.co + https://search.creativecommons.org/ + `},{title:"Learning",keywords:"learning educational",entries:` + https://khanacademy.org + Leitner system (Wikipedia) | https://en.wikipedia.org/wiki/Leitner_system srs flashcards + `},{title:"Commerce",keywords:"shopping amazon",entries:` + Sunridge Farms | https://shopsunridgefarms.com bulk + https://herbco.com monterey bay herb company bulk + https://betterworldbooks.com + https://evertype.com + https://newegg.com + https://bandcamp.com music + qobuz.com | https://qobuz.com music + https://everynoise.com + https://alternativeto.net software tools + Byrd's Filling Station | https://byrdsfillingstation.com/pages/in-store-bulk-product-list-non-food bulk + `},{title:"Archives and Archiving",keywords:"archives",entries:` + https://archive.org + https://ghostarchive.org + https://versionmuseum.com + `},{title:"Books",keywords:"books",entries:` + https://books.google.com + https://betterworldbooks.com + https://www.ebooks.com + https://evertype.com + https://terebess.hu + https://exclassics.com + https://en.wikibooks.org + `,subCategories:[{title:"Audiobooks",keywords:"audiobooks",entries:` + https://librivox.org + His Last Bow (Sherlock Holmes) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=aV3MnZW-rbA sir arthur conan doyle + The Return of Sherlock Holmes | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=vzFCXmbdmNk sir arthur conan doyle + `}]},{title:"Music",keywords:"music",subCategories:[{title:"Lyrics",keywords:"lyrics",entries:` + https://lyricstranslate.com + https://universocantigas.gal + https://lieder.net + https://musicanet.org + `},{title:"Visualizers",keywords:"visualizers",entries:` + https://butterchurnviz.com + `},{title:"Streaming",keywords:"streaming",entries:` + https://bandcamp.com + https://deezer.com + https://open.spotify.com + qobuz.com | https://www.qobuz.com/us-en/discover + `},{title:"Stores",keywords:"buying purchase purchasing stores",entries:` + qobuz.com | https://www.qobuz.com/us-en/discover + `},{title:"History",keywords:"history",entries:` + https://albumoftheyear.org history + https://lieder.net + `}]},{title:"Video",keywords:"videos",entries:` + https://vimeo.com + Invidious | https://vid.puffyan.us + `},{title:"Languages and Linguistics",entries:` + https://akademikernewek.org.uk + https://cornish-language.org + https://cornishdictionary.org.uk + https://gocornish.org + https://zompist.com + https://latecornishlittlebits.blogspot.com + https://merriam-webster.com + https://ipachart.com + https://internationalphoneticalphabet.org + https://dedalvs.com + http://www.hungarianreference.com + `},{title:"Academia",entries:` + https://researchgate.net + https://psyarxiv.com + https://academia.edu + https://apa.org + https://arxiv.org + `},{title:"Meditation",keywords:"meditation",subCategories:[{title:"Sit, Breathe, Wake Up! (Culadasa)",keywords:"sit breathe wake up culadasa",entries:` + Video 1 (40m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=UG-0XGpesgs + Video 2 (43m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=IeXWFRs5cGk + Video 3 (46m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=SRqXq570Cf0 + Video 4 (21m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=aNFc4veG61E + Video 5 (35m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=gB4_JS4jsb0 + Video 7 (52m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=LBDV7jmZL8s + Video 8 (46m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=nbvx7K_Zh0U + Video 9 (25m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=SpTDGyhoFho + `}]},{title:"Miscellaneous",entries:` + https://permies.com + https://federalregister.gov + https://skepdic.com + https://patternlanguage.com + https://patreon.com + https://en.wikiquote.org + https://en.wikisource.org + https://npl.wiki + http://www.livingneighborhoods.org + `}]};function Le(t){return{...t,categories:t.categories.map(e=>({...e,subCategories:e.subCategories.map(o=>({...o,entries:o.entries.map(n=>n.link)})),entries:e.entries.map(o=>o.link)}))}}function Pe(t,e){return e.filter(Ae(t)).map(Ee(t))}const Ae=b((t,e)=>e.entries.some(R(t))||e.subCategories.some(Ut(t)),"categoryMatches"),Ee=b((t,e)=>({...e,entries:e.entries.filter(R(t)),subCategories:e.subCategories.filter(Ut(t)).map(Fe(t))})),Ut=b((t,e)=>e.entries.some(R(t))),Fe=b((t,e)=>({...e,entries:e.entries.filter(R(t))})),R=b((t,e)=>He(t).every(o=>e.link.destination.toLowerCase().includes(o)||e.link.text.toLowerCase().includes(o)||e.keywords.some(n=>n.toLowerCase().includes(o))),"entryMatches");function He(t){return t.toLowerCase().split(/\s+/)}function Me(){const[t,e]=Ht(""),o=de(Se),n={...o,categories:Pe(t,o.categories)};return l(ne,{config:Le(n),query:t,onQuery:e,onSearchSubmitted:s=>window.open(o.searchProviders[s].searchUrlFormat.replace("%s",t),"_self")})}b((t,e)=>L(new Set(t),new Set(e)),"isSameSetAs");b((t,e)=>{for(let o in t)if(!(o in e)||!L(t[o],e[o]))return!1;return!0},"hasProperties");var wt;(t=>{function e({title:o="",entries:n=[],subCategories:s=[]}){return{title:o,entries:n,subCategories:s}}t.category=e})(wt||(wt={}));Rt(l(Me,null),document.getElementById("preact-root")); diff --git a/dist/assets/index.ccc2de1d.js b/dist/assets/index.ccc2de1d.js deleted file mode 100644 index 4c329aa..0000000 --- a/dist/assets/index.ccc2de1d.js +++ /dev/null @@ -1,269 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const n of s)if(n.type==="childList")for(const c of n.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function o(s){const n={};return s.integrity&&(n.integrity=s.integrity),s.referrerpolicy&&(n.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?n.credentials="include":s.crossorigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function r(s){if(s.ep)return;s.ep=!0;const n=o(s);fetch(s.href,n)}})();var q,u,be,F,ne,z={},ke=[],Oe=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function C(e,t){for(var o in t)e[o]=t[o];return e}function ve(e){var t=e.parentNode;t&&t.removeChild(e)}function l(e,t,o){var r,s,n,c={};for(n in t)n=="key"?r=t[n]:n=="ref"?s=t[n]:c[n]=t[n];if(arguments.length>2&&(c.children=arguments.length>3?q.call(arguments,2):o),typeof e=="function"&&e.defaultProps!=null)for(n in e.defaultProps)c[n]===void 0&&(c[n]=e.defaultProps[n]);return T(e,c,r,s,null)}function T(e,t,o,r,s){var n={type:e,props:t,key:o,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:s==null?++be:s};return s==null&&u.vnode!=null&&u.vnode(n),n}function A(e){return e.children}function N(e,t){this.props=e,this.context=t}function P(e,t){if(t==null)return e.__?P(e.__,e.__.__k.indexOf(e)+1):null;for(var o;t0?T(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):a)!=null){if(a.__=o,a.__b=o.__b+1,(_=w[i])===null||_&&a.key==_.key&&a.type===_.type)w[i]=void 0;else for(d=0;d=o.__.length&&o.__.push({__V:$}),o.__[e]}function He(e){return U=1,Re(Te,e)}function Re(e,t,o){var r=ee(V++,2);if(r.t=e,!r.__c&&(r.__=[o?o(t):Te(void 0,t),function(n){var c=r.__N?r.__N[0]:r.__[0],p=r.t(c,n);c!==p&&(r.__N=[p,r.__[1]],r.__c.setState({}))}],r.__c=y,!y.u)){y.u=!0;var s=y.shouldComponentUpdate;y.shouldComponentUpdate=function(n,c,p){if(!r.__c.__H)return!0;var m=r.__c.__H.__.filter(function(i){return i.__c});if(m.every(function(i){return!i.__N}))return!s||s.call(this,n,c,p);var f=!1;return m.forEach(function(i){if(i.__N){var d=i.__[0];i.__=i.__N,i.__N=void 0,d!==i.__[0]&&(f=!0)}}),!!f&&(!s||s.call(this,n,c,p))}}return r.__N||r.__}function Ge(e,t){var o=ee(V++,3);!u.__s&&Me(o.__H,t)&&(o.__=e,o.i=t,y.__H.__h.push(o))}function We(e){return U=5,Ke(function(){return{current:e}},[])}function Ke(e,t){var o=ee(V++,7);return Me(o.__H,t)?(o.__V=e(),o.i=t,o.__h=e,o.__V):o.__}function Qe(){for(var e;e=Fe.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(D),e.__H.__h.forEach(K),e.__H.__h=[]}catch(t){e.__H.__h=[],u.__e(t,e.__v)}}u.__b=function(e){typeof e.type!="function"||e.o||e.type===A?e.o||(e.o=e.__&&e.__.o?e.__.o:""):e.o=(e.__&&e.__.o?e.__.o:"")+(e.__&&e.__.__k?e.__.__k.indexOf(e):0),y=null,le&&le(e)},u.__r=function(e){ue&&ue(e),V=0;var t=(y=e.__c).__H;t&&(R===y?(t.__h=[],y.__h=[],t.__.forEach(function(o){o.__N&&(o.__=o.__N),o.__V=$,o.__N=o.i=void 0})):(t.__h.forEach(D),t.__h.forEach(K),t.__h=[])),R=y},u.diffed=function(e){_e&&_e(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Fe.push(t)!==1&&ae===u.requestAnimationFrame||((ae=u.requestAnimationFrame)||Xe)(Qe)),t.__H.__.forEach(function(o){o.i&&(o.__H=o.i),o.__V!==$&&(o.__=o.__V),o.i=void 0,o.__V=$})),R=y=null},u.__c=function(e,t){t.some(function(o){try{o.__h.forEach(D),o.__h=o.__h.filter(function(r){return!r.__||K(r)})}catch(r){t.some(function(s){s.__h&&(s.__h=[])}),t=[],u.__e(r,o.__v)}}),he&&he(e,t)},u.unmount=function(e){pe&&pe(e);var t,o=e.__c;o&&o.__H&&(o.__H.__.forEach(function(r){try{D(r)}catch(s){t=s}}),o.__H=void 0,t&&u.__e(t,o.__v))};var me=typeof requestAnimationFrame=="function";function Xe(e){var t,o=function(){clearTimeout(r),me&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(o,100);me&&(t=requestAnimationFrame(o))}function D(e){var t=y,o=e.__c;typeof o=="function"&&(e.__c=void 0,o()),y=t}function K(e){var t=y;e.__c=e.__(),y=t}function Me(e,t){return!e||e.length!==t.length||t.some(function(o,r){return o!==e[r]})}function Te(e,t){return typeof t=="function"?t(e):t}function Ye({link:e}){return l("li",{class:"directory-link"},l("a",{href:e.destination},e.text))}function Ze({category:e}){const{title:t,entries:o,subCategories:r}=e,s=o.map(fe);return l("section",{class:"category"},l("h2",null,t),l("div",{class:"columns "+Je(et(e))},s.length>0&&l("section",null,l("ul",null,s)),r.map(({title:n,entries:c})=>l("section",null,l("h3",null,n),l("ul",null,c.map(fe))))))}function Je(e){switch(!0){case e>=12:return"columns-3";case e>=6:return"columns-2";default:return"columns-1"}}function fe(e){return l(Ye,{link:e})}function et(e){return e.entries.length+e.subCategories.map(({entries:t})=>t.length).reduce(tt,0)}function tt(e,t){return e+t}function Ne(e){return l("button",{class:"raised-button",...e})}function ot(e){const[t,o]=He(!1),r=We(null);return Ge(()=>{if(!t)return;function s(){o(!1)}const n=r.current;return n==null||n.addEventListener("close",s),n==null||n.showModal(),()=>n==null?void 0:n.removeEventListener("close",s)},[t]),l("div",{class:"dev-info-pane-opener"},l(Ne,{onClick:()=>o(!0)},"Show Developer Info"),t&&l("dialog",{ref:r},e.children))}function nt(e){return l("div",{class:"dev-info-pane"},l("label",{for:"leechblock-config"},"LeechBlock Config"),l("textarea",{id:"leechblock-config"},`* -`,e.leechblockAllowPatterns.map(t=>"+"+t).join(` -`)))}function rt(e){const{config:t,query:o,onQuery:r,onSearchSubmitted:s}=e;return l(A,null,l("nav",{class:"menu"},t.menu.map((n,c)=>l("a",{href:n.destination,key:c},n.text))),l("div",{class:"podium"},l("div",{class:"omnisearch"},l("input",{type:"search",placeholder:"Search",autoFocus:!0,value:o,onKeyPress:n=>{n.key==="Enter"&&s(0)},onInput:n=>r(n.currentTarget.value)}),l("div",{class:"search-providers"},t.searchProviders.map((n,c)=>l(Ne,{key:c,onClick:()=>s(c)},n.name)))),l("article",null,t.categories.map(n=>l(Ze,{category:n}))),l("footer",null,l("hr",null),l("p",null,"Bastion is maintained by"," ",l("a",{href:"https://github.com/benchristel"},"Ben Christel"),"."),l("p",null,"The image that appears at the top of each page is"," ",l("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.flickr.com/photos/23730371@N05/49396214307"},"619 | Elizabeth Terry | Untitled Double Landscape | Watercolor | 20x22.25"),'" by'," ",l("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.flickr.com/photos/23730371@N05"},"theartleaguegallery"),", and is marked with"," ",l("a",{target:"_blank",rel:"noopener noreferrer",href:"https://creativecommons.org/publicdomain/mark/1.0/?ref=openverse"},"Public Domain Mark 1.0"),"."),l("p",null,"Theme inspired by"," ",l("a",{href:"https://www.palemoon.org/"},"The Pale Moon Browser"),"."),l(ot,null,l(nt,{leechblockAllowPatterns:t.leechblockAllowPatterns})))))}const Q=Symbol(),X=Symbol(),Y=Symbol(),j=Symbol();function b(e,t){function o(...r){if(r.length>=e.length)return e(...r);{const s=(...n)=>o(...r,...n);return s[Q]=e,s[X]=o,s[Y]=r,s[j]=o[j],s}}return o[Q]=e,o[X]=o,o[Y]=[],o[j]=t||it(e),o}function G(e){return e[Q]}function st(e){return e[X]}function Z(e){return e[Y]||[]}function it(e){return e[j]||e.name}class ct extends Error{constructor(t){super("Expectation failed"),this.expectArgs=t}}const at=b(function(e,t){return e(t)},"which"),L=b(function(e,t){var o,r;if(lt(e))return e(t);if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((s,n)=>L(e[n],t[n]));if(e instanceof Function&&t instanceof Function)return G(e)&&G(e)===G(t)?L(Z(e),Z(t)):e===t;if(e instanceof Date&&t instanceof Date)return e.toISOString()===t.toISOString();if(e instanceof Set&&t instanceof Set)return e.size===t.size&&[...e.values()].every(s=>t.has(s));if(e instanceof Error&&t instanceof Error)return e.message===t.message&&e.__proto__.constructor===t.__proto__.constructor;if(de(e)&&de(t)){const s=Object.keys(e),n=Object.keys(t);return s.length===n.length&&s.every(c=>L(e[c],t[c]))&&((o=e.__proto__)==null?void 0:o.constructor)===((r=t.__proto__)==null?void 0:r.constructor)}return e===t},"equals");b(function(e,t){return e===t},"is");b(function(e,t,...o){return!e(t,...o)},"not");b(function(e){return/^\s*$/.test(e)},"isBlank");function de(e){return!!e&&typeof e=="object"}function lt(e){return e instanceof Function&&st(e)===at&&Z(e).length===1}b(function(t,o){return o.slice(0,t.length)===t?o.slice(t.length):o});b(function(t,o){return o instanceof ct&&L(t,o.expectArgs)});Object.freeze({test:{subject:"a thing",scenario:"does something",fn(){}},error:void 0,instrumentLog:[]});function ut(e){return e.replace(/^[^:]+:\/\//,"").replace(/^www\./,"").replace(/\/$/,"")}function $e(e){const[t,o,r]=_t(e);return{link:{text:t,destination:o},keywords:r}}function _t(e){const t=e.indexOf("|");let o,r;t===-1?(o=void 0,r=e):(o=e.slice(0,t).trim(),r=e.slice(t+1).trim());const[s,...n]=r.split(/\s+/);return[o!=null?o:ut(s),s,n]}function De(e){const t=e==null?void 0:e.trim();return t?t.split(/\s+/):[]}function je(e){return $e(e).link}const W=(e,...t)=>t.reduce((o,r)=>r(o),e);function ht(e){return e||[]}function S(e){return t=>t.map(e)}function ge(e){return t=>t.map(e).reduce(mt,[])}function pt(e){const t=[...e].sort();return t.filter((o,r)=>o!==t[r-1])}function mt(e,t){return e.concat(t)}function ft(e){const t=dt(e.menu),o=yt(e.categories),r=gt(e.searchProviders);return{menu:t,searchProviders:r,categories:o,leechblockAllowPatterns:pt([...W(t,S(s=>s.destination),S(ye)),...W(r,S(s=>s.searchUrlFormat),S(Ct)),...W(ht(o),ge(s=>[s,...s.subCategories]),ge(s=>s.entries),S(s=>s.link.destination),S(ye)),...wt(e.customLeechblockAllowPatterns)])}}function dt(e){return te(e).map(je)}function gt(e){return te(e).map(je).map(t=>({name:t.text,searchUrlFormat:t.destination}))}function yt(e){return(e!=null?e:[]).map(bt)}function wt(e){var t;return(t=e==null?void 0:e.trim().split(/\s+/))!=null?t:[]}function bt(e){var o;const t=De(e.keywords);return{title:e.title,entries:ze(e.entries,t),subCategories:((o=e.subCategories)!=null?o:[]).map(kt(t))}}const kt=b((e,t)=>({title:t.title,entries:ze(t.entries,e.concat(De(t.keywords)))}),"parseLeafCategory");function ze(e,t=[]){return te(e).map($e).map(o=>({...o,keywords:o.keywords.concat(t)}))}function te(e){return e?e.split(` -`).map(vt).filter(Boolean):[]}function vt(e){return e.trim()}function ye(e){return xt(()=>new URL(e).hostname,()=>e)}function Ct(e){const t=new URL(e),o=t.pathname==="/"?"":t.pathname;return t.hostname+o}function xt(e,t){try{return e()}catch{return t()}}const St={menu:` - TV | https://benchristel.github.io/tv - Recipes | https://benchristel.github.io/recipes - Bliki | https://github.com/benchristel/benchristel.github.io/wiki - Gmail | https://mail.google.com - Guide | https://bensguide.substack.com - `,searchProviders:` - DuckDuckGo | https://html.duckduckgo.com/html/?q=%s - YouTube | https://youtube.com/results?search_query=%s - GitHub | https://github.com/search?q=%s - NPM | https://www.npmjs.com/search?q=%s - Openverse | https://openverse.org/search/?q=%s - Unicode | https://www.fileformat.info/info/unicode/char/search.htm?q=%s&han=Y&preview=entity - iconsdb | https://www.iconsdb.com/black-icons/?search=%s - Cornish Dict. | https://cornishdictionary.org.uk/#%s - Wikipedia | https://en.wikipedia.org/w/index.php?search=%s - `,customLeechblockAllowPatterns:` - bastionhome.github.io - localhost - 127.0.0.1 - youtube.com/channel* - youtube.com/@* - youtube.com/playlist* - youtube.com/results* - youtube.com/watch* - dasichuanrestaurant.com - doordash.com - yelp.com - opentable.com - `,categories:[{title:"Software Development",keywords:"software development",subCategories:[{title:"Engineering",keywords:"engineering",entries:` - The Art of Unix Programming | http://www.catb.org/esr/writings/taoup/html/ Eric Raymond - https://buildingbeauty.org Christopher Alexander Greg Bryant - https://beautiful.software Christopher Alexander Greg Bryant - https://refactoring.com Martin Fowler - https://dreamsongs.com Richard Gabriel - `},{title:"Unix",keywords:"unix",entries:` - https://hub.docker.com - https://man7.org - `},{title:"Reference",keywords:"reference",entries:` - https://unicode.org - https://memorymanagement.org - https://lawsofux.com - https://cheatsheetseries.owasp.org - https://www.w3.org world wide web consortium - `},{title:"Web Programming",keywords:"web programming",entries:` - NPM | https://npmjs.com node package manager javascript - MDN | https://developer.mozilla.com network html css javascript js - https://eslint.org - https://cssreference.io - https://css-tricks.com - https://moderncss.dev - https://marked.js.org - https://vitejs.dev - https://preactjs.com - https://react.dev - https://sqlite.org - https://json.org - https://jwt.io - https://jsonpath.com - Deno | https://deno.com javascript js node - Deno Docs | https://docs.deno.com - https://flow.org/ - https://typescriptlang.org - https://iconsdb.com - mdsite | https://benchristel.github.io/mdsite - https://caniuse.com - https://bun.sh javascript js node - Build Your Own React | https://pomb.us/build-your-own-react/ didact - https://codemirror.net - https://eloquentjavascript.net - `},{title:"Languages",entries:"Zig | https://ziglang.org"},{title:"Hosting",keywords:"hosting",entries:` - https://gitlab.com - https://surge.sh/ - fly.io | https://fly.io - render.com | https://render.com - cloudflare.com | https://cloudflare.com - supabase.com | https://supabase.com - digitalocean.com | https://digitalocean.com - https://hub.docker.com - https://adaptable.io - alwaysdata.com | https://www.alwaysdata.com/en/ - https://www.argonaut.dev/ - https://www.cyclic.sh/ - https://domcloud.co/ - https://www.koyeb.com/ - https://www.northflank.com/ - https://www.withcoherence.com/ - `},{title:"Help",keywords:"help",entries:` - stackoverflow.com | https://stackoverflow.com - exercism.org | https://exercism.org - `},{title:"On Mac OS",keywords:"apple macintosh",entries:` - Homebrew | https://brew.sh - `}]},{title:"Food",keywords:"food",subCategories:[{title:"Merchants",entries:` - Sunridge Farms | https://shopsunridgefarms.com bulk - https://herbco.com - Byrd's Filling Station | https://byrdsfillingstation.com/pages/in-store-bulk-product-list-non-food - `},{title:"Korean",keywords:"korean recipes cookbook",entries:` - https://maangchi.com - https://koreanbapsang.com - https://mykoreankitchen.com - `},{title:"Indian",keywords:"indian recipes cookbook",entries:` - https://indianhealthyrecipes.com - https://www.vegrecipesofindia.com - `},{title:"Turkish",keywords:"turkish recipes cookbook",entries:` - Ozlem's Turkish Table | https://ozlemsturkishtable.com/ - Binnur's Turkish Cookbook | https://binnurturkishcookbook.blogspot.com/ - `},{title:"French",keywords:"french recipes cookbook",entries:` - https://www.pardonyourfrench.com - `}]},{title:"Web-based Tools",keywords:"web based tools",subCategories:[{title:"Sensing",entries:` - https://timeanddate.com - https://accuweather.com - https://map.purpleair.com - `},{title:"Deciding",entries:` - https://druthers.app - https://decisionmatrix.app - `},{title:"Communicating",entries:` - https://pop.com - https://tuple.app - https://benchristel.github.io/call - https://pivotaltracker.com - `},{title:"Calculating",entries:` - www.wolframalpha.com - `},{title:"Creating",entries:` - https://excalidraw.com - `},{title:"Transforming",entries:` - https://pngtosvg.com - https://jsonpath.com - https://yamllint.com - https://translate.google.com - `},{title:"Recording",entries:` - https://pivotaltracker.com - `},{title:"Prototyping",entries:` - Taste Playground | https://benchristel.github.io/try-taste - https://jsfiddle.net - https://codesandbox.io - Flow Playground | https://flow.org/try - TypeScript Playground | https://www.typescriptlang.org/play - `}]},{title:"Gaming",keywords:"gaming games",subCategories:[{title:"Catalogs",entries:` - https://protondb.com linux wine - https://store.steampowered.com - https://steamdb.info - https://kongregate.com - `},{title:"Hosting",entries:` - https://server.pro - `},{title:"Minecraft",keywords:"minecraft",entries:` - https://minecraft.fandom.com - https://curseforge.com - https://minecraftmods.com - `},{title:"Age of Empires",entries:` - https://ageofempires.fandom.com - `},{title:"Heroes of Might and Magic",entries:` - http://celestialheavens.com - https://maps4heroes.com - https://heroesofmightandmagic.com - https://mightandmagic.fandom.com - https://heroescommunity.com - `},{title:"Other Games",entries:` - https://zero-k.info - https://mindustrygame.github.io - `},{title:"General / Reference",entries:` - https://lparchive.org - `}]},{title:"Linux and Computer Hardware",keywords:"linux",entries:` - https://frame.work - https://community.frame.work - https://packagehub.suse.com - https://superuser.com - https://packages.fedoraproject.org - https://flathub.org - https://cinnamon-spices.linuxmint.com - `},{title:"Computer Habitability",keywords:"computing computers browsers extensions",entries:` - addons.mozilla.org | https://addons.mozilla.org - LeechBlock NG | https://www.proginosko.com/leechblock/ - uBlock Origin for Firefox | https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/ - New Tab Override for Firefox | https://addons.mozilla.org/en-US/firefox/addon/new-tab-override/ - darkreader.org | https://darkreader.org - https://href.li - https://alternativeto.net - `},{title:"Images",keywords:"images",entries:` - https://images.freeimages.com - https://flickr.com - https://cliparts.co - https://search.creativecommons.org/ - `},{title:"Learning",keywords:"learning educational",entries:` - https://khanacademy.org - Leitner system (Wikipedia) | https://en.wikipedia.org/wiki/Leitner_system srs flashcards - `},{title:"Commerce",keywords:"shopping amazon",entries:` - Sunridge Farms | https://shopsunridgefarms.com bulk - https://herbco.com monterey bay herb company bulk - https://betterworldbooks.com - https://evertype.com - https://newegg.com - https://bandcamp.com music - qobuz.com | https://qobuz.com music - https://everynoise.com - https://alternativeto.net software tools - Byrd's Filling Station | https://byrdsfillingstation.com/pages/in-store-bulk-product-list-non-food bulk - `},{title:"Archives and Archiving",keywords:"archives",entries:` - https://archive.org - https://ghostarchive.org - https://versionmuseum.com - `},{title:"Books",keywords:"books",entries:` - https://books.google.com - https://betterworldbooks.com - https://www.ebooks.com - https://evertype.com - https://terebess.hu - https://exclassics.com - https://en.wikibooks.org - `},{title:"Music",keywords:"music",subCategories:[{title:"Lyrics",keywords:"lyrics",entries:` - https://lyricstranslate.com - https://universocantigas.gal - https://lieder.net - https://musicanet.org - `},{title:"Visualizers",keywords:"visualizers",entries:` - https://butterchurnviz.com - `},{title:"Streaming",keywords:"streaming",entries:` - https://bandcamp.com - https://deezer.com - https://open.spotify.com - qobuz.com | https://www.qobuz.com/us-en/discover - `},{title:"Stores",keywords:"buying purchase purchasing stores",entries:` - qobuz.com | https://www.qobuz.com/us-en/discover - `},{title:"History",keywords:"history",entries:` - https://albumoftheyear.org history - https://lieder.net - `}]},{title:"Video",keywords:"videos",entries:` - https://vimeo.com - Invidious | https://vid.puffyan.us - `},{title:"Languages and Linguistics",entries:` - https://akademikernewek.org.uk - https://cornish-language.org - https://cornishdictionary.org.uk - https://gocornish.org - https://zompist.com - https://latecornishlittlebits.blogspot.com - https://merriam-webster.com - https://ipachart.com - https://internationalphoneticalphabet.org - https://dedalvs.com - http://www.hungarianreference.com - `},{title:"Academia",entries:` - https://researchgate.net - https://psyarxiv.com - https://academia.edu - https://apa.org - https://arxiv.org - `},{title:"Meditation",keywords:"meditation",subCategories:[{title:"Sit, Breathe, Wake Up! (Culadasa)",keywords:"sit breathe wake up culadasa",entries:` - Video 1 (40m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=4XGLpEJBq5c - Video 2 (43m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=IeXWFRs5cGk - Video 3 (46m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=SRqXq570Cf0 - Video 4 (21m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=aNFc4veG61E - Video 5 (35m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=gB4_JS4jsb0 - Video 7 (52m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=LBDV7jmZL8s - Video 8 (46m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=nbvx7K_Zh0U - Video 9 (25m) | https://benchristel.github.io/yt/#https://www.youtube.com/watch?v=SpTDGyhoFho - `}]},{title:"Miscellaneous",entries:` - https://permies.com - https://federalregister.gov - https://skepdic.com - https://patternlanguage.com - https://patreon.com - https://en.wikiquote.org - https://en.wikisource.org - https://npl.wiki - http://www.livingneighborhoods.org - `}]};function Lt(e){return{...e,categories:e.categories.map(t=>({...t,subCategories:t.subCategories.map(o=>({...o,entries:o.entries.map(r=>r.link)})),entries:t.entries.map(o=>o.link)}))}}function Pt(e,t){return t.filter(At(e)).map(Et(e))}const At=b((e,t)=>t.entries.some(I(e))||t.subCategories.some(Be(e)),"categoryMatches"),Et=b((e,t)=>({...t,entries:t.entries.filter(I(e)),subCategories:t.subCategories.filter(Be(e)).map(Ft(e))})),Be=b((e,t)=>t.entries.some(I(e))),Ft=b((e,t)=>({...t,entries:t.entries.filter(I(e))})),I=b((e,t)=>Ht(e).every(o=>t.link.destination.toLowerCase().includes(o)||t.link.text.toLowerCase().includes(o)||t.keywords.some(r=>r.toLowerCase().includes(o))),"entryMatches");function Ht(e){return e.toLowerCase().split(/\s+/)}function Mt(){const[e,t]=He(""),o=ft(St),r={...o,categories:Pt(e,o.categories)};return l(rt,{config:Lt(r),query:e,onQuery:t,onSearchSubmitted:s=>window.open(o.searchProviders[s].searchUrlFormat.replace("%s",e),"_self")})}b((e,t)=>L(new Set(e),new Set(t)),"isSameSetAs");b((e,t)=>{for(let o in e)if(!(o in t)||!L(e[o],t[o]))return!1;return!0},"hasProperties");var we;(e=>{function t({title:o="",entries:r=[],subCategories:s=[]}){return{title:o,entries:r,subCategories:s}}e.category=t})(we||(we={}));Ie(l(Mt,null),document.getElementById("preact-root")); diff --git a/dist/index.html b/dist/index.html index f59e827..504c7fd 100644 --- a/dist/index.html +++ b/dist/index.html @@ -60,10 +60,10 @@

Bastion

-

Software Development

Food

Web-based Tools

Gaming

Linux and Computer Hardware

Computer Habitability

Images

Learning

Commerce

Archives and Archiving

Books

Music

Video

Languages and Linguistics

Academia

Meditation

Miscellaneous

+

Software Development

Food

Web-based Tools

Gaming

Linux and Computer Hardware

Computer Habitability

Images

Learning

Commerce

Archives and Archiving

Books

Music

Video

Languages and Linguistics

Academia

Meditation

Miscellaneous

- \ No newline at end of file + \ No newline at end of file