madebydanny.uk written in html, css, and a lot of JavaScript I don't understand madebydanny.uk
html css javascript
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

first commit

+276
.DS_Store

This is a binary file and will not be displayed.

+44
404.html
··· 1 + <!DOCTYPE html> 2 + <html> 3 + <head> 4 + <meta charSet="utf-8"/> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 6 + <title>Error 404 Page not found</title> 7 + 8 + <meta name="robots" content="noindex, nofollow"> 9 + 10 + <script src="https://cdn.tailwindcss.com"></script> 11 + 12 + <link rel="preload" href="/_next/static/media/97a52bce187043ec-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 13 + <link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 14 + </head> 15 + <body> 16 + <div id="__next"> 17 + <div> 18 + <header class="flex flex-col items-center py-12 md:py-16"> 19 + <div class="mb-8"> 20 + <a href="#" class="flex flex-row items-center"> 21 + <img src="/media/server-solid-full.svg" alt="Profile Picture" class="w-16 h-16 mb-2"/> 22 + <img src="/media/magnifying-glass-solid-full.svg" alt="Profile Picture" class="w-16 h-16 mb-2"/> 23 + <img src="/media/question-solid-full.svg" alt="Profile Picture" class="w-16 h-16 mb-2"/> 24 + </a> 25 + </div> 26 + </header> 27 + <div class="w-9/10 max-w-md mx-auto"> 28 + <h3 id="what-is-tsnet" class="mb-2 mt-5 text-xl font-medium first:mt-0">That Page cant be found</h3> 29 + <p> 30 + The page was not found on the server, 31 + <code class="rounded-lg border bg-gray-50 px-1 py-0.5 text-sm">danielmorrisey.com</code></p> 32 + <p id="url"></p><p> 33 + <br><br> 34 + You can try going back to the 35 + <a href="/index.html" class="text-blue-600 transition-colors hover:text-blue-800">Home Page</a> 36 + </p> 37 + </div> 38 + </div> 39 + </div> 40 + <script> 41 + document.getElementById("url").innerHTML = "Cloudflare Pages returned \"404 error\" when looking for <code class=\"rounded-lg border bg-gray-50 px-1 py-0.5 text-sm\">" + window.location.href + "</code>."; 42 + </script> 43 + </body> 44 + </html>
+60
index.html
··· 1 + <!DOCTYPE html> 2 + <html> 3 + <head> 4 + <meta charSet="utf-8"/> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 6 + <title>Daniel Morrisey</title> 7 + 8 + <meta name="description" content="Daniel Morrisey, Writer @ MBD & pygame user."/> 9 + <meta name="keywords" content="Danile Morrisey, Danny Morrisey, MBD, Made by Danny, Made by Danny UK"/> 10 + <meta name="author" content="Daniel Morrisey"/> 11 + 12 + <meta property="og:type" content="website"/> 13 + <meta property="og:url" content="https://danielmorrisey.com/"/> 14 + <meta property="og:title" content="Daniel Morrisey"/> 15 + <meta property="og:description" content="Daniel Morrisey, Writer @ MBD & pygame user"/> 16 + <meta property="og:image" content="/media/banner.jpg"/> 17 + 18 + <link rel="me" href="https://mastodon.social/@danielmorrisey"/> 19 + <link rel="icon" type="image/x-icon" href="/media/icon.jpg"> 20 + <script src="https://cdn.tailwindcss.com"></script> 21 + 22 + <link rel="preload" href="/_next/static/media/97a52bce187043ec-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 23 + <link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 24 + </head> 25 + <body> 26 + <div id="__next"> 27 + <div> 28 + <header class="flex flex-col items-center py-12 md:py-16"> 29 + <div class="mb-8"> 30 + <a href="#" class="flex flex-col items-center"> 31 + <img src="/media/icon.jpg" alt="Profile Picture" class="w-16 h-16 mb-2"/> 32 + <h1 class="text-3xl font-bold">Daniel Morrisey</h1> 33 + </a> 34 + </div> 35 + </header> 36 + <div class="w-9/10 max-w-md mx-auto"> 37 + <h3 id="what-is-tsnet" class="mb-2 mt-5 text-xl font-medium first:mt-0">Hello World!</h3> 38 + <p> 39 + You have found my website 40 + <code class="rounded-lg border bg-gray-50 px-1 py-0.5 text-sm">danielmorrisey.com</code> 41 + I maily use this site to publish updates for my 42 + <a href="/projects/index.html" class="text-blue-600 transition-colors hover:text-blue-800">Projects</a> 43 + I also use 44 + <code class="rounded-lg border bg-gray-50 px-1 py-0.5 text-sm">danielmorrisey.com</code> 45 + to host some backend sevreices and use it as a CDN for my orther sites. 46 + </p> 47 + <h3 id="concerns" class="mb-2 mt-5 text-xl font-medium first:mt-0">What to do?</h3> 48 + <p> 49 + While you are here, you can check out my 50 + <a href="/projects/index.html" class="text-blue-600 transition-colors hover:text-blue-800">Projects</a> 51 + or follow me on 52 + <a href="/leaving.html?link=https://mastodon.social/@danielmorrisey" class="text-blue-600 transition-colors hover:text-blue-800">Mastodon</a> 53 + & 54 + <a href="/leaving.html?link=https://bsky.app" class="text-blue-600 transition-colors hover:text-blue-800">Bluesky</a> 55 + </p> 56 + </div> 57 + </div> 58 + </div> 59 + </body> 60 + </html>
+55
leaving.html
··· 1 + <!DOCTYPE html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="utf-8"/> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 6 + <title>Leaving danielmorrisey.com</title> 7 + 8 + <!-- SEO: No-index this page as it's transitional content --> 9 + <meta name="robots" content="noindex, nofollow"> 10 + 11 + <!-- External CSS --> 12 + <!-- Tailwind CSS CDN --> 13 + <script src="https://cdn.tailwindcss.com"></script> 14 + 15 + <!-- Preload fonts (optional, but good for performance) --> 16 + <link rel="preload" href="/_next/static/media/97a52bce187043ec-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 17 + <link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 18 + </head> 19 + <body class="bg-white text-gray-800"> 20 + <div id="__next"> 21 + <div> 22 + <!-- Header: Consistent with the main page design --> 23 + <header class="flex flex-col items-center py-12 md:py-16"> 24 + <div class="mb-8"> 25 + <a href="#" class="flex flex-col items-center"> 26 + <img src="/media/user-shield-solid-full.svg" alt="Profile Picture" class="w-16 h-16 mb-2"/> 27 + <h1>Wait one second!</h1> 28 + </a> 29 + </div> 30 + </header> 31 + 32 + <!-- Content --> 33 + <main class="w-9/10 max-w-md mx-auto text-center"> 34 + <div id="redirect-container"> 35 + <h3 class="mb-4 text-2xl font-medium">You are now leaving danielmorrisey.com</h3> 36 + <p class="mb-2"> 37 + You will be automatically redirected in <strong id="countdown" class="text-xl">5</strong> seconds. 38 + </p> 39 + <p class="text-sm text-gray-600 mb-6"> 40 + Destination: <a id="destination-link" href="#" class="text-blue-600 break-all hover:underline"></a> 41 + </p> 42 + <button id="go-now-button" class="bg-blue-600 text-white font-bold py-2 px-4 rounded-lg hover:bg-blue-700 transition-colors"> 43 + Go Now 44 + </button> 45 + </div> 46 + <div id="error-container" class="hidden"> 47 + <h3 class="mb-4 text-2xl font-medium text-red-600">Invalid Link</h3> 48 + <p>A valid destination link was not provided. Please check the URL and try again.</p> 49 + </div> 50 + </main> 51 + </div> 52 + </div> 53 + <script src="/script/leaving.js"></script> 54 + </body> 55 + </html>
media/.DS_Store

