<!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="My Music Playlists">
        
        <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="Music playlists that I have created.">
<meta name="generator" content="Eleventy v2.0.1">
<meta property="og:type" content="website">
<meta property="og:url" content="https://leilukin.neocities.org/projects/playlists/">
<meta property="og:site_name" content="Leilukin's Hub">
<meta property="og:locale" content="en_MY">
<meta property="og:description" content="Music playlists that I have created.">
<meta name="twitter:card" content="summary">
<meta name="twitter:url" content="https://leilukin.neocities.org/projects/playlists/">
<meta name="twitter:description" content="Music playlists that I have created.">
<link rel="canonical" href="https://leilukin.neocities.org/projects/playlists/">


        
        <link rel="stylesheet" href="/assets/css/main.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>
            My Music Playlists | 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;
        filter: drop-shadow(0.1rem 0.1rem 0.2rem black);
        max-height: 16rem;
    }
</style>

<script defer>
    const hero = document.querySelector(".hero");
    const todayEvent = getTodayEvent();
    const heroTopBarEl = document.querySelector(".hero__top-bar");
    const headerImgEl = document.querySelector(".hero__img");

    
    if (todayEvent != "No event") {
        heroTopBarEl.classList.remove('hidden');

        if (todayEvent == "Leilukin's Birthday" || todayEvent == "Leilukin's Hub Anniversary") {
            heroTopBarEl.innerHTML = getBlurbHtml(todayEvent);
        } else {
            headerImgEl.classList.add(getBanner(todayEvent));
            heroTopBarEl.innerHTML = getBlurbHtml(todayEvent);
        }
    }

    function getTodayEvent() {
        const date = new Date();
        const month = date.getMonth() + 1;
        const day = date.getDate();

        if (month == 3 && day == 1)
            return "Zero Discrimination Day";
        else if (month == 3 && day == 31)
            return "Trans Day of Visibility";
        else if (month == 4 && day == 6)
            return "International Asexuality Day";
        else if (month == 4 && day == 26)
            return "Lesbian Visibility Day";
        else if (month == 5 && day == 17)
            return "IDAHOBIT";
        else if (month == 5 && day == 19)
            return "Agender Pride Day";
        else if (month == 5 && day == 25)
            return "Pansexual and Panromantic Awareness & Visibility Day";
        else if (month == 6)
            return "Pride Month";
        else if (month == 7 && day == 14)
            return "Non-Binary People's Day";
        else if (month == 7 && day == 28)
            return "Leilukin's Birthday";
        else if (month == 9 && day == 11)
            return "Leilukin's Hub Anniversary";
        else if (month == 9 && day == 23)
            return "Bi Visibility Day";
        else if (month == 10 && day == 8)
            return "International Lesbian Day";
        else if (month == 10 && day == 11)
            return "National Coming Out Day";
        else if (month == 10 && day == 26)
            return "Intersex Awareness Day";
        else
            return "No event";
    }

    function getBanner(day) {
        switch (day) {
            case "Zero Discrimination Day":
                return "flag-progress-intersex";
                break;
            case "Trans Day of Visibility":
                return "flag-trans";
                break;
            case "International Asexuality Day":
                return "flag-ace";
                break;
            case "Lesbian Visibility Day":
                return "flag-lesbian";
                break;
            case "IDAHOBIT":
                return "flag-progress";
                break;
            case "Agender Pride Day":
                return "flag-agender";
                break;
            case "Pansexual and Panromantic Awareness & Visibility Day":
                return "flag-pan";
                break;
            case "Pride Month":
                return "flag-progress-intersex";
                break;
            case "Non-Binary People's Day":
                return "flag-non-binary";
                break;
            case "Bi Visibility Day":
                return "flag-bi";
                break;
            case "International Lesbian Day":
                return "flag-lesbian";
                break;
            case "National Coming Out Day":
                return "flag-rainbow";
                break;
            case "Intersex Awareness Day":
                return "flag-intersex";
                break;
            default:
                return "";
        }
    }

    function getBlurbHtml(day) {
        switch (day) {
            case "Zero Discrimination Day":
                return `
                    Today is <a href="https://www.unaids.org/en/zero-discrimination-day" target="_blank">Zero Discrimination Day</a>
                `;
                break;
            case "Trans Day of Visibility":
                return `
                    Today is <a href="https://www.manygendersonevoice.org/tdov.html" target="_blank">Trans Day of Visibility</a>
                `;
                break;
            case "International Asexuality Day":
                return `
                    Today is <a href="https://internationalasexualityday.org/en" target="_blank">International Asexuality Day</a>
                `;
                break;
            case "Lesbian Visibility Day":
                return `
                    Today is <a href="https://www.lesbianvisibilityweek.com" target="_blank">Lesbian Visibility Day</a>
                `;
                break;
            case "IDAHOBIT":
                return `
                    Today is <a href="https://may17.org" target="_blank">International Day Against Homophobia, Biphobia and Transphobia</a></span>
                `;
                break;
            case "Agender Pride Day":
                return `
                    Today is <a href="https://www.believeoutloud.com/voices/article/agender-pride-day/" target="_blank">Agender Pride Day</a></span>
                `;
                break;
            case "Pansexual and Panromantic Awareness & Visibility Day":
                return `
                    Today is <a href="https://genderedintelligence.co.uk/panvisibilityday" target="_blank">Pansexual and Panromantic Visibility Day</a>
                `;
                break;
            case "Pride Month":
                return `
                    Happy <a href="https://www.loc.gov/lgbt-pride-month/about/" target="_blank">Pride Month</a>!
                `;
                break;
            case "Non-Binary People's Day":
                return `
                    Today is <a href="https://www.manygendersonevoice.org/non-binary-peoples-day.html" target="_blank">Non-Binary People's Day</a>
                `;
                break;
            case "Leilukin's Birthday":
                return `
                    Today is Leilukin's birthday
                `;
                break;
            case "Leilukin's Hub Anniversary":
                return `
                    Today is the anniversary of the launch of Leilukin's Hub
                `;
                break;
            case "Bi Visibility Day":
                return `
                    Today is <a href="https://bivisibilityday.com/about" target="_blank">Bi Visibility Day</a>
                `;
                break;
            case "International Lesbian Day":
                return `
                    Today is <a href="https://www.lgbtiqhealth.org.au/international_lesbian_day2" target="_blank">International Lesbian Day</a>
                `;
                break;
            case "National Coming Out Day":
                return `
                    Today is <a href="https://www.hrc.org/resources/national-coming-out-day" target="_blank">National Coming Out Day</a>
                `;
                break;
            case "Intersex Awareness Day":
                return `
                    Today is <a href="https://interactadvocates.org/intersex-awareness-day" target="_blank">Intersex Awareness Day</a>
                `;
                break;
            default:
                return ``;
        }
    }

