{"mappings":"AAAA,SAASA,IASL,GARAC,OAAOC,iBAAiB,cAAeC,IACnC,MAAMC,EAAKH,OAAOI,SAASC,KAAKC,MAAM,GAE1B,KADCJ,EAAMK,OAAOC,SAAS,KAAON,EAAMK,OAAOE,MAAM,KAAK,GAAK,KACrDN,EAAGO,QACjBC,QAAQC,IAAI,oDAUxB,SAAuBC,GACnB,MAAMC,EAAQC,MAAMC,KAAKC,SAASC,iBAAqC,iBAClEC,QAAQC,GAAMA,EAAEjB,GAAGkB,gBAAkBR,EAAKQ,gBAC/C,GAAoB,GAAhBP,EAAMJ,OACN,MAAO,GAEPI,EAAMJ,OAAS,GACfC,QAAQC,IAAI,gEAEhB,OAA4B,MAAxBE,EAAM,GAAGQ,YACF,GAEJR,EAAM,GAAGQ,W,CAtBwDC,CAAcpB,UAElFqB,EAAcrB,EAAG,IAEjBH,OAAOI,SAASC,KAAM,CAEtBmB,EADWxB,OAAOI,SAASC,KAAKC,MAAM,G,EAoB9C,SAASkB,EAAcX,GACnB,GAAY,IAARA,EACA,OAEJ,MAAMY,EAAUR,SAASS,cAA2B,IAAIb,MAASc,eAAeA,cAChF,IAAKF,EACD,OAEJA,EAAQG,UAAUC,QAAQ,YAAa,YACvC,MAAMC,EAAIL,GAASC,cAAiC,sBAChDI,IACAA,EAAEC,KAAO,YACTD,EAAE7B,iBAAiB,SAAS,KAUpC,SAAyBwB,GACrBA,EAAQG,UAAUC,QAAQ,WAAY,aACtC,MAAMC,EAAIL,EAAQC,cAAiC,sBAC/CI,IACAA,EAAEC,KAAO,U,CAbLC,CAAgBP,GAChBK,EAAE7B,iBAAiB,SAAS,KACxBuB,EAAcX,EAAK,GACpB,CAACoB,MAAM,KACH,IACR,CAACA,MAAM,I,CAYjB,WACGlC,GACH,EAFA","sources":["src/main.ts"],"sourcesContent":["function main() {\r\n window.addEventListener('hashchange', (event) => {\r\n const id = window.location.hash.slice(1);\r\n const prev = event.oldURL.includes('#') ? event.oldURL.split('#')[1] : '';\r\n if (prev == '' && id.length) {\r\n console.log(`hope you enjoy your first article of the visit, \"${titleFromSlug(id)} :)\"`);\r\n }\r\n expandArticle(id);\r\n });\r\n if (window.location.hash) {\r\n const id = window.location.hash.slice(1);\r\n expandArticle(id);\r\n }\r\n}\r\n\r\nfunction titleFromSlug(slug: string): string {\r\n const elems = Array.from(document.querySelectorAll('article > h2'))\r\n .filter((n) => n.id.toLowerCase() === slug.toLowerCase());\r\n if (elems.length == 0) {\r\n return '';\r\n }\r\n if (elems.length > 1) {\r\n console.log(`i have two articles with the same slug! i better fix that...`);\r\n }\r\n if (elems[0].textContent == null) {\r\n return '';\r\n } \r\n return elems[0].textContent;\r\n}\r\n\r\nfunction expandArticle(slug: string) {\r\n if (slug == '') {\r\n return;\r\n }\r\n const article = document.querySelector(`#${slug}`)?.parentElement?.parentElement;\r\n if (!article) {\r\n return;\r\n }\r\n article.classList.replace('collapsed', 'expanded');\r\n const a = article?.querySelector(`a.article-expander`);\r\n if (a) {\r\n a.text = '...enough';\r\n a.addEventListener('click', () => {\r\n collapseArticle(article);\r\n a.addEventListener('click', () => {\r\n expandArticle(slug);\r\n }, {once: true});\r\n return true;\r\n }, {once: true});\r\n }\r\n}\r\n\r\nfunction collapseArticle(article: HTMLElement) {\r\n article.classList.replace('expanded', 'collapsed');\r\n const a = article.querySelector(`a.article-expander`);\r\n if (a) {\r\n a.text = 'more...';\r\n }\r\n}\r\n\r\n(async () => {\r\n main();\r\n})();"],"names":["$ad2bcec7a0192558$var$main","window","addEventListener","event","id","location","hash","slice","oldURL","includes","split","length","console","log","slug","elems","Array","from","document","querySelectorAll","filter","n","toLowerCase","textContent","$ad2bcec7a0192558$var$titleFromSlug","$ad2bcec7a0192558$var$expandArticle","article","querySelector","parentElement","classList","replace","a","text","$ad2bcec7a0192558$var$collapseArticle","once"],"version":3,"file":"index.7ed94813.js.map"}