leilukin-site/changelogs/page/2/index.html

734 lines
29 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="top">
<head>
<meta property="og:title" content="Changelogs">
<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="author" content="Leilukin">
<meta name="description" content="Changelogs of my website.">
<meta name="generator" content="Eleventy v3.0.0">
<meta property="og:type" content="website">
<meta property="og:url" content="https://leilukin.com/changelogs/page/2/">
<meta property="og:site_name" content="Leilukin's Hub">
<meta property="og:locale" content="en_MY">
<meta property="og:description" content="Changelogs of my website.">
<meta name="twitter:card" content="summary">
<meta name="twitter:url" content="https://leilukin.com/changelogs/page/2/">
<meta name="twitter:description" content="Changelogs of my website.">
<link rel="canonical" href="https://leilukin.com/changelogs/page/2/">
<link rel="alternate" type="application/rss+xml" title="Leilukin&#39;s Hub" href="/feed.xml">
<link rel="preload" href="/assets/fonts/lexend/lexend-v19-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/lexend/lexend-v19-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<style>
@font-face {
font-display: swap;
font-family: 'Lexend';
font-style: normal;
font-weight: 400;
src: url('/assets/fonts/lexend/lexend-v19-latin-regular.woff2') format('woff2');
}
@font-face {
font-display: swap;
font-family: 'Lexend';
font-style: normal;
font-weight: 600;
src: url('/assets/fonts/lexend/lexend-v19-latin-600.woff2') format('woff2');
}
@font-face {
font-display: swap;
font-family: 'Lexend';
font-style: normal;
font-weight: 700;
src: url('/assets/fonts/lexend/lexend-v19-latin-700.woff2') format('woff2');
}
</style>
<link rel="stylesheet" href="/assets/fonts/intel-one-mono/intel-one-mono.css">
<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/a11y-syntax-highlighting-dark.css"><link rel="stylesheet" href="/assets/css/pridesymbols.css"><link rel="stylesheet" href="/assets/css/utility.css">
<style>.pagination__wrapper {
display: grid;
place-content: center;
margin-top: 3em;
}
.pagination {
list-style-type: "";
padding: 0;
margin: 0;
display: flex;
gap: 0.5em;
flex-wrap: wrap;
justify-content: center;
}
.pagination li {
text-align: center;
padding: 0.3em 0.7em;
color: var(--clr-title-border);
background-color: var(--clr-code-bg);
}
.pagination li:has(a) {
background-color: var(--clr-title-border);
}
.pagination li:has(a):hover {
cursor: pointer;
background-color: var(--clr-link-hover);
}
.pagination li:has(a):focus-within {
outline: 0.2em solid var(--clr-title-border);
outline-offset: 0.15em;
}
.pagination li a {
color: var(--clr-link-btn-hover);
text-decoration: none;
}
.pagination li a:focus { outline: none; }
* + h2, * + h3 { margin-top: 1.5em; }
.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: 700;
gap: 0.5em;
}
.changelog__nav--links li {
text-align: center;
align-self: center;
}
.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;
}
}
.breadcrumbs {
list-style-type: "";
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;
}
.article__info--desc { margin-bottom: 1em; }
.blog__post--pagination {
padding-top: 1em;
margin-top: 2.5em;
border-top: 0.1em solid var(--clr-title-border);
}
.blog__post--nextprev {
list-style-type: "";
padding: 0;
margin: 0;
display: grid;
gap: 0.7em;
grid-template-columns: repeat(2, 1fr);
grid-template-areas: 'prev next';
}
.blog__post--prev { grid-area: prev; }
.blog__post--next { grid-area: next; }
.hero img { filter:
drop-shadow(0.1rem 0.1rem 0.2rem black)
drop-shadow(0.1rem 0.1rem 0.2rem rgba(30, 30, 30, 0.8))
; }
.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;
}
.navbar {
background: var(--clr-navbar-bg);
width: 100%;
z-index: 998;
position: sticky;
top: 0;
padding: 0.6em;
}
.navbar__menu {
list-style-type: "";
margin: 0;
padding: 0;
display: flex;
gap: 1em;
flex-wrap: wrap;
text-align: center;
}
.navbar__menu a {
color: var(--clr-navbar-link);
text-decoration: none;
cursor: pointer;
display: inline-block;
}
.navbar__menu a:hover { color: var(--clr-link-hover); }
.navbar__menu a:focus { outline-offset: 0.2em; }
.navbar__links {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
gap: 0.5em;
}
.navbar__toggle {
background-color: inherit;
color: var(--clr-navbar-link);
border: none;
padding: 0;
font-size: 1.25rem;
font-weight: 700;
display: none;
align-items: center;
gap: 0.3em;
}
.navbar__toggle svg { fill: currentColor; }
.navbar__toggle:focus,
.navbar__menu a:focus { outline-offset: 0.1em; }
.navbar__toggle:focus,
.navbar__menu a:focus { outline: 0.15em solid var(--clr-navbar-link); }
.navbar__popover {
background-color: var(--clr-navbar-bg);
border: 0.15em solid var(--clr-navbar-link);
padding: 1.5em;
max-width: 85%;
}
.navbar__popover::backdrop {
background-color: black;
opacity: 0.5;
}
@supports selector([popover]) {
.navbar__toggle { display: flex; }
.navbar__links { display: none; }
}
/* Tablet screen size */
@media only screen and (min-width: 43.75rem) {
.navbar { padding: 1em 0.6em; }
.navbar__toggle, .navbar__popover { display: none; }
.navbar__links { display: flex; }
}
.top-btn,
.top-btn:hover {
color: var(--clr-top-btn-txt);
text-decoration: none;
}
.top-btn {
position: fixed;
bottom: 0.5rem;
right: 0.5rem;
z-index: 999;
background-color: var(--clr-top-btn-bg);
display: flex;
align-items: center;
border-radius: 50em;
padding: 0.3em 0.5em;
gap: 0.2em;
}
.top-btn:focus {
outline: 0.25em solid var(--clr-top-btn-bg);
outline-offset: 0.15em;
}
.top-btn__arrow {
display: inline-block;
width: 1em;
aspect-ratio: 1 / 1;
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
}
:root { --footer-gap: 0.5em; }
.footer {
margin-top: auto;
width: 100%;
background: var(--clr-main-footer-bg);
padding: 1.5rem 1rem clamp(1.5rem, calc(100% - 1.5rem), 3.5rem);
text-align: center;
display: grid;
gap: var(--footer-gap);
}
.footer__links,
.footer__shrines {
display: flex;
flex-wrap: wrap;
justify-content: center;
column-gap: var(--footer-gap);
}
.footer__links { justify-self: center; }
.footer__shrines { align-self: center; }</style>
<link rel="icon" sizes="32x32" href="/assets/favicon/favicon.ico">
<link rel="icon" type="image/svg+xml" href="/assets/favicon/leilukin-bee-favicon.svg">
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
<link rel="manifest" href="/assets/favicon/site.webmanifest">
<link rel="me" href="mailto:contact@leilukin.com">
<link rel="me" href="https://dragonscave.space/@Leilukin">
<link rel="me" href="https://github.com/Leilukin">
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
<script src="/assets/js/MnPoD-suxd.js" defer></script>
<title>
Changelogs | Leilukin's Hub
</title>
</head>
<body>
<div class="skip-btn"><a href="#content">Skip to content</a></div>
<header class="hero">
<div class="hero__top-bar hidden"></div>
<div class="hero__img">
<img fetchpriority="high" src="/assets/leilukin/Leilukins-Hub-website-banner.avif" alt="Banner of Leilukin's Hub" width="900" height="300">
</div>
</header>
<nav class="navbar" aria-labelledby="top-level-nav-title">
<h2 class="visually-hidden" id="top-level-nav-title">Top Level</h2>
<ul class="navbar__menu 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="/adoptables/">Adoptables</a>
</li>
<li>
<a href="/links/">Links</a>
</li>
<li>
<a href="/guestbook/">Guestbook</a>
</li>
</ul>
<button class="navbar__toggle" popovertarget="nav-menu" aria-label="Toggle navigation menu">
<svg aria-hidden="true" focusable="false" width="1em" height="1em" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>
Navigation
</button>
</nav>
<div popover id="nav-menu" class="navbar__popover">
<ul class="navbar__menu">
<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="/adoptables/">Adoptables</a>
</li>
<li>
<a href="/links/">Links</a>
</li>
<li>
<a href="/guestbook/">Guestbook</a>
</li>
</ul>
</div>
<main id="content">
<header class="main__header">
<h1>Website Changelogs</h1>
<p>Changelogs of my website.</p>
</header>
<content-wrapper>
<article class="content">
<nav class="changelog__nav" aria-labelledby="changelog-nav-title">
<p class="changelog__nav--title" id="changelog-nav-title">Changelog Archive:</p>
<ul class="inline-nav changelog__nav--links">
<li><a
href="/changelogs"
>Latest</a></li>
<li><a
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 its <a href="/feed.xml"><svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>RSS feed</a>, which contains new articles, blog posts and website changelogs.</p>
<h2>Latest Changelogs</h2>
<h3 class="date-style"><time datetime="Wed Jun 12 2024 17:26:00 GMT+0000 (Coordinated Universal Time)">12 June 2024</time></h3>
<ul>
<li>Add a Virtual Pets section to the home page.</li>
<li>The <a href="https://status.cafe/">status.cafe</a> widget and the <a href="https://www.websitecarbon.com/badge/">Website Carbon badge</a> on the home page will display a note about JavaScript being required for these widgets if the visitor has disabled JavaScript.</li>
<li>Remove JavaScript from the &quot;Back to top&quot; button.</li>
</ul>
<h3 class="date-style"><time datetime="Tue Jun 11 2024 17:26:00 GMT+0000 (Coordinated Universal Time)">11 June 2024</time></h3>
<ul>
<li>Remake the navigation hamburger menu for mobile, so JavaScript is no longer needed to open and close the navigation menu, although JavaScript is still used to enable closing the menu with the Escape key. (Special thanks to Kale for the <a href="https://kalechips.net/projects/snippets/burger">accessible hamburger menu code snippet</a>).</li>
<li>New blog post: <a href="/blog/posts/2024-06-12-performance-improvement-leilukins-hub/">Improving Site Performance of Leilukin's Hub</a>.</li>
</ul>
<h3 class="date-style"><time datetime="Tue Jun 11 2024 05:27:00 GMT+0000 (Coordinated Universal Time)">11 June 2024</time></h3>
<ul>
<li>Improve &quot;Back to top&quot; button and footer link:
<ul>
<li>Replace arrow unicode with inline SVG for the button and border styling for the footer link</li>
<li>Display the footer link only if JavaScript is disabled</li>
<li>Use anchor HTML tag (<code>&lt;a&gt;</code>) instead of button tag (<code>&lt;button&gt;</code>) for the button</li>
</ul>
</li>
<li>Disable smooth scrolling for users with reduced motion settings.</li>
</ul>
<h3 class="date-style"><time datetime="Sun Jun 09 2024 06:17:00 GMT+0000 (Coordinated Universal Time)">9 June 2024</time></h3>
<ul>
<li>Convert most of the images on this website to AVIF format to reduce file size and save bandwidth.</li>
<li>Improve my status.cafe widget:
<ul>
<li>Write local JavaScript code to fetch data from status.cafe.</li>
<li>Display a loading message before the data fetch request is completed.</li>
<li>Display an error message if the data fetching fails.</li>
<li>Add a link to my status.cafe profile below the widget.</li>
</ul>
</li>
</ul>
<h3 class="date-style"><time datetime="Thu Jun 06 2024 17:44:00 GMT+0000 (Coordinated Universal Time)">6 June 2024</time></h3>
<ul>
<li>Update Leilukin's Hub's site button. This time, I made my site button myself by using Adobe Photoshop CS5.</li>
<li>Add a <a href="/colophon">colophon page</a>.</li>
</ul>
<h3 class="date-style"><time datetime="Thu Jun 06 2024 13:59:00 GMT+0000 (Coordinated Universal Time)">6 June 2024</time></h3>
<ul>
<li>Remove unused Font Awesome assets, including font and CSS files, to improve site performance.</li>
<li>Convert header images, playlist covers and my avatar to AVIF format to reduce file size.</li>
<li>Set shrine index images, shrine home page images and my avatar to lazy loading.</li>
</ul>
<h3 class="date-style"><time datetime="Tue Jun 04 2024 00:47:00 GMT+0000 (Coordinated Universal Time)">4 June 2024</time></h3>
<ul>
<li>Preload the Lexend regular and Lexend 700 font files to improve site performance, remove flash of unstyled text (FOUT) and prevent Cumulative Layout Shift (CLS).</li>
<li>Replace the Webrings section of my home page with a Badges section (though you can still see the list of webrings I have joined on my <a href="/links">Links page</a>).</li>
<li>Updates to Leilukin's Hub will no longer be pushed to Neocities. Read the <a href="/blog/posts/2024-05-31-domain-name-hosting-change-leilukins-hub/#what-happens-now-with-my-neocities-account">&quot;What Happens Now with My Neocities Account&quot;</a> section of my blog post, &quot;Custom Domain Name and Hosting Change for Leilukin's Hub&quot; for more information.</li>
</ul>
<h3 class="date-style"><time datetime="Sun Jun 02 2024 01:32:00 GMT+0000 (Coordinated Universal Time)">2 June 2024</time></h3>
<ul>
<li>Update the <a href="/guestbook">guestbook</a> to add a warning message and a link to send comments via email if the Discord webhook fails.</li>
</ul>
<h3 class="date-style"><time datetime="Fri May 31 2024 11:17:00 GMT+0000 (Coordinated Universal Time)">31 May 2024</time></h3>
<ul>
<li>Leilukin's Hub now has a custom domain name: leilukin.com.</li>
<li>Leilukin's Hub is now hosted on Netlify.</li>
<li>New blog post: <a href="/blog/posts/2024-05-31-domain-name-hosting-change-leilukins-hub">Custom Domain Name and Hosting Change for Leilukin's Hub</a>.</li>
<li>Add <a href="https://status.cafe/users/leilukin">my status.cafe</a> widget to the home page.</li>
</ul>
<h3 class="date-style"><time datetime="Wed May 29 2024 09:33:00 GMT+0000 (Coordinated Universal Time)">29 May 2024</time></h3>
<ul>
<li>New blog post: <a href="/blog/posts/2024-05-29-new-guestbook-leilukins-hub">The Search for a Guestbook Solution for Leilukin's Hub</a>.</li>
</ul>
<h3 class="date-style"><time datetime="Mon May 27 2024 17:49:00 GMT+0000 (Coordinated Universal Time)">27 May 2024</time></h3>
<ul>
<li><a href="/shrines/asummersend"><cite>A Summers End — Hong Kong 1986</cite> shrine</a>: Add Passion Patch screenshots section to the <a href="/shrines/asummersend/gallery">Gallery page</a> (<strong>Warning:</strong> The Passion Patch screenshots are not safe for work, though they are hidden by default when you visit the gallery page).</li>
<li>Add a &quot;Skip to content&quot; button for screen reader and keyboard users (thank you <a href="https://kalechips.net/projects/snippets/skip">Kale</a> for the inspiration).</li>
</ul>
<h3 class="date-style"><time datetime="Sun May 26 2024 05:45:00 GMT+0000 (Coordinated Universal Time)">26 May 2024</time></h3>
<ul>
<li>Add &quot;Personal Sites I Love&quot; section to the <a href="/links">Links</a> page.</li>
</ul>
<h3 class="date-style"><time datetime="Fri May 24 2024 17:09:00 GMT+0000 (Coordinated Universal Time)">24 May 2024</time></h3>
<ul>
<li>Use <a href="https://groundedwren.neocities.org/pages/demo_controls/guestbookDemo">Grounded Wren's guestbook code</a> for this site's <a href="/guestbook">guestbook</a>.</li>
<li>Add &quot;Link Exchanges&quot; section to the <a href="/links">Links</a> page.</li>
<li>Move my mod build links from the Links page to the <a href="/projects">Projects</a> page.</li>
</ul>
<h3 class="date-style"><time datetime="Wed May 22 2024 04:49:00 GMT+0000 (Coordinated Universal Time)">22 May 2024</time></h3>
<ul>
<li>Add <a href="/accessibility/">accessibility statement</a>.</li>
</ul>
<h3 class="date-style"><time datetime="Mon May 20 2024 04:31:00 GMT+0000 (Coordinated Universal Time)">20 May 2024</time></h3>
<ul>
<li>Replace the entire site's default font from Noto Sans to Lexend.</li>
</ul>
<h3 class="date-style"><time datetime="Sun May 19 2024 14:30:00 GMT+0000 (Coordinated Universal Time)">19 May 2024</time></h3>
<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>
<h3 class="date-style"><time datetime="Fri May 17 2024 16:51:00 GMT+0000 (Coordinated Universal Time)">17 May 2024</time></h3>
<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>
<h3 class="date-style"><time datetime="Tue May 14 2024 14:20:00 GMT+0000 (Coordinated Universal Time)">14 May 2024</time></h3>
<ul>
<li>New blog post: <a href="/blog/posts/2024-05-14-james-somerton-my-video-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>
<h3 class="date-style"><time datetime="Thu May 09 2024 05:45:00 GMT+0000 (Coordinated Universal Time)">9 May 2024</time></h3>
<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>
<h3 class="date-style"><time datetime="Mon Apr 29 2024 10:27:00 GMT+0000 (Coordinated Universal Time)">29 April 2024</time></h3>
<ul>
<li>Turn the top navigation manu into a hamburger menu when this website is viewed on mobile devices.</li>
</ul>
<nav aria-labelledby="pagination-title" class="pagination__wrapper">
<h2 class="visually-hidden" id="pagination-title">Pagination</h2>
<ul class="pagination">
<li>
<a href="/changelogs/">
<svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z"></svg>
Newest
</a>
</li>
<li>
<a href=" /changelogs/">
<i class="fa-solid fa-angle-left"></i>
<svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg>
Newer
</a>
</li>
<li>
<a href=" /changelogs/page/3/">
Older
<svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg>
</a>
</li>
<li>
<a href=" /changelogs/page/7/">
Oldest
<svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z"/></svg>
</a>
</li>
</ul>
</nav>
</article>
</content-wrapper>
</main>
<footer class="footer">
<p>
<svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>
<a href="mailto:contact@leilukin.com">Contact me by email</a> (<a href="https://useplaintext.email/">plain text email</a> encouraged)
</p>
<h2 class="visually-hidden">Footer Navigation:</h2>
<ul class="inline-nav footer__links">
<li>
<a href="/feed.xml"><svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>RSS Feed</a>
</li>
<li><a
href="/sitemap/
">Site Map</a></li><li><a
href="/changelogs/"
>Changelogs</a></li><li><a
href="/accessibility/"
>Accessibility</a></li><li><a
href="/colophon/"
>Colophon</a></li></ul>
<p>Made with ♥ by Leilukin since 11 September 2022</p>
<p>
<svg class="inline-icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M96 64c0-17.7 14.3-32 32-32l320 0 64 0c70.7 0 128 57.3 128 128s-57.3 128-128 128l-32 0c0 53-43 96-96 96l-192 0c-53 0-96-43-96-96L96 64zM480 224l32 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0 0 128zM32 416l512 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
<a href="https://ko-fi.com/leilukin">Support me on Ko-Fi</a>
</p><div class="h-card hidden">
<span class="p-name p-nickname">Leilukin</span>
<a href="/" class="u-url">Home page</a>
<img src="https://i.postimg.cc/RZJgS6tY/leilukin-bee.avif" alt="Leilukin" class="u-photo" loading="lazy">
<span class="p-country-name">Malaysia</span>
<span class="p-note">They/she. A proudly queer and autistic <span class="p-gender-identity">non-binary</span> lesbian from Malaysia.</span>
</div><a href="#top" class="top-btn">
<svg class="top-btn__arrow" focusable="false" aria-hidden="true" viewBox="0 0 26 28">
<path d="M25.172 15.172c0 0.531-0.219 1.031-0.578 1.406l-1.172 1.172c-0.375 0.375-0.891 0.594-1.422 0.594s-1.047-0.219-1.406-0.594l-4.594-4.578v11c0 1.125-0.938 1.828-2 1.828h-2c-1.062 0-2-0.703-2-1.828v-11l-4.594 4.578c-0.359 0.375-0.875 0.594-1.406 0.594s-1.047-0.219-1.406-0.594l-1.172-1.172c-0.375-0.375-0.594-0.875-0.594-1.406s0.219-1.047 0.594-1.422l10.172-10.172c0.359-0.375 0.875-0.578 1.406-0.578s1.047 0.203 1.422 0.578l10.172 10.172c0.359 0.375 0.578 0.891 0.578 1.422z"></path>
</svg>
Back to Top
</a>
</footer>
</body>
</html>