539 lines
18 KiB
HTML
539 lines
18 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" dir="ltr" id="top">
|
|
<head>
|
|
|
|
|
|
<meta property="og:title" content="Projects">
|
|
|
|
<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="Things Leilukin has created.">
|
|
<meta name="generator" content="Eleventy v3.0.0">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="https://leilukin.com/projects/">
|
|
<meta property="og:site_name" content="Leilukin's Hub">
|
|
<meta property="og:locale" content="en_MY">
|
|
<meta property="og:description" content="Things Leilukin has created.">
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:url" content="https://leilukin.com/projects/">
|
|
<meta name="twitter:description" content="Things Leilukin has created.">
|
|
<link rel="canonical" href="https://leilukin.com/projects/">
|
|
|
|
|
|
|
|
<link rel="alternate" type="application/rss+xml" title="Leilukin's Hub" href="https://leilukin.com/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>.toc__wrapper {
|
|
max-height: 89vh;
|
|
overflow-x: auto;
|
|
background-color: var(--clr-content-bg);
|
|
padding: 1rem 1.3rem;
|
|
}
|
|
|
|
.toc__heading {
|
|
font-size: 1.3rem;
|
|
font-weight: 700;
|
|
color: var(--clr-sub-heading);
|
|
}
|
|
|
|
.toc ol,
|
|
.toc ol ol {
|
|
display: grid;
|
|
gap: 0.3em;
|
|
}
|
|
|
|
.toc ol {
|
|
border-top: 0.1em solid var(--clr-title-border);
|
|
padding-left: 1.3em;
|
|
padding-top: 1em;
|
|
}
|
|
|
|
.toc ol ol {
|
|
border-top: none;
|
|
list-style-type: disc;
|
|
padding-left: 1em;
|
|
padding-top: 0.3em;
|
|
}
|
|
|
|
.toc ol a {
|
|
font-size: 1.1rem;
|
|
padding-left: 0.3em;
|
|
}
|
|
|
|
.toc ol ol a {
|
|
padding: 0;
|
|
font-size: 1rem;
|
|
}
|
|
.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;
|
|
}
|
|
|
|
.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://twitter.com/Leilukin">
|
|
<link rel="me" href="https://github.com/Leilukin">
|
|
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
|
|
|
|
|
|
<link rel="webmention" href="https://webmention.io/leilukin.com/webmention">
|
|
|
|
|
|
<script src="/assets/js/MnPoD-suxd.js" defer></script>
|
|
|
|
<script src="/assets/js/details-utils.js" defer></script>
|
|
|
|
|
|
<title>
|
|
Projects | 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 aria-current="page" 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 aria-current="page" 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>Projects</h1>
|
|
|
|
|
|
|
|
<p>Things Leilukin has created.</p>
|
|
|
|
|
|
</header>
|
|
|
|
<content-wrapper>
|
|
|
|
<aside class="left-sidebar" aria-label="Left sidebar">
|
|
<details-utils force-open="(min-width: 60rem)" force-restore>
|
|
<details class="toc__wrapper sidebar--sticky">
|
|
<summary class="toc__heading" id="toc-heading">
|
|
Table of Contents
|
|
</summary>
|
|
<nav class="toc" aria-labelledby="toc-heading"><ol><li><a href="#my-other-websites">My Other Websites</a></li>
|
|
<li><a href="#my-code-projects">My Code Projects</a></li>
|
|
<li><a href="#my-code-snippets">My Code Snippets</a></li>
|
|
<li><a href="#my-drawings">My Drawings</a></li>
|
|
<li><a href="#my-video-game-mods">My Video Game Mods</a></li>
|
|
<li><a href="#my-playlists">My Playlists</a></li>
|
|
<li><a href="#my-characters">My Characters</a></li></ol></nav>
|
|
</details>
|
|
</details-utils>
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="content content--divided">
|
|
<section class="content__section"><div class="heading-wrapper h2">
|
|
<h2 id="my-other-websites">My Other Websites</h2>
|
|
<a class="heading-anchor" href="#my-other-websites" aria-labelledby="my-other-websites"><span hidden>#</span></a></div>
|
|
<ul>
|
|
<li><a href="https://tumbleblog.leilukin.com/">Leilukin's Hub Tumbleblog</a> — My tumbleblog powered by <a href="https://chyrplite.net/">Chyrp Lite</a></li>
|
|
<li><a href="https://fan.leilukin.com/">Beehive</a> — My fanlisting collective</li>
|
|
</ul>
|
|
</section>
|
|
<section class="content__section"><div class="heading-wrapper h2">
|
|
<h2 id="my-code-projects">My Code Projects</h2>
|
|
<a class="heading-anchor" href="#my-code-projects" aria-labelledby="my-code-projects"><span hidden>#</span></a></div>
|
|
<ul><li><a href="/projects/code/bellabuffs-phpmailer/">BellaBuffs with PHPMailer Integration</a> — My fork of BellaBuffs, with PHPMailer powering the email sending features.</li></ul>
|
|
</section>
|
|
<section class="content__section"><div class="heading-wrapper h2">
|
|
<h2 id="my-code-snippets">My Code Snippets</h2>
|
|
<a class="heading-anchor" href="#my-code-snippets" aria-labelledby="my-code-snippets"><span hidden>#</span></a></div>
|
|
<ul><li><a href="/projects/snippets/disability-pride-flag-background/">Responsive Disability Pride Flag CSS Background</a> — CSS code snippet of Disability Pride Flag background that can adapt to different widths and screen sizes.</li></ul>
|
|
</section>
|
|
<section class="content__section"><div class="heading-wrapper h2">
|
|
<h2 id="my-drawings">My Drawings</h2>
|
|
<a class="heading-anchor" href="#my-drawings" aria-labelledby="my-drawings"><span hidden>#</span></a></div>
|
|
<p>My drawings can be found on my art blog on Tumblr:</p>
|
|
<p><a href="https://leilukinart.tumblr.com/" class="link-btn">🎨 Leilukin's Art Blog</a></p>
|
|
</section>
|
|
<section class="content__section"><div class="heading-wrapper h2">
|
|
<h2 id="my-video-game-mods">My Video Game Mods</h2>
|
|
<a class="heading-anchor" href="#my-video-game-mods" aria-labelledby="my-video-game-mods"><span hidden>#</span></a></div>
|
|
<p>I have created mods (short for "modifications") for the following video games:</p>
|
|
<ul><li>
|
|
<a href="/projects/videogamemods/kotor1/">My Mods for Star Wars: Knights of the Old Republic</a>
|
|
</li><li>
|
|
<a href="/projects/videogamemods/kotor2/">My Mods for Star Wars: Knights of the Old Republic II: The Sith Lords</a>
|
|
</li></ul>
|
|
</section>
|
|
<section class="content__section"><div class="heading-wrapper h2">
|
|
<h2 id="my-playlists">My Playlists</h2>
|
|
<a class="heading-anchor" href="#my-playlists" aria-labelledby="my-playlists"><span hidden>#</span></a></div>
|
|
<p>You can check out the playlists I have made on <a href="./playlists/">my dedicated page</a>.</p>
|
|
</section>
|
|
<section class="content__section"><div class="heading-wrapper h2">
|
|
<h2 id="my-characters">My Characters</h2>
|
|
<a class="heading-anchor" href="#my-characters" aria-labelledby="my-characters"><span hidden>#</span></a></div>
|
|
<p>I have created my own characters for various media and universes. <a href="https://www.notion.so/leilukin/Leilukin-s-Characters-b377e277f01b4474945e85cf4cb15ada?pvs=4">You can check out my characters here</a>.</p>
|
|
</section>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</content-wrapper>
|
|
</main>
|
|
<footer class="footer">
|
|
<p>Made with ♥ by Leilukin since 11 September 2022</p>
|
|
|
|
|
|
<ul class="inline-nav footer__links">
|
|
<li><a href="/feed.xml">RSS</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>
|
|
<ul class="inline-nav footer__links">
|
|
<li><a href="mailto:contact@leilukin.com">Contact me by email</a></li>
|
|
<li><a href="https://ko-fi.com/leilukin">Support me on Ko-Fi</a></li>
|
|
</ul><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> |