This is a binary file and will not be displayed.

media/banner.jpg

This is a binary file and will not be displayed.

media/icon.jpg

This is a binary file and will not be displayed.

+1
media/magnifying-glass-solid-full.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M480 272C480 317.9 465.1 360.3 440 394.7L566.6 521.4C579.1 533.9 579.1 554.2 566.6 566.7C554.1 579.2 533.8 579.2 521.3 566.7L394.7 440C360.3 465.1 317.9 480 272 480C157.1 480 64 386.9 64 272C64 157.1 157.1 64 272 64C386.9 64 480 157.1 480 272zM272 416C351.5 416 416 351.5 416 272C416 192.5 351.5 128 272 128C192.5 128 128 192.5 128 272C128 351.5 192.5 416 272 416z"/></svg>
+1
media/question-solid-full.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 224C224 171 267 128 320 128C373 128 416 171 416 224C416 266.7 388.1 302.9 349.5 315.4C321.1 324.6 288 350.7 288 392L288 416C288 433.7 302.3 448 320 448C337.7 448 352 433.7 352 416L352 392C352 390.3 352.6 387.9 355.5 384.7C358.5 381.4 363.4 378.2 369.2 376.3C433.5 355.6 480 295.3 480 224C480 135.6 408.4 64 320 64C231.6 64 160 135.6 160 224C160 241.7 174.3 256 192 256C209.7 256 224 241.7 224 224zM320 576C342.1 576 360 558.1 360 536C360 513.9 342.1 496 320 496C297.9 496 280 513.9 280 536C280 558.1 297.9 576 320 576z"/></svg>
+1
media/server-solid-full.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M160 96C124.7 96 96 124.7 96 160L96 224C96 259.3 124.7 288 160 288L480 288C515.3 288 544 259.3 544 224L544 160C544 124.7 515.3 96 480 96L160 96zM376 168C389.3 168 400 178.7 400 192C400 205.3 389.3 216 376 216C362.7 216 352 205.3 352 192C352 178.7 362.7 168 376 168zM432 192C432 178.7 442.7 168 456 168C469.3 168 480 178.7 480 192C480 205.3 469.3 216 456 216C442.7 216 432 205.3 432 192zM160 352C124.7 352 96 380.7 96 416L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 416C544 380.7 515.3 352 480 352L160 352zM376 424C389.3 424 400 434.7 400 448C400 461.3 389.3 472 376 472C362.7 472 352 461.3 352 448C352 434.7 362.7 424 376 424zM432 448C432 434.7 442.7 424 456 424C469.3 424 480 434.7 480 448C480 461.3 469.3 472 456 472C442.7 472 432 461.3 432 448z"/></svg>
+1
media/user-shield-solid-full.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 312C322.3 312 376 258.3 376 192C376 125.7 322.3 72 256 72C189.7 72 136 125.7 136 192C136 258.3 189.7 312 256 312zM226.3 368C127.8 368 48 447.8 48 546.3C48 562.7 61.3 576 77.7 576L329.2 576C293 533.4 272 478.5 272 420.4L272 389.3C272 382 273 374.8 274.9 368L226.3 368zM477.3 552.5L464 558.8L464 370.7L560 402.7L560 422.3C560 478.1 527.8 528.8 477.3 552.6zM453.9 323.5L341.9 360.8C328.8 365.2 320 377.4 320 391.2L320 422.3C320 496.7 363 564.4 430.2 596L448.7 604.7C453.5 606.9 458.7 608.1 463.9 608.1C469.1 608.1 474.4 606.9 479.1 604.7L497.6 596C565 564.3 608 496.6 608 422.2L608 391.1C608 377.3 599.2 365.1 586.1 360.7L474.1 323.4C467.5 321.2 460.4 321.2 453.9 323.4z"/></svg>
+51
projects/index.html
··· 1 + <!DOCTYPE html> 2 + <html> 3 + <head> 4 + <meta charSet="utf-8"/> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 6 + <title>Projects - Daniel Morrisey</title> 7 + 8 + <meta name="description" content="From HTML to Python view all of Daniel Morriey's projects"/> 9 + <meta name="keywords" content="Danile Morrisey, Danny Morrisey, MBD, Made by Danny, Made by Danny UK"/> 10 + <meta name="author" content="Daniel Morrisey"/> 11 + 12 + <meta property="og:type" content="website"/> 13 + <meta property="og:url" content="https://danielmorrisey.com/"/> 14 + <meta property="og:title" content="Projects - Daniel Morrisey"/> 15 + <meta property="og:description" content="From HTML to Python view all of Daniel Morriey's projects"/> 16 + <meta property="og:image" content="/media/banner.jpg"/> 17 + 18 + <link rel="me" href="https://mastodon.social/@danielmorrisey"/> 19 + <link rel="icon" type="image/x-icon" href="/media/icon.jpg"> 20 + 21 + <script src="https://cdn.tailwindcss.com"></script> 22 + 23 + <link rel="preload" href="/_next/static/media/97a52bce187043ec-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 24 + <link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/> 25 + </head> 26 + <body> 27 + <div id="__next"> 28 + <div> 29 + <header class="flex flex-col items-center py-12 md:py-16"> 30 + <div class="mb-8"> 31 + <a href="#" class="flex flex-col items-center"> 32 + <img src="/media/icon.jpg" alt="Profile Picture" class="w-16 h-16 mb-2"/> 33 + <h1 class="text-3xl font-bold">Daniel Morrisey</h1> 34 + </a> 35 + </div> 36 + </header> 37 + <div class="w-9/10 max-w-md mx-auto"> 38 + <h3 id="what-is-tsnet" class="mb-2 mt-5 text-xl font-medium first:mt-0">Projects</h3> 39 + <h4 class="mb-2 mt- text-xl font-small first:mt-0">Space Shooter (v0.2)</h4> 40 + <code class="rounded-lg border bg-gray-50 px-1 py-0.5 text-sm"><a href="/leaving.html?link=https://github.com/therealfuntimeswithdanny/space-shooter">therealfuntimeswithdanny/space-shooter</a></code></p> 41 + <p> 42 + Space Shooter is a simple Space Inveders clone written in Python using Pygame, The game can run on MacOS in two simple steps, Windows support comming soon. 43 + </p> 44 + <h3 id="what-is-tsnet" class="mb-2 mt-5 text-xl font-medium first:mt-0">Ball Shooter (v0.0.1)</h3> 45 + <code class="rounded-lg border bg-gray-50 px-1 py-0.5 text-sm"><a href="/leaving.html?link=https://github.com/therealfuntimeswithdanny/ball-shooter">therealfuntimeswithdanny/ball-shooter</a></code></p> 46 + <p>Ball Shooter is a simpe game, where your goal is to distory all blocks using a paddle and ball, the game is in developement.</p> 47 + </div> 48 + </div> 49 + </div> 50 + </body> 51 + </html>
+62
script/leaving.js
··· 1 + // --- REDIRECTION SCRIPT --- 2 + 3 + // Get DOM elements 4 + const countdownElement = document.getElementById('countdown'); 5 + const destinationLinkElement = document.getElementById('destination-link'); 6 + const goNowButton = document.getElementById('go-now-button'); 7 + const redirectContainer = document.getElementById('redirect-container'); 8 + const errorContainer = document.getElementById('error-container'); 9 + 10 + // Get the destination URL from the '?link=' parameter 11 + const params = new URLSearchParams(window.location.search); 12 + const destinationUrl = params.get('link'); 13 + 14 + // Function to perform the redirection 15 + const redirectToDestination = () => { 16 + if (destinationUrl) { 17 + window.location.href = destinationUrl; 18 + } 19 + }; 20 + 21 + // Validate the URL 22 + if (destinationUrl) { 23 + try { 24 + // Check if the URL is valid 25 + new URL(destinationUrl); 26 + 27 + // Update the link on the page for user visibility 28 + destinationLinkElement.href = destinationUrl; 29 + destinationLinkElement.textContent = destinationUrl; 30 + 31 + // Set initial countdown value 32 + let secondsLeft = 5; 33 + 34 + // Set up the final redirect timer 35 + const redirectTimer = setTimeout(redirectToDestination, secondsLeft * 1000); 36 + 37 + // Set up the interval to update the countdown display every second 38 + const countdownInterval = setInterval(() => { 39 + secondsLeft--; 40 + countdownElement.textContent = secondsLeft; 41 + if (secondsLeft <= 0) { 42 + clearInterval(countdownInterval); 43 + } 44 + }, 1000); 45 + 46 + // Add event listener for the "Go Now" button 47 + goNowButton.addEventListener('click', () => { 48 + clearTimeout(redirectTimer); // Clear the scheduled redirect 49 + clearInterval(countdownInterval); // Stop the countdown 50 + redirectToDestination(); // Redirect immediately 51 + }); 52 + 53 + } catch (e) { 54 + // Handle invalid URL format 55 + redirectContainer.classList.add('hidden'); 56 + errorContainer.classList.remove('hidden'); 57 + } 58 + } else { 59 + // Handle case where '?link=' parameter is missing 60 + redirectContainer.classList.add('hidden'); 61 + errorContainer.classList.remove('hidden'); 62 + }