From edab37656698426f9e4858271a5b85fba86c6e34 Mon Sep 17 00:00:00 2001 From: MattTheTekie Date: Fri, 17 Apr 2026 12:30:59 -0400 Subject: [PATCH] chore: fixes --- about.html | 139 +------------ blog.html | 139 +------------ carousel.html | 141 ++++++++++++++ chat.html | 140 +------------ css/Veltron-MC.css | 270 -------------------------- donate.html | 140 +------------ dragon-linux.html | 140 +------------ error.html | 139 +------------ fonts/MinecraftTen.woff | Bin 3368 -> 0 bytes fonts/futuracyrillicbold-webfont.woff | Bin 16372 -> 0 bytes guestbook.html | 140 +------------ hacker-lab.html | 140 +------------ index.html | 139 +------------ javascript/carousel.js | 44 +++-- mc.html | 140 +------------ members.html | 139 +------------ services.html | 139 +------------ status.html | 139 +------------ 18 files changed, 187 insertions(+), 2081 deletions(-) create mode 100644 carousel.html delete mode 100644 css/Veltron-MC.css delete mode 100644 fonts/MinecraftTen.woff delete mode 100644 fonts/futuracyrillicbold-webfont.woff diff --git a/about.html b/about.html index 4080101..2f993c5 100644 --- a/about.html +++ b/about.html @@ -454,144 +454,7 @@ You can check out more information listed below. diff --git a/blog.html b/blog.html index c80fe30..260a1b7 100644 --- a/blog.html +++ b/blog.html @@ -471,144 +471,7 @@ You can check out our blogs listed below. diff --git a/carousel.html b/carousel.html new file mode 100644 index 0000000..7be80c8 --- /dev/null +++ b/carousel.html @@ -0,0 +1,141 @@ + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + VELTRON's Button + + + diff --git a/chat.html b/chat.html index 2b81eb2..aef03a1 100644 --- a/chat.html +++ b/chat.html @@ -457,144 +457,7 @@ @@ -629,7 +492,6 @@ } } - diff --git a/css/Veltron-MC.css b/css/Veltron-MC.css deleted file mode 100644 index c1ad4e7..0000000 --- a/css/Veltron-MC.css +++ /dev/null @@ -1,270 +0,0 @@ -/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your - HTML content. To learn how to do something, just try searching Google for questions like - "how to change link color." */ - -#sitecanvas { - max-width:1020px ; - border-radius: 20px; - margin:0 auto; - box-shadow: 0 3px 3px 0 #32311933, 0 3px 6px 0 #32311933; - background-color:#30232a; -} - -@font-face { - font-family: 'futuracyrillicbold'; - src: url('https://www.veltron.net/fonts/futuracyrillicbold-webfont.woff'); -} - -@font-face { - font-family: 'minecraftten'; - src: url('https://www.veltron.net/fonts/MinecraftTen.woff'); -} - -:root { - --HeaderFontSize: 36px; /* global scope */ -} - -body { - background-color: white; - background-image: url('https://www.veltron.net/images/Veltron-MC/1/TempBG.png'); - background-size: cover; - background-repeat: no-repeat; - background-position: center center; - background-attachment: fixed; - color: black; - font-family: Arial; -} - -#pagecontent { - display: block; - font-size:17px ; - line-height: 1.2; - padding:20px 50px; - background-color: white; - } - -img { - max-width: 100%; - max-height: 100%; -} - -h1 { - font-family: 'minecraftten'; -} - -h2 { - font-family: 'minecraftten'; - font-size: 30px; - line-height: 0.5; -} - -#sitemenu{ - font-size: 30px; - padding: 10px 0px; - color: White; - font-family: 'FuturaCyrillicBold'; - } - -.nav { - display:flex; - justify-content: space-evenly; - margin-left: 0; - text-align: center; - margin-top: 0; - margin-bottom: 5px; - overflow: hidden; -} - -.nav a { - font-family: inherit; - display: flex; - padding-right: 13px; - padding-left: 13px; - overflow: hidden; - align-items: center; - justify-content: center; - text-decoration: none; - color: white; -} - -.nav a:hover{ - text-decoration:none ; - color: #a999a2; -} - -#menulist{ - transition: all 0.2s; -} - -.joinbutton{ - max-height: 44px; -} - -.dropdown { - float: left; - overflow: hidden; -} - -.dropdown .dropbtn { - max-width: 200px; - max-height:38px; - padding-right: 13px; - padding-left: 13px; - border: none; - outline: none; - color: white; - font-size:inherit; - background-color: inherit; - font-family: inherit; - margin: 0; -} - -.nav a:hover, .dropdown:hover .dropbtn { - color: #a999a2; -} - -.dropdown-content { - display: none; - position: absolute; - background-color: #a999a2; - font-size:24px; - font-family: Verdana; - min-width: 160px; - box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); - z-index: 1; -} - -.dropdown-content a { - float: none; - color: black; - padding: 12px 16px; - text-decoration: none; - display: block; - text-align: left; - background-color: white; -} - -.dropdown-content a:hover { - background-color: black; - color:white; -} - -.dropdown:hover .dropdown-content { - display: block; -} - -.welcomeFlex { - display:flex; - padding: 0px 0px 30px 0px; - border-bottom: 1px solid grey; -} - -.welcomeFlex p { - padding-right: 50px; -} - -.welcomeFlex img { - border-radius: 6px; - max-width: 25%; - max-height: 25%; - box-shadow: 0 3px 3px 0 #32311933, 0 3px 6px 0 #32311933; - height: auto -} - -.mainFlex { - display:flex; - padding: 0px 0px 0px 0px; -} - -.mainFlex2 { - display:flex; - padding: 30px 20px 20px 0px; - border-bottom: 1px solid grey; -} - -.welcomeFlex h1 { - line-height:0.1; - padding: 0px 0px 20px 0px; -} - -.mainFlex p { - padding-right: 50px; - -} - -.mainFlex h3{ - font-family:'minecraftten'; - font-size: 20px; - line-height: 0.5; -} - -.mainFlex2 button{ - width: 135px; - height: 35px; - border: none; - outline: none; - color: white; - padding: 0px 0px 0px 0px; - font-size:18px; - background-color: #30232a; - font-family: 'FuturaCyrillicBold'; - margin: 0; -} - -.mainFlex2 img{ - border-radius:8px; - max-height:240px; - max-width:240px; -} - -.newsPeek{ - display:block; - width: 200px; - border:2px solid; - padding: 0.01em 16px; - border-color:black; - border-radius: 8px; - justify-content:flex-end; -} - -.newsPeek img{ - margin: 16px 0px; - max-width: 100%; - max-height: 100%; -} - -.newsPeek h3{ - font-family:'FuturaCyrillicBold'; - line-height: 0.5; -} - -.imgFlex { - display:flex; - padding: 30px 0px 0px 0px; - justify-content:space-between; -} - -.imgFlex div{ - padding: 10px; - flex-shrink:1; -} - -.imgFlex img{ - border-radius:10px; - width: 100%; - height: auto -} - - - -.join-btn { - width: 135px; - height: 35px; - border: none; - outline: none; - color: white; - font-size:18px; - background-color: #30232a; - font-family: 'FuturaCyrillicBold'; - cursor: pointer; -} diff --git a/donate.html b/donate.html index 16fb17c..c4fb639 100644 --- a/donate.html +++ b/donate.html @@ -459,144 +459,7 @@ @@ -618,7 +481,6 @@
- diff --git a/dragon-linux.html b/dragon-linux.html index 77d76ec..b06896f 100644 --- a/dragon-linux.html +++ b/dragon-linux.html @@ -473,144 +473,7 @@ Dragon Linux aims to bring you a Dragon themed Linux® experience. Dragon Linux @@ -647,7 +510,6 @@ Dragon Linux aims to bring you a Dragon themed Linux® experience. Dragon Linux popup.style.display = "none"; } - diff --git a/error.html b/error.html index 7c213a6..f015d6a 100644 --- a/error.html +++ b/error.html @@ -435,144 +435,7 @@ TOP 에서 다시 접속해 주시기 바랍니다.
diff --git a/fonts/MinecraftTen.woff b/fonts/MinecraftTen.woff deleted file mode 100644 index db70f0cf852aa8cc635b76e9e6f5c823149adcf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3368 zcmZu!c{o&UA3if@W{iDbMwYSfdn9W#$P&sJLNfNUg+j(_S9mq4$TnGvNM3`a6hoHC z8u@JF6@`Stnw2G9iwIAdRAeR{lZP zqM&>5K|B;1%bHE*AqR$dL3!XKNb5VoRO76D5HSjxA65%-F$h?o0XPv%4Dta07HLSg zfaV|*ViT`j4GF&n0IWy*eF^D^hO}RJ00uD#H%?GrUg9+P39y1okOJ6h@Mj(M6Z!vY z0yG)dKpF^#C>l6wp@^FF^6>WXh~6%`osh803%+HX=wlL!mz2ly0~y??|Bj#WQ76v& z05DmsuQ!l(GJcm0;1vf}{!{N8=0%~=dTF%LPQEr8ZI-L5)VQwXZmF-r&a*(TXO5laA+&~3A^@6S!iK_Ajn#!TLV-_U+-}8}ETZnWMOxz|R_q zyUJ`#@eLeF@XSuoyGK)A%UNq&b6g9j(V>OcQ1)={sU;J^w>n*xERrnuSn61;Sgxd7 zF&Ihxcah5u$fpsADqGw+m1=AW7If<0Ve~M%8R7?VJB&8Q9wUU&`ZMku<2l3W@X~tR zdMhudfmoB#)mRS(ZJ|YKGzABm>!6wh%w@4{$u+>zbpe77DuTmSHCW8uC>CZSLF7KC z5z1_-a2ay}brN+0g*21#;dj)&&VE)UNc5uNZ{TSuFJ1?&a8~O~W&+!oPGiIt2ibN& zwI+B?tk8YNs3rCgmSEB*(Q#4}p2{nQX@7e!R51^upMj=ogj57nrJV@KRJpD|nrk1aXV6Pt=q23eQXX0C!(W znGN&}bQiqPKb}{4n@XCv-P7NqF;c3q;o~qSfzYon2>wV<@yJM^1l7-%h!kDF+Sb^( zS`$?%5?qAco{V9A?>Ld=ctPchi%yvKV>bbD-y%wQ?WZ~G$icw57Nh(=I z(OgR5Y4Jl*hv~T2r!cn7jvq=nwMeX@9qP9$vmaUaaw8s5=2i4>hftO=oNpXD{)l!d z|Kdk2m@b|E*LK7pLd%5gQTxP5*ZZEy@?=hg)cRYCa<8$)n@x%CHI9;{KXzyC>lsxN ztLVjn%ua@f!lTQNo}^C(C%q3An~C;(ercO0Y>!7!RP{=3t?PHOnaNe#Le7p4JcFL@ zAL2&GgG2js0pE#?FM@F5u=8XjjhCM+ec^{^JR@<(;66)l{SaGGv8m$)@VnR(PWf9o z`DZMX_U1hsX7C0Dzvn#vH745DnsDpR%ZWSOY33Y4IQHr+y1mF3%%s|E$*b;o#RU0f z))202-fd6TUoC!Qagy(=YL+UhFzad_CprBuuCpV0vZHrJ+z`9(oQ~BSo1L%os!9l< z5VB<6Y^FI3`BmH{#osL~bHUHD06lyalADsfXqRuZ+~!&L$M{I;zfmJmpIuDUu+p?U zSi+^j$KubMu^;&+ow7IBmeNx?gd=!!PoO5B@%WLK;mU;0te!;odzscDOezCM@(0!1t4KR@5x?Y#LyGWF zrW0$-0PHF4I5(kr`lo5r(;SX-4b9f2&2_&gp8H_*%934*LARodZC4rPnbqMk@#A^2 z8lmJ3>YA<14_a5O3uj^I^Vxa_#l4GbK7X);t6NkPJmjuwZ#DDM@`y8X!zVm>tYa;= z*0OW*I5h)#cT>@(z6hPBpFQhy@39t(2kyncQg+H-;m_vVBrG4e7RF>1)UupUO14RU z*HOcxD!x~o6V#jHA~Pp5=dU~UDOIcuoMufXvB~{lI1NlyDr~+r{NP?X@$IGG4E_0~2*ih9s8EZ=^?4#a~m5-(7n&Ete}cv`-1h{G29A^rM7%y0^9ruBEK@ zE7g@Yu4?5NhEM$6Fw)*{7&V^mEB({DwZqb4aPIzja%zKgDsI1;UrzOI*7yz6MG<-B zFYlCu)(K&;ixPr78?%uHoxFNq<2rVDjFMLj1|t>-16|oCHU4aSY98>jEU5S3u{$ME zU>z?^ax333ux*Mtc-_*n75v8CTH|qXm;k?AQ|z(956eY@Pa-UAUGZvN(k+d10b_&r zn7B>WU+Z5g%+}->{43ddYJ;4j9liCyp!G9O0xiI|Nl|tzT1%_e5;S zai`Z^lfQUjO6LkYwsqD{#t~|&q~-AlyvK`gRdeFT(L36!r!O155gn)~fXPi z13>TcGwpWMXWGfPxwb$BZ=PI<$GCY{q3xE$v;aD$=>1#gc{SFG%X@Uvpy3EBty>Av zSVV)_iY(UNB71T2yXg-&Y|b{thYv@%b+j~HUn!Fo6V3UQCa9Mhla^<-(D+4!BXoKE zEk;#jvGQfO8;!kCR4`PzMr2QyXPf+9K3$HDODds@55?_Un<=DW8*f5cs!a1GkdME$ z_FWwJFnLIPvRGh-8($r2%YD(7pPogU`5Z>+Q@5-=DW^UTGGptMjbr z;<;}lGi;h&;c18~$d4WK8TNAAw0l79alpy$wCGHpAQ2eD_ z9V-)S>8llKs~FLV(RcPALDi3VD;<0g&s3}L{z;2KB$t z#KC}5!<#cT6vBXS_q+8Tg1iucL#g|G$?z^5ne=^VsbkQK>G8<)2Ft-tuh3QzYofip ztg1y#43dRkfl!LiOAg~#bgU$l5gtaf3u|821K&FQ_5PiJAC8dzUXVEuf&G;3}*05H*k zdw+Xg7U_Hq~UEUOS`&Ia%%&JS*-wqini6`GrQ&T?z8k9 z);3u60wtMkZs~LQjBap|+ES@oz7*?j(&ZB&bVXR%Z(6X(PD%OiB_6qUU{2Wg=28E@Uj5&`YMpKX diff --git a/fonts/futuracyrillicbold-webfont.woff b/fonts/futuracyrillicbold-webfont.woff deleted file mode 100644 index 256d71d1e98e22377de2dafccb7d1e367851ac38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16372 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 @@ -643,7 +506,6 @@ } } - diff --git a/hacker-lab.html b/hacker-lab.html index 110284b..4f03e02 100644 --- a/hacker-lab.html +++ b/hacker-lab.html @@ -432,144 +432,7 @@ @@ -591,7 +454,6 @@
- diff --git a/index.html b/index.html index 5f7d6e1..444e41e 100644 --- a/index.html +++ b/index.html @@ -495,144 +495,7 @@ With the recent trend of internet censorship I have been thinking about alternat diff --git a/javascript/carousel.js b/javascript/carousel.js index ea83157..916b5c6 100644 --- a/javascript/carousel.js +++ b/javascript/carousel.js @@ -1,13 +1,35 @@ -// Duplicate buttons in Carousel -document.addEventListener("DOMContentLoaded", function () { - const ORIGINAL_BUTTONS = document.querySelectorAll( - ".carousel-buttons > div > a" - ); - const BUTTONS_CONTAINER = document.querySelector(".carousel-buttons > div"); +document.addEventListener("DOMContentLoaded", async () => { + const container = document.querySelector(".carousel-placeholder"); + if (!container) return; - // Loop through original buttons and clone anchor elements - ORIGINAL_BUTTONS.forEach(function (button) { - const CLONED_BUTTON = button.cloneNode(true); - BUTTONS_CONTAINER.appendChild(CLONED_BUTTON); - }); + try { + const res = await fetch("/carousel.html"); + const html = await res.text(); + + // Inject HTML + container.innerHTML = html; + + // Let the browser paint once before heavy DOM work + await new Promise(requestAnimationFrame); + + const buttonsWrapper = container.querySelector(".carousel-buttons > div"); + if (!buttonsWrapper) return; + + // Prevent double-run + if (buttonsWrapper.dataset.cloned === "true") return; + buttonsWrapper.dataset.cloned = "true"; + + const originals = buttonsWrapper.querySelectorAll("a"); + + // Use DocumentFragment to avoid layout thrashing + const fragment = document.createDocumentFragment(); + + originals.forEach((btn) => { + fragment.appendChild(btn.cloneNode(true)); + }); + + buttonsWrapper.appendChild(fragment); + } catch (err) { + console.error("Carousel load failed:", err); + } }); diff --git a/mc.html b/mc.html index b0092fc..067b932 100644 --- a/mc.html +++ b/mc.html @@ -495,144 +495,7 @@ You can check out more information listed below. @@ -669,7 +532,6 @@ You can check out more information listed below. popup.style.display = "none"; } - diff --git a/members.html b/members.html index 6a9e3d3..4b84e46 100644 --- a/members.html +++ b/members.html @@ -448,144 +448,7 @@ You can check out our members listed below.
diff --git a/services.html b/services.html index 3f8b10e..a1ecefc 100644 --- a/services.html +++ b/services.html @@ -445,144 +445,7 @@ You can check out our services listed below.
diff --git a/status.html b/status.html index 4e34975..1abd387 100644 --- a/status.html +++ b/status.html @@ -432,144 +432,7 @@