leilukin-site/_site/changelogs/2024/index.html

713 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" dir="ltr" id="page-top">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:title" content="Website Changelog Archive: 2024">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Changelog of my website during the year of 2024.">
<meta name="generator" content="Eleventy v2.0.1">
<meta property="og:type" content="website">
<meta property="og:url" content="https://leilukin.neocities.org/changelogs/2024/">
<meta property="og:site_name" content="Leilukin's Hub">
<meta property="og:locale" content="en_MY">
<meta property="og:description" content="Changelog of my website during the year of 2024.">
<meta name="twitter:card" content="summary">
<meta name="twitter:url" content="https://leilukin.neocities.org/changelogs/2024/">
<meta name="twitter:description" content="Changelog of my website during the year of 2024.">
<link rel="canonical" href="https://leilukin.neocities.org/changelogs/2024/">
<link rel="stylesheet" href="/assets/css/global.css"><link rel="stylesheet" href="/assets/css/general.css"><link rel="stylesheet" href="/assets/css/content.css"><link rel="stylesheet" href="/assets/css/plugins.css"><link rel="stylesheet" href="/assets/css/components.css"><link rel="stylesheet" href="/assets/css/pridesymbols.css"><link rel="stylesheet" href="/assets/css/utility.css">
<link rel="stylesheet" href="/assets/fonts/noto-sans/noto-sans.css">
<link href="/assets/fonts/fontawesome/css/fontawesome.css" rel="stylesheet" />
<link href="/assets/fonts/fontawesome/css/brands.css" rel="stylesheet" />
<link href="/assets/fonts/fontawesome/css/solid.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon/favicon-16x16.png">
<link rel="manifest" href="/assets/favicon/site.webmanifest">
<title>
Website Changelog Archive: 2024 | Leilukin's Hub
</title>
</head>
<body>
<header class="hero">
<div class="hero__top-bar hidden"></div>
<div class="hero__img">
<img fetchpriority="high" src="/assets/leilukin/Leilukins-Hub-website-banner.png" alt="Banner of Leilukin's Hub">
</div>
</header>
<style>
.hero {
width: 100%;
background-color: var(--clr-hero-bg);
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
}
.hero__top-bar {
background-color: var(--clr-navbar-bg);
width: 100%;
padding: 0.5em 0.7em;
}
.hero__img {
display: grid;
place-content: center;
}
.hero img {
object-fit: contain;
overflow: hidden;
max-height: 16rem;
filter: drop-shadow(0.1rem 0.1rem 0.2rem black);
}
</style>
<script defer>
const hero = document.querySelector(".hero");
const heroTopBarEl = document.querySelector(".hero__top-bar");
const headerImgEl = document.querySelector(".hero__img");
const todayEvent = getTodayEvent();
if (todayEvent) {
heroTopBarEl.classList.remove('hidden');
heroTopBarEl.innerHTML = todayEvent.blurb;
if (todayEvent.class) {
headerImgEl.classList.add(todayEvent.class);
}
}
function getTodayEvent() {
const date = new Date();
const month = date.getMonth() + 1;
const day = date.getDate();
const year = date.getFullYear();
const weekOfMonth = Math.ceil(day / 7);
const leilukinsHubLaunchDate = new Date("2022-09-11").getFullYear();
const siteAnniversary = year - leilukinsHubLaunchDate;
if (month === 3 && day === 1)
return {
blurb: `Today is <a href="https://www.unaids.org/en/zero-discrimination-day">Zero Discrimination Day</a>`,
class: "flag-progress-intersex",
};
else if (month === 3 && day === 8)
return {
blurb: `Today is <a href="https://www.internationalwomensday.com/">International Women's Day}</a>`,
class: "symbol-venus",
};
else if (month === 3 && day === 31)
return {
blurb: `Today is <a href="https://www.manygendersonevoice.org/tdov.html">Trans Day of Visibility</a>`,
class: "flag-trans",
};
else if (month === 4 && day === 6)
return {
blurb: `Today is <a href="https://internationalasexualityday.org/en">International Asexuality Day</a>`,
class: "flag-ace",
};
else if (month === 4 && day === 26)
return {
blurb: `Today is <a href="https://www.lesbianvisibilityweek.com">Lesbian Visibility Day</a>`,
class: "flag-lesbian",
};
else if (month === 4 && weekOfMonth === 4)
return {
blurb: `This week is <a href="https://www.lesbianvisibilityweek.com">Lesbian Visibility Week</a>`,
class: "flag-lesbian",
};
else if (month === 5 && day === 17)
return {
blurb: `Today is <a href="https://may17.org">International Day Against Homophobia, Biphobia and Transphobia</a>`,
class: "flag-progress",
};
else if (month === 5 && day === 19)
return {
blurb: `Today is <a href="https://www.believeoutloud.com/voices/article/agender-pride-day/">Agender Pride Day</a>`,
class: "flag-agender",
};
else if (month === 5 && day === 25)
return {
blurb: `Today is <a href="https://genderedintelligence.co.uk/panvisibilityday">Pansexual and Panromantic Awareness and Visibility Day</a>`,
class: "flag-pan",
};
else if (month === 6)
return {
blurb: `Happy <a href="https://www.loc.gov/lgbt-pride-month/about/">Pride Month</a>!`,
class: "flag-progress-intersex",
};
else if (month === 7 && day === 14)
return {
blurb: `Today is <a href="https://www.manygendersonevoice.org/non-binary-peoples-day.html">Non-Binary People's Day</a>`,
class: "flag-non-binary",
};
else if (month === 7 && day === 28)
return {
blurb: `Today is Leilukin's Birthday`
};
else if (month === 8 && day === 25)
return {
blurb: `Today is <a href="https://aromanticspectrumday.net/">Aromantic Spectrum Visibility Day</a>`,
class: "flag-aro",
};
else if (month === 9 && day === 11)
return {
blurb: `Today is the ${siteAnniversary}-year anniversary of the launch of Leilukin&#39;s Hub`
};
else if (month === 9 && day === 23)
return {
blurb: `Today is <a href="https://bivisibilityday.com/about">Bi Visibility Day</a>`,
class: "flag-bi",
};
else if (month === 10 && day === 8)
return {
blurb: `Today is <a href="https://www.lgbtiqhealth.org.au/international_lesbian_day2">International Lesbian Day</a>`,
class: "flag-lesbian",
};
else if (month === 10 && day === 11)
return {
blurb: `Today is <a href="https://www.hrc.org/resources/national-coming-out-day">National Coming Out Day</a>`,
class: "flag-rainbow",
};
else if (month === 10 && day === 17)
return {
blurb: `Today is the start of <a href="https://www.grlgbtqhealthcareconsortium.org/significantdates/genderfluid-visibility-week">Genderfluid Visibility Week</a>`,
class: "flag-genderfluid",
};
else if (month === 10 && day === 24)
return {
blurb: `Today is the start of <a href="https://www.grlgbtqhealthcareconsortium.org/significantdates/ace-week">Ace Week</a>`,
class: "flag-ace",
};
else if (month === 10 && day === 26)
return {
blurb: `Today is <a href="https://interactadvocates.org/intersex-awareness-day">Intersex Awareness Day</a>`,
class: "flag-intersex",
};
else if (month === 11 && day === 13)
return {
blurb: `Today is the start of <a href="https://glaad.org/transweek/">Transgender Awareness Week</a>`,
class: "flag-trans",
};
else
return null;
}
</script>
<nav class="navbar">
<button class="navbar__toggle" aria-label="Navigation menu toggle">
<i class="fa-solid fa-bars"></i>
<h2 class="navbar__title">Navigation</h2>
</button>
<ul class="navbar__links">
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/now/">Now</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/articles/">Articles</a>
</li>
<li>
<a href="/projects/">Projects</a>
</li>
<li>
<a href="/shrines/">Shrines</a>
</li>
<li>
<a href="/links/">Links</a>
</li>
<li>
<a href="/guestbook/">Guestbook</a>
</li>
</ul>
</nav>
<style>
.navbar {
background: var(--clr-navbar-bg);
padding: 0.6em 1em;
width: 100%;
z-index: 999;
position: sticky;
top: 0;
}
.navbar__toggle,
.navbar__title {
color: var(--clr-navbar-link);
font-size: 1.3rem;
}
.navbar__toggle {
display: flex;
align-items: center;
gap: 0.5em;
border: none;
padding: 0;
margin: 0;
background-color: inherit;
}
.navbar__toggle:focus,
.navbar a:focus {
outline: 0.15em solid var(--clr-navbar-link);
}
.navbar a {
color: var(--clr-navbar-link);
text-decoration: none;
cursor: pointer;
}
.navbar a:hover {
color: var(--clr-link-hover);
}
.navbar a:focus {
outline-offset: 0.3em;
}
.navbar__links {
list-style: none;
display: none;
gap: 1em;
padding: 0.5em 1.8em;
overflow: auto;
}
.navbar__links--show {
display: grid;
}
/* Tablet screen size */
@media only screen and (min-width: 43.75rem) {
.navbar {
padding: 0 0.6em;
}
.navbar__toggle {
display: none;
}
.navbar__links {
display: flex;
justify-content: space-evenly;
gap: 0.5em;
flex-wrap: wrap;
padding: 0;
overflow: unset;
}
}
</style>
<script defer>
const navbarToggle = document.querySelector('.navbar__toggle');
const navbarLinks = document.querySelector(".navbar__links");
navbarToggle.addEventListener('click', () => {
navbarLinks.classList.toggle("navbar__links--show");
});
</script>
<main>
<header class="main__header">
<h1>Website Changelog Archive: 2024</h1>
<p>Changelog of my website during the year of 2024.</p>
</header>
<div class="content__wrapper">
<div class="content ">
<nav class="changelog__nav">
<p class="changelog__nav--title">Changelog Archive:</p>
<ul class="changelog__nav--links">
<li><a
href="/changelogs"
>Latest</a></li>
<li><a
aria-current="page"
href="/changelogs/2024/"
>2024</a></li>
<li><a
href="/changelogs/2023/"
>2023</a></li>
<li><a
href="/changelogs/2022/"
>2022</a></li>
<li><a
href="/changelogs/layouts/"
>Website Layouts</a></li>
</ul>
</nav>
<p>To get notified of the updates on this website, you can subscribe to the <a href="/feed.xml" target="blank">Leilukin's Hub RSS feed</a>, which contains new articles, blog posts and website changelogs, or follow <a href="https://neocities.org/site/leilukin">my Neocities profile</a>.</p>
<div class="web-btn-wrapper center-el" style="margin-top: 0.7em;">
<a href="/feed.xml" target="blank" title="Leilukin's Hub RSS Feed">
<img src="/assets/buttons/rss-button.gif" alt="RSS feed button">
</a>
</div>
<article>
<div class="heading-wrapper h2">
<h2 id="2024-05-19">19 May 2024</h2>
<a class="heading-anchor" href="#2024-05-19" aria-labelledby="2024-05-19"><span hidden="">#</span></a>
</div>
<ul>
<li>Replace the <a href="https://www.htmlcommentbox.com/">HTML Comment Box</a> widget on the <a href="/guestbook">guestbook page</a> with a guestbook that is powered by <a href="https://firebase.google.com/docs/database/">Firebase Realtime Database</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-05-18">18 May 2024</h2>
<a class="heading-anchor" href="#2024-05-18" aria-labelledby="2024-05-18"><span hidden="">#</span></a>
</div>
<ul>
<li>Add footnotes section to <a href="/shrines/asummersend/trivia/"><cite>A Summers End — Hong Kong 1986</cite> shrine Trivia page</a> and <a href="/shrines/cassettebeasts/facts/"><cite>Cassette Beasts</cite> shrine Facts page</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-05-14">14 May 2024</h2>
<a class="heading-anchor" href="#2024-05-14" aria-labelledby="2024-05-14"><span hidden="">#</span></a>
</div>
<ul>
<li>New blog post: <a href="/blog/posts/2024-05-14-james-somerton-my-vide-game-footage">James Somerton Used My Video Game Footage Without Credit or Permission</a>.</li>
<li>Replace 123Guestbook guestbook with a <a href="/guestbook">guestbook page</a> with <a href="https://www.htmlcommentbox.com/">HTML Comment Box</a>, as 123Guestbook will be <a href="https://web.archive.org/web/20240504201300/https://www.123guestbook.com/news.php?id=closure">shutting down on 1 July 2024</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-05-09">9 May 2024</h2>
<a class="heading-anchor" href="#2024-05-09" aria-labelledby="2024-05-09"><span hidden="">#</span></a>
</div>
<ul>
<li><a href="/shrines/cassettebeasts/"><cite>Cassette Beasts</cite> shrine</a>:
<ul>
<li>Rename Trivia page to <a href="/shrines/cassettebeasts/facts/">Facts page</a>.</li>
<li>Add &quot;Frequently Asked Topics&quot; section to the Facts page.</li>
</ul>
</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-04-29">29 April 2024</h2>
<a class="heading-anchor" href="#2024-04-29" aria-labelledby="2024-04-29"><span hidden="">#</span></a>
</div>
<ul>
<li>Turn the top navigation manu into a hamburger menu when this website is viewed on mobile devices.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-04-27">27 April 2024</h2>
<a class="heading-anchor" href="#2024-04-27" aria-labelledby="2024-04-27"><span hidden="">#</span></a>
</div>
<ul>
<li>New blog post: <a href="/blog/posts/2024-04-27-lesbian-visibility-day1-year-anniversary-of-cassette-beasts/">Happy Lesbian Visibility Day and 1-Year Anniversary of Cassette Beasts</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-04-21">21 April 2024</h2>
<a class="heading-anchor" href="#2024-04-21" aria-labelledby="2024-04-21"><span hidden="">#</span></a>
</div>
<ul>
<li>New blog post: <a href="/blog/posts/2024-04-21-april-2024-leilukins-hub-overhaul-with-eleventy/">April 2024 Leilukin's Hub Overhaul with Eleventy</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-04-20">20 April 2024</h2>
<a class="heading-anchor" href="#2024-04-20" aria-labelledby="2024-04-20"><span hidden="">#</span></a>
</div>
<ul>
<li>Finished overhauling this entire website with the static site generator <a href="https://www.11ty.dev/">Eleventy</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-04-05">5 April 2024</h2>
<a class="heading-anchor" href="#2024-04-05" aria-labelledby="2024-04-05"><span hidden="">#</span></a>
</div>
<ul>
<li>Add table of contents to my <a href="/projects/kotor1mods/">Star Wars: Knights of the Old Republic</a> and <a href="/projects/kotor2mods/">Star Wars: Knights of the Old Republic II: The Sith Lords mods</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-03-06">6 March 2024</h2>
<a class="heading-anchor" href="#2024-03-06" aria-labelledby="2024-03-06"><span hidden="">#</span></a>
</div>
<ul>
<li>New blog post: <a href="/blog/posts/2024-03-06-I-Received-a-Lifetime-Premium-Membership-on-Nexus-Mods-for-Free">I Received a Lifetime Premium Membership on Nexus Mods for Free</a>.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-02-08">8 February 2024</h2>
<a class="heading-anchor" href="#2024-02-08" aria-labelledby="2024-02-08"><span hidden="">#</span></a>
</div>
<ul>
<li>Cassette Beasts <a href="/shrines/cassettebeasts/">shrine</a>: Added <a href="/shrines/cassettebeasts/resources">Resources</a> page.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-02-07">7 February 2024</h2>
<a class="heading-anchor" href="#2024-02-07" aria-labelledby="2024-02-07"><span hidden="">#</span></a>
</div>
<ul>
<li><a href="/projects/">Projects</a>: Added My Characters section.</li>
</ul>
<div class="heading-wrapper h2">
<h2 id="2024-01-09">9 January 2024</h2>
<a class="heading-anchor" href="#2024-01-09" aria-labelledby="2024-01-09"><span hidden="">#</span></a>
</div>
<ul>
<li>Cassette Beasts <a href="/shrines/cassettebeasts/">shrine</a>: Added a new section: My Contributions to the Cassette Beasts community.</li>
</ul>
</article>
<style>
.heading-wrapper + ul {
margin: 0.3em 0 3em 0;
}
</style>
<style>
.changelog__nav,
.changelog__nav--links {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
}
.changelog__nav {
flex-direction: column;
gap: 0.2em;
align-self: center;
font-weight: 600;
gap: 0.5em;
}
.changelog__nav--links {
margin: 0;
padding: 0;
line-height: 1.1;
}
.changelog__nav--links {
list-style: none;
gap: 0.5em;
}
.changelog__nav--links li {
text-align: center;
align-self: center;
}
.changelog__nav--links li:not(:last-child)::after {
content: '|';
padding-left: 0.5em;
}
.changelog__nav--links [aria-current="page"] {
text-decoration: none;
color: var(--clr-bold-txt);
}
@media (min-width: 640px) {
.changelog__nav {
flex-direction: row;
gap: 1em;
}
}
</style>
</div>
</div>
<style>
.breadcrumbs {
list-style: none;
padding: 0;
margin: 0 0 0.7em 0;
display: flex;
gap: 0.5em;
flex-wrap: wrap;
justify-content: center;
}
.breadcrumbs li::after {
content: '➔';
padding-left: 0.3em;
}
</style>
</main>
<footer class="footer">
<p>Made with ♥ by Leilukin since <time>11 September 2022</time></p>
<ul class="footer__links">
<li><a
href="/sitemap/
">Site Map</a></li>
<li><a
href="/changelogs/"
>Changelogs</a></li>
<li><a href="/feed.xml">RSS</a></li>
</ul>
</footer>
<style>
.footer {
margin-top: auto;
width: 100%;
background: var(--clr-main-footer-bg);
padding: 1rem 1rem 3rem 1rem;
text-align: center;
display: grid;
}
.footer p {
padding: 0;
}
.footer__links {
justify-self: center;
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.7em;
}
.footer__links li:not(:last-child)::after {
content: '|';
padding-left: 0.6em;
}
/* Screen sizes larger than mobile */
@media only screen and (min-width: 30rem) {
.footer {
padding: 1rem 1rem 2rem 1rem;
}
}
/* Tablet screen size */
@media only screen and (min-width: 43.75rem) {
.footer {
padding: 1rem;
}
}
</style>
<button class="top-btn hidden" aria-label="Scroll to top">
<i class="fa-solid fa-chevron-up"></i>
</button>
<style>
.top-btn {
position: fixed;
margin: 0;
padding: 0;
bottom: 0.5rem;
right: 0.5rem;
z-index: 999;
border: none;
background-color: var(--clr-top-btn-bg);
color: var(--clr-top-btn-txt);
border-radius: 50em;
width: 2rem;
aspect-ratio: 1 / 1;
}
.top-btn:focus {
outline: 0.25em solid var(--clr-top-btn-bg);
outline-offset: 0.15em;
}
</style>
<script defer>
const topButton = document.querySelector(".top-btn");
window.onscroll = () => {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
topButton.classList.remove("hidden");
} else {
topButton.classList.add("hidden");
}
}
topButton.addEventListener('click', () => {
window.scrollTo({
top: 0,
left: 0,
behavior: "smooth",
});
});
</script>
</body>
</html>