diff --git a/.github/workflows/neocities.yml b/.github/workflows/neocities.yml index 78d391f8..cb1a8f51 100644 --- a/.github/workflows/neocities.yml +++ b/.github/workflows/neocities.yml @@ -17,10 +17,18 @@ jobs: steps: - uses: actions/checkout@v4 # Set up any tools and build steps here + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: lts/* + - name: Install deps and build + run: | + bun i + bun run build # When the dist_dir is ready, deploy it to neocities - name: Deploy to neocities uses: bcomnes/deploy-to-neocities@v2.0.2 with: api_token: ${{ secrets.NEOCITIES_API_TOKEN }} cleanup: true - dist_dir: Leilukins-Hub \ No newline at end of file + dist_dir: "_site/" \ No newline at end of file diff --git a/Leilukins-Hub/about/index.html b/Leilukins-Hub/about/index.html deleted file mode 100644 index 539164bd..00000000 --- a/Leilukins-Hub/about/index.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - About | Leilukin's Hub - - -
- -
- -
- - -
-
-

About

-

Learn more about this website and its owner.

-
- -
-

The Site

- -

This website serves as a personal hub for my interests and self-expression, as well as my own corner on the internet outside social media platforms.

- -

On this site, you can find various stuff and resources I have created or compiled, as well as articles dedicated to my interests.

- -

While the primary purpose of this website is my own space of self-expression, I also want my website to be accessible to viewers. Therefore, I strive to design this website to be mobile-friendly and accessible to provide the best user experience with my site.

- -

Feel free to drop a message and say hi on my guestbook!

- -

You can link to my website with this button:

- -
-
- Button of Leilukin's Hub -
- - - -
- -

If you also have a Neocities account, you can follow this site through its Neocities profile.

- a website button with Penelope the cat, the mascot of Neocities, and the text "hosted by neocities" -
- - -

The Site Owner

- - - -

You can call me Leilukin. I am a Malaysian Chinese non-binary lesbian born in the early 90s. My pronouns are they/she/他/她.

- -

I speak Mandarin, English, Cantonese and Malay, though I am most fluent in Mandarin and English.

- -

I am also autistic, so this website serves as a platform for my special interests.

- -

Social media platforms you can find me on:
- Tumblr | - YouTube | - Twitter | - Mastodon | - Mastodon (for gaming) | - Blusky | - Instagram -

- -

However, I am most active on Tumblr, so if you want to interact with me on a social media platform, Tumblr would be the best option.

- -

I also have media catalogues online on the following platforms:
- Steam | - The StoryGraph -

- -

You can contact me via email: leilukin@outlook.com.

- -

If you enjoy my work, you can support me on Ko-Fi or Buy Me a Coffee: -

- -

-
-
- - -
- - - \ No newline at end of file diff --git a/Leilukins-Hub/articles/designated-lesbian-syndrome-fandom.html b/Leilukins-Hub/articles/designated-lesbian-syndrome-fandom.html deleted file mode 100644 index 7f7d88cd..00000000 --- a/Leilukins-Hub/articles/designated-lesbian-syndrome-fandom.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - Designated Lesbian Syndrome in Fandom | Articles | Leilukin's Hub - - -
- -
- -
- - -
-

Designated Lesbian Syndrome in Fandom

- -
-

Written by Leilukin

-

Originally published on 18 August 2023

-
- -

Over the years of interacting with and observing fandom, I have come to dislike fandom and shipping culture for many reasons. One major reason I want to talk about here is the "Designated Lesbian Syndrome" phenomenon.

- -

I first encountered this term from this Tumblr post made by user desolationlesbian:

-
-

Designated Lesbian Syndrome (n.): When fans of a piece of media pick two female characters and pair them together as the token F/F ship and put them in everything, but do not bother to engage with their dynamic in any way more substantive than having them hold hands in the background. Everyone agrees it’s a good ship and it has nothing but their full support, yet this never materializes into real effort or content creation.

- -

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 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 tag contains 1,358 works, while the Ar'alani/Karyn Faro 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.

- -

Ar'alani and Karyn Faro are unfortunately perfect examples of the above post by desolationlesbian of major female characters who are reduced to token background lesbians by shippers. As a huge fan of both Ar'alani and Faro as characters, I find it immensely frustrating, to the extent that the Thrawn shipping fandom has utterly turned me off on both Thranto and Ar'alani/Faro ships.

- -