</script>
        <nav class="navbar">
    <ul class="nav__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="/links/">
                Links
            </a>
        </li>
    <li><a href="https://leilukin.123guestbook.com/">Guestbook</a></li>

    </ul>
</nav>

<style>
    .navbar {
        background: var(--clr-navbar-bg);
        padding: 0 0.6rem;
        width: 100%;
        z-index: 999;
        position: sticky;
        top: 0;
    }

    .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;
        outline: 0.15em solid var(--clr-navbar-link);
    }

    .nav__menu {
        list-style: none;
        padding: 0;
        display: flex;
        justify-content: space-evenly;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
</style>

        <main>
            <header class="main__header">
    
        <ul class="breadcrumbs">
            
            <li>
                <a href="/projects/" >Projects</a>
            </li>
            ➔
        </ul>
    

    
        <h1>My Music Playlists</h1>
        
            <p>Music playlists that I have created.</p>
        
    
</header>

<div class="content__wrapper">
    
        <aside class="left-sidebar">
    <details class="toc__wrapper sidebar--sticky">
        <summary class="toc__heading">
            On This Page
        </summary>
        <nav class="toc">
                <ol>
                    
                    <li><a href="#my-dear-summer-lover">My Dear Summer Lover</a>
            		</li>

                    <li><a href="#mandopop-lgbtq-anthem">Mandopop LGBTQ+ Anthem 華語流行音樂同志國歌</a>
            		</li>
                </ol>
            </nav>
    </details>
</aside>

<style>
    .toc__wrapper {
        max-height: 89vh;
        overflow: 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);
        cursor: pointer;
    }

    .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;
    }
