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.

added rss feed

+254 -101
+35 -16
index.html
··· 28 28 29 29 <!-- Tailwind CSS CDN --> 30 30 <script src="https://cdn.tailwindcss.com"></script> 31 - 31 + 32 + <!-- RSS Feed--> 33 + <script src="/rssloader/mbdnews.js"></script> 34 + <script src="/rssloader/textbites.js"></script> 35 + <link rel="stylesheet" href="/rssloader/style.css"/> 36 + 37 + 32 38 <!-- Font Awesome CDN --> 33 39 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" xintegrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" /> 34 40 ··· 51 57 <img src="https://public-danielmorrisey-com.danielmorrisey.com/media/icon.jpg" alt="Daniel Morrisey's Profile" class="w-32 h-32 rounded-full object-cover shadow-lg mb-6 md:mb-0 md:mr-8"> 52 58 <div> 53 59 <h1 class="text-4xl font-bold text-gray-900 mb-2">Daniel Morrisey</h1> 54 - <p class="text-xl text-gray-600 font-medium">Writer @ MBD & <i class="fa-brands fa-html5"></i> <i class="fa-brands fa-css3"></i> <i class="fa-brands fa-js"></i> <i class="fa-brands fa-python"></i> developer</p> 60 + <p class="text-xl text-gray-600 font-medium">Writer @ MBD News & <i class="fa-brands fa-html5"></i> <i class="fa-brands fa-css3"></i> <i class="fa-brands fa-js"></i> <i class="fa-brands fa-python"></i> developer</p> 55 61 <div class="mt-4 flex justify-center md:justify-start"> 56 62 <!-- Bluesky Link --> 57 63 <a href="https://bsky.app/profile/danielmorrisey.com" class="bg-blue-600 text-white py-2 px-6 rounded-full font-semibold hover:bg-indigo-700 transition duration-300 shadow-md"> ··· 60 66 </div> 61 67 </div> 62 68 </header> 63 - 69 + <!-- Centered Iframe --> 70 + <iframe src="https://status.madebydanny.uk/badge?theme=light" width="200" height="30" frameborder="0" scrolling="no" style="color-scheme: normal"></iframe> 71 + 64 72 <hr class="border-gray-200 my-8"> 65 73 66 74 <!-- About Section --> ··· 95 103 <span>Text Bites</span> 96 104 </a> 97 105 <!-- Uptime --> 98 - <a href="https://status.madebydanny.uk" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 106 + <a href="https://status.madebydanny.uk" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 99 107 <i class="fa-solid fa-server"></i></i> 100 108 <span>Status</span> 101 109 </a> 102 110 <!-- Bluesky --> 103 - <a href="https://bsky.app/profile/danielmorrisey.com" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 111 + <a href="https://bsky.app/profile/danielmorrisey.com" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 104 112 <i class="fa-brands fa-bluesky"></i> 105 113 <span>Bluesky</span> 106 114 </a> 107 - <!-- Bluesky --> 108 - <a href="https://bsky.app/profile/alt.danielmorrisey.com" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 109 - <i class="fa-brands fa-bluesky"></i> 110 - <span>Bluesky (alt)</span> 111 - </a> 112 115 <!-- Threads --> 113 - <a href="https://threads.com/madebydanny.uk" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 116 + <a href="https://threads.com/madebydanny.uk" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 114 117 <i class="fa-brands fa-threads"></i> 115 118 <span>Threads</span> 116 119 </a> 117 120 <!-- Mastodon --> 118 - <a href="https://mastodon.social/@danielmorrisey" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 121 + <a href="https://mastodon.social/@danielmorrisey" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 119 122 <i class="fa-brands fa-mastodon"></i> 120 123 <span>Mastodon</span> 121 124 </a> 122 125 <!-- Linkedin --> 123 - <a href="https://linkedin.com/in/danielemorrisey" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 126 + <a href="https://linkedin.com/in/danielemorrisey" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 124 127 <i class="fa-brands fa-linkedin"></i> 125 128 <span>Linkedin</span> 126 129 </a> 127 130 <!-- GitHub --> 128 - <a href="https://github.com/therealfuntimeswithdanny" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 131 + <a href="https://github.com/therealfuntimeswithdanny" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 129 132 <i class="fa-brands fa-github"></i> 130 133 <span>GitHub</span> 131 134 </a> 132 135 <!-- MBD News --> 133 - <a href="https://news.madebydanny.uk/" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 136 + <a href="https://news.madebydanny.uk/" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 134 137 <i class="fa-solid fa-newspaper text-lg"></i> 135 138 <span>MBD News</span> 136 139 </a> 137 140 <!-- Image Scope --> 138 - <a href="https://imagescope.madebydanny.uk/" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 141 + <a href="https://imagescope.madebydanny.uk/" target="blank_" class="flex items-center space-x-2 bg-gray-100 px-4 py-2 rounded-xl text-gray-700 hover:bg-gray-200 transition duration-300"> 139 142 <i class="fa-solid fa-microscope"></i> 140 143 <span>Image Scope</span> 141 144 </a> 142 145 </div> 146 + </section> 147 + 148 + <hr class="border-gray-200 my-8"> 149 + 150 + <!-- RSS Feed(s)--> 151 + <section> 152 + <h2 class="text-2xl font-bold text-gray-900 mb-4">Trending from MBD News <i class="fa-solid fa-arrow-trend-up"></i></h2> 153 + <div class="articles" id="articles"></div> 154 + </section> 155 + 156 + <hr class="border-gray-200 my-8"> 157 + 158 + <!-- RSS Feed(s)--> 159 + <section> 160 + <h2 class="text-2xl font-bold text-gray-900 mb-4">Text Bites <i class="fa-solid fa-arrow-trend-up"></i></h2> 161 + <div class="articles" id="textbites"></div> 143 162 </section> 144 163 145 164 <!-- Footer -->
+52
rssloader/mbdnews.js
··· 1 + 2 + async function loadArticles() { 3 + const RSS_URL = "https://rss.beehiiv.com/feeds/OhvCIep1j1.xml"; 4 + try { 5 + // fetch RSS feed via CORS proxy 6 + const response = await fetch("https://corsproxy.io/?" + encodeURIComponent(RSS_URL)); 7 + const text = await response.text(); 8 + const parser = new DOMParser(); 9 + const xml = parser.parseFromString(text, "text/xml"); 10 + 11 + const items = [...xml.querySelectorAll("item")].slice(0, 3); 12 + const container = document.getElementById("articles"); 13 + container.innerHTML = ""; 14 + 15 + items.forEach(item => { 16 + const title = item.querySelector("title")?.textContent || "Untitled"; 17 + const link = item.querySelector("link")?.textContent || "#"; 18 + const description = item.querySelector("description")?.textContent || ""; 19 + let image = ""; 20 + 21 + // Try to find an image 22 + const encoded = item.querySelector("content\\:encoded")?.textContent; 23 + if (encoded && encoded.match(/<img[^>]+src="([^">]+)"/)) { 24 + image = encoded.match(/<img[^>]+src="([^">]+)"/)[1]; 25 + } 26 + const enclosure = item.querySelector("enclosure"); 27 + if (!image && enclosure) { 28 + image = enclosure.getAttribute("url"); 29 + } 30 + 31 + // Build card 32 + const card = document.createElement("div"); 33 + card.className = "card"; 34 + card.innerHTML = ` 35 + <a href="${link}" target="_blank"> 36 + <img src="${image || 'https://via.placeholder.com/300x200?text=No+Image'}" alt="${title}"> 37 + </a> 38 + <div class="card-content"> 39 + <a href="${link}" target="_blank"> 40 + <h3>${title}</h3> 41 + <p>${description.replace(/(<([^>]+)>)/gi, "").substring(0, 100)}...</p> 42 + </a> 43 + </div> 44 + `; 45 + container.appendChild(card); 46 + }); 47 + } catch (err) { 48 + console.error("Error loading RSS feed:", err); 49 + } 50 + } 51 + 52 + loadArticles();
+41
rssloader/style.css
··· 1 + body { 2 + font-family: Arial, sans-serif; 3 + margin: 40px; 4 + } 5 + .articles { 6 + display: flex; 7 + gap: 10px; 8 + justify-content: left; 9 + flex-wrap: wrap; 10 + } 11 + .card { 12 + width: 32%; 13 + border-radius: 8px; 14 + overflow: hidden; 15 + box-shadow: 0 2px 6px rgba(0,0,0,0.15); 16 + display: flex; 17 + flex-direction: column; 18 + background: #fff; 19 + } 20 + .card img { 21 + width: 100%; 22 + height: 100px; 23 + object-fit: cover; 24 + background: #ddd; 25 + } 26 + .card-content { 27 + padding: 15px; 28 + } 29 + .card-content h3 { 30 + margin: 0 0 8px; 31 + font-size: 20px; 32 + } 33 + .card-content p { 34 + margin: 0; 35 + color: #555; 36 + font-size: 14px; 37 + } 38 + .card-content a { 39 + text-decoration: none; 40 + color: inherit; 41 + }
+52
rssloader/textbites.js
··· 1 + 2 + async function loadArticles() { 3 + const RSS_URL = "https://danielmorrisey.com/textbites/feed.xml"; 4 + try { 5 + // fetch RSS feed via CORS proxy 6 + const response = await fetch("https://corsproxy.io/?" + encodeURIComponent(RSS_URL)); 7 + const text = await response.text(); 8 + const parser = new DOMParser(); 9 + const xml = parser.parseFromString(text, "text/xml"); 10 + 11 + const items = [...xml.querySelectorAll("item")].slice(0, 3); 12 + const container = document.getElementById("textbites"); 13 + container.innerHTML = ""; 14 + 15 + items.forEach(item => { 16 + const title = item.querySelector("title")?.textContent || "Untitled"; 17 + const link = item.querySelector("link")?.textContent || "#"; 18 + const description = item.querySelector("description")?.textContent || ""; 19 + let image = ""; 20 + 21 + // Try to find an image 22 + const encoded = item.querySelector("content\\:encoded")?.textContent; 23 + if (encoded && encoded.match(/<img[^>]+src="([^">]+)"/)) { 24 + image = encoded.match(/<img[^>]+src="([^">]+)"/)[1]; 25 + } 26 + const enclosure = item.querySelector("enclosure"); 27 + if (!image && enclosure) { 28 + image = enclosure.getAttribute("url"); 29 + } 30 + 31 + // Build card 32 + const card = document.createElement("div"); 33 + card.className = "card"; 34 + card.innerHTML = ` 35 + <a href="${link}" target="_blank"> 36 + <img src="${image || 'https://via.placeholder.com/300x200?text=No+Image'}" alt="${title}"> 37 + </a> 38 + <div class="card-content"> 39 + <a href="${link}" target="_blank"> 40 + <h3>${title}</h3> 41 + <p>${description.replace(/(<([^>]+)>)/gi, "").substring(0, 100)}...</p> 42 + </a> 43 + </div> 44 + `; 45 + container.appendChild(card); 46 + }); 47 + } catch (err) { 48 + console.error("Error loading RSS feed:", err); 49 + } 50 + } 51 + 52 + loadArticles();
+66
textbites/feed.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"> 3 + <channel> 4 + <title>Text Bites - Daniel Morrisey</title> 5 + <link>https://danielmorrisey.com/</link> 6 + <description>From news to things you don't care about, read all of Daniel Morrisey's Text Bites</description> 7 + <language>en-us</language> 8 + <lastBuildDate>Mon, 18 Aug 2025 12:00:00 GMT</lastBuildDate> 9 + <pubDate>Mon, 18 Aug 2025 12:00:00 GMT</pubDate> 10 + <ttl>1800</ttl> 11 + 12 + <image> 13 + <url>https://public-danielmorrisey-com.danielmorrisey.com/media/icon.jpg</url> 14 + <title>Text Bites - Daniel Morrisey</title> 15 + <link>https://danielmorrisey.com/</link> 16 + <width>144</width> 17 + <height>144</height> 18 + </image> 19 + 20 + <item> 21 + <title>Mac mini update, 2 weeks later</title> 22 + <link>https://danielmorrisey.com/extbites/macminiupdateaug15.html</link> 23 + <description><![CDATA[I still can’t believe it’s 5’ x 5’ and yet so powerful]]></description> 24 + <pubDate>Fri, 16 Aug 2024 12:00:00 GMT</pubDate> 25 + <guid isPermaLink="true">https://danielmorrisey.com/extbites/macminiupdateaug15.html</guid> 26 + <media:content url="https://public-danielmorrisey-com.danielmorrisey.com/media/mac-mini-m4-desk1.jpeg.webp" medium="image" type="image/jpeg" /> 27 + </item> 28 + 29 + <item> 30 + <title>I got a Mac Mini</title> 31 + <link>https://danielmorrisey.com/igotamacmini.html</link> 32 + <description><![CDATA[It might be mini, but it sure is fast!]]></description> 33 + <pubDate>Tue, 05 Aug 2024 12:00:00 GMT</pubDate> 34 + <guid isPermaLink="true">https://danielmorrisey.com/igotamacmini.html</guid> 35 + <media:content url="https://public-danielmorrisey-com.danielmorrisey.com/media/Screenshot%202025-08-05%20at%201.13.08%E2%80%AFPM.png" medium="image" type="image/jpeg" /> 36 + </item> 37 + 38 + <item> 39 + <title>I need a Bluesky version of mastodon’s deck layout</title> 40 + <link>https://danielmorrisey.com/blueskydeck.html</link> 41 + <description><![CDATA[Just like Mastodon, Threads also has a “deck” layout for desktop users. And my 3 main social media platforms I use are Bluesky, Mastodon, and Threads. Having a Bluesky Deck layout for desktop would be nice to have.]]></description> 42 + <pubDate>Sun, 03 Aug 2024 12:00:00 GMT</pubDate> 43 + <guid isPermaLink="true">https://danielmorrisey.com/blueskydeck.html</guid> 44 + <media:content url="https://via.placeholder.com/300x200?text=No+Image" medium="image" type="image/jpeg" /> 45 + </item> 46 + 47 + <item> 48 + <title>The Power of Hashtags</title> 49 + <link>https://danielmorrisey.com/thepowerofhashtags.html</link> 50 + <description><![CDATA[All it takes is one # to reach an audience of 100+]]></description> 51 + <pubDate>Sun, 03 Aug 2024 12:00:00 GMT</pubDate> 52 + <guid isPermaLink="true">https://danielmorrisey.com/thepowerofhashtags.html</guid> 53 + <media:content url="https://via.placeholder.com/300x200?text=No+Imag" medium="image" type="image/jpeg" /> 54 + </item> 55 + 56 + <item> 57 + <title>MBD is working on MBDIO</title> 58 + <link>https://danielmorrisey.com/mbdio.html</link> 59 + <description><![CDATA[MBD is working on a new tool called MBDIO, it's a simple, easy & fast link shortener that will allow you to shorten links and share them.]]></description> 60 + <pubDate>Sat, 02 Aug 2024 12:00:00 GMT</pubDate> 61 + <guid isPermaLink="true">https://danielmorrisey.com/mbdio.html</guid> 62 + <media:content url="https://via.placeholder.com/300x200?text=No+Image" medium="image" type="image/jpeg" /> 63 + </item> 64 + 65 + </channel> 66 + </rss>
+8 -1
textbites/index.html
··· 57 57 58 58 <!-- Search Bar --> 59 59 <div class="mb-6"> 60 - <input type="text" id="textbiteSearch" placeholder="Search Text Bites..." class="w-full px-4 py-2 border border-gray-300 rounded-full focus:outline-none focus:ring-2 focus:ring-indigo-500 transition duration-300"> 60 + <input type="text" id="textbiteSearch" placeholder="Search Text Bites..." class="w-full px-4 py-2 border border-gray-300 rounded-full focus:outline-none focus:ring-2 focus:ring-indigo-500 transition duration-300"> 61 + </div> 62 + 63 + <div class="w-auto h-1/3 bg-orange-200 rounded px-4 py-2"> 64 + <p class="flex items-center gap-2"> 65 + <a href="/textbites/feed.xml" target="blank_">RSS Feed <i class="fa-solid fa-rss"></i></a> 66 + </p> 61 67 </div> 62 68 69 + <br> 63 70 <!-- Text Bites List Container --> 64 71 <div id="projectsList" class="space-y-6"> 65 72 <!-- macminiupdateaug15.html -->
-84
textbites/them4macminiisaaipowerhouse.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>I got a Mac Mini - Daniel Morrisey</title> 7 - 8 - <meta name="description" content="It might be mini, but it sure is fast!"/> 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="I got a Mac Mini - Daniel Morrisey"/> 15 - <meta property="og:description" content="It might be mini, but it sure is fast!"/> 16 - <meta property="og:image" content="https://public-danielmorrisey-com.danielmorrisey.com/media/Screenshot%202025-08-05%20at%201.13.08%E2%80%AFPM.png"/> 17 - 18 - <meta name="fediverse:creator" content="@danielmorrisey@mastodon.social"> 19 - <link rel="me" href="https://mastodon.social/@danielmorrisey"/> 20 - <link rel="icon" type="image/x-icon" href="https://public-danielmorrisey-com.danielmorrisey.com/media/icon.jpg"> 21 - <script src="https://cdn.tailwindcss.com"></script> 22 - <script src="https://kit.fontawesome.com/0ca27f8db1.js" crossorig in="anonymous"></script> 23 - 24 - </head> 25 - <body> 26 - <div id="__next"> 27 - <div> 28 - <div class="w-9/10 max-w-md mx-auto"> 29 - <br><br> 30 - <h1 class="text-3xl font-bold">I got a Mac Mini</h1> 31 - <h3 id="#" class="mb-2 mt-5 text-xl font-medium first:mt-0">It might be mini, but it sure is!</h3> 32 - <p>1.5 months ago, I switched from Windows to Mac. 33 - <br><br> 34 - The Mac I was using for the past 1.5 months was a 2021 M1 iMac Base model. It got the job done, but after using it for about 4 weeks, I realized that the 8 gigs of RAM was starting to show. Because I mainly write about tech news, I have 10s of tabs open (Bluesky, 9to5 Mac, 9to5 Google, The Verge, MacRumors, CNET, and many more). I also draft my post for my blog and MBD News in Pages, so that’s another app open. I also use Apple Music to focus and most of the time have Discord and Figma open. 35 - <br><br> 36 - That’s a lot of apps for a four-year-old iMac with 8 gigs of RAM, so after some research, I found out that I can trade in my old iMac for $270 and use the EDU discount for $100 off, bringing the total to $247. After a not-so-quick trade-in ( I forgot my Apple ID password), I got the Mac. 37 - <br><br> 38 - I've only had it for about 2 hours, but in that 2 hours, I could already see the performance improvement. I took about 10 minutes to install macOS 26 (Developer Beta ~ 30GB). It took about 5 minutes to install Darkroom, VS Code, GitHub Desktop, DaVinci Resolve, Fimga & Msty. 39 - <br><br> 40 - I will continue to post updates here! 41 - <br><br> 42 - <img src="https://public-danielmorrisey-com.danielmorrisey.com/media/IMG_2059.JPG" alt="Mac Mini" class="w-full rounded-lg shadow-lg mb-4"> 43 - <i>My Mac Mini on my Desk</i> 44 - <br><br> 45 - </p> 46 - <h3 class="mt-5 mb-2 text-xl font-medium"><i class="fa-solid fa-comments"></i> Comments</h3> 47 - <code class="rounded-lg border bg-gray-50 px-1 py-0.5 text-sm"><a href="/leaving.html?link=https://github.com/therealfuntimeswithdanny/giscuscomments" class="text-blue-600 hover:underline"><i class="fa-brands fa-github"></i>therealfuntimeswithdanny/giscuscomments</a></code></p> 48 - <script src="https://giscus.app/client.js" 49 - data-repo="therealfuntimeswithdanny/giscuscomments" 50 - data-repo-id="R_kgDOPXUWOA" 51 - data-category="Announcements" 52 - data-category-id="DIC_kwDOPXUWOM4CttzC" 53 - data-mapping="og:title" 54 - data-strict="0" 55 - data-reactions-enabled="1" 56 - data-emit-metadata="0" 57 - data-input-position="top" 58 - data-theme="light_tritanopia" 59 - data-lang="en" 60 - data-loading="lazy" 61 - crossorigin="anonymous" 62 - async> 63 - </script> 64 - </div> 65 - <div class="w-9/10 max-w-md mx-auto"> 66 - <br><br> 67 - <p>&copy; 2024-<span id="currentYear"></span> <a href="/leaving.html?link=https://madebydanny.uk" class="text-blue-600 transition-colors hover:text-blue-800">Made by Danny UK</a> <i>by Daniel Morrisey</i></p> 68 - </div> 69 - </div> 70 - </div> 71 - <div class="w-9/10 max-w-md mx-auto"> 72 - <br> 73 - <hr> 74 - <p> 75 - <a href="javascript:history.back()" ><i class="fa-solid fa-arrow-left"></i> Back</a> | <a href="/index.html"><i class="fa-solid fa-house"></i> Home</a> | <a href="/search.html"><i class="fa-solid fa-magnifying-glass"></i> Search</a> 76 - </p> 77 - <br> 78 - <p>&copy; 2024-<span id="currentYear"></span> <a href="/leaving.html?link=https://madebydanny.uk" class="text-blue-600 transition-colors hover:text-blue-800">Made by Danny UK</a> <i>by Daniel Morrisey</i></p> 79 - <hr> 80 - <br> 81 - </div> 82 - <script src="/script/main.js"></script> 83 - </body> 84 - </html>