As a lesbian myself, I loathe the Designated Lesbian Syndrome with a passion, because this phenomenon is literally tokenism, specifically tokenisation of lesbians. As a consequence, I have reached the point where when it comes to fandoms with big Male/Male (M/M) ships that are not canon, I only trust lesbian headcanons from fellow lesbians. Yes, this means I do not trust lesbian Ar'alani and Karyn Faro headcanons from people who are not lesbians.

- -

I really hate that it comes to this because as a lesbian, in theory I am in favour of lesbian headcanons for female characters who are cishet-coded or who do not have a canon sexuality. Unfortunately, lesbian headcanons have been used as a progressive way to get female characters out of the way of Male/Male ships (and occasionally Male/Female ships as well, though this phenomenon is more common in fandoms of M/M ships), not because these shippers actually care about lesbians and the female characters.

- -

These shippers rarely put as much energy in talking about or creating fan content for the female characters they headcanon as lesbians as they do the male characters from their ships. These shippers can pretend they care about lesbians all they want, but my lesbian ass can see through their performative bullshit, and recognise their lesbian headcanons are nothing more than tokenism.

-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - Articles | Leilukin's Hub - - -
- -
- -
- - -
-
-

Articles

-

List of articles I have written.

-
- -
-

Fandom Culture

- -
- -
-

Specific Video Games with Their Own Pages

-
    -
  • My Cassette Beasts shrine Articles page
  • -
  • My Star Wars: Knights of the Old Republic shrine Articles page
  • -
-
-
- - -
- - - \ No newline at end of file diff --git a/Leilukins-Hub/articles/my-dislike-of-shipping-culture.html b/Leilukins-Hub/articles/my-dislike-of-shipping-culture.html deleted file mode 100644 index a9623b5b..00000000 --- a/Leilukins-Hub/articles/my-dislike-of-shipping-culture.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - My Disinterest in Shipping and Dislike of Shipping Culture | Articles | Leilukin's Hub - - -
- -
- -
- - -
-

My Disinterest in Shipping and Dislike of Shipping Culture

- -
-

Written by Leilukin

-

Originally published on 14 August 2023

-

{Note: The original version of this writing was posted on my Tumblr blog on 3 May 2021}

-
- -

I feel that the older I get, the less interested I am in shipping in general, and the less I can understand grown adults in late 20s or older who build their personality around shipping and cannot engage with any fiction without shipping something (before I remade my Tumblr account in 2015, I used to follow a 30-something-year-old fandom blogger who was literally like this).

- -

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”. Ffor example, I’ve literally seen people on Tumblr make such complaints about the film 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.

-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - Blog Archive | Leilukin's Hub - - -
- -
-

Blog Archive