</style>

    

    
		<div class="content ">
			<div class="heading-wrapper h2">
<h2 id="my-dear-summer-lover">My Dear Summer Lover</h2>
<a class="heading-anchor" href="#my-dear-summer-lover" aria-labelledby="my-dear-summer-lover"><span hidden>#</span></a></div>
<p><img src="/assets/projects/playlists/My-Dear-Summer-Lover-cover.png" alt="A playlist cover image made of Sam and Michelle from A Summer's End being close to kissing, with the title 'My Dear Summer Lover: A Sam x Michelle Fanmix'"></p>
<p>A fanmix for the visual novel <cite><a href="https://www.asummersend.com/home">A Summer’s End — Hong Kong 1986</a></cite>, dedicated to Sam and Michelle’s love story.</p>
<p>This mix contains mostly Cantonese and English songs, with one Mandarin song. Majority of these songs were performed by Hong Kong artists and released in the 80s, because A Summer’s End took place in Hong Kong and in the 80s.</p>
<p>I have carefully selected and arranged these tracks, so the lyrics would reflect Sam and Michelle’s relationship development throughout A Summer’s End. Therefore, the content of this mix could be considered spoilers if you have not played the visual novel.</p>
<p>Since Oracle and Bone has cited Anita Mui as a major inspiration for them and this visual novel, I have also included multiple songs performed by Anita Mui in this mix. Because A Summer’s End is a lesbian story, when I was choosing which songs to include in this mix, I also prioritize songs that were performed by women artists.</p>
<p><a class="link-btn" href="https://open.spotify.com/playlist/3SIV7VjSKhspYwugVIQjug" target="_blank">Listen on Spotify</a></p>
<iframe style="border-radius:12px" src="https://open.spotify.com/embed/playlist/3SIV7VjSKhspYwugVIQjug?utm_source=generator" width="100%" height="380" frameBorder="0" allowfullscreen="" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy"></iframe>
<div class="heading-wrapper h2">
<h2 id="mandopop-lgbtq-anthem">Mandopop LGBTQ+ Anthem 華語流行音樂同志國歌</h2>
<a class="heading-anchor" href="#mandopop-lgbtq-anthem" aria-labelledby="mandopop-lgbtq-anthem"><span hidden>#</span></a></div>
<p><img src="/assets/projects/playlists/Mandopop-LGBTQ+-Anthem-Cover.png" alt="A playlist cover image made of the progress pride flag, with Chinese words meaning queer anthem on top"></p>
<p>Collection of Mandarin queer anthems.</p>
<p>I made this playlist after discovering Wikipedia's list of Chinese queer anthems on <a href="https://zh.wikipedia.org/wiki/%E5%90%8C%E5%BF%97%E5%9C%8B%E6%AD%8C#%E8%8F%AF%E8%AA%9E">its Mandarin article for Gay Anthem (同志國歌)</a>.</p>
<p><a class="link-btn" href="https://open.spotify.com/playlist/5JXAUPZkmv1cFScAfhOkXh" target="_blank">Listen on Spotify</a></p>
<iframe style="border-radius:12px" src="https://open.spotify.com/embed/playlist/5JXAUPZkmv1cFScAfhOkXh?utm_source=generator" width="100%" height="380" frameBorder="0" allowfullscreen="" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy"></iframe>

		</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;
    }
</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;
        background: var(--clr-main-footer-bg);
        padding: 0.8rem;
        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;
    }

    @media only screen and (min-width: 600px) {
        .footer {
            width: 100%;
        }
    }
</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>