-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path404.html
3 lines (3 loc) · 6.54 KB
/
404.html
1
2
3
<!DOCTYPE html><html lang="en-ca"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Error 404 - Hello! I'm Josiah.</title><meta name="robots" content="noindex, follow"><meta name="generator" content="Publii Open-Source CMS for Static Site"><meta name="theme-color" content="#17181E" media="(prefers-color-scheme: dark)"><meta name="theme-color" content="#D73A42" media="(prefers-color-scheme: light)"><meta name="msapplication-navbutton-color" content="#D73A42"><meta name="apple-mobile-web-app-status-bar-style" content="#D73A42"><link rel="alternate" type="application/atom+xml" href="https://www.josiahtoppin.com/feed.xml"><link rel="alternate" type="application/json" href="https://www.josiahtoppin.com/feed.json"><meta property="og:title" content="Blog - Hello! I'm Josiah."><meta property="og:image" content="https://www.josiahtoppin.com/media/website/JosiahToppin-logo1.png"><meta property="og:image:width" content="1500"><meta property="og:image:height" content="626"><meta property="og:site_name" content="Blog - Hello! I'm Josiah."><meta property="og:description" content=""><meta property="og:url" content="https://www.josiahtoppin.com/"><meta property="og:type" content="website"><link rel="shortcut icon" href="https://www.josiahtoppin.com/media/website/favicon.png" type="image/png"><link rel="preload" href="https://www.josiahtoppin.com/assets/dynamic/fonts/aktivgrotesk/aktivgrotesk.woff2" as="font" type="font/woff2" crossorigin><link rel="stylesheet" href="https://www.josiahtoppin.com/assets/css/style.css?v=ff85b8cbb48eb9b4fd0a02826207ab78"><script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","name":"Hello! I'm Josiah.","logo":"https://www.josiahtoppin.com/media/website/JosiahToppin-logo1.png","url":"https://www.josiahtoppin.com/","sameAs":["https://www.instagram.com/josiahtoppin"]}</script><noscript><style>img[loading] {
opacity: 1;
}</style></noscript><style>.li{fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}</style></head><body class="error-template"><div class="container"><header class="header" id="js-header"><a href="https://www.josiahtoppin.com/" class="logo"><img src="https://www.josiahtoppin.com/media/website/JosiahToppin-logo1.png" alt="Hello! I'm Josiah." width="1500" height="626"></a><nav class="navbar js-navbar"><button class="navbar__toggle js-toggle" aria-label="Menu"><span class="navbar__toggle-box"><span class="navbar__toggle-inner">Menu</span></span></button><ul class="navbar__menu"><li><a href="https://www.josiahtoppin.com/" target="_self">Home</a></li><li><a href="https://www.josiahtoppin.com/blog/" title="Blog" target="_self" rel="author">Blog</a></li></ul></nav></header><main class="page page--search"><article class="post align-center wrapper"><header class="hero"><h1>404</h1></header><p>The page you were looking for appears to have been moved, deleted or does not exist. You could go back to where you were or head straight to our home page.</p><p><a href="https://www.josiahtoppin.com/" class="btn hero__cta btn--icon"><span>← Go home</span></a></p></article></main><footer class="footer"><div class="footer__copyright">Ⓒ Josiah Toppin 2025</div><div class="footer__social"><a href="https://www.instagram.com/josiahtoppin" class="instagram" aria-label="Instagram"><svg class="icon"><use xlink:href="https://www.josiahtoppin.com/assets/svg/svg-map.svg#instagram"/></svg></a></div></footer></div><script defer="defer" src="https://www.josiahtoppin.com/assets/js/scripts.min.js?v=4268bfae06e330d473c424d50f09abda"></script><script>window.publiiThemeMenuConfig={mobileMenuMode:'sidebar',animationSpeed:300,submenuWidth: 'auto',doubleClickTime:500,mobileMenuExpandableSubmenus:true,relatedContainerForOverlayMenuSelector:'.navbar'};</script><script>/*<![CDATA[*/var images=document.querySelectorAll("img[loading]");for(var i=0;i<images.length;i++){if(images[i].complete){images[i].classList.add("is-loaded")}else{images[i].addEventListener("load",function(){this.classList.add("is-loaded")},false)}};/*]]>*/</script><script>class Rot18Encoder { constructor() { this.rotations = [ { from: 'a', to: 'z', offset: 18 }, { from: 'A', to: 'Z', offset: 18 }, { from: '0', to: '9', offset: 5 } ]; } _rotate(char, from, to, offset) { const charCode = char.charCodeAt(0); const fromCode = from.charCodeAt(0); const toCode = to.charCodeAt(0); const range = toCode - fromCode + 1; if (charCode >= fromCode && charCode <= toCode) { const shiftedCode = ((charCode - fromCode + offset) % range) + fromCode; return String.fromCharCode(shiftedCode); } return char; } encode(text) { let encodedText = ""; for(let char of text){ let rotatedChar = char; for (const rot of this.rotations){ rotatedChar = this._rotate(rotatedChar, rot.from, rot.to, rot.offset); } encodedText += rotatedChar; } return encodedText; } decode(text) { let decodedText = ""; for(let char of text){ let rotatedChar = char; for (const rot of this.rotations){ rotatedChar = this._rotate(rotatedChar, rot.from, rot.to, rot.to.charCodeAt(0) - rot.from.charCodeAt(0) + 1 - rot.offset); } decodedText += rotatedChar; } return decodedText; } } class TextProcessor { constructor(encoder){ this.encoder = encoder; } encode(text){ return this.encoder.encode(text); } decode(text){ return this.encoder.decode(text); } } document.addEventListener('DOMContentLoaded', function() { const rot18 = new Rot18Encoder(); const coder = new TextProcessor(rot18); var obfElements = document.querySelectorAll('.obfuscated-email'); obfElements.forEach(function(elem) { var dataType = elem.getAttribute('data-type'); var encodedEmail = elem.getAttribute('data-email'); var user = elem.getAttribute('data-user'); var domain = elem.getAttribute('data-domain'); var decodedEmail = ''; if (user && domain) { decodedEmail = coder.decode(user) + '@' + coder.decode(domain); } else if (encodedEmail) { const parts = encodedEmail.split('@'); if (parts.length === 2) { decodedEmail = coder.decode(parts[0]) + '@' + coder.decode(parts[1]); } else { decodedEmail = encodedEmail; } } if (dataType === 'mailto') { var originalText = elem.textContent.trim(); var a = document.createElement('a'); a.href = 'mailto:' + decodedEmail; if (elem.classList.length > 0) { a.className = elem.className; } if (originalText === '') { a.textContent = decodedEmail; } else { a.textContent = originalText; } elem.parentNode.replaceChild(a, elem); } else if (dataType === 'text') { var textNode = document.createTextNode(decodedEmail); elem.parentNode.replaceChild(textNode, elem); } }); });</script></body></html>