-
-
- -
- - \ No newline at end of file diff --git a/Leilukins-Hub/blog/css/style-blog.css b/Leilukins-Hub/blog/css/style-blog.css deleted file mode 100644 index 5c9438d4..00000000 --- a/Leilukins-Hub/blog/css/style-blog.css +++ /dev/null @@ -1,274 +0,0 @@ -@import url('https://fonts.googleapis.com/css?family=Noto+Sans&display=swap'); - -/* CSS RESET */ -/* Box sizing rules */ -*, -*::before, -*::after { - box-sizing: border-box; -} - -/* Remove default margin */ -body, -h1, -h2, -h3, -h4, -p, -figure, -blockquote, -dl, -dd { - margin: 0; -} - -/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */ -ul[role='list'], -ol[role='list'] { - list-style: none; -} - -/* Set core root defaults */ -html:focus-within { - scroll-behavior: smooth; -} - -/* Set core body defaults */ -body { - min-height: 100vh; - text-rendering: optimizeSpeed; - line-height: 1.5; -} - -/* A elements that don't have a class get default styles */ -a:not([class]) { - text-decoration-skip-ink: auto; -} - -/* Make images easier to work with */ -img, -picture { - max-width: 100%; - display: block; -} - -/* Inherit fonts for inputs and buttons */ -input, -button, -textarea, -select { - font: inherit; -} - -/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */ -@media (prefers-reduced-motion: reduce) { - html:focus-within { - scroll-behavior: auto; - } - - *, - *::before, - *::after { - animation-duration: 0.01ms !important; - animation-iteration-count: 1 !important; - transition-duration: 0.01ms !important; - scroll-behavior: auto !important; - } -} - -/* STYLING BEGINS */ -/* General styles */ -body { - background-color: black; - background: url('../img/bg_space.png') no-repeat center center fixed; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; - font-size: 1.3rem; - font-family: 'Noto Sans', Arial, sans-serif; - min-height: 100vh; - display: flex; - align-items: center; - justify-content: center; -} - -h1 { - margin-bottom: 1.2rem; -} - -h1, h2, h3, h4, h5 { - color: #5fc7cd; -} - -p { - line-height: 1.6em; - padding: 0.5rem 0; -} - -strong { - color: #5fc7cd; -} - -img { - max-width: 100%; - height: auto; - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -blockquote { - margin: 1.5rem 0; - padding: 0.5rem 1rem; - border-inline-start: 0.1rem solid #5fc7cd; - background-color: #34220b; -} - -.right { - float: right; - margin-left: 1em; -} - -.left { - float: left; - margin-right: 1em; -} - -.center { - display: block; - margin-right: auto; - margin-left: auto; - text-align: center; -} - -@media only screen and (min-width: 37.5rem) { - .small { - max-width: 60%; - height: auto; - } -} - -.caption { - margin-top: 0; - font-size: 0.9em; - font-style: italic; -} - -a { - color: #ffc000; -} - -a:hover { - background-color: #34220b; -} - -hr { - border-width: 0.1rem 0 0 0; - border-style: dotted; - border-color: #a3bdc4; -} - -/* The rectangle that has contains everything but the background */ -.blog-container { - width: 95%; - max-width: 68.75rem; - background-color: #101010; - color: #dddddd; - border-radius: 2rem; - overflow: hidden; - box-shadow: 0 -2px 10px 0 #c7d8f4 inset; - margin: 1em 0; - padding: 1em 2em; -} - -/* HEADER STYLE */ -.blog-header { - margin-bottom: 0.5em; -} - -.blog-header ul { - display: inline-block; - list-style-type: none; - padding: 0; - margin-bottom: 1em; - margin-top: 1em; -} - -.blog-header li { - font-size: 1.1em; - display: inline-block; - margin-right: 0.5em; - margin-bottom: 0.5em; - margin-top: 0.5em; -} - -.blog-header li a { - color: white; - background-color: #1b548e; - border-radius: 25px; - border: 3px solid #7cd8ff; - padding: 6px 30px; - box-shadow: 0 -2px 12px 0 #23a4f8 inset; - text-transform: uppercase; - text-decoration: none; -} - -.blog-header li a:hover { - background-color: #1f64aa; - text-decoration: none; -} - -/* POST TITLE STYLE */ -.blog__title, -.blog-post__title { - font-size: 1.75em; -} - -/* POST STYLE */ -.blog-post__figure--img { - padding: 1rem 0; -} - -/* POST DATE STYLE */ -.blog-post__date { - font-size: 1.1em; - margin-bottom: 1.1em; -} - -/* POST LIST STYLE */ -.blog-recent-post-list { - margin-top: 1em; -} - -.blog-post-list ul, -.blog-recent-post-list ul { - font-size: 1.1em; - padding: 0; - list-style-type: none; -} - -.blog-post-list ul li, -.blog-recent-post-list ul li { - margin-bottom: 0.5em; -} - -.moreposts { - font-size: 0.8em; - margin-top: 0.2em; -} - -/*NEXT AND PREVIOUS LINKS STYLE*/ -.blog-nextprev { - text-align: center; - margin: 1.4em 0; -} - -/* DISQUS STYLE */ -#disqus_thread { - margin-top: 1.6em; -} - -/* FOOTER STYLE */ -.blog-footer { - font-size: 0.8em; -} \ No newline at end of file diff --git a/Leilukins-Hub/blog/img/bg_space.png b/Leilukins-Hub/blog/img/bg_space.png deleted file mode 100644 index 4e076ea9..00000000 Binary files a/Leilukins-Hub/blog/img/bg_space.png and /dev/null differ diff --git a/Leilukins-Hub/blog/index.html b/Leilukins-Hub/blog/index.html deleted file mode 100644 index 397d391f..00000000 --- a/Leilukins-Hub/blog/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - Blog | Leilukin's Hub - - -
- -
- -

Welcome to Leilukin's Hub Blog!

- -

This is my blog that is hosted on my own personal website. Hope you enjoy your time here!

- -
- -
- -
- - \ No newline at end of file diff --git a/Leilukins-Hub/blog/js/blog.js b/Leilukins-Hub/blog/js/blog.js deleted file mode 100644 index c71862ca..00000000 --- a/Leilukins-Hub/blog/js/blog.js +++ /dev/null @@ -1,231 +0,0 @@ -/*Welcome to the script file! Your 1st time here, you should update - the basic info section to include your name and website/social - media link (if desired). Most of the time, you will just come - here to update the posts array. However, you can also edit or - add your own scripts to do whatever you like!*/ - -//TABLE OF CONTENTS - // 1. Basic Info - // 2. Posts Array - // 3. Creating HTML Sections to Be Inserted (Header, Footer, etc) - // 4. Inserting the Sections Into our Actual HTML Pages - -//----------------------------- - -//==[ 1. BASIC INFO ]== - -let blogName = "Leilukin's Hub Blog"; -let authorName = "Leilukin"; -let authorLink = "https://leilukin.neocities.org/"; // Enter your website, social media, etc. Some way for people to tell you they like your blog! (Leaving it empty is okay too) - -//----------------------------- - -//==[ 2. POSTS ARRAY ]== - -/* Each time you make a new post, add the filepath here at the top of postsArray. - This will cause all the right links to appear and work. - NOTE: It's important to follow this exact naming convention, because the scripts - below are expecting it ( 'posts/YYYY-MM-DD-Title-of-Your-Post.html', ). You can - alter the scripts if you want to use a different naming convention */ -/* UPDATE: as of version 1.3, you may omit the date if you would like. But if you - use a date it must still follow that format. */ - -let postsArray = [ - [ "posts/2024-03-06-I-Received-a-Lifetime-Premium-Membership-on-Nexus-Mods-for-Free.html" ], - [ "posts/2023-11-20-Finally-Beat-A-Bugs-Life-Video-Game-24-Years-Later.html", encodeURI( `Finally Beat A Bug's Life The Video Game — 24 Years Later` ) ], - [ "posts/2023-11-19-I-Can-Finally-Game-on-a-Solid-State-Drive.html", encodeURI( `I Can Finally Game on a Solid-State Drive` ) ], - [ "posts/2023-10-30-Support-for-My-Steam-Review-of-A-Summers-End.html", encodeURI( `Support for My Steam Review of A Summer's End — Hong Kong 1986` ) ], - [ "posts/2023-10-13-My-Cassette-Beasts-Pombomb-Plushie-Arrived.html", encodeURI( `My Cassette Beasts Pombomb Plushie Arrived!` ) ], - [ "posts/2023-09-11-Happy-1st-Anniversary-to-Leilukins-Hub.html", encodeURI( `Happy 1st Anniversary to Leilukin's Hub` ) ], - [ "posts/2023-07-28-My-First-Birthday-After-the-Launch-of-Leilukins-Hub.html", encodeURI( `My First Birthday After the Launch of Leilukin's Hub` ) ], - [ "posts/2023-05-09-Onboard-the-Dracula-Daily-Hype-Train.html" ], - [ "posts/2023-01-28-Leilukins-Hub-Now-Has-a-Blog.html", encodeURI( `Leilukin's Hub Now Has a Blog!` ) ] - // [ "posts/2020-11-10-Special-Characters-Example.html", encodeURI( 'Spéci@l "Character\'s" Examp|e' ) ], - // [ "posts/2020-11-10-Post-Template.html" ] -]; - -//----------------------------- - -//==[ 3. CREATING HTML SECTIONS TO BE INSERTED ]== - -let url = window.location.pathname; - -//The date format to look for is 4 digits, hyphen, 2 digits, hyphen, 2 digits, hyphen. -const postDateFormat = /\d{4}\-\d{2}\-\d{2}\-/; - -//Check if you are in posts (if so, the links will have to go up a directory) -let relativePath = "."; -if ( url.includes("posts/") ) { - relativePath = ".."; -} - -//Variable for my main site URL -const mainSiteURL = "/home.html"; - -//Write the Header HTML, a series of list items containing links. -let headerHTML = ''; - -//Write the Footer HTML, which has information about the blog. -let footerHTML = "

" + blogName + " is written by " + authorName + ", built with Zonelets.

"; - -//To do the following stuff, we want to know where we are in the posts array (if we're currently on a post page). -let currentIndex = -1; -let currentFilename = url.substring(url.lastIndexOf('posts/')); -//Depending on the web server settings (Or something?), the browser url may or may not have ".html" at the end. If not, we must add it back in to match the posts array. (12-19-2022 fix) -if ( ! currentFilename.endsWith(".html") ) { - currentFilename += ".html"; -} -let i; -for (i = 0; i < postsArray.length; i++) { - if ( postsArray[i][0] === currentFilename ) { - currentIndex = i; - } -} - -//Convert the post url to readable post name. E.g. changes "2020-10-10-My-First-Post.html" to "My First Post" -//Or pass along the "special characters" version of the title if one exists -function formatPostTitle(i) { - // Check if there is an alternate post title - if ( postsArray[i].length > 1 ) { - //Remember how we had to use encodeURI for special characters up above? Now we use decodeURI to get them back. - return decodeURI(postsArray[i][1]); - } else { - //If there is no alternate post title, check if the post uses the date format or not, and return the proper title - if ( postDateFormat.test ( postsArray[i][0].slice( 6,17 ) ) ) { - return postsArray[i][0].slice(17,-5).replace(/-/g," "); - } else { - return postsArray[i][0].slice(6,-5).replace(/-/g," "); - } - } -} - -//Get the current post title and date (if we are on a post page) -let currentPostTitle = ""; -let niceDate = ""; -if ( currentIndex > -1 ) { - currentPostTitle = formatPostTitle( currentIndex ); - //Generate the "nice to read" version of date - if ( postDateFormat.test ( postsArray[currentIndex][0].slice( 6,17 ) ) ) { - let monthSlice = postsArray[currentIndex][0].slice( 11,13 ); - let month = ""; - if ( monthSlice === "01") { month = "Jan";} - else if ( monthSlice === "02") { month = "Feb";} - else if ( monthSlice === "03") { month = "Mar";} - else if ( monthSlice === "04") { month = "Apr";} - else if ( monthSlice === "05") { month = "May";} - else if ( monthSlice === "06") { month = "Jun";} - else if ( monthSlice === "07") { month = "Jul";} - else if ( monthSlice === "08") { month = "Aug";} - else if ( monthSlice === "09") { month = "Sep";} - else if ( monthSlice === "10") { month = "Oct";} - else if ( monthSlice === "11") { month = "Nov";} - else if ( monthSlice === "12") { month = "Dec";} - niceDate = postsArray[currentIndex][0].slice( 14,16 ) + " " + month + ", " + postsArray[currentIndex][0].slice( 6,10 ); - } -} - -//Generate the Post List HTML, which will be shown on the "Archive" page. - -function formatPostLink(i) { - let postTitle_i = ""; - if ( postsArray[i].length > 1 ) { - postTitle_i = decodeURI(postsArray[i][1]); - } else { - if ( postDateFormat.test ( postsArray[i][0].slice( 6,17 ) ) ) { - postTitle_i = postsArray[i][0].slice(17,-5).replace(/-/g," "); - } else { - postTitle_i = postsArray[i][0].slice(6,-5).replace(/-/g," "); - } - } - if ( postDateFormat.test ( postsArray[i][0].slice( 6,17 ) ) ) { - return '
  • ' + postsArray[i][0].slice(6,16) + " \u00BB " + postTitle_i + '
  • '; - } else { - return '
  • ' + postTitle_i + '
  • '; - } -} - -let postListHTML = ""; - -//Generate the Recent Post List HTML, which can be shown on the home page (or wherever you want!) -let recentPostsCutoff = 3; //Hey YOU! Change this number to set how many recent posts to show before cutting it off with a "more posts" link. -let recentPostListHTML = "

    Recent Posts:

    '; -} else { - recentPostListHTML += ""; -} - -//Generate the Next and Previous Post Links HTML -let nextprevHTML = ""; -let nextlink = ""; -let prevlink = ""; - -/*If you're on the newest blog post, there's no point to - a "Next Post" link, right? And vice versa with the oldest - post! That's what the following code handles.*/ -if ( postsArray.length < 2 ) { - nextprevHTML = 'Blog'; -} else if ( currentIndex === 0 ) { - prevlink = postsArray[currentIndex + 1][0]; - nextprevHTML = 'Blog | Previous Post \u00BB'; -} else if ( currentIndex === postsArray.length - 1 ) { - nextlink = postsArray[currentIndex - 1][0]; - nextprevHTML = '\u00AB Next Post | Blog'; -} else if ( 0 < currentIndex && currentIndex < postsArray.length - 1 ) { - nextlink = postsArray[currentIndex - 1][0]; - prevlink = postsArray[currentIndex + 1][0]; - nextprevHTML = '\u00AB Next Post | Blog | Previous Post \u00BB'; -} - -//----------------------------- - -//==[ 4. INSERTING THE SECTIONS INTO OUR ACTUAL HTML PAGES ]== - -/*Here we check if each relevant div exists. If so, we inject the correct HTML! - NOTE: All of these sections are optional to use on any given page. For example, if there's - one particular blog post where we don't want the footer to appear, - we simply don't put a