Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {% cite "A Summer’s End — Hong Kong 1986" %}, an indie visual novel developed by Oracle and Bone. Set in 1980s Hong Kong, it tells of a love story between two women.
Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {% cite "Cassette Beasts" %}, an indie monster collecting turn-based open-world role-playing video game developed by Bytten Studio and published by Raw Fury.
-{% endblock %}
diff --git a/src/_includes/asummersend/myplaylist.html b/src/_includes/components/aseplaylist.vto
similarity index 87%
rename from src/_includes/asummersend/myplaylist.html
rename to src/_includes/components/aseplaylist.vto
index a7e1f06c..efa9bd90 100644
--- a/src/_includes/asummersend/myplaylist.html
+++ b/src/_includes/components/aseplaylist.vto
@@ -1,13 +1,12 @@
-{% macro myASEPlaylist(intro) %}
-{% imgFigure "/assets/projects/playlists/My-Dear-Summer-Lover-cover.avif", "Cover image of A Summer’s End fanmix 'My Dear Summer Lover: A Sam x Michelle Fanmix'" %}
+{{ imgFigure "/assets/projects/playlists/My-Dear-Summer-Lover-cover.avif", "Cover image of A Summer’s End fanmix 'My Dear Summer Lover: A Sam x Michelle Fanmix'" }}
[Image description: Sam and Michelle from A Summer’s End almost kisses, with a play symbol and text on the top left corner, and the text "My Dear Summer Lover: A Sam x Michelle Fanmix" in a digital style font in front.]
-{% endimgFigure %}
+{{ /imgFigure }}
-{{ intro }} [{% cite "A Summer’s End — Hong Kong 1986" %}](https://www.asummersend.com/home), dedicated to Sam and Michelle’s love story.
+{{ intro }} [{{ cite "A Summer’s End — Hong Kong 1986" }}](https://www.asummersend.com/home), dedicated to Sam and Michelle’s love story.
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.
-I have carefully selected and arranged these tracks, so the lyrics would reflect Sam and Michelle’s relationship development throughout {% cite "A Summer’s End" %}. Therefore, the content of this mix could be considered spoilers if you have not played the visual novel.
+I have carefully selected and arranged these tracks, so the lyrics would reflect Sam and Michelle’s relationship development throughout {{ cite "A Summer’s End" }}. Therefore, the content of this mix could be considered spoilers if you have not played the visual novel.
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.
@@ -28,4 +27,3 @@ Tracklist:
[Listen on Spotify](https://open.spotify.com/playlist/3SIV7VjSKhspYwugVIQjug){.link-btn}
-{% endmacro %}
\ No newline at end of file
diff --git a/src/_includes/global/macros.njk b/src/_includes/components/functions.vto
similarity index 51%
rename from src/_includes/global/macros.njk
rename to src/_includes/components/functions.vto
index c8c26fd6..bd3355b8 100644
--- a/src/_includes/global/macros.njk
+++ b/src/_includes/components/functions.vto
@@ -1,26 +1,27 @@
-{%- macro articleList(tag) -%}
+{{ export function articleList(tag) }}
- {%- for article in collections[tag] -%}
+ {{ for article of collections[tag] }}
Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {{ cite "A Summer’s End — Hong Kong 1986" }}, an indie visual novel developed by Oracle and Bone. Set in 1980s Hong Kong, it tells of a love story between two women.
Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {{ cite "Cassette Beasts" }}, an indie monster collecting turn-based open-world role-playing video game developed by Bytten Studio and published by Raw Fury.
Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {{ cite "Pokémon Omega Ruby and Alpha Sapphire" }}, remakes of the 2002 Game Boy Advance role-playing video games {{ cite "Pokémon Ruby" }} and {{ cite "Pokémon Sapphire" }}. The games are part of the sixth generation of the {{ cite "Pokémon" }} main series of video games, developed by Game Freak and published by The Pokémon Company and Nintendo for the Nintendo 3DS.
Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {{ cite "Star Wars: Knights of the Old Republic" }}, a series of role-playing video games set in the {{ cite "Star Wars" }} universe, taking place almost 4,000 years before the events of the Skywalker film saga.
-{%- css %}
+{{ css }}
.hero {
width: 100%;
background-color: var(--clr-hero-bg);
@@ -33,14 +31,12 @@
overflow: hidden;
max-height: 16rem;
}
-{% endcss %}
+{{ /css }}
-{%- js %}
+{{ js }}
const hero = document.querySelector(".hero");
const heroTopBarEl = document.querySelector(".hero__top-bar");
const headerImgEl = document.querySelector(".hero__img");
-{% block eventScript %}
{{ eventScript }}
-{% endblock %}
-{% endjs %}
+{{ /js }}
diff --git a/src/_includes/starwarskotor/modlist-info.md b/src/_includes/partials/kotor-modlist.md
similarity index 83%
rename from src/_includes/starwarskotor/modlist-info.md
rename to src/_includes/partials/kotor-modlist.md
index 238e763e..2f41cdb7 100644
--- a/src/_includes/starwarskotor/modlist-info.md
+++ b/src/_includes/partials/kotor-modlist.md
@@ -1,17 +1,17 @@
-{% set kotor2FullTitle %}{{ " II: The Sith Lords" if page.url.includes("kotor2") else ""}}{% endset %}
-{% set kotor2ShortTitle %}{{ " 2" if page.url.includes("kotor2") else ""}}{% endset %}
+{{ set kotor2FullTitle }}{{ page.url.includes("kotor2") ? " II: The Sith Lords" : "" }}{{ /set }}
+{{ set kotor2ShortTitle }}{{ page.url.includes("kotor2") ? " 2" : ""}}{{ /set }}
-{% container "article", "content__section" %}
+{{ container "article", "content__section" }}
## Spoiler Warning
WARNING: The full list of my mod build contains spoilers for Star Wars: Knights of the Old Republic{{ kotor2FullTitle }}!
-My mod build is not designed for new KotOR{{ kotor2ShortTitle }} players, so I will not censor any information that contains spoilers for the game. In general, I do not recommend using mods in your very first playthrough of any video game, so you can judge and choose which mods you want to use after finishing the game for the first time. The only exceptions are the [KotOR 1 Community Patch](https://deadlystream.com/files/file/1258-kotor-1-community-patch/) for {% cite "KotOR 1" %} and [The Sith Lords Restored Content Mod](https://deadlystream.com/files/file/578-tsl-restored-content-mod/) for KotOR{{ kotor2ShortTitle }}, which are absolutely essential mods that even if you want to use them in your first playthrough, you definitely have my support.
+My mod build is not designed for new KotOR{{ kotor2ShortTitle }} players, so I will not censor any information that contains spoilers for the game. In general, I do not recommend using mods in your very first playthrough of any video game, so you can judge and choose which mods you want to use after finishing the game for the first time. The only exceptions are the [KotOR 1 Community Patch](https://deadlystream.com/files/file/1258-kotor-1-community-patch/) for {{ cite "KotOR 1" }} and [The Sith Lords Restored Content Mod](https://deadlystream.com/files/file/578-tsl-restored-content-mod/) for KotOR{{ kotor2ShortTitle }}, which are absolutely essential mods that even if you want to use them in your first playthrough, you definitely have my support.
If you are going to play KotOR{{ kotor2ShortTitle }} for the first time, and you do not mind using mods, I would suggest checking out the Spoiler-Free version of [KotOR Community Portal’s KotOR mod builds](https://kotor.neocities.org/modding/) instead.
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
+{{ container "article", "content__section" }}
## Mod Categories
The mods I included in my mod build are divided into the following categories, which clarifies the types of changes the mod makes:
@@ -45,18 +45,18 @@ Restored Content
Sound Change
: As the name implies, these mods make changes to the sound in the vanilla game. The sound could be music or ambient audios.
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
+{{ container "article", "content__section" }}
## Mod Tiers
-The tiers for each mod included in my mod build are not necessarily a judgement on the quality of the mods themselves. In my mod builds, mod tiers are ranked on a scale of 1-4, based on how important the individual mods are for my experience with the {% cite "KotOR" %} games.
+The tiers for each mod included in my mod build are not necessarily a judgement on the quality of the mods themselves. In my mod builds, mod tiers are ranked on a scale of 1-4, based on how important the individual mods are for my experience with the {{ cite "KotOR" }} games.
Tier 1 - Essential
-: This tier indicates mods that I cannot play the {% cite "KotOR" %} games without. Usually this is because I find those mods make very crucial changes to the game, typically by fixing things that bother me the most in the vanilla game. Similarly, mods of the Patch category that belong to this tier make critical changes to other mods. I consider excluding Tier 1 mods will negatively affect my experience with the {% cite "KotOR" %} games.
+: This tier indicates mods that I cannot play the {{ cite "KotOR" }} games without. Usually this is because I find those mods make very crucial changes to the game, typically by fixing things that bother me the most in the vanilla game. Similarly, mods of the Patch category that belong to this tier make critical changes to other mods. I consider excluding Tier 1 mods will negatively affect my experience with the {{ cite "KotOR" }} games.
Tier 2 - Very Important
-: This tier indicates mods that vastly improve my experience with the game. Mods belong to this tier are the bread and butter of my mod build. That said, unlike Tier 1 mods, excluding Tier 2 mods from my playthrough does not actively make my {% cite "KotOR" %} experience worse either.
+: This tier indicates mods that vastly improve my experience with the game. Mods belong to this tier are the bread and butter of my mod build. That said, unlike Tier 1 mods, excluding Tier 2 mods from my playthrough does not actively make my {{ cite "KotOR" }} experience worse either.
Tier 3 - Somewhat Important
: This tier indicates mods that make changes that are in smaller scope or more subjective compared to Tier 1 and Tier 2 mods. Usually this is because the changes made by Tier 3 mods are less noticeable or more of a matter of personal taste.
@@ -64,4 +64,4 @@ Tier 3 - Somewhat Important
Tier 4 - Optional
: This tier indicates mods that make even smaller or more subjective changes than Tier 3 mods, to the point that using these mods is optional. I include Tier 4 mods in my build for the purpose of maximizing my immersion, or because I use these mods for customization purposes for my characters.
{.deflist-1col}
-{% endcontainer %}
\ No newline at end of file
+{{ /container }}
diff --git a/src/_includes/global/meta.html b/src/_includes/partials/meta.vto
similarity index 58%
rename from src/_includes/global/meta.html
rename to src/_includes/partials/meta.vto
index 939ee95d..7ab6a9ca 100644
--- a/src/_includes/global/meta.html
+++ b/src/_includes/partials/meta.vto
@@ -1,12 +1,12 @@
-
+
-
-
-
+
+
+
-
\ No newline at end of file
+
diff --git a/src/_includes/global/navbar.html b/src/_includes/partials/navbar.vto
similarity index 84%
rename from src/_includes/global/navbar.html
rename to src/_includes/partials/navbar.vto
index 817fbd6d..5b866e30 100644
--- a/src/_includes/global/navbar.html
+++ b/src/_includes/partials/navbar.vto
@@ -1,29 +1,29 @@
-{% set navLinksEl %}
- {%- if tags and tags.includes("shrine pages") %}
+{{ set navLinksEl }}
+ {{ if tags && tags.includes("shrine pages") }}
Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {% cite "Pokémon Omega Ruby and Alpha Sapphire" %}, remakes of the 2002 Game Boy Advance role-playing video games {% cite "Pokémon Ruby" %} and {% cite "Pokémon Sapphire" %}. The games are part of the sixth generation of the {% cite "Pokémon" %} main series of video games, developed by Game Freak and published by The Pokémon Company and Nintendo for the Nintendo 3DS.
Welcome to {{ sitemeta.siteAuthor.name }}'s shrine for {% cite "Star Wars: Knights of the Old Republic" %}, a series of role-playing video games set in the {% cite "Star Wars" %} universe, taking place almost 4,000 years before the events of the Skywalker film saga.
-{% endblock %}
diff --git a/src/articles/articles.11tydata.js b/src/articles/articles.11tydata.js
index 7dfcddea..cfe03166 100644
--- a/src/articles/articles.11tydata.js
+++ b/src/articles/articles.11tydata.js
@@ -1,6 +1,6 @@
export default {
tags: ["articles", "contents", "feed items"],
- layout: "main/content",
+ layout: "layouts/main",
permalink: "/articles/{{ page.fileSlug }}/",
isArticle: true,
eleventyComputed: {
@@ -10,4 +10,4 @@ export default {
parent: "Articles"
}
}
-}
\ No newline at end of file
+}
diff --git a/src/articles/featured/kotor2-modder-interview-ars-technica.md b/src/articles/featured/kotor2-modder-interview-ars-technica.md
index 5d203949..4e1b8e92 100644
--- a/src/articles/featured/kotor2-modder-interview-ars-technica.md
+++ b/src/articles/featured/kotor2-modder-interview-ars-technica.md
@@ -5,7 +5,7 @@ desc: Ars Technica's article on the KotOR 2's modding community to celebrate the
categories: ["my interviews", "star wars kotor 2", "video game mods"]
---
-On 6 December 2019, to celebrate the 15th anniversary of {% cite "Star Wars: Knights of the Old Republic 2" %}, Ars Technica has published [an article about the modding community of KotOR 2](https://arstechnica.com/gaming/2019/12/the-modders-that-spent-15-years-fixing-knights-of-the-old-republic-2/). I was interviewed by the author of this article, Austin Taylor, for my same-gender romance mods for {% cite "KotOR 2" %}.
+On 6 December 2019, to celebrate the 15th anniversary of {{ cite "Star Wars: Knights of the Old Republic 2" }}, Ars Technica has published [an article about the modding community of KotOR 2](https://arstechnica.com/gaming/2019/12/the-modders-that-spent-15-years-fixing-knights-of-the-old-republic-2/). I was interviewed by the author of this article, Austin Taylor, for my same-gender romance mods for {{ cite "KotOR 2" }}.
> ### Romance? Yes, Please
>
@@ -20,4 +20,4 @@ On 6 December 2019, to celebrate the 15th anniversary of {% cite "Star Wars: Kni
> To recruit both The Handmaiden and The Disciple at the same time, players can install the [PartySwap mod by DarthTyren](https://deadlystream.com/files/file/544-partyswap/). That mod was initially lacking the same-gender romance dialogue from Leiluken’s mod. But Leiluken has since added a compatibility installation option, letting the two mods now work together and fully opening up the same-gender romance options of your dreams.
Read the full article on Ars Technica here:
-[The modders who spent 15 years fixing Knights of the Old Republic 2](https://arstechnica.com/gaming/2019/12/the-modders-that-spent-15-years-fixing-knights-of-the-old-republic-2/)
\ No newline at end of file
+[The modders who spent 15 years fixing Knights of the Old Republic 2](https://arstechnica.com/gaming/2019/12/the-modders-that-spent-15-years-fixing-knights-of-the-old-republic-2/)
diff --git a/src/articles/myarticles/accessible-footnotes.md b/src/articles/myarticles/accessible-footnotes.md
index 7becde19..3bf73659 100644
--- a/src/articles/myarticles/accessible-footnotes.md
+++ b/src/articles/myarticles/accessible-footnotes.md
@@ -23,7 +23,7 @@ On [32-Bit Cafe's Discourse forum](https://discourse.32bit.cafe/), I made a [pos
Plagiarism.org [defines footnotes](https://www.plagiarism.org/article/what-are-footnotes) as notes placed at the bottom of a page, and what footnotes do is to cite references or comment on a designated part of the text above it.
-My use case of footnotes is citing sources of information, particularly citing the same source multiple times on the same page when information from the same source is spread across my page. As of this writing, my website pages that use footnotes include the [trivia page of my {% cite "A Summer’s End — Hong Kong 1986" %} shrine 1](/shrines/asummersend/trivia/) and the [facts page of my {% cite "Cassette Beasts" %} shrine](/shrines/cassettebeasts/facts/). You are free to look at the HTML and CSS for reference.
+My use case of footnotes is citing sources of information, particularly citing the same source multiple times on the same page when information from the same source is spread across my page. As of this writing, my website pages that use footnotes include the [trivia page of my {{ cite "A Summer’s End — Hong Kong 1986" }} shrine 1](/shrines/asummersend/trivia/) and the [facts page of my {{ cite "Cassette Beasts" }} shrine](/shrines/cassettebeasts/facts/). You are free to look at the HTML and CSS for reference.
Footnotes are used both on print and on the web. However, maintaining footnotes on the web can be tedious, especially if you want to update a web page to add or remove them, since you will need to change the number references of existing footnotes.
@@ -225,12 +225,12 @@ For extra comments and tangents, by favourite approach is using HTML's details d
I have been using the disclosure element for additional comments or information on this website, like in my blog post, ["My Cassette Beasts Fanlisting Application has been Approved"](/blog/posts/2024-06-24-cassette-beasts-fanlisting-approved/). As for the styling, initially I indented the content inside the disclosure to differentiate the disclosure content from the rest of the content of the page, but recently I switched to adding borders to the content after being inspired by [Starbreaker](https://starbreaker.org/)'s website, who also has a post about footnotes, ["Footnotes: No Fun to Create, Either"](https://starbreaker.org/blog/tech/footnotes-no-fun-to-create-either/index.html).
-{% disclosure "More ways to use `` and `` elements" %}
+{{ disclosure "More ways to use `` and `` elements" }}
`` and `` have become among my favourite HTML elements due to how useful they are. In addition to extra comments and info, Leilukin's Hub has also used the elements for the following purposes:
- Table of contents, like the one this very article has
-- Hiding spoilers, like in my {% cite "Cassette Beasts" %} shrine article, ["How Cassette Beasts is Much More than a Pokémon Clone"](/shrines/cassettebeasts/articles/cassette-beasts-more-than-a-pokemon-clone/)
-- Content warnings, like in my [{% cite "A Summer’s End — Hong Kong 1986" %} shrine's gallery page](/shrines/asummersend/gallery/), with its styling being inspired by another Kitty Giraudel's blog post, ["A content warning component"](https://kittygiraudel.com/2022/09/04/a-content-warning-component/)
-{% enddisclosure %}
+- Hiding spoilers, like in my {{ cite "Cassette Beasts" }} shrine article, ["How Cassette Beasts is Much More than a Pokémon Clone"](/shrines/cassettebeasts/articles/cassette-beasts-more-than-a-pokemon-clone/)
+- Content warnings, like in my [{{ cite "A Summer’s End — Hong Kong 1986" }} shrine's gallery page](/shrines/asummersend/gallery/), with its styling being inspired by another Kitty Giraudel's blog post, ["A content warning component"](https://kittygiraudel.com/2022/09/04/a-content-warning-component/)
+{{ enddisclosure }}
As for citing sources, the simplest way would be naming and linking to the source in the main text of your page, though it does mean you may end up repeating the title of the source if you want to attribute to it more than once on your page. This was once the approach of my shrine pages, though I found the pages looked rather cluttered, so I eventually chose to use markdown-it-footnote alongside Eleventy.
@@ -332,4 +332,4 @@ module.exports = function (eleventyConfig) {
/* This is the part that tells 11ty to swap to our custom config */
eleventyConfig.setLibrary("md", markdownLibrary);
}
-```
\ No newline at end of file
+```
diff --git a/src/articles/myarticles/anti-harry-potter-jk-rowling-masterlist.md b/src/articles/myarticles/anti-harry-potter-jk-rowling-masterlist.md
index 6655a160..e80b6a43 100644
--- a/src/articles/myarticles/anti-harry-potter-jk-rowling-masterlist.md
+++ b/src/articles/myarticles/anti-harry-potter-jk-rowling-masterlist.md
@@ -7,19 +7,19 @@ categories: ["harry potter", "jk rowling"]
toc: true
---
-{% imgFigure "/assets/banners/harry-potter-free-site.png", "An anime girl crossing arms with a sidelong look and a Harry Potter-free message" %}
+{{ imgFigure "/assets/banners/harry-potter-free-site.png", "An anime girl crossing arms with a sidelong look and a Harry Potter-free message" }}
This site is Harry Potter free. Lookin [sic] for it? Leave.
-{% endimgFigure %}
+{{ endimgFigure }}
(Credit to Tumblr user [comradesaucegay](https://comradesaucegay.tumblr.com/post/621403039459426304) ([archived](https://web.archive.org/web/20241122135107/https://comradesaucegay.tumblr.com/post/621403039459426304/grumpsaesthetics-you-know-those-old-hentai-free)) for this Harry Potter-free website banner){.center-text}
-Like many Millennials, I grew up with the {% cite "Harry Potter" %} series and was a major fan of the series. I had read the original 7 books and watched their film adaptations. The series was a passion of mine during my early- to mid-teen years. While the {% cite "Harry Potter" %} novels were far from the first books I read, they were the first fantasy novels I read, and the series’ concept of a magical world set in a contemporary setting fascinated teenage me.
+Like many Millennials, I grew up with the {{ cite "Harry Potter" }} series and was a major fan of the series. I had read the original 7 books and watched their film adaptations. The series was a passion of mine during my early- to mid-teen years. While the {{ cite "Harry Potter" }} novels were far from the first books I read, they were the first fantasy novels I read, and the series’ concept of a magical world set in a contemporary setting fascinated teenage me.
-However, even during my {% cite "Harry Potter" %} fixation years, there were things from the series that bothered me, from the idea of house elves being a slave race that naturally love being slaves, to Snape’s unconvincing “redemption” arc. As I got older and became more aware of social issues, I started to notice more problems with the series. In addition, reading more books has also made me realise that even on a technical writing level, the {% cite "Harry Potter" %} series was mediocre at best. As a result, I had stopped becoming a {% cite "Harry Potter" %} fan even before J. K. Rowling’s anti-trans sentiments got mainstream attention.
+However, even during my {{ cite "Harry Potter" }} fixation years, there were things from the series that bothered me, from the idea of house elves being a slave race that naturally love being slaves, to Snape’s unconvincing “redemption” arc. As I got older and became more aware of social issues, I started to notice more problems with the series. In addition, reading more books has also made me realise that even on a technical writing level, the {{ cite "Harry Potter" }} series was mediocre at best. As a result, I had stopped becoming a {{ cite "Harry Potter" }} fan even before J. K. Rowling’s anti-trans sentiments got mainstream attention.
-Unfortunately, many adults with nostalgia goggles still refuse to let go of {% cite "Harry Potter" %}, and they believe {% cite "Harry Potter" %} can be separated or “reclaimed” by J. K. Rowling, despite how much Rowling’s worldview and prejudice are inextricably linked to her writing.
+Unfortunately, many adults with nostalgia goggles still refuse to let go of {{ cite "Harry Potter" }}, and they believe {{ cite "Harry Potter" }} can be separated or “reclaimed” by J. K. Rowling, despite how much Rowling’s worldview and prejudice are inextricably linked to her writing.
-Therefore, I am compiling this masterlist by curating various materials that are critical of the {% cite "Harry Potter" %} series and J. K. Rowling. Items are ordered in chronological order. This is far from a comprehensive list of all the pieces that criticise {% cite "Harry Potter" %} and Rowling; this list is my curated list of ones that I have read, watched or listened to, and I personally endorse.
+Therefore, I am compiling this masterlist by curating various materials that are critical of the {{ cite "Harry Potter" }} series and J. K. Rowling. Items are ordered in chronological order. This is far from a comprehensive list of all the pieces that criticise {{ cite "Harry Potter" }} and Rowling; this list is my curated list of ones that I have read, watched or listened to, and I personally endorse.
## Articles
@@ -55,4 +55,4 @@ Therefore, I am compiling this masterlist by curating various materials that are
* [The Shrieking Shack](https://soundcloud.com/shriekingshack), hosted by Xeecee and Liz
- A book reading podcast that originally started out as a {% cite "Harry Potter" %} reread podcast made by and for lapsed fans that goes through every chapter of the {% cite "Harry Potter" %} books and their film adaptations and analyses the writing and politics of the series and J. K. Rowling.{.item-list__indent}
\ No newline at end of file
+ A book reading podcast that originally started out as a {{ cite "Harry Potter" }} reread podcast made by and for lapsed fans that goes through every chapter of the {{ cite "Harry Potter" }} books and their film adaptations and analyses the writing and politics of the series and J. K. Rowling.{.item-list__indent}
diff --git a/src/articles/myarticles/designated-lesbian-syndrome-fandom.md b/src/articles/myarticles/designated-lesbian-syndrome-fandom.md
index fb599ae7..d335d2f4 100644
--- a/src/articles/myarticles/designated-lesbian-syndrome-fandom.md
+++ b/src/articles/myarticles/designated-lesbian-syndrome-fandom.md
@@ -13,7 +13,7 @@ I first encountered this term from [Tumblr user desolationlesbian's post](https:
>
> Most common with works that have little-to-no narratively important women, but in rare cases can even happen to major and complex characters who are then reduced to token background lesbians as everyone hones in on the boys.
-The example I am most familiar with is the fandom of Grand Admiral Thrawn and the Chiss from {% cite "Star Wars" %} — specifically, some shippers of Thrawn/Eli Vanto, also known as Thranto, pair Ar'alani and Karyn Faro as their token "pair-the-spares" femslash ship. However, while Thranto shippers have create fan content about the Ar'alani/Karyn Faro ship, they do not do it with even a fraction of the interest and enthusiasm as they do Thranto. This is evident in the difference between the amount of fan works these two pairings have received on Archive On Our Own (AO3): as of this writing, the [Thrawn | Mitth'raw'nuruodo/Eli Vanto](https://archiveofourown.org/tags/Thrawn%20%7C%20Mitth'raw'nuruodo*s*Eli%20Vanto/works) tag contains 1,358 works, while the [Ar'alani/Karyn Faro](https://archiveofourown.org/tags/Ar'alani*s*Karyn%20Faro/works) tag contains 34 works only. It is also worth noting that if you use the tag page's filter function, you will notice that out of these 34 Ar'alani/Faro works, 23 of them are also tagged with Thrawn/Eli Vanto, proving the significant overlap between Thranto and Ar'alani/Faro shippers.
+The example I am most familiar with is the fandom of Grand Admiral Thrawn and the Chiss from {{ cite "Star Wars" }} — specifically, some shippers of Thrawn/Eli Vanto, also known as Thranto, pair Ar'alani and Karyn Faro as their token "pair-the-spares" femslash ship. However, while Thranto shippers have create fan content about the Ar'alani/Karyn Faro ship, they do not do it with even a fraction of the interest and enthusiasm as they do Thranto. This is evident in the difference between the amount of fan works these two pairings have received on Archive On Our Own (AO3): as of this writing, the [Thrawn | Mitth'raw'nuruodo/Eli Vanto](https://archiveofourown.org/tags/Thrawn%20%7C%20Mitth'raw'nuruodo*s*Eli%20Vanto/works) tag contains 1,358 works, while the [Ar'alani/Karyn Faro](https://archiveofourown.org/tags/Ar'alani*s*Karyn%20Faro/works) tag contains 34 works only. It is also worth noting that if you use the tag page's filter function, you will notice that out of these 34 Ar'alani/Faro works, 23 of them are also tagged with Thrawn/Eli Vanto, proving the significant overlap between Thranto and Ar'alani/Faro shippers.
Part of the Designated Lesbian Syndrome also involves shippers headcanonning the female characters who could be considered "threats" to their favourite ship that involved male characters as lesbians. It does not matter if the female characters are actually romantically involved with the male characters' in the source material or not. Thrawn never has a canon love interest in both Legends and the Disney continuities, but the fact that Ar'alani and Faro are close to Thrawn as his long-time friend and protégée respectively is enough to make them the go-to candidates for lesbian headcanons from shippers who ship Thrawn with anyone else. Lesbian Ar'alani and Faro headcanons are most common among Thrawn/Eli shippers, but I had seen at least one Thrawn/Governor Pryce (a pairing that I cannot stand at all) shipper literally headcanons Ar'alani as a lesbian so Pryce does not need to worry about Ar'alani fighting with Pryce over Thrawn.
diff --git a/src/articles/myarticles/my-dislike-of-shipping-culture.md b/src/articles/myarticles/my-dislike-of-shipping-culture.md
index 0bfc9c57..90e7a316 100644
--- a/src/articles/myarticles/my-dislike-of-shipping-culture.md
+++ b/src/articles/myarticles/my-dislike-of-shipping-culture.md
@@ -12,8 +12,8 @@ I feel that the older I get, the less interested I am in shipping in general, an
I have also come to actually dislike shipping culture, especially the mindset of engaging with media primarily through a shipping lens at the expense of the characterisation, non-romantic relationships, themes, and general content of a piece of media. Throughout my years of experience with various fandoms, I have witnessed so many incredible characters and non-romantic relationships get ignored or underappreciated by the fandom because they’re not part of a popular ship. On the other hand, there are also many amazing characters get mischaracterised to make a fanon ship work, or get reduced to a handful of tropes as shippers Flanderise them in their shipping fan works.
-Do not even get me started on the shippers who will complain about not being able to enjoy a piece of media just because “there’s no couple to ship”. For example, I’ve literally seen people on Tumblr make such complaints about the film {% cite "Parasite" %}, as if a profound piece of art that brutally critiques the class system does not matter if it does not provide any shipping material. It’s honestly very infuriating to see shippers like these are so willing to ignore art with meaningful story, characters and themes just because it lacks shipping fodder for them to project fanon onto.
+Do not even get me started on the shippers who will complain about not being able to enjoy a piece of media just because “there’s no couple to ship”. For example, I’ve literally seen people on Tumblr make such complaints about the film {{ cite "Parasite" }}, as if a profound piece of art that brutally critiques the class system does not matter if it does not provide any shipping material. It’s honestly very infuriating to see shippers like these are so willing to ignore art with meaningful story, characters and themes just because it lacks shipping fodder for them to project fanon onto.
Speaking of fanon, I really hate it when shippers, particularly shippers of popular non-canon pairings, expect anyone who is a fan of the same piece of media or any of the characters involved in the pairing to care about ships and treat the popular fanon ships as canon. These shippers also tend to act like their fanon and headcanons are universal, using languages like “the fandom has decided–” and “everyone has agreed that–”. And these shippers wonder why others who do not engage with that piece of media for shipping get sick and tired of shipping taking over discussions about said piece of media.
-If you are so invested in shipping to the point that you are willing to disregard a piece of media just because you cannot find anything to ship, or you treat it as a personal attack when people talk about being sick and tired of shipping culture as well as how shipping dominates discussions about a piece of media, maybe you need to consider taking a step back from shipping and learning to take your shipping goggles off when you interact with a piece of media.
\ No newline at end of file
+If you are so invested in shipping to the point that you are willing to disregard a piece of media just because you cannot find anything to ship, or you treat it as a personal attack when people talk about being sick and tired of shipping culture as well as how shipping dominates discussions about a piece of media, maybe you need to consider taking a step back from shipping and learning to take your shipping goggles off when you interact with a piece of media.
diff --git a/src/assets/css/misc.css b/src/assets/css/root.css
similarity index 100%
rename from src/assets/css/misc.css
rename to src/assets/css/root.css
diff --git a/src/blog/blog.11tydata.js b/src/blog/blog.11tydata.js
new file mode 100644
index 00000000..e0d37c8e
--- /dev/null
+++ b/src/blog/blog.11tydata.js
@@ -0,0 +1,3 @@
+export default {
+ layout: "layouts/main",
+}
diff --git a/src/blog/posts.html b/src/blog/posts.vto
similarity index 60%
rename from src/blog/posts.html
rename to src/blog/posts.vto
index 7ff513b0..331e08e3 100644
--- a/src/blog/posts.html
+++ b/src/blog/posts.vto
@@ -1,31 +1,30 @@
---
title: Blog Archive
-layout: main/content
tags: blog pages
eleventyComputed:
- desc: Archive of blog posts on {{ sitemeta.siteName | safe }}
+ desc: Archive of blog posts on {{ sitemeta.siteName }}
eleventyNavigation:
key: Blog Archive
parent: Blog
---
- {% for post in collections.posts | reverse %}
+ {{ for post of collections.posts |> toReversed }}
-{%- css %}
+{{- css }}
.blog__postlist {
display: grid;
gap: 1em;
@@ -37,4 +36,4 @@ eleventyNavigation:
line-height: 1.3;
margin-bottom: 0.2em;
}
-{% endcss %}
+{{ /css }}
diff --git a/src/blog/posts/2024-04-27-lesbian-visibility-day1-year-anniversary-of-cassette-beasts.md b/src/blog/posts/2024-04-27-lesbian-visibility-day1-year-anniversary-of-cassette-beasts.md
index 99dd6eee..e8941628 100644
--- a/src/blog/posts/2024-04-27-lesbian-visibility-day1-year-anniversary-of-cassette-beasts.md
+++ b/src/blog/posts/2024-04-27-lesbian-visibility-day1-year-anniversary-of-cassette-beasts.md
@@ -5,19 +5,19 @@ date: 2024-04-27T14:06:00+0800
categories: ["lesbian", "cassette beasts"]
---
-26 April 2024 was a day of celebration for me, as it was both Lesbian Visibility Day and the [first anniversary of the release of {% cite "Cassette Beasts" %}](https://store.steampowered.com/news/app/1321440/view/4179979397366287532), my all-time favourite video game.
+26 April 2024 was a day of celebration for me, as it was both Lesbian Visibility Day and the [first anniversary of the release of {{ cite "Cassette Beasts" }}](https://store.steampowered.com/news/app/1321440/view/4179979397366287532), my all-time favourite video game.
As a lesbian, [Lesbian Visibility Day and Lesbian Visibility Week](https://en.wikipedia.org/wiki/Lesbian_Visibility_Week) are an important annual event, as there can never be enough lesbians nor love for lesbians. It had been about 8 years ago when I finally realised I was a lesbian, and I am still happy and proud to be a lesbian.
-Meanwhile, {% cite "Cassette Beasts" %} has become my all-time favourite video game ever since I started playing it in July 2023, to the extent I had created a [shrine](/shrines/cassettebeasts/) for the game on my own website. There are no words adequate to describe the depth of my love for {% cite "Cassette Beasts" %}.
+Meanwhile, {{ cite "Cassette Beasts" }} has become my all-time favourite video game ever since I started playing it in July 2023, to the extent I had created a [shrine](/shrines/cassettebeasts/) for the game on my own website. There are no words adequate to describe the depth of my love for {{ cite "Cassette Beasts" }}.
-As a lesbian fan of {% cite "Cassette Beasts" %}, I am also absolutely delighted by the fact that the initial release date of {% cite "Cassette Beasts" %} coincided with Lesbian Visibility Day on April 26. For bonus points, {% cite "Cassette Beasts" %} features not only LGBTQ+ representation in both the main and supporting cast, but also an actual canon old married lesbian couple in the supporting characters Ianthe and Wilma.
+As a lesbian fan of {{ cite "Cassette Beasts" }}, I am also absolutely delighted by the fact that the initial release date of {{ cite "Cassette Beasts" }} coincided with Lesbian Visibility Day on April 26. For bonus points, {{ cite "Cassette Beasts" }} features not only LGBTQ+ representation in both the main and supporting cast, but also an actual canon old married lesbian couple in the supporting characters Ianthe and Wilma.
-To celebrate both Lesbian Visibility Day and the 1-year anniversary of {% cite "Cassette Beasts" %}' release, I made lesbian pride icons featuring the {% cite "Cassette Beasts" %} logo as well as Ianthe and Wilma both individually and together, and shared them on social media accounts, including [Tumblr](https://lesbiannova.tumblr.com/post/748826429723148288), [Twitter](https://twitter.com/Leilukin/status/1783736715641024828), [Mastodon](https://elekk.xyz/@leilukin/112336010189257467) and [Bluesky](https://bsky.app/profile/leilukin.bsky.social/post/3kqzahri66x2x). I had also shared them in the [official Bytten Studio Discord server](https://discord.gg/byttenstudio).
+To celebrate both Lesbian Visibility Day and the 1-year anniversary of {{ cite "Cassette Beasts" }}' release, I made lesbian pride icons featuring the {{ cite "Cassette Beasts" }} logo as well as Ianthe and Wilma both individually and together, and shared them on social media accounts, including [Tumblr](https://lesbiannova.tumblr.com/post/748826429723148288), [Twitter](https://twitter.com/Leilukin/status/1783736715641024828), [Mastodon](https://elekk.xyz/@leilukin/112336010189257467) and [Bluesky](https://bsky.app/profile/leilukin.bsky.social/post/3kqzahri66x2x). I had also shared them in the [official Bytten Studio Discord server](https://discord.gg/byttenstudio).
-My {% cite "Cassette Beasts" %} lesbian pride icons have been well-received, by not only other fans of the game, but also the developer Bytten Studio themselves. On Twitter, Bytten Studio not only retweeted, but also replied to my icons.
+My {{ cite "Cassette Beasts" }} lesbian pride icons have been well-received, by not only other fans of the game, but also the developer Bytten Studio themselves. On Twitter, Bytten Studio not only retweeted, but also replied to my icons.

@@ -35,6 +35,6 @@ Furthermore, I had set up my website's header to display the lesbian pride flag
In conclusion, this had been an exciting day for me as a lesbian gaymer.
-On a somewhat related note, I love the fact that this week is not only [Lesbian Visibility Week](https://www.lesbianvisibilityweek.com/), but also has two of my all-time favourite games, {% cite "Cassette Beasts" %} and {% cite "A Summer’s End — Hong Kong 1986" %} (which I had also created a [shrine](/shrines/asummersend) for), both of which happen to feature lesbian representation, celebrating their release anniversaries.
+On a somewhat related note, I love the fact that this week is not only [Lesbian Visibility Week](https://www.lesbianvisibilityweek.com/), but also has two of my all-time favourite games, {{ cite "Cassette Beasts" }} and {{ cite "A Summer’s End — Hong Kong 1986" }} (which I had also created a [shrine](/shrines/asummersend) for), both of which happen to feature lesbian representation, celebrating their release anniversaries.
-**Happy Lesbian Visibility Day and Happy Birthday to {% cite "Cassette Beasts" %}!**
+**Happy Lesbian Visibility Day and Happy Birthday to {{ cite "Cassette Beasts" }}!**
diff --git a/src/blog/posts/2024-05-14-james-somerton-my-video-game-footage.md b/src/blog/posts/2024-05-14-james-somerton-my-video-game-footage.md
index e6f1dbae..59aa37eb 100644
--- a/src/blog/posts/2024-05-14-james-somerton-my-video-game-footage.md
+++ b/src/blog/posts/2024-05-14-james-somerton-my-video-game-footage.md
@@ -10,9 +10,9 @@ It has been five months since Hbomberguy released his ["Plagiarism and You(Tube)
On 5 November 2021, James Somerton released a video essay on his YouTube channel titled "Video Games and the Choice to be Gay". As of this writing, the video has been made private, but Somerton's videos have been archived on the Internet Archive with two playlists: [James Somerton youtube archive](https://archive.org/details/james-somerton-youtube-2023-12-03/) and [James Somerton- Public Records](https://archive.org/details/james-somerton-public-records), so you can still watch "Video Games and the Choice to be Gay" directly on the Internet Archive in both the [Youtube archive](https://archive.org/download/james-somerton-youtube-2023-12-03/20211105%20TQNKEkrPEfI%20Video%20Games%20and%20the%20Choice%20to%20be%20Gay.mp4) and the [Public Records](https://archive.org/download/james-somerton-public-records/Video%20Games%20and%20the%20Choice%20to%20be%20Gay.ia.mp4) playlists. Alternately, you can watch the video through one of the [Wayback Machine snapshots](https://web.archive.org/web/20230000000000*/https://www.youtube.com/watch?v=TQNKEkrPEfI).
-I first discovered "Video Games and the Choice to be Gay" through a {% cite "Dragon Age" %} fan blog on Tumblr shortly after the video was published. The video piqued my interest because LGBTQ+ representation in video games is relevant to me as a queer, non-binary lesbian gamer, and the video games discussed in Somerton's video included {% cite "Star Wars: Knights of the Old Republic" %}, {% cite "Dragon Age" %} and {% cite "Mass Effect" %}, which was also relevant to me since I used to be a huge fan of BioWare games. As a result, "Video Games and the Choice to be Gay" ended up being the first and only James Somerton video I have actually watched.
+I first discovered "Video Games and the Choice to be Gay" through a {{ cite "Dragon Age" }} fan blog on Tumblr shortly after the video was published. The video piqued my interest because LGBTQ+ representation in video games is relevant to me as a queer, non-binary lesbian gamer, and the video games discussed in Somerton's video included {{ cite "Star Wars: Knights of the Old Republic" }}, {{ cite "Dragon Age" }} and {{ cite "Mass Effect" }}, which was also relevant to me since I used to be a huge fan of BioWare games. As a result, "Video Games and the Choice to be Gay" ended up being the first and only James Somerton video I have actually watched.
-Before finished watching it, one thing from "Video Games and the Choice to be Gay" that caught my attention was when Somerton talked about Juhani from {% cite "Star Wars: Knights of the Old Republic" %}, who was the very first confirmed gay and lesbian character from both BioWare games and the entire {% cite "Star Wars" %} franchise, including the old Expended Universe, one of the {% cite "Knights of the Old Republic" %} ({% cite "KotOR" %}) footage shown on screen in the video included one of my {% cite "KotOR" %} footage about Juhani and her romance with the female player character.
+Before finished watching it, one thing from "Video Games and the Choice to be Gay" that caught my attention was when Somerton talked about Juhani from {{ cite "Star Wars: Knights of the Old Republic" }}, who was the very first confirmed gay and lesbian character from both BioWare games and the entire {{ cite "Star Wars" }} franchise, including the old Expended Universe, one of the {{ cite "Knights of the Old Republic" }} ({{ cite "KotOR" }}) footage shown on screen in the video included one of my {{ cite "KotOR" }} footage about Juhani and her romance with the female player character.
Specifically, the clip from Somerton's video at the timestamp from 12:09 to 12:13 was actually from my [5 March 2016 video footage of Juhani's love confession](https://www.youtube.com/watch?v=oFQDmmRUx4E) with the [Juhani Romance Enhancement mod](https://deadlystream.com/files/file/772-juhani-romance-enhancement/), specifically at the timestamp [0:10](https://www.youtube.com/watch?v=oFQDmmRUx4E&t=10s) to [0:16](https://www.youtube.com/watch?v=oFQDmmRUx4E&t=16s).
@@ -31,7 +31,7 @@ Here is a back-to-back comparison between the clips from my original footage and
I immediately recognised my clip through the appearance of the female player character and her outfit, which was from the [Segan Wyndh Jedi Armor mod](https://deadlystream.com/files/file/90-segan-wyndh-jedi-armor/). Furthermore, there are not many videos about Juhani's romance out there, so the player character's appearance, which can vary depending on how the player customises their character in the character creator or with mods, in Somerton's video only stood out to me even more. My footage of Juhani's love confession was part of my [Juhani romance and conversation video series](https://www.youtube.com/playlist?list=PL5z8DZr8LSLHZkdhBxGadvvaHlolKa-Vd), to compliment my [Juhani romance guide](/shrines/starwarskotor/guides/kotor-juhani-romance-guide/), which I am still proud to say is *the* most comprehensive guide about Juhani's romance on the internet.
-To be honest, even back then, I was already a little disappointed that James Somerton used my footage in his video without a single word about the clip's source, both in the video itself and the video description, nor had Somerton ever reached out to me about using my footage in his video (on a related note, Somerton and I never had any direct interactions). I do not own the intellectual property of {% cite "Star Wars" %} or {% cite "KotOR" %}, but capturing video game footage requires one to actually play through the game, which takes time, especially role-playing games like {% cite "KotOR" %}. In addition, I had spent a great deal of effort on promoting Juhani's romance, including writing a guide and recording video footage about it because Juhani's romance is also infamous for being buggy and tricky to successfully complete, to the extent many {% cite "KotOR" %} fans were not even aware that Juhani can actually be romanced by the (female) player character.
+To be honest, even back then, I was already a little disappointed that James Somerton used my footage in his video without a single word about the clip's source, both in the video itself and the video description, nor had Somerton ever reached out to me about using my footage in his video (on a related note, Somerton and I never had any direct interactions). I do not own the intellectual property of {{ cite "Star Wars" }} or {{ cite "KotOR" }}, but capturing video game footage requires one to actually play through the game, which takes time, especially role-playing games like {{ cite "KotOR" }}. In addition, I had spent a great deal of effort on promoting Juhani's romance, including writing a guide and recording video footage about it because Juhani's romance is also infamous for being buggy and tricky to successfully complete, to the extent many {{ cite "KotOR" }} fans were not even aware that Juhani can actually be romanced by the (female) player character.
However, I did not dare to say a word about Somerton's usage of my Juhani romance footage, because Somerton was already a fairly popular YouTuber with 138K subscribers by the time the video was released (at least according to the [Wayback Machine snapshot of the video on 5 November 2021](https://web.archive.org/web/20211105165815/https://www.youtube.com/watch?v=TQNKEkrPEfI)), while I do not even consider myself a YouTuber, since [my YouTube channel](https://www.youtube.com/Leilukin) only consists of video game footage I recorded myself without commentary. I did not bring up Somerton's usage of my Juhani romance footage because I did not want to come across as trying to start a drama or gain attention. I also tried to look at the positives by considering it an honour that at least my Juhani romance videos get noticed by a popular YouTuber.
@@ -40,7 +40,7 @@ As for Somerton's "Video Games and the Choice to be Gay" video itself, my initia
>
> I also strongly agree with him about the importance of us LGBTQ+ gamers supporting indie queer developers and their work, instead of relying on mainstream video games (and mainstream media in general) for queer representation.
-That said, I did not bring up the fact that Somerton used my {% cite "KotOR" %} footage to my friend back then.
+That said, I did not bring up the fact that Somerton used my {{ cite "KotOR" }} footage to my friend back then.
As mentioned above, "Video Games and the Choice to be Gay" was the first and only James Somerton video I have ever watched. I did not subscribe to Somerton's channel, nor did I have the time nor enough interest to watch any other Somerton's videos. No YouTubers I followed referenced Somerton's videos or were associated with him, and no one in my social media circles talked about him either. Therefore, after watching "Video Games and the Choice to be Gay" in November 2021, Somerton simply went off of my radar until his plagiarism scandal broke out two years later in December 2023.
@@ -54,4 +54,4 @@ The final push for me to write this post, was seeing Verity crediting the source
I do not expect anything from writing this post. James Somerton has destroyed his own reputation and internet career at this point without my help, so I merely just want to get Somerton's uncredited usage of my video game footage off my chest after being hesitant to bring it up since 2021.
-*(**Update, 17 May 2024:** Re-uploaded my comparison video for better quality, and updated the links to Somerton's video on the Internet Archive)*
\ No newline at end of file
+*(**Update, 17 May 2024:** Re-uploaded my comparison video for better quality, and updated the links to Somerton's video on the Internet Archive)*
diff --git a/src/blog/posts/2024-05-29-new-guestbook-leilukins-hub.md b/src/blog/posts/2024-05-29-new-guestbook-leilukins-hub.md
index 1efb984f..743bfea8 100644
--- a/src/blog/posts/2024-05-29-new-guestbook-leilukins-hub.md
+++ b/src/blog/posts/2024-05-29-new-guestbook-leilukins-hub.md
@@ -7,7 +7,7 @@ categories: ["site updates"]
On 4 May 2024, the guestbook service 123Guestbook announced that [their service would be closed on 1 July 2024](https://web.archive.org/web/20240504201300/https://www.123guestbook.com/news.php?id=closure).
-I created an account on 123Guestbook and started using it as Leilukin's Hub's guestbook since 25 July 2023. When my 123Guestbook guestbook was open, I received multiple nice messages expressing appreciation for my website and work, including my [{% cite "Cassette Beasts" %} shrine](/shrines/cassettebeasts) and my [{% cite "A Summer’s End — Hong Kong 1986" %} shrine](/shrines/asummersend) and [Steam review](../2023-10-30-support-for-my-steam-review-of-a-summers-end), so I am sad to see 123Guestbook go. 123Guestbook has been around since 2005, so its closure is a sad reminder that you cannot predict when your favourite website might be gone.
+I created an account on 123Guestbook and started using it as Leilukin's Hub's guestbook since 25 July 2023. When my 123Guestbook guestbook was open, I received multiple nice messages expressing appreciation for my website and work, including my [{{ cite "Cassette Beasts" }} shrine](/shrines/cassettebeasts) and my [{{ cite "A Summer’s End — Hong Kong 1986" }} shrine](/shrines/asummersend) and [Steam review](../2023-10-30-support-for-my-steam-review-of-a-summers-end), so I am sad to see 123Guestbook go. 123Guestbook has been around since 2005, so its closure is a sad reminder that you cannot predict when your favourite website might be gone.
In light of 123Guestbook's closure, I have disabled the function to add new messages to Leilukin's Hub's previous guestbook at 123Guestbook, and archived the old guestbook at the [Internet Archive](https://web.archive.org/web/20240528231121/https%3A%2F%2Fleilukin.123guestbook.com%2F) and [archive.today](https://archive.ph/9mtpl).
diff --git a/src/blog/posts/2024-05-31-domain-name-hosting-change-leilukins-hub.md b/src/blog/posts/2024-05-31-domain-name-hosting-change-leilukins-hub.md
index eacfda8f..568c0ad4 100644
--- a/src/blog/posts/2024-05-31-domain-name-hosting-change-leilukins-hub.md
+++ b/src/blog/posts/2024-05-31-domain-name-hosting-change-leilukins-hub.md
@@ -11,7 +11,7 @@ Major news: Leilukin's Hub has a custom domain name: leilukin.com! In addition,
## Moving Beyond Neocities
-Leilukin's Hub has grown significantly since its launch on Neocities in September 2022, not just in how many pages it has, but also the fact that the site includes various resources I have shared across the internet (most notably, some of my {% cite "Star Wars: Knights of the Old Republic" %} [articles](/shrines/starwarskotor/articles) and [guides](/shrines/starwarskotor/guides)).
+Leilukin's Hub has grown significantly since its launch on Neocities in September 2022, not just in how many pages it has, but also the fact that the site includes various resources I have shared across the internet (most notably, some of my {{ cite "Star Wars: Knights of the Old Republic" }} [articles](/shrines/starwarskotor/articles) and [guides](/shrines/starwarskotor/guides)).
Furthermore, web development has become more than a hobby to me — after starting to build my own website and relearning HTML and CSS, my interest in web development has grown enough to the point I started taking online web development courses and aspiring to become a serious web developer, by taking online courses on platforms such as freeCodeCamp and Scrimba. While Leilukin's Hub is still a hobby website, I have been using this site to practice and grow my web development skills, including using a static site generator, namely Eleventy, to [rebuild and overhaul this site in April 2024](/blog/posts/2024-04-21-april-2024-leilukins-hub-overhaul-with-eleventy).
diff --git a/src/blog/posts/2024-06-24-cassette-beasts-fanlisting-approved.md b/src/blog/posts/2024-06-24-cassette-beasts-fanlisting-approved.md
index ba8d4330..8badb0e8 100644
--- a/src/blog/posts/2024-06-24-cassette-beasts-fanlisting-approved.md
+++ b/src/blog/posts/2024-06-24-cassette-beasts-fanlisting-approved.md
@@ -5,17 +5,17 @@ date: 2024-06-24T13:23:00+0800
categories: ["cassette beasts", "site updates"]
---
-On 22 June 2024, I submitted an [application form](https://thefanlistings.org/start/apply.php) to [The Fanlistings Network](https://thefanlistings.org/), also known as TFL.org, to build and run a {% cite "Cassette Beasts" %} fanlisting, and now TFL.org has approved my application! {% cite "Cassette Beasts" %} is now on TFL.org's approved list under the Games category and the [Computer, Console, & Video Games subcategory](https://www.thefanlistings.org/browse.php?show=games&start=8) ([view the web archive version](https://web.archive.org/web/20240624045621/https%3A%2F%2Fwww.thefanlistings.org%2Fbrowse.php%3Fshow%3Dgames%26start%3D8)).
+On 22 June 2024, I submitted an [application form](https://thefanlistings.org/start/apply.php) to [The Fanlistings Network](https://thefanlistings.org/), also known as TFL.org, to build and run a {{ cite "Cassette Beasts" }} fanlisting, and now TFL.org has approved my application! {{ cite "Cassette Beasts" }} is now on TFL.org's approved list under the Games category and the [Computer, Console, & Video Games subcategory](https://www.thefanlistings.org/browse.php?show=games&start=8) ([view the web archive version](https://web.archive.org/web/20240624045621/https%3A%2F%2Fwww.thefanlistings.org%2Fbrowse.php%3Fshow%3Dgames%26start%3D8)).
-{% disclosure "What is a fanlisting?" %}
+{{ disclosure "What is a fanlisting?" }}
For those who do not know what a fanlisting is, TFL.org has defined fanslitings as below:
> A fanlisting is simply an online listing of fans of a subject, such as a TV show, actor, or musician, that is created by an individual and open for fans from around the world to join. There are no costs, and the only requirements to join a fanlisting are your name and country. Fanlistings do not have to be large sites (although some are) - they are just a place where you can have your name listed along with other fans of the same subject. TheFanlistings.org is the original (but not only) web directory for fanlistings, dedicated to uniting fans across the globe.
-{% enddisclosure %}
+{{ enddisclosure }}
-This is a major moment for me as both a webmaster and a {% cite "Cassette Beasts" %} fan. As a webmaster, I have been applying and joining fanlistings since I built my own website, as I have always found fanlistings a neat idea to gather and discover other people who share your interests across the world, as listing your country is a requirement when you apply to join a fanlisting. Recently, I have been considering building and running a fanlisting myself, with {% cite "Cassette Beasts" %} being my first choice since there is no fanlisting for {% cite "Cassette Beasts" %} yet. I began to dabble in PHP, so I can use a script like [BellaBuffs](https://www.jemjabella.co.uk/scripts/bellabuffs/) to build a fanlisting. With my application approved by The Fanlistings Network, the {% cite "Cassette Beasts" %} fanlisting will be the first fanlisting I build and run.
+This is a major moment for me as both a webmaster and a {{ cite "Cassette Beasts" }} fan. As a webmaster, I have been applying and joining fanlistings since I built my own website, as I have always found fanlistings a neat idea to gather and discover other people who share your interests across the world, as listing your country is a requirement when you apply to join a fanlisting. Recently, I have been considering building and running a fanlisting myself, with {{ cite "Cassette Beasts" }} being my first choice since there is no fanlisting for {{ cite "Cassette Beasts" }} yet. I began to dabble in PHP, so I can use a script like [BellaBuffs](https://www.jemjabella.co.uk/scripts/bellabuffs/) to build a fanlisting. With my application approved by The Fanlistings Network, the {{ cite "Cassette Beasts" }} fanlisting will be the first fanlisting I build and run.
-{% cite "Cassette Beasts" %} has become my favourite video game ever since I started playing it in July 2023, to the extent that not only I have a [{% cite "Cassette Beasts" %} shrine](/shrines/cassettebeasts) on my website, I had already begun to consider creating the shrine even before beating the main campaign. I have also been tirelessly recommending the game throughout various online spaces. Therefore, I am honoured to be given this opportunity to build and run a fanlisting for {% cite "Cassette Beasts" %} that is approved by The Fanlistings Network, to add to my ongoing effort to boost the game's visibility.
+{{ cite "Cassette Beasts" }} has become my favourite video game ever since I started playing it in July 2023, to the extent that not only I have a [{{ cite "Cassette Beasts" }} shrine](/shrines/cassettebeasts) on my website, I had already begun to consider creating the shrine even before beating the main campaign. I have also been tirelessly recommending the game throughout various online spaces. Therefore, I am honoured to be given this opportunity to build and run a fanlisting for {{ cite "Cassette Beasts" }} that is approved by The Fanlistings Network, to add to my ongoing effort to boost the game's visibility.
-The {% cite "Cassette Beasts" %} fanlisting is not ready yet at this moment, especially since I was not certain if The Fanlistings Network would approve my application, but now with their approval, I am going to work on building the {% cite "Cassette Beasts" %} fanlisting. TFL.org has a [rule](https://thefanlistings.org/start/rules.php) that fanlisting owners need to complete their fanlisting within four weeks, so stay tuned for upcoming updates for my {% cite "Cassette Beasts" %} fanlisting!
+The {{ cite "Cassette Beasts" }} fanlisting is not ready yet at this moment, especially since I was not certain if The Fanlistings Network would approve my application, but now with their approval, I am going to work on building the {{ cite "Cassette Beasts" }} fanlisting. TFL.org has a [rule](https://thefanlistings.org/start/rules.php) that fanlisting owners need to complete their fanlisting within four weeks, so stay tuned for upcoming updates for my {{ cite "Cassette Beasts" }} fanlisting!
-Now that I will be running my own fanlisting, I will be also creating a fanlisting collective to gather all fanlistings I own, join and have applied to in one place. Since [Netlify](https://www.netlify.com/), which currently hosts the main site of Leilukin's Hub, does not support PHP, I will be hosting my fanlisting collective, including my {% cite "Cassette Beasts" %} fanlisting, on [InfinityFree](https://www.infinityfree.com/).
\ No newline at end of file
+Now that I will be running my own fanlisting, I will be also creating a fanlisting collective to gather all fanlistings I own, join and have applied to in one place. Since [Netlify](https://www.netlify.com/), which currently hosts the main site of Leilukin's Hub, does not support PHP, I will be hosting my fanlisting collective, including my {{ cite "Cassette Beasts" }} fanlisting, on [InfinityFree](https://www.infinityfree.com/).
diff --git a/src/blog/posts/2024-07-02-fanlisting-collective-launch.md b/src/blog/posts/2024-07-02-fanlisting-collective-launch.md
index 9a9521ad..637e369f 100644
--- a/src/blog/posts/2024-07-02-fanlisting-collective-launch.md
+++ b/src/blog/posts/2024-07-02-fanlisting-collective-launch.md
@@ -5,34 +5,34 @@ date: 2024-07-02T00:37:00+0800
categories: ["cassette beasts", "site updates", "code projects"]
---
-I am incredibly excited to announce the official launch of [Land of Confusion](https://fan.leilukin.com/cassettebeasts), [The Fanlistings Network](https://thefanlistings.org/)-approved fanlisting for {% cite "Cassette Beasts" %}, and [Beehive](https://fan.leilukin.com), my fanlisting collective! 🥳
+I am incredibly excited to announce the official launch of [Land of Confusion](https://fan.leilukin.com/cassettebeasts), [The Fanlistings Network](https://thefanlistings.org/)-approved fanlisting for {{ cite "Cassette Beasts" }}, and [Beehive](https://fan.leilukin.com), my fanlisting collective! 🥳
-If you are a fan of {% cite "Cassette Beasts" %}, feel free to join my fanlisting! If you like fanlistings as well, feel free to check out my fanlisting collective!
+If you are a fan of {{ cite "Cassette Beasts" }}, feel free to join my fanlisting! If you like fanlistings as well, feel free to check out my fanlisting collective!
In addition, in light of the launch of my first fanlisting, I am also releasing [my fork of BellaBuffs](/projects/code/bellabuffs-phpmailer), the fanlisting script written in PHP, with integration of [PHPMailer](https://github.com/PHPMailer/PHPMailer), the email sending library!
-My fanlisting collective and {% cite "Cassette Beasts" %} fanlisting are hosted on [InfinityFree](https://www.infinityfree.com/), since [Netlify](https://www.netlify.com/), which currently hosts the main site of Leilukin's Hub, does not support PHP.
+My fanlisting collective and {{ cite "Cassette Beasts" }} fanlisting are hosted on [InfinityFree](https://www.infinityfree.com/), since [Netlify](https://www.netlify.com/), which currently hosts the main site of Leilukin's Hub, does not support PHP.
## A Milestone
-In [my previous post](/blog/posts/2024-06-24-cassette-beasts-fanlisting-approved), I announced that The Fanlistings Network (also known as TFL.org) had approved my application for building and running a fanlisting for {% cite "Cassette Beasts" %}.
+In [my previous post](/blog/posts/2024-06-24-cassette-beasts-fanlisting-approved), I announced that The Fanlistings Network (also known as TFL.org) had approved my application for building and running a fanlisting for {{ cite "Cassette Beasts" }}.
-After completing the {% cite "Cassette Beasts" %} fanlisting on 30 June 2024, I submitted a [finished form](https://thefanlistings.org/finished.php) to TFL.org to let them know that I have finished my fanlisting. The Fanlistings Network responded by emailing me and informing me thatthey have added the URL of my {% cite "Cassette Beasts" %} fanlisting to the list of approved fanlistings under the Games category and the [Computer, Console, & Video Games subcategory](https://www.thefanlistings.org/browse.php?show=games&start=8) ([view the web archive version](https://web.archive.org/web/20240702062715/https://www.thefanlistings.org/browse.php?show=games&start=8)).
+After completing the {{ cite "Cassette Beasts" }} fanlisting on 30 June 2024, I submitted a [finished form](https://thefanlistings.org/finished.php) to TFL.org to let them know that I have finished my fanlisting. The Fanlistings Network responded by emailing me and informing me thatthey have added the URL of my {{ cite "Cassette Beasts" }} fanlisting to the list of approved fanlistings under the Games category and the [Computer, Console, & Video Games subcategory](https://www.thefanlistings.org/browse.php?show=games&start=8) ([view the web archive version](https://web.archive.org/web/20240702062715/https://www.thefanlistings.org/browse.php?show=games&start=8)).
-The launch of my {% cite "Cassette Beasts" %} fanlisting is a major moment for me as both a webmaster and a {% cite "Cassette Beasts" %} fan, as I am enthusiastic about the fact that the very first fanlisting I create would be for my absolute favourite video game.
+The launch of my {{ cite "Cassette Beasts" }} fanlisting is a major moment for me as both a webmaster and a {{ cite "Cassette Beasts" }} fan, as I am enthusiastic about the fact that the very first fanlisting I create would be for my absolute favourite video game.
## First Foray in PHP
-My {% cite "Cassette Beasts" %} fanlisting is powered by [BellaBuffs](https://www.jemjabella.co.uk/scripts/bellabuffs/). I was new to PHP when I started considering building fanlistings myself, as my main site Leilukin's Hub is a static site, so building the {% cite "Cassette Beasts" %} fanlisting was my first foray in learning to code in PHP.
+My {{ cite "Cassette Beasts" }} fanlisting is powered by [BellaBuffs](https://www.jemjabella.co.uk/scripts/bellabuffs/). I was new to PHP when I started considering building fanlistings myself, as my main site Leilukin's Hub is a static site, so building the {{ cite "Cassette Beasts" }} fanlisting was my first foray in learning to code in PHP.
-Before starting to actually work on building the {% cite "Cassette Beasts" %} fanlisting, I tried out [Enthusiast](https://scripts.indisguise.org/enthusiast/), the other commonly used fanlisting script also written in PHP. I tried [Erin's fork of Enthusiast](https://github.com/DudeThatsErin/enth) specifically, since InfinityFree uses version 8.2 of PHP Enthusiast also has extra features that BellaBuffs does not have, including allowing fanlisting members to set passwords and even managing the entire fanlisting collective.
+Before starting to actually work on building the {{ cite "Cassette Beasts" }} fanlisting, I tried out [Enthusiast](https://scripts.indisguise.org/enthusiast/), the other commonly used fanlisting script also written in PHP. I tried [Erin's fork of Enthusiast](https://github.com/DudeThatsErin/enth) specifically, since InfinityFree uses version 8.2 of PHP Enthusiast also has extra features that BellaBuffs does not have, including allowing fanlisting members to set passwords and even managing the entire fanlisting collective.
Unfortunately, I encountered a critical issue with Enthusiast when I tried it: whenever I added a fanlisting to my joined fanlisting list in the admin panel, the home page of the fanlisting collective would go completely blank. I do not know the cause of the issue, and I was not familiar enough with PHP to be confident in attempting to investigate the entire fanlisting collective code just to find the culprit, especially when it uses MySQL database to store data, adding another complexity in troubleshooting it.
Therefore, I later tried BellaBuffs, and chose BellaBuffs as the script to power my fanlistings, then code my own fanlisting collective myself.
-There were a few setbacks I encountered when I was building the [{% cite "Cassette Beasts" %} fanlisting](https://fan.leilukin.com/cassettebeasts) with BellaBuffs and hosting the fanlisting on InfinityFree — I learned that InfinityFree's free hosting plan [does not support PHP `mail()` function](https://forum.infinityfree.com/t/sending-email-from-your-website-php-mail/49242), which is used by BellaBuffs.
+There were a few setbacks I encountered when I was building the [{{ cite "Cassette Beasts" }} fanlisting](https://fan.leilukin.com/cassettebeasts) with BellaBuffs and hosting the fanlisting on InfinityFree — I learned that InfinityFree's free hosting plan [does not support PHP `mail()` function](https://forum.infinityfree.com/t/sending-email-from-your-website-php-mail/49242), which is used by BellaBuffs.
## Integrating PHPMailer into BellaBuffs
@@ -42,7 +42,7 @@ Thankfully, InfinityFree suggested using PHPMailer, and even providing a [contac
I am glad that despite my inexperience in PHP, I was able to apply the programming knowledge I learned from building my main site and taking online coding courses to build my fanlisting.
-After successfully setting up the {% cite "Cassette Beasts" %} fanlisting, I decided to fork BellaBuffs and release my version of the fanlisting script with PHPMailer integration, in case there are others who want to use BellaBuffs to build fanlistings, but cannot or do not want to use the PHP `mail()` function.
+After successfully setting up the {{ cite "Cassette Beasts" }} fanlisting, I decided to fork BellaBuffs and release my version of the fanlisting script with PHPMailer integration, in case there are others who want to use BellaBuffs to build fanlistings, but cannot or do not want to use the PHP `mail()` function.
You can download my BellaBuffs fork and learn about how to use it from [its GitHub repository](https://github.com/helenclx/BellaBuffs-PHPMailer).
@@ -54,4 +54,4 @@ I decided to name my fanlisting collective Beehive, since I have been using my d
Furthermore, Beehive is a fitting name for a fanlisting collective, as beehives house honey bees, while this website houses all the fanlistings I created, maintain, joined and have applied to join.
-Welcome to Beehive! 🐝
\ No newline at end of file
+Welcome to Beehive! 🐝
diff --git a/src/blog/posts/2025-01-07-blog-questions-challenge.md b/src/blog/posts/2025-01-07-blog-questions-challenge.md
index 50681b35..1f79f283 100644
--- a/src/blog/posts/2025-01-07-blog-questions-challenge.md
+++ b/src/blog/posts/2025-01-07-blog-questions-challenge.md
@@ -10,7 +10,7 @@ I was tagged by [~hedy](https://home.hedy.dev/) for a [blog questions challenge]
## Why did you start blogging in the first place?
-I learned about the concept of blogs for the first time when I was a secondary school student in the later half of the 2000s. I was introduced to blogs by a Malaysian Chinese secondary school magazine named {% cite "Xuehai Weekly" %} ([《学海周刊》]{lang=zh}).
+I learned about the concept of blogs for the first time when I was a secondary school student in the later half of the 2000s. I was introduced to blogs by a Malaysian Chinese secondary school magazine named {{ cite "Xuehai Weekly" }} ([《学海周刊》]{lang=zh}).
As an undiagnosed autistic kid who was more comfortable communicating and expressing themself through writing, and had been keeping a journal, I was fascinated by the concept of a personal journal on the internet. Therefore, after trying it out, blogging immediately became one of my main hobbies, and I enjoyed browsing and reading other people's blogs as well. I loved blogs for allowing ordinary people to write and publish their writing to express themselves outside traditional publishing channels.
@@ -66,4 +66,4 @@ Aside from blog, I have also written and published articles about various topics
I cannot decide who else to tag for this blog questions challenge, because not all my acquaintances in the personal web are bloggers and some bloggers are not huge fans of meta type posts.
-Therefore, consider this an open invitation: If you find this post and are interested in answering these questions yourself, feel free to write your own post!
\ No newline at end of file
+Therefore, consider this an open invitation: If you find this post and are interested in answering these questions yourself, feel free to write your own post!
diff --git a/src/blog/posts/2025-01-19-attending-42-school.md b/src/blog/posts/2025-01-19-attending-42-school.md
index 12cce3fb..a25a0c03 100644
--- a/src/blog/posts/2025-01-19-attending-42-school.md
+++ b/src/blog/posts/2025-01-19-attending-42-school.md
@@ -12,7 +12,7 @@ One day in December 2024, I suddenly remembered that my mother told me once that
Turned out, the school is named [42](https://www.42network.org/), and is an international school network that provides free computer science education, with many campuses around the world, including Malaysia. The main thing that differentiates 42 from traditional universities is its peer-to-peer and project-based learning models that do not involve any teachers.
-According to the [official website of 42's Paris campus](https://42.fr/en/what-is-42/42-program-explained/) — where 42 originated — the name is a reference to Douglas Adams’ book {% cite "The Hitchhiker’s Guide to the Galaxy" %}:
+According to the [official website of 42's Paris campus](https://42.fr/en/what-is-42/42-program-explained/) — where 42 originated — the name is a reference to Douglas Adams’ book {{ cite "The Hitchhiker’s Guide to the Galaxy" }}:
> In Douglas Adams’ book The Hitchhiker’s Guide to the Galaxy – H2G2 for short – an advanced alien species builds a super computer. It has only one job: to find the answer to the Ultimate Question of Life, the Universe and Everything. After 7 million years of calculation, the computer finds the answer: 42. In geek culture, 42 often represents the answer to a seemingly insuperable problem. This is why 42 is called 42. This is our answer to what IT education should be today and in the future.
@@ -26,4 +26,4 @@ However, to my surprise, the computers did not have any setting to adjust screen
After visiting the campus on its open day, I have been looking forward to attending the school more. Wish me luck in passing my Piscine so I can become an official student of 42!
-**Update, 17 February 2025:** Originally, I registered to join the Piscine scheduled for 24 February 2025, but I received an email from the school announcing that due to unforeseen circumstances, the Piscine scheduled late February 2025 will no longer take place as planned. Therefore, I registered for the Piscine beginning on 7 April 2025.
\ No newline at end of file
+**Update, 17 February 2025:** Originally, I registered to join the Piscine scheduled for 24 February 2025, but I received an email from the school announcing that due to unforeseen circumstances, the Piscine scheduled late February 2025 will no longer take place as planned. Therefore, I registered for the Piscine beginning on 7 April 2025.
diff --git a/src/blog/posts/2025-02-06-my-2025-lunar-new-year.md b/src/blog/posts/2025-02-06-my-2025-lunar-new-year.md
index f992c4e4..682f9224 100644
--- a/src/blog/posts/2025-02-06-my-2025-lunar-new-year.md
+++ b/src/blog/posts/2025-02-06-my-2025-lunar-new-year.md
@@ -41,6 +41,6 @@ My brother went back to Singapore on the next day, which was also the third day
## Watching a Malaysian Lunar New Year Film
-While my family's Lunar New Year celebration in my parents' hometown had been over, we are still in a Lunar New Year mood. Therefore, on February 3, which was also lichun ([立春]{lang=zh}) and the sixth day of Lunar New Year, my parents and I watched a Malaysian Lunar New Year film named {% cite "Money Games" %} ([《半斤百两》]{lang=zh}) in a local cinema.
+While my family's Lunar New Year celebration in my parents' hometown had been over, we are still in a Lunar New Year mood. Therefore, on February 3, which was also lichun ([立春]{lang=zh}) and the sixth day of Lunar New Year, my parents and I watched a Malaysian Lunar New Year film named {{ cite "Money Games" }} ([《半斤百两》]{lang=zh}) in a local cinema.
This was the first Malaysian film I watched with my parents in cinema. I did not expect much from a Lunar New Year film to be a masterpiece since such films are made for entertainment first and foremost, but I had some good laughs out of the film. Not to mention, given how rampant news about Malaysians encountering scams are, an entertaining film aiming to be anti-fraud is not a bad idea.
diff --git a/src/blog/posts/2025-03-06-attended-42-discovery-piscine.md b/src/blog/posts/2025-03-06-attended-42-discovery-piscine.md
index 2df4c4af..2e09f97a 100644
--- a/src/blog/posts/2025-03-06-attended-42-discovery-piscine.md
+++ b/src/blog/posts/2025-03-06-attended-42-discovery-piscine.md
@@ -15,7 +15,7 @@ Discovery Piscine cadets, or Discovery Pisciners, will learn Python and shell, s
I had experience with Linux desktop environments before 42 founded its first Malaysian campus, as I used to dual boot Windows and Linux in my computer, but that happened years ago. Currently, my main method of using Linux is through Windows Subsystem for Linux (WSL) without setting up any desktop environment. Therefore, Discovery Piscine provided a great opportunity to practice using Linux and shell commands.
-I had learned Python before during my journey of teaching myself to code, and I even [contributed](https://github.com/ExcaliburZero/cbpickaxe/pull/3) to [cbpickaxe](https://github.com/ExcaliburZero/cbpickaxe), a Python library for datamining my favourite video game {% cite "Cassette Beasts" %}. However, Discovery Piscine allowed me to refresh my Python knowledge and practice writing Python scripts, while also learning Python's built-in functions that I was unfamiliar with. There was an exercise where I was stuck in for a longer time than expect, but then I solved the exercise after discovering the Python function I needed by searching the web with the right keyword.
+I had learned Python before during my journey of teaching myself to code, and I even [contributed](https://github.com/ExcaliburZero/cbpickaxe/pull/3) to [cbpickaxe](https://github.com/ExcaliburZero/cbpickaxe), a Python library for datamining my favourite video game {{ cite "Cassette Beasts" }}. However, Discovery Piscine allowed me to refresh my Python knowledge and practice writing Python scripts, while also learning Python's built-in functions that I was unfamiliar with. There was an exercise where I was stuck in for a longer time than expect, but then I solved the exercise after discovering the Python function I needed by searching the web with the right keyword.
Speaking of the computers in 42's workstations, during my last visit to my local campus of 42 on their open day in January, I requested a way to change the computer screen brightness to the campus staff, because my eyes are sensitive to bright light due to me having [retinitis pigmentosa](/articles/living-with-retinitis-pigmentosa), and to my surprise the computers lacked the option to adjust screen brightness. The school staff promised to accommodate my request. On my first day attending the Discovery Piscine, I reminded the staff of my request, and a staff member soon installed a screen brightness setting in all the workstation computers, so I could adjust the computer screen brightness to the level I felt comfortable with.
@@ -27,4 +27,4 @@ The fact that 42's curriculum has no teacher encouraged us to learn through sear
There were 10 modules of Python exercises in Discovery Piscine's curriculum, and I managed to do all the exercises, though not all of them got evaluated because of time constraints, and 42 only considers you having completed a module after you pass peer evaluations, so I ended up completing 5 out of 10 modules. However, this also earned me a certificate of completion after I graduated from the Discovery Piscine.
-Despite already having programming experience — including [professional experience](2024-08-18-from-hobbyist-to-professional-web-developer.md) albeit [a short one](2024-12-16-leaving-my-first-developer-job.md) — I find 42 a good school for me. I am looking forward to the full Piscine in April.
\ No newline at end of file
+Despite already having programming experience — including [professional experience](2024-08-18-from-hobbyist-to-professional-web-developer.md) albeit [a short one](2024-12-16-leaving-my-first-developer-job.md) — I find 42 a good school for me. I am looking forward to the full Piscine in April.
diff --git a/src/blog/posts/2025-03-19-ne-zha-2-impressions.md b/src/blog/posts/2025-03-19-ne-zha-2-impressions.md
index 127fcb6e..8c5eefbe 100644
--- a/src/blog/posts/2025-03-19-ne-zha-2-impressions.md
+++ b/src/blog/posts/2025-03-19-ne-zha-2-impressions.md
@@ -5,18 +5,18 @@ date: 2025-03-19T19:10:47+0800
categories: ["films"]
---
-On the afternoon of 18 March 2025, my parents and I went to the cinema to watch {% cite "Ne Zha 2" %} ([哪吒之魔童闹海]{lang=zh}), an animated film produced in mainland China.
+On the afternoon of 18 March 2025, my parents and I went to the cinema to watch {{ cite "Ne Zha 2" }} ([哪吒之魔童闹海]{lang=zh}), an animated film produced in mainland China.
-To be honest, my parents were more excited about watching this film than I was. After finding out that {% cite "Ne Zha 2" %} was a massive box office success in China, my parents were looking forward to its release in Malaysia. As soon as {% cite "Ne Zha 2" %} started to be shown in cinema in Malaysia, my parents talked about their plans to watch the film, and even watched its predecessor, {% cite "Ne Zha" %} ([哪吒之魔童降世]{lang=zh}), at home the night before watching {% cite "Ne Zha 2" %} to do their homework.
+To be honest, my parents were more excited about watching this film than I was. After finding out that {{ cite "Ne Zha 2" }} was a massive box office success in China, my parents were looking forward to its release in Malaysia. As soon as {{ cite "Ne Zha 2" }} started to be shown in cinema in Malaysia, my parents talked about their plans to watch the film, and even watched its predecessor, {{ cite "Ne Zha" }} ([哪吒之魔童降世]{lang=zh}), at home the night before watching {{ cite "Ne Zha 2" }} to do their homework.
-As for me, I have never paid close attention to mainland China's entertainment industry, especially when compared to my teenage years when I followed Hong Kong and Taiwan's entertainment industry closely to the extent of being described as an expert by my mother. Therefore, I accompanied my parents to see {% cite "Ne Zha" %} merely out of curiosity and a desire to see what the hype was, and what made the film such a hit and the highest-grossing animated film in the world.
+As for me, I have never paid close attention to mainland China's entertainment industry, especially when compared to my teenage years when I followed Hong Kong and Taiwan's entertainment industry closely to the extent of being described as an expert by my mother. Therefore, I accompanied my parents to see {{ cite "Ne Zha" }} merely out of curiosity and a desire to see what the hype was, and what made the film such a hit and the highest-grossing animated film in the world.
-As a result, after sitting in the cinema for more than two hours and watching {% cite "Ne Zha" %} for myself, my first impression was that the animation and visual effects of the film are truly stunning and full of action as well as tense and dramatic moments. However, I am not a fan of the film's portrayal and treatment of its female characters.
+As a result, after sitting in the cinema for more than two hours and watching {{ cite "Ne Zha" }} for myself, my first impression was that the animation and visual effects of the film are truly stunning and full of action as well as tense and dramatic moments. However, I am not a fan of the film's portrayal and treatment of its female characters.
A [Ne Zha 2 review by circularuins on Douban (in Chinese)](https://movie.douban.com/review/16499182/) explains my issues with the portrayal and treatment of women in the film well. If you do not mind spoilers, I highly recommend reading the entire article. Even if you are unable to read Chinese, I would still suggest trying to read it with a machine translation.
I deeply relate to the author when they talked about how beginning to strongly identify as an Asian woman, and realise what that identity means in society, and thus starting to look at films' portrayal of women in a critical eye. This is a big part of why my taste in entertainment media has changed drastically as an adult compared to when I was a teenager. As an adult, I began to learn about the concept of media representation, and how the portrayal of different groups of people—including women—in the media reflects and influences the audience impression of those demographics.
-As for the portrayal of women in entertainment media such as film and television, I am particularly tired of and disgusted by the trope of women characters existing mainly or only as sacrifices for the development of male characters. There is even a name for this trope, [women in refrigerators](https://en.wikipedia.org/wiki/Women_in_refrigerators). This is one of the reasons why I despise the 2023 Hong Kong film {% cite "One More Chance" %} ([别叫我“赌神”]{lang=zh}), which I also saw in the cinema with my parents, and regard it as a major stinker of a film. Unfortunately, the woman in refrigerator trope happens in {% cite "Ne Zha 2" %} as well. Honestly, it is embarrassing and insulting to see these tired old sexist tropes in a hit film in the 2020s.
+As for the portrayal of women in entertainment media such as film and television, I am particularly tired of and disgusted by the trope of women characters existing mainly or only as sacrifices for the development of male characters. There is even a name for this trope, [women in refrigerators](https://en.wikipedia.org/wiki/Women_in_refrigerators). This is one of the reasons why I despise the 2023 Hong Kong film {{ cite "One More Chance" }} ([别叫我“赌神”]{lang=zh}), which I also saw in the cinema with my parents, and regard it as a major stinker of a film. Unfortunately, the woman in refrigerator trope happens in {{ cite "Ne Zha 2" }} as well. Honestly, it is embarrassing and insulting to see these tired old sexist tropes in a hit film in the 2020s.
-All in all, while I can understand, to a certain degree, how the animation and visual effects of {% cite "Ne Zha 2" %} are a reason for the film's success, I cannot recommend it wholeheartedly, especially if you have high standards for the portrayal and treatment of women in film.
\ No newline at end of file
+All in all, while I can understand, to a certain degree, how the animation and visual effects of {{ cite "Ne Zha 2" }} are a reason for the film's success, I cannot recommend it wholeheartedly, especially if you have high standards for the portrayal and treatment of women in film.
diff --git a/src/blog/posts/posts.11tydata.js b/src/blog/posts/posts.11tydata.js
index cc463039..b12ddcc3 100644
--- a/src/blog/posts/posts.11tydata.js
+++ b/src/blog/posts/posts.11tydata.js
@@ -1,5 +1,4 @@
export default {
- layout: "main/content",
tags: ["posts", "contents", "feed items"],
isArticle: true,
eleventyComputed: {
@@ -9,4 +8,4 @@ export default {
parent: "Blog Archive"
}
}
-}
\ No newline at end of file
+}
diff --git a/src/changelogs/logs/2023/2023-06-11.md b/src/changelogs/logs/2023/2023-06-11.md
index 7753cd7e..2e4ee810 100644
--- a/src/changelogs/logs/2023/2023-06-11.md
+++ b/src/changelogs/logs/2023/2023-06-11.md
@@ -3,4 +3,4 @@ date: 2023-06-11
---
* Widened the website content layout.
-* Changed the header image of my [{% cite "Star Wars: Knights of the Old Republic" %} shrine](/shrines/starwarskotor/).
\ No newline at end of file
+* Changed the header image of my [{{ cite "Star Wars: Knights of the Old Republic" }} shrine](/shrines/starwarskotor/).
diff --git a/src/changelogs/logs/2024/2024-05-09.md b/src/changelogs/logs/2024/2024-05-09.md
index aa76e009..5dae8d85 100644
--- a/src/changelogs/logs/2024/2024-05-09.md
+++ b/src/changelogs/logs/2024/2024-05-09.md
@@ -2,6 +2,6 @@
date: 2024-05-09T13:45:00+0800
---
-* [{% cite "Cassette Beasts" %} shrine](/shrines/cassettebeasts/):
+* [{{ cite "Cassette Beasts" }} shrine](/shrines/cassettebeasts/):
* Rename Trivia page to [Facts page](/shrines/cassettebeasts/facts/).
- * Add "Frequently Asked Topics" section to the Facts page.
\ No newline at end of file
+ * Add "Frequently Asked Topics" section to the Facts page.
diff --git a/src/changelogs/logs/2024/2024-05-18.md b/src/changelogs/logs/2024/2024-05-18.md
index a9c8924f..b3d67bac 100644
--- a/src/changelogs/logs/2024/2024-05-18.md
+++ b/src/changelogs/logs/2024/2024-05-18.md
@@ -2,4 +2,4 @@
date: 2024-05-18T00:51:00+0800
---
-* Add footnotes section to [{% cite "A Summer’s End — Hong Kong 1986" %} shrine Trivia page](/shrines/asummersend/trivia/) and [{% cite "Cassette Beasts" %} shrine Facts page](/shrines/cassettebeasts/facts/).
\ No newline at end of file
+* Add footnotes section to [{{ cite "A Summer’s End — Hong Kong 1986" }} shrine Trivia page](/shrines/asummersend/trivia/) and [{{ cite "Cassette Beasts" }} shrine Facts page](/shrines/cassettebeasts/facts/).
diff --git a/src/changelogs/logs/2024/2024-05-28.md b/src/changelogs/logs/2024/2024-05-28.md
index ab7ab542..31243a60 100644
--- a/src/changelogs/logs/2024/2024-05-28.md
+++ b/src/changelogs/logs/2024/2024-05-28.md
@@ -2,5 +2,5 @@
date: 2024-05-28T01:49:00+0800
---
-* [{% cite "A Summer’s End — Hong Kong 1986" %} shrine](/shrines/asummersend): Add Passion Patch screenshots section to the [Gallery page](/shrines/asummersend/gallery) (**Warning:** The Passion Patch screenshots are not safe for work, though they are hidden by default when you visit the gallery page).
-* Add a "Skip to content" button for screen reader and keyboard users (thank you [Kale](https://kalechips.net/projects/snippets/skip) for the inspiration).
\ No newline at end of file
+* [{{ cite "A Summer’s End — Hong Kong 1986" }} shrine](/shrines/asummersend): Add Passion Patch screenshots section to the [Gallery page](/shrines/asummersend/gallery) (**Warning:** The Passion Patch screenshots are not safe for work, though they are hidden by default when you visit the gallery page).
+* Add a "Skip to content" button for screen reader and keyboard users (thank you [Kale](https://kalechips.net/projects/snippets/skip) for the inspiration).
diff --git a/src/changelogs/logs/2024/2024-07-02.md b/src/changelogs/logs/2024/2024-07-02.md
index edbbbd4e..64dffb1e 100644
--- a/src/changelogs/logs/2024/2024-07-02.md
+++ b/src/changelogs/logs/2024/2024-07-02.md
@@ -3,11 +3,11 @@ date: 2024-07-02T22:00:00+0800
---
* The main site header now would display a Disability Pride Month blurb and the disability pride flag during July
-* [My fanlisting collective](https://fan.leilukin.com) and [{% cite "Cassette Beasts" %} fanlisting](https://fan.leilukin.com/cassettebeasts) launched!
+* [My fanlisting collective](https://fan.leilukin.com) and [{{ cite "Cassette Beasts" }} fanlisting](https://fan.leilukin.com/cassettebeasts) launched!
* [Projects page](/projects):
* Reorganised pages for my video game mods into their own directory
* Add code projects, started with [BellaBuffs with PHPMailer Integration](/projects/code/bellabuffs-phpmailer)
* New blog post: [Cassette Beasts Fanlisting and My Fanlisting Collective Launched](/blog/posts/2024-07-02-fanlisting-collective-launch)
* [Links page](/links):
* Add tabs to sort my link collection by category (thanks to [Kalechips' JavaScript-free tabs code scnippet](https://kalechips.net/projects/snippets/tabs) for the inspiration)
- * Add [webmastery resources](/links/#webmastery)
\ No newline at end of file
+ * Add [webmastery resources](/links/#webmastery)
diff --git a/src/changelogs/logs/2024/2024-07-13.md b/src/changelogs/logs/2024/2024-07-13.md
index b5cf8894..02f2e1a0 100644
--- a/src/changelogs/logs/2024/2024-07-13.md
+++ b/src/changelogs/logs/2024/2024-07-13.md
@@ -4,4 +4,4 @@ date: 2024-07-13T20:47:00+0800
* Add an inline SVG icon to external links
* Use inline SVG for Font Awesome icons to remove the need of hosting Font Awesome assets
-* Add dark mode support for [{% cite "Cassette Beasts" %} shrine](/shrines/cassettebeasts) based on user preference in system setting
\ No newline at end of file
+* Add dark mode support for [{{ cite "Cassette Beasts" }} shrine](/shrines/cassettebeasts) based on user preference in system setting
diff --git a/src/changelogs/logs/2024/2024-11-19.md b/src/changelogs/logs/2024/2024-11-19.md
index 4213f71e..612b8ed3 100644
--- a/src/changelogs/logs/2024/2024-11-19.md
+++ b/src/changelogs/logs/2024/2024-11-19.md
@@ -2,4 +2,4 @@
date: 2024-11-19T22:19:00+0800
---
-* Expand the home page of my [{% cite "Cassette Beasts" %} shrine](/shrines/cassettebeasts) by adding a ["{% cite "Cassette Beasts" %} — My Ultimate Comfort Media"](/shrines/cassettebeasts/#cassette-beasts-my-ultimate-comfort-media) section.
\ No newline at end of file
+* Expand the home page of my [{{ cite "Cassette Beasts" }} shrine](/shrines/cassettebeasts) by adding a ["{{ cite "Cassette Beasts" }} — My Ultimate Comfort Media"](/shrines/cassettebeasts/#cassette-beasts-my-ultimate-comfort-media) section.
diff --git a/src/changelogs/logs/2024/2024-11-21.md b/src/changelogs/logs/2024/2024-11-21.md
index 4f1d1bb3..801744cd 100644
--- a/src/changelogs/logs/2024/2024-11-21.md
+++ b/src/changelogs/logs/2024/2024-11-21.md
@@ -2,4 +2,4 @@
date: 2024-11-21T00:55:40+0800
---
-* Officially launch my [{% cite "Pokémon Omega Ruby" %} and {% cite "Alpha Sapphire" %} shrine](/shrines/pokemonoras) to celebrate the 10th anniversary of the games' release.
\ No newline at end of file
+* Officially launch my [{{ cite "Pokémon Omega Ruby" }} and {{ cite "Alpha Sapphire" }} shrine](/shrines/pokemonoras) to celebrate the 10th anniversary of the games' release.
diff --git a/src/changelogs/logs/2024/2024-12-30.md b/src/changelogs/logs/2024/2024-12-30.md
index 7c3b3604..8b4a585f 100644
--- a/src/changelogs/logs/2024/2024-12-30.md
+++ b/src/changelogs/logs/2024/2024-12-30.md
@@ -2,4 +2,4 @@
date: 2024-12-30T20:29:48+0800
---
-* Create page for my [{% cite "Stardew Valley" %} mod list](/links/stardew-valley-mod-list/).
\ No newline at end of file
+* Create page for my [{{ cite "Stardew Valley" }} mod list](/links/stardew-valley-mod-list/).
diff --git a/src/changelogs/logs/2025/2025-02-21.md b/src/changelogs/logs/2025/2025-02-21.md
index b55635ff..ba639ccd 100644
--- a/src/changelogs/logs/2025/2025-02-21.md
+++ b/src/changelogs/logs/2025/2025-02-21.md
@@ -2,6 +2,6 @@
date: 2025-02-21T20:54:36+0800
---
-* Create pages for my mod lists for the {% cite "Star Wars: Knights of the Old Republic" %} series for my {% cite "Star Wars: KotOR" %} shrine:
+* Create pages for my mod lists for the {{ cite "Star Wars: Knights of the Old Republic" }} series for my {{ cite "Star Wars: KotOR" }} shrine:
* [Leilukin's Star Wars: Knights of the Old Republic Mod Build](/shrines/starwarskotor/resources/kotor1-mod-list)
- * [Leilukin's Star Wars: Knights of the Old Republic II: The Sith Lords Mod Build](/shrines/starwarskotor/resources/kotor2-mod-list)
\ No newline at end of file
+ * [Leilukin's Star Wars: Knights of the Old Republic II: The Sith Lords Mod Build](/shrines/starwarskotor/resources/kotor2-mod-list)
diff --git a/src/changelogs/logs/2025/2025-02-23.md b/src/changelogs/logs/2025/2025-02-23.md
index 05fae5e2..92f6fc19 100644
--- a/src/changelogs/logs/2025/2025-02-23.md
+++ b/src/changelogs/logs/2025/2025-02-23.md
@@ -2,4 +2,4 @@
date: 2025-02-23T17:14:37+0800
---
-* Create page for my [{% cite "Mass Effect Legendary Edition" %} mod list](/links/mass-effect-le-mod-list/).
\ No newline at end of file
+* Create page for my [{{ cite "Mass Effect Legendary Edition" }} mod list](/links/mass-effect-le-mod-list/).
diff --git a/src/changelogs/logs/2025/2025-03-25.md b/src/changelogs/logs/2025/2025-03-25.md
index 5f763691..bd3e80d8 100644
--- a/src/changelogs/logs/2025/2025-03-25.md
+++ b/src/changelogs/logs/2025/2025-03-25.md
@@ -2,4 +2,4 @@
date: 2025-03-25T21:51:02+0800
---
-* Add new mod, [Consistent Bastila Recognition](/projects/videogamemods/kotor2/#Consistent-Bastila-Recognition), to my [{% cite "Star Wars: Knights of the Old Republic II" %} mod page](/projects/videogamemods/kotor2/).
\ No newline at end of file
+* Add new mod, [Consistent Bastila Recognition](/projects/videogamemods/kotor2/#Consistent-Bastila-Recognition), to my [{{ cite "Star Wars: Knights of the Old Republic II" }} mod page](/projects/videogamemods/kotor2/).
diff --git a/src/changelogs/logs/2025/2025-03-28.md b/src/changelogs/logs/2025/2025-03-28.md
index f5ea92c7..581aa0e2 100644
--- a/src/changelogs/logs/2025/2025-03-28.md
+++ b/src/changelogs/logs/2025/2025-03-28.md
@@ -2,4 +2,4 @@
date: 2025-03-28T13:33:52+0800
---
-* Add new article to [{% cite "Cassette Beasts" %} shrine](/shrines/cassettebeasts/): ["Why I Did Not Mind Sunny Had Only a Minor Role"](/shrines/cassettebeasts/articles/sunny-minor-role/).
\ No newline at end of file
+* Add new article to [{{ cite "Cassette Beasts" }} shrine](/shrines/cassettebeasts/): ["Why I Did Not Mind Sunny Had Only a Minor Role"](/shrines/cassettebeasts/articles/sunny-minor-role/).
diff --git a/src/changelogs/logs/logs.11tydata.js b/src/changelogs/logs/logs.11tydata.js
index afde825b..86edf055 100644
--- a/src/changelogs/logs/logs.11tydata.js
+++ b/src/changelogs/logs/logs.11tydata.js
@@ -1,9 +1,10 @@
export default {
tags: ["changelogs", "feed items"],
permalink: false,
+ excludeFromSitemap: true,
eleventyComputed: {
title: function(data) {
return `Changelog: ${this.formatDate(data.date)}`;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/changelogs/pages/2022.html b/src/changelogs/pages/2022.html
deleted file mode 100644
index 52d98ae0..00000000
--- a/src/changelogs/pages/2022.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: main/changelogs
-title: "Website Changelog Archive: 2022"
-desc: Changelog of my website during the year of 2022.
-changelogNav: "2022"
-eleventyNavigation:
- order: 2
----
-
-{% set changelogList = collections["changelog 2022"] %}
-{% include "main/changelogs-list.html" %}
diff --git a/src/changelogs/pages/2022.vto b/src/changelogs/pages/2022.vto
new file mode 100644
index 00000000..ec9a9d4d
--- /dev/null
+++ b/src/changelogs/pages/2022.vto
@@ -0,0 +1,17 @@
+---
+layout: partials/changelogs
+title: "Website Changelog Archive: 2022"
+desc: Changelog of my website during the year of 2022.
+changelogNav: "2022"
+eleventyNavigation:
+ order: 2
+---
+
+{{ set changelogList = collections["changelog 2022"] |> toReversed }}
+{{ for log of changelogList }}
+{{ headingAnchor 2, log.fileSlug }}
+{{ log.date |> formatDate }}
+{{ /headingAnchor }}
+
+{{ log.content }}
+{{ /for }}
diff --git a/src/changelogs/pages/2023.html b/src/changelogs/pages/2023.html
deleted file mode 100644
index ba60635c..00000000
--- a/src/changelogs/pages/2023.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: main/changelogs
-title: "Website Changelog Archive: 2023"
-desc: Changelog of my website during the year of 2023.
-changelogNav: "2023"
-eleventyNavigation:
- order: 3
----
-
-{% set changelogList = collections["changelog 2023"] %}
-{% include "main/changelogs-list.html" %}
diff --git a/src/changelogs/pages/2023.vto b/src/changelogs/pages/2023.vto
new file mode 100644
index 00000000..54ac26f9
--- /dev/null
+++ b/src/changelogs/pages/2023.vto
@@ -0,0 +1,17 @@
+---
+layout: partials/changelogs
+title: "Website Changelog Archive: 2023"
+desc: Changelog of my website during the year of 2023.
+changelogNav: "2023"
+eleventyNavigation:
+ order: 3
+---
+
+{{ set changelogList = collections["changelog 2023"] |> toReversed }}
+{{ for log of changelogList }}
+{{ headingAnchor 2, log.fileSlug }}
+{{ log.date |> formatDate }}
+{{ /headingAnchor }}
+
+{{ log.content }}
+{{ /for }}
diff --git a/src/changelogs/pages/2024.html b/src/changelogs/pages/2024.html
deleted file mode 100644
index a54d331d..00000000
--- a/src/changelogs/pages/2024.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: main/changelogs
-title: "Website Changelog Archive: 2024"
-desc: Changelog of my website during the year of 2024.
-changelogNav: "2024"
-eleventyNavigation:
- order: 4
----
-
-{% set changelogList = collections["changelog 2024"] %}
-{% include "main/changelogs-list.html" %}
diff --git a/src/changelogs/pages/2024.vto b/src/changelogs/pages/2024.vto
new file mode 100644
index 00000000..53f140e6
--- /dev/null
+++ b/src/changelogs/pages/2024.vto
@@ -0,0 +1,17 @@
+---
+layout: partials/changelogs
+title: "Website Changelog Archive: 2024"
+desc: Changelog of my website during the year of 2024.
+changelogNav: "2024"
+eleventyNavigation:
+ order: 4
+---
+
+{{ set changelogList = collections["changelog 2024"] |> toReversed }}
+{{ for log of changelogList }}
+{{ headingAnchor 2, log.fileSlug }}
+{{ log.date |> formatDate }}
+{{ /headingAnchor }}
+
+{{ log.content }}
+{{ /for }}
diff --git a/src/changelogs/pages/2025.html b/src/changelogs/pages/2025.html
deleted file mode 100644
index 27273910..00000000
--- a/src/changelogs/pages/2025.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: main/changelogs
-title: "Website Changelog Archive: 2025"
-desc: Changelog of my website during the year of 2025.
-changelogNav: "2025"
-eleventyNavigation:
- order: 5
----
-
-{% set changelogList = collections["changelog 2025"] %}
-{% include "main/changelogs-list.html" %}
diff --git a/src/changelogs/pages/2025.vto b/src/changelogs/pages/2025.vto
new file mode 100644
index 00000000..d8d00a2d
--- /dev/null
+++ b/src/changelogs/pages/2025.vto
@@ -0,0 +1,17 @@
+---
+layout: partials/changelogs
+title: "Website Changelog Archive: 2025"
+desc: Changelog of my website during the year of 2025.
+changelogNav: "2025"
+eleventyNavigation:
+ order: 5
+---
+
+{{ set changelogList = collections["changelog 2025"] |> toReversed }}
+{{ for log of changelogList }}
+{{ headingAnchor 2, log.fileSlug }}
+{{ log.date |> formatDate }}
+{{ /headingAnchor }}
+
+{{ log.content }}
+{{ /for }}
diff --git a/src/changelogs/pages/layouts.md b/src/changelogs/pages/layouts.md
index b95dbc6a..3fa95f54 100644
--- a/src/changelogs/pages/layouts.md
+++ b/src/changelogs/pages/layouts.md
@@ -1,5 +1,5 @@
---
-layout: main/changelogs
+layout: partials/changelogs
title: Website Layout Archive
desc: An archive for the page layout designs mt website has used.
changelogNav: Website Layouts
@@ -8,12 +8,12 @@ eleventyNavigation:
order: 1
---
-{%- macro siteLayout(params) -%}
+{{ function siteLayout(params) }}
## {{ params.title }}
-{% for screenshot in params.screenshots %}
+{{ for screenshot of params.screenshots }}
-{% endfor %}
-{%- endmacro -%}
+{{ /for }}
+{{ /function }}
{{ siteLayout({
title: "20 April 2024",
diff --git a/src/changelogs/pages/pages.11tydata.js b/src/changelogs/pages/pages.11tydata.js
index 11f72c4c..f175a1ce 100644
--- a/src/changelogs/pages/pages.11tydata.js
+++ b/src/changelogs/pages/pages.11tydata.js
@@ -1,6 +1,6 @@
export default {
tags: "changelog pages",
- layout: "main/changelogs",
+ layout: "partials/changelogs",
permalink: "/changelogs/{{ page.fileSlug }}/",
eleventyComputed: {
eleventyNavigation: {
@@ -8,4 +8,4 @@ export default {
parent: "Changelogs"
}
}
-}
\ No newline at end of file
+}
diff --git a/src/index.html b/src/index.vto
similarity index 95%
rename from src/index.html
rename to src/index.vto
index 4199aed5..5844f4e3 100644
--- a/src/index.html
+++ b/src/index.vto
@@ -1,5 +1,5 @@
---
-layout: main/content
+layout: layouts/main
tags: navbar links
metadata:
title: Home
@@ -9,9 +9,9 @@ eleventyNavigation:
key: Home
order: 1
eleventyComputed:
- pageTitle: Welcome to {{ sitemeta.siteName | safe }}!
+ pageTitle: Welcome to {{ sitemeta.siteName }}!
metadata:
- desc: Home page of {{ sitemeta.siteName | safe }}.
+ desc: Home page of {{ sitemeta.siteName }}.
---
@@ -37,7 +37,7 @@ eleventyComputed:
Link to My Website
- {% include "main/my-button.html" %}
+ {{ include "components/my-button.vto" }}
@@ -51,25 +51,25 @@ eleventyComputed:
What is New?
- {% for log in collections["changelogs"] | reverse | itemLimit(1) %}
+ {{ for log of collections["changelogs"] |> toReversed |> itemLimit(1) }}
You can subscribe to the {{ sitemeta.siteName }} RSS feed to get notified of the updates on this website, including new articles, blog posts and website changelogs.
- {% include "main/statuscafe.html" %}
+ {{ include "components/statuscafe.vto" }}
{{ prideButton("progress", "Progress Flag by Daniel Quasar (2018)") }}
{{ prideButton("9_stripe", "Nine-Stripe Rainbow Flag by Gilbert Baker (2017)") }}
@@ -87,7 +87,7 @@ eleventyComputed:
Web Cliques
- {% include "main/webcliques.html" %}
+ {{ include "components/webcliques.vto" }}
@@ -210,5 +210,5 @@ eleventyComputed:
Support Me
- {% include "main/support-me.html" %}
+ {{ include "components/support-me.vto" }}
diff --git a/src/links/linkgroups/joined.njk b/src/links/linkgroups/joined.vto
similarity index 97%
rename from src/links/linkgroups/joined.njk
rename to src/links/linkgroups/joined.vto
index 157dad63..809b5bb4 100644
--- a/src/links/linkgroups/joined.njk
+++ b/src/links/linkgroups/joined.vto
@@ -4,13 +4,13 @@ date: 2023-01-29
toc: true
---
-{% headingAnchor 3 %}Web Cliques{% endheadingAnchor %}
-{% include "main/webcliques.html" %}
+{{ headingAnchor 3 }}Web Cliques{{ /headingAnchor }}
+{{ include "components/webcliques.vto" }}
-{% headingAnchor 3 %}Fanlistings{% endheadingAnchor %}
+{{ headingAnchor 3 }}Fanlistings{{ /headingAnchor }}
diff --git a/src/links/linkgroups/resources.md b/src/links/linkgroups/resources.md
index 3bc8bd39..56e4e258 100644
--- a/src/links/linkgroups/resources.md
+++ b/src/links/linkgroups/resources.md
@@ -24,11 +24,11 @@ toc: true
#### Video Game Mods
These are lists of video game mods I use for my own playthroughs.
- {%- for list in collections["mod lists"] -%}
+ {{ for list of collections["mod lists"] }}
### Images
@@ -44,4 +44,4 @@ These are lists of video game mods I use for my own playthroughs.
### Web
-* [Unplatform](https://unplatform.fromthesuperhighway.com/) by ajazz — Interactive guidebook, online library, and recommendations database for escaping social media and joining the indie web.
\ No newline at end of file
+* [Unplatform](https://unplatform.fromthesuperhighway.com/) by ajazz — Interactive guidebook, online library, and recommendations database for escaping social media and joining the indie web.
diff --git a/src/links/linkgroups/websites.html b/src/links/linkgroups/websites.vto
similarity index 94%
rename from src/links/linkgroups/websites.html
rename to src/links/linkgroups/websites.vto
index 2e093612..4a3f5059 100644
--- a/src/links/linkgroups/websites.html
+++ b/src/links/linkgroups/websites.vto
@@ -4,15 +4,15 @@ date: 2023-01-28
toc: true
---
-{%- macro siteButton(url, file, alt, tooltip=alt, width=88, height=31) -%}
+{{ function siteButton(url, file, alt, tooltip=alt, width=88, height=31) -}}
{{ siteButton("https://32bit.cafe/", "communities/32-bit-cafe.png", "32-Bit Cafe") }}
{{ siteButton("https://zine.kalechips.net/index", "communities/saladmagazine.png", "Salad Magazine") }}
diff --git a/src/links/pages/mass-effect-le-mod-list.md b/src/links/pages/mass-effect-le-mod-list.md
index a6bd5b51..9b12bfe8 100644
--- a/src/links/pages/mass-effect-le-mod-list.md
+++ b/src/links/pages/mass-effect-le-mod-list.md
@@ -8,25 +8,25 @@ isContentDivided: true
toc: true
---
-{% container "article", "content__section" %}
-Welcome to Leilukin’s {% cite "Mass Effect Legendary Edition" %} Mod Build!
+{{ container "article", "content__section" }}
+Welcome to Leilukin’s {{ cite "Mass Effect Legendary Edition" }} Mod Build!
-Here I’m compiling a list of all the modifications, or mods in short, that I use for {% cite "Mass Effect Legendary Edition" %}, remaster of the {% cite "Mass Effect" %} trilogy, a series of space opera role-playing video games developed by BioWare, for the best experience with the game. This document is made for my reference and to share with others.
+Here I’m compiling a list of all the modifications, or mods in short, that I use for {{ cite "Mass Effect Legendary Edition" }}, remaster of the {{ cite "Mass Effect" }} trilogy, a series of space opera role-playing video games developed by BioWare, for the best experience with the game. This document is made for my reference and to share with others.
The format of this mod list is inspired by [KOTOR Community Portal's mod lists](https://kotor.neocities.org/modding/).
(This mod list was last updated on )
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
+{{ container "article", "content__section" }}
## Important Notes
In order to prevent mod conflicts as much as possible, installation order matters if you are using a lot of mods. Therefore, the full list of my mod build below has been arranged in the proper installation order to make all these mods compatible. If you are interested in following my mod build, you should install the mods in the order you are presented with them.
-It is important to note that **you cannot use mods for the original edition of the {% cite "Mass Effect" %} trilogy in the Legendary Edition, and vice versa**. Therefore, since the release of the Legendary Edition, mod authors need to either port or recreate the original trilogy mods, so they can be used for the Legendary Edition.
-{% endcontainer %}
+It is important to note that **you cannot use mods for the original edition of the {{ cite "Mass Effect" }} trilogy in the Legendary Edition, and vice versa**. Therefore, since the release of the Legendary Edition, mod authors need to either port or recreate the original trilogy mods, so they can be used for the Legendary Edition.
+{{ /container }}
-{% container "article", "content__section" %}
+{{ container "article", "content__section" }}
## Mod Categories
The mods I included in my mod build are divided into the following categories, which clarifies the types of changes the mod makes:
@@ -63,18 +63,18 @@ Restored Content
Sound Change
: As the name implies, these mods make changes to the sound in the vanilla game. The sound could be music or ambient audio.
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
-## {% cite "Mass Effect Legendary Edition" %} Modding Tools
+{{ container "article", "content__section" }}
+## {{ cite "Mass Effect Legendary Edition" }} Modding Tools
* [ME3Tweaks Mod Manager](https://me3tweaks.com/modmanager/): This mod manager can be used for both the original edition and the Legendary Edition of the Mass Effect trilogy.
-* [Mass Effect Legendary Edition Character Code Translator](https://answers.ea.com/t5/Mass-Effect-Legendary-Edition/Import-your-Shepard-from-the-original-trilogy/td-p/10340553): This app allows you to convert your Shepard’s face code from the original edition of {% cite "Mass Effect 2" %} and {% cite "3" %} into the Legendary Edition. The Legendary Edition adds new options to the character creator, so you cannot just directly copy and paste the face code from the original edition and expect your Shepard to look the same in LE. [[(Download Mass Effect Legendary Edition Character Code Translator from Google Drive)](https://drive.google.com/drive/u/0/folders/1ixMj8Eyvfu6DVczMgSIR826xPO1GfMym)]
-* [Trilogy Save Editor](https://www.nexusmods.com/masseffectlegendaryedition/mods/20): A save editor for the {% cite "Mass Effect" %} trilogy. If you are using any custom hair mods, using a save editor is required.
-{% endcontainer %}
+* [Mass Effect Legendary Edition Character Code Translator](https://answers.ea.com/t5/Mass-Effect-Legendary-Edition/Import-your-Shepard-from-the-original-trilogy/td-p/10340553): This app allows you to convert your Shepard’s face code from the original edition of {{ cite "Mass Effect 2" }} and {{ cite "3" }} into the Legendary Edition. The Legendary Edition adds new options to the character creator, so you cannot just directly copy and paste the face code from the original edition and expect your Shepard to look the same in LE. [[(Download Mass Effect Legendary Edition Character Code Translator from Google Drive)](https://drive.google.com/drive/u/0/folders/1ixMj8Eyvfu6DVczMgSIR826xPO1GfMym)]
+* [Trilogy Save Editor](https://www.nexusmods.com/masseffectlegendaryedition/mods/20): A save editor for the {{ cite "Mass Effect" }} trilogy. If you are using any custom hair mods, using a save editor is required.
+{{ /container }}
-{% container "article", "content__section" %}
-## {% cite "Mass Effect 1" %} Legendary Edition Mods
+{{ container "article", "content__section" }}
+## {{ cite "Mass Effect 1" }} Legendary Edition Mods
### Installed with ME3Tweaks Mod Manager
@@ -1007,10 +1007,10 @@ Installation Note
: I install (LE1) LCM LE3 Liara Nipples.mem and (LE1) 'Ashley' Nipples.mem.
---
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
-## {% cite "Mass Effect 2" %} Legendary Edition Mods
+{{ container "article", "content__section" }}
+## {{ cite "Mass Effect 2" }} Legendary Edition Mods
### Installed with ME3Tweaks Mod Manager
@@ -2275,10 +2275,10 @@ Installation Note
: I install (LE2) LCM ERS LE3 Liara Nipples.mem and (LE2) 'Ashley' Nipples.mem.
---
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
-## {% cite "Mass Effect 3" %} Legendary Edition Mods
+{{ container "article", "content__section" }}
+## {{ cite "Mass Effect 3" }} Legendary Edition Mods
### Installed with ME3Tweaks Mod Manager
@@ -2294,7 +2294,7 @@ Category
: Bugfix & Framework
IMPORTANT NOTE
-: This Community Framework and Patch is practically mandatory if you want to use multiple mods for {% cite "Mass Effect 3" %} Legendary Edition, as this framework and patch is required for those mods to work.
+: This Community Framework and Patch is practically mandatory if you want to use multiple mods for {{ cite "Mass Effect 3" }} Legendary Edition, as this framework and patch is required for those mods to work.
---
@@ -3382,4 +3382,4 @@ Category
: Appearance Change
---
-{% endcontainer %}
\ No newline at end of file
+{{ /container }}
diff --git a/src/links/pages/pages.11tydata.js b/src/links/pages/pages.11tydata.js
index c882c1c4..adeb7192 100644
--- a/src/links/pages/pages.11tydata.js
+++ b/src/links/pages/pages.11tydata.js
@@ -1,5 +1,5 @@
export default {
- layout: "main/content",
+ layout: "layouts/main",
permalink: "/links/{{ page.fileSlug }}/",
hasBreadcrumbs: true,
eleventyComputed: {
@@ -9,4 +9,4 @@ export default {
parent: "Links"
}
}
-}
\ No newline at end of file
+}
diff --git a/src/links/pages/stardew-valley-mod-list.md b/src/links/pages/stardew-valley-mod-list.md
index 674431dd..c2516f08 100644
--- a/src/links/pages/stardew-valley-mod-list.md
+++ b/src/links/pages/stardew-valley-mod-list.md
@@ -8,17 +8,17 @@ isContentDivided: true
toc: true
---
-{% container "article", "content__section" %}
-Welcome to Leilukin’s {% cite "Stardew Valley" %} Mod Build!
+{{ container "article", "content__section" }}
+Welcome to Leilukin’s {{ cite "Stardew Valley" }} Mod Build!
-Here I’m compiling a list of all the modifications, or mods in short, that I use for {% cite "Stardew Valley" %}, the independent farming simulator video game developed by ConcernedApe, for the best experience with the game. This document is made for my reference and to share with others.
+Here I’m compiling a list of all the modifications, or mods in short, that I use for {{ cite "Stardew Valley" }}, the independent farming simulator video game developed by ConcernedApe, for the best experience with the game. This document is made for my reference and to share with others.
The format of this mod list is inspired by [KOTOR Community Portal's mod lists](https://kotor.neocities.org/modding/).
(This mod list was last updated on )
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
+{{ container "article", "content__section" }}
## Mod Categories
The mods I included in my mod build are divided into the following categories, which clarifies the types of changes the mod makes:
@@ -34,18 +34,18 @@ Interface Change
Mechanics Change
: This type of mod makes changes to the game’s system which directly impacts the way you play the game, varying from changing the camera angle of a location to altering the core stats of a class.
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
+{{ container "article", "content__section" }}
## Mod Tiers
-The tiers for each mod included in my mod build are not necessary a judgement on the quality of the mods themselves. In my mod builds, mod tiers are ranked on a scale of 1-4, based on how important the individual mods are for my experience with {% cite "Stardew Valley" %}.
+The tiers for each mod included in my mod build are not necessary a judgement on the quality of the mods themselves. In my mod builds, mod tiers are ranked on a scale of 1-4, based on how important the individual mods are for my experience with {{ cite "Stardew Valley" }}.
Tier 1 - Essential
-: This tier indicates mods that I cannot play {% cite "Stardew Valley" %} without. Usually this is because I find those mods make very crucial changes to the game, typically by fixing things that bother me the most in the vanilla game. Similarly, mods of the Patch category that belong to this tier make critical changes to other mods. I consider excluding Tier 1 mods will negatively affect my experience with {% cite "Stardew Valley" %}.
+: This tier indicates mods that I cannot play {{ cite "Stardew Valley" }} without. Usually this is because I find those mods make very crucial changes to the game, typically by fixing things that bother me the most in the vanilla game. Similarly, mods of the Patch category that belong to this tier make critical changes to other mods. I consider excluding Tier 1 mods will negatively affect my experience with {{ cite "Stardew Valley" }}.
Tier 2 - Very Important
-: This tier indicates mods that vastly improve my experience with the game. Mods belong to this tier are the bread and butter of my mod build. That said, unlike Tier 1 mods, excluding Tier 2 mods from my playthrough does not actively make my {% cite "Stardew Valley" %} experience worse either.
+: This tier indicates mods that vastly improve my experience with the game. Mods belong to this tier are the bread and butter of my mod build. That said, unlike Tier 1 mods, excluding Tier 2 mods from my playthrough does not actively make my {{ cite "Stardew Valley" }} experience worse either.
Tier 3 - Somewhat Important
: This tier indicates mods that make changes that are in smaller scope or more subjective compared to Tier 1 and Tier 2 mods. Usually this is because the changes made by Tier 3 mods are less noticeable or more of a matter of personal taste.
@@ -53,19 +53,19 @@ Tier 3 - Somewhat Important
Tier 4 - Optional
: This tier indicates mods that makes even smaller or more subjective changes than Tier 3 mods, to the point that using these mods are optional. I include Tier 4 mods in my build for the purpose of maximizing my immersion, or because I use these mods for customization purposes for my characters.
{.deflist-1col}
-{% endcontainer %}
+{{ /container }}
-{% container "article", "content__section" %}
-## {% cite "Stardew Valley" %} Mod Build - Full List
+{{ container "article", "content__section" }}
+## {{ cite "Stardew Valley" }} Mod Build - Full List
### Mod Tools
-Frameworks that are essential to install for {% cite "Stardew Valley" %} mods to function:
+Frameworks that are essential to install for {{ cite "Stardew Valley" }} mods to function:
* [Stardew Modding API](https://smapi.io/) by Pathoschild
* [Content Patcher](https://www.nexusmods.com/stardewvalley/mods/1915) by Pathoschild
-{% cite "Stardew Valley" %} mod manager:
+{{ cite "Stardew Valley" }} mod manager:
* [Stardrop](https://www.nexusmods.com/stardewvalley/mods/10455)
@@ -271,7 +271,7 @@ Content Patcher Required
: No
Leilukin’s Comment
-: What bothers me about the hay in {% cite "Stardew Valley" %} is that if your silos are full, you cannot collect hay at all, not even as extra items in your inventory. This mod fixes that.
+: What bothers me about the hay in {{ cite "Stardew Valley" }} is that if your silos are full, you cannot collect hay at all, not even as extra items in your inventory. This mod fixes that.
---
@@ -1038,7 +1038,7 @@ Other Required Files
: Linus Modded config option
Leilukin’s Comment
-: As much as I like {% cite "Stardew Valley" %}, I cannot help but notice that the characters are overwhelmingly white. Therefore, the existence of the Diverse Stardew Valley mod is a gift and I consider this mod essential for my game.
+: As much as I like {{ cite "Stardew Valley" }}, I cannot help but notice that the characters are overwhelmingly white. Therefore, the existence of the Diverse Stardew Valley mod is a gift and I consider this mod essential for my game.
---
@@ -1355,4 +1355,4 @@ Content Patcher Required
: Yes
---
-{% endcontainer %}
+{{ /container }}
diff --git a/src/projects/code/bellabuffs-phpmailer.md b/src/projects/code/bellabuffs-phpmailer.md
index 18dba385..dbe63e67 100644
--- a/src/projects/code/bellabuffs-phpmailer.md
+++ b/src/projects/code/bellabuffs-phpmailer.md
@@ -17,7 +17,7 @@ BellaBuffs includes the optional features to email new members after submitting
This fork replaces the PHP `mail()` functions from BellaBuffs with PHPMailer, allowing a fanlisting to send out emails with SMTP, provided the fanlisting owner chooses to enable them, even if the hosting server does not support the PHP `mail()` function.
-I created this BellaBuffs fork when I was building the [{% cite "Cassette Beasts" %} fanlisting](https://fan.leilukin.com/cassettebeasts) with BellaBuffs and hosting the fanlisting on [InfinityFree](https://www.infinityfree.com/). I learned that InfinityFree's free hosting plan [does not support PHP `mail()` function](https://forum.infinityfree.com/t/sending-email-from-your-website-php-mail/49242), so incorporating PHPMailer was the solution to allow the {% cite "Cassette Beasts" %} fanlisting to send emails.
+I created this BellaBuffs fork when I was building the [{{ cite "Cassette Beasts" }} fanlisting](https://fan.leilukin.com/cassettebeasts) with BellaBuffs and hosting the fanlisting on [InfinityFree](https://www.infinityfree.com/). I learned that InfinityFree's free hosting plan [does not support PHP `mail()` function](https://forum.infinityfree.com/t/sending-email-from-your-website-php-mail/49242), so incorporating PHPMailer was the solution to allow the {{ cite "Cassette Beasts" }} fanlisting to send emails.
More information about my BellaBuffs fork and instructions for how to use it can be found on [its GitHub repository](https://github.com/helenclx/BellaBuffs-PHPMailer) and [its Gitea repository mirror](https://git.32bit.cafe/Leilukin/BellaBuffs-PHPMailer).
@@ -27,4 +27,4 @@ More information about my BellaBuffs fork and instructions for how to use it can
* HTML5 form validation, including E-mail and URL input types and the `required` attribute
* Update list of countries
* Add a buttons folder (with a placeholder file to enable the folder to be pushed via Git), so users do not need to manually create the folder to store uploaded buttons
-* Allows fnalisting members to change their favourites with the update form if favourites field is enabled
\ No newline at end of file
+* Allows fnalisting members to change their favourites with the update form if favourites field is enabled
diff --git a/src/projects/playlists.md b/src/projects/playlists.md
index 2de9c6c9..9a898499 100644
--- a/src/projects/playlists.md
+++ b/src/projects/playlists.md
@@ -7,14 +7,13 @@ eleventyNavigation:
---
## My Dear Summer Lover
-{% from "asummersend/myplaylist.html" import myASEPlaylist %}
-{{ myASEPlaylist("A fanmix for the visual novel") }}
+{{ include "components/aseplaylist.vto" { intro: "A fanmix for the visual novel" } }}
## Mandopop LGBTQ+ Anthem [華語流行音樂同志國歌]{lang="zh"}
-{% imgFigure "/assets/projects/playlists/Mandopop-LGBTQ+-Anthem-Cover.avif", "Cover of the Mandopop LGBTQ+ Anthem playlist" %}
+{{ imgFigure "/assets/projects/playlists/Mandopop-LGBTQ+-Anthem-Cover.avif", "Cover of the Mandopop LGBTQ+ Anthem playlist" }}
[Image description: A progress pride flag, with the Traditional Chinese words, [同志國歌]{lang="zh"}, meaning queer anthem on top.]
-{% endimgFigure %}
+{{ /imgFigure }}
A collection of Mandarin queer anthems.
diff --git a/src/projects/projects.11tydata.js b/src/projects/projects.11tydata.js
index 03b03918..847111eb 100644
--- a/src/projects/projects.11tydata.js
+++ b/src/projects/projects.11tydata.js
@@ -1,6 +1,6 @@
export default {
tags: "project pages",
- layout: "main/content.html",
+ layout: "layouts/main",
hasBreadcrumbs: true,
eleventyComputed: {
eleventyNavigation: {
diff --git a/src/projects/snippets/disability-pride-flag-background.md b/src/projects/snippets/disability-pride-flag-background.md
index 061d0eff..5ecf7a8e 100644
--- a/src/projects/snippets/disability-pride-flag-background.md
+++ b/src/projects/snippets/disability-pride-flag-background.md
@@ -16,10 +16,10 @@ I have used JavaScript to set up the header of the main part of this website, so
Since Ann Magill released the Disability Pride flag to the public domain under [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/), I am doing the same to my responsive Disability Pride flag CSS background. Therefore, you are free to use my code and do what you want with it without asking for permission or crediting me.
## Demo
-{% set demoHeight = "23rem" %}
-{%- css %}
+{{ set demoHeight = "23rem" }}
+{{- css }}
.flag-disability.demo { height: {{ demoHeight }}; }
-{% endcss %}
+{{ endcss }}
@@ -45,4 +45,4 @@ CSS:
After copying the above snippet in a CSS stylesheet or the HTML `