Migrate tags to single file

This commit is contained in:
Bad Manners 2024-12-15 15:30:12 -03:00
parent bb1e533a00
commit 4f42774e83
Signed by: badmanners
GPG key ID: 8C88292CCB075609
14 changed files with 326 additions and 335 deletions

View file

@ -4,7 +4,6 @@
},
"yaml.schemas": {
"./.astro/collections/series.schema.json": "/src/data/series/**",
"./.astro/collections/tag-categories.schema.json": "/src/data/tag-categories/**",
"./.astro/collections/users.schema.json": "/src/data/users/**"
},
"[astro]": {

View file

@ -1,5 +1,5 @@
import { defineCollection, reference, z } from "astro:content";
import { glob } from "astro/loaders";
import { file, glob } from "astro/loaders";
// Constants
@ -359,11 +359,10 @@ const seriesCollection = defineCollection({
});
const tagCategoriesCollection = defineCollection({
loader: glob({ pattern: "*.{yml,yaml}", base: "./src/data/tag-categories" }),
loader: file("./src/data/tags.yaml"),
schema: z.object({
// Required parameters
name: z.string(),
index: z.number().int(),
category: z.string(),
tags: z
.array(
z.object({

View file

@ -1,23 +0,0 @@
name: Types of vore
index: 1
tags:
- name: { en: oral vore, tok: moku musi kepeken uta }
description:
en: Scenarios where prey are consumed by the predator's mouth.
tok: jan li moku musi e jan ante kepeken uta.
- name: anal vore
description: Scenarios where prey are consumed by the predator's butt/anus.
- name: cock vore
description: Scenarios where prey are consumed by the predator's penis.
- name: unbirth
description: Scenarios where prey are consumed by the predator's vagina/vulva, sometimes also called "vaginal vore".
- name: tail vore
description: Scenarios where prey are consumed by the predator's tail, through an opening or mouth on the appendage.
- name: slit vore
description: Scenarios where prey are consumed by the predator's genital slit.
- name: sheath vore
description: Scenarios where prey are consumed by the predator's genital sheath around their penis.
- name: nipple vore
description: Scenarios where prey are consumed by the predator's breast, through the nipples or cleavage.
- name: chest maw vore
description: Scenarios where prey are consumed by the predator's chest, through a maw on their chest cavity.

View file

@ -1,13 +0,0 @@
name: Recurring characters
index: 10
tags:
- name: Sam Brendan
description: |
Content that features my character and fursona <a href="https://badmanners.xyz/sam_brendan/" x-data="{ href: 'https://badmanners.xyz/sam_brendan', suffix: '?ageVerified=true' }" x-bind:href="ageVerified ? href + suffix : href" target="_blank" >Sam, the mimic x maned wolf hybrid</a>.
- name: Beetle
description: |
Content that features my character <a href="https://booru.badmanners.xyz/index.php?q=post/view/3" target="_blank">Beetle, the gryphon</a>.
- name: Muno
description: Content that features my character Muno, the snake.
- name: Yolk
description: Content that features <a href="https://www.furaffinity.net/user/vampire101" target="_blank" rel="nofollow">Vampire101's</a> fursona, Yolk the monkey.

View file

@ -1,23 +0,0 @@
name: Body types
index: 2
tags:
- name: anthro predator
description: Scenarios where at least one of the predators is an anthropomorphic animal, i.e. generally regarded as a "furry".
- name: feral predator
description: Scenarios where at least one of the predators is an animal based on a real or mythological creature.
- name: taur predator
description: Scenarios where at least one of the predators is a multi-legged centaur-like creature, with an animal lower body and anthropomorphic upper body.
- name: { en: ambiguous predator, tok: sijelo pi jan pi wawa mute li ale }
description:
en: Scenarios where the body type of at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa mute la toki tan sijelo li lon ala.
- name: human prey
description: Scenarios where at least one of the prey is a human person.
- name: anthro prey
description: Scenarios where at least one of the prey is an anthropomorphic animal, i.e. generally regarded as a "furry".
- name: feral prey
description: Scenarios where at least one of the predators is an animal based on a real or mythological creature.
- name: { en: ambiguous prey, tok: sijelo pi jan pi wawa lili li ale }
description:
en: Scenarios where the body type of at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa lili la toki tan sijelo li lon ala.

View file

@ -1,35 +0,0 @@
name: Genders
index: 3
tags:
- name: male predator
description: Scenarios where at least one of the predators is a man and/or male-presenting.
related:
- trans male predator
- name: trans male predator
description: Scenarios where at least one of the predators is a man and/or male-presenting; more specifically, undergoing or or having undergone gender transition.
related:
- male predator
- name: female predator
description: Scenarios where at least one of the predators is a woman and/or female-presenting.
- name: non-binary predator
description: Scenarios where at least one of the predators has a non-binary gender expression, be they genderless/agender, intersex, androgynous, gender-fluid, non-binary and/or non-binary-presenting, et cetera, regardless of undergoing or having undergone gender transition or not.
- name: { en: ambiguous gender predator, tok: jan pi wawa mute li meli anu mije }
description:
en: Scenarios where the gender at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa mute la toki tan meli anu mije anu tonsi li lon ala.
- name: male prey
description: Scenarios where at least one of the prey is a man and/or male-presenting.
- name: female prey
description: Scenarios where at least one of the prey is a woman and/or female-presenting.
related:
- trans female prey
- name: trans female prey
description: Scenarios where at least one of the prey is a woman and/or female-presenting; more specifically, undergoing or having undergone gender transition.
related:
- female prey
- name: non-binary prey
description: Scenarios where at least one of the predators has a non-binary gender expression, be they genderless/agender, intersex, androgynous, gender-fluid, non-binary and/or non-binary-presenting, et cetera, regardless of undergoing or having undergone gender transition or not.
- name: { en: ambiguous gender prey, tok: jan pi wawa lili li meli anu mije }
description:
en: Scenarios where the gender at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa lili la toki tan meli anu mije anu tonsi li lon ala.

View file

@ -1,17 +0,0 @@
name: Relative size
index: 4
tags:
- name: macro predator
description: Scenarios where at least one of the predators has a size/height one or more orders of magnitude larger than average.
- name: micro prey
description: Scenarios where at least one of the prey has a size/height one or more orders of magnitude smaller than average.
- name: size difference
description: Scenarios where at least one of the predators has a notably larger size/height than one of their prey.
- name: similar size
description: Scenarios where at least one of the predators has a slightly larger size/height than one of their prey.
- name: same size
description: Scenarios where at least one of the predators has the same size/height as one of their prey, or their sizes are comparable.
- name: smaller predator
description: Scenarios where at least one of the predators has a notably smaller size/height than one of their prey.
related:
- role reversal

View file

@ -1,23 +0,0 @@
name: Willingness
index: 5
tags:
- name: { en: willing predator, tok: jan pi wawa mute li wile e moku musi }
description:
en: Scenarios where at least one of the predators participates in vore willingly.
tok: jan pi moku musi pi wawa mute la jan li wile e moku musi.
- name: semi-willing predator
description: Scenarios where the willingness of at least one of the predators might be partial, oscillating between willing and unwilling, somewhere in-between, or ambiguous.
- name: unwilling predator
description: Scenarios where at least one of the predators participates in vore unwillingly.
- name: asleep predator
description: Scenarios where at least one of the predators participates in vore while asleep.
- name: willing prey
description: Scenarios where at least one of the prey participates in vore willingly.
- name: semi-willing prey
description: Scenarios where the willingness of at least one of the prey might be partial, oscillating between willing and unwilling, somewhere in-between, or ambiguous.
- name: { en: unwilling prey, tok: jan pi wawa lili li wile ala e moku musi }
description:
en: Scenarios where at least one of the prey participates in vore unwillingly.
tok: jan pi moku musi pi wawa lili la jan li wile ala e moku musi.
- name: asleep prey
description: Scenarios where at least one of the predators participates in vore while asleep.

View file

@ -1,77 +0,0 @@
name: Vore-related scenarios
index: 6
tags:
- name: point of view
description: Scenarios where the narration takes the perspective of one of the characters, generally in first person.
- name: long-term endo
description: Scenarios where prey remains safely inside of their predator for an extended period of time.
related:
- perma endo
- implied perma endo
- name: perma endo
description: Scenarios where prey remains safely inside of their predator for an indefinite period of time.
related:
- long-term endo
- implied perma endo
- name: implied perma endo
description: Scenarios where prey is implied to remain safely inside of their predator for an indefinite period of time.
related:
- long-term endo
- perma endo
- name: full tour
description: Scenarios where prey passes all the way through their predator's gastrointestinal system, entering through one end and exiting through the opposite one.
related:
- implied full tour
- name: implied full tour
description: Scenarios where prey is implied to pass all the way through their predator's gastrointestinal system, entering through one end and supposedly exiting through the opposite one.
related:
- full tour
- name: regurgitation
description: Scenarios where prey are explicitly let out through the same spot they entered their predator, specifically their mouth.
related:
- implied regurgitation
- oral vore
- name: implied regurgitation
description: Scenarios where prey are implied to have been let out through the same spot they entered their predator, specifically their mouth.
related:
- regurgitation
- oral vore
- name: partial vore
description: Scenarios where prey don't enter they predator completely.
related:
- regurgitation
- name: prey transfer
description: Scenarios where prey are transferred from one predator into another, or transferred from one part of their predator to another.
- name: object vore
description: Scenarios where predators consume objects, alongside their prey or in place of them.
- name: role reversal
description: Scenarios where predators become prey and vice-versa, where dominant characters become prey, or where submissive characters become predators.
related:
- smaller predator
- name: nested vore
description: Scenarios where a predator becomes prey to another predator, or a prey consumes another prey.
related:
- multiple prey
- role reversal
- name: multiple prey
description: Scenarios where one predator consumes multiple prey at once.
- name: messy stomach
description: Scenarios where a prey visits a messy stomach, usually with semi-digested food inside.
related:
- oral vore
- name: hammerspace vore
description: Scenarios where a predator's body doesn't grow proportionally around the prey they consume, either at a substantially lower rate or not at all.
related:
- multiple prey
- name: bladder vore
description: Scenarios where prey consumed through the predator's urethra end up in their bladder.
related:
- cock vore
- name: soul vore
description: Scenarios where predators consume a soul instead of their prey's body.
- name: endo trait theft
description: Scenarios where predators acquire traits from their prey without digestion.
related:
- transformation
- name: Vore Day
description: Stories created in commemoration of Vore Day, which is celebrated on August 8th, and/or are set in said day.

View file

@ -1,25 +0,0 @@
name: Sexual content
index: 7
tags:
- name: nudity
description: Scenarios where a character is nude and displaying their sexual features, without necessarily participating in a sexual situation.
- name: masturbation
description: Scenarios where a character sexually stimulates themselves.
- name: straight sex
description: Scenarios where two or more characters of different genders participate in sexual activity.
related:
- orgy
- name: gay sex
description: Scenarios where two or more characters of the same gender, both men and/or male-presenting, participate in sexual activity.
related:
- orgy
- name: lesbian sex
description: Scenarios where two or more characters of the same gender, both women and/or female-presenting, participate in sexual activity.
related:
- orgy
- name: orgy
description: Scenarios where more than two characters participate in sexual activity freely.
related:
- straight sex
- gay sex
- lesbian sex

View file

@ -1,31 +0,0 @@
name: Other kinks
index: 8
tags:
- name: hyper
description: Scenarios where a character has abnormally large features compared to their body, usually genitalia.
- name: egg play
description: Scenarios with sexual action involving eggs.
related:
- object vore
- name: transformation
description: Scenarios where a character changes body and/or species.
related:
- endo trait theft
- name: netorare
description: Scenarios involving a character cheating on their partner with or without consent, and/or cuckoldry.
- name: sizeplay
description: Scenarios where a character changes size.
- name: inflation
description: Scenarios where a character expands out with the excessive intake of fluids, including semen.
- name: daddy play
description: Scenarios where a character refers to another as their "daddy" in a kinky manner, as part of a sexual situation or roleplay.
- name: BDSM
description: Scenarios related to bondage, sadism, masochism, dominance, and/or submission in a kinky manner, such as roleplay.
- name: dubcon
description: Scenarios where sexual consent is dubious.
- name: plushie
description: Scenarios with sexual action involving stuffed toys or plushie-like characters.
- name: wardrobe malfunction
description: Scenarios where a mishap happens with someone's clothes, such as accidentally revealing body parts and/or bursting open.
- name: pet play
description: Scenarios with roleplay where one (or more) of the participants plays the part of "pet".

View file

@ -1,27 +0,0 @@
name: Type of content
index: 9
tags:
- name: request
description: Stories made by someone else's request, as a gift.
- name: commission
description: Stories made as part of a commission to someone else.
- name: { en: flash fiction, tok: lipu lili }
description:
en: Short-format stories with no more than 2,500 words.
tok: lipu li jo e nanpa nimi lili.
- name: toki pona
description:
en: Stories written in toki pona, the language of good.
tok: lipu li kepeken toki pona.
- name: behind the scenes
description: Content where I go over the process of making other content.
- name: retrospective
description: Document detailing the good and bad parts during the creation process of a certain project.
- name: commentary
description: Content where the creator gives their thoughts on a certain project of theirs.
- name: technical post
description: Content where I explain the technical details of a certain system or technology.
- name: programming
description: Posts dedicated to programming, coding, and system architecture.
- name: game development
description: Content where I detail the process of creating a game.

294
src/data/tags.yaml Normal file
View file

@ -0,0 +1,294 @@
- id: types-of-vore
category: Types of vore
tags:
- name: { en: oral vore, tok: moku musi kepeken uta }
description:
en: Scenarios where prey are consumed by the predator's mouth.
tok: jan li moku musi e jan ante kepeken uta.
- name: anal vore
description: Scenarios where prey are consumed by the predator's butt/anus.
- name: cock vore
description: Scenarios where prey are consumed by the predator's penis.
- name: unbirth
description: Scenarios where prey are consumed by the predator's vagina/vulva, sometimes also called "vaginal vore".
- name: tail vore
description: Scenarios where prey are consumed by the predator's tail, through an opening or mouth on the appendage.
- name: slit vore
description: Scenarios where prey are consumed by the predator's genital slit.
- name: sheath vore
description: Scenarios where prey are consumed by the predator's genital sheath around their penis.
- name: nipple vore
description: Scenarios where prey are consumed by the predator's breast, through the nipples or cleavage.
- name: chest maw vore
description: Scenarios where prey are consumed by the predator's chest, through a maw on their chest cavity.
- id: body-types
category: Body types
tags:
- name: anthro predator
description: Scenarios where at least one of the predators is an anthropomorphic animal, i.e. generally regarded as a "furry".
- name: feral predator
description: Scenarios where at least one of the predators is an animal based on a real or mythological creature.
- name: taur predator
description: Scenarios where at least one of the predators is a multi-legged centaur-like creature, with an animal lower body and anthropomorphic upper body.
- name: { en: ambiguous predator, tok: sijelo pi jan pi wawa mute li ale }
description:
en: Scenarios where the body type of at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa mute la toki tan sijelo li lon ala.
- name: human prey
description: Scenarios where at least one of the prey is a human person.
- name: anthro prey
description: Scenarios where at least one of the prey is an anthropomorphic animal, i.e. generally regarded as a "furry".
- name: feral prey
description: Scenarios where at least one of the predators is an animal based on a real or mythological creature.
- name: { en: ambiguous prey, tok: sijelo pi jan pi wawa lili li ale }
description:
en: Scenarios where the body type of at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa lili la toki tan sijelo li lon ala.
- id: genders
category: Genders
tags:
- name: male predator
description: Scenarios where at least one of the predators is a man and/or male-presenting.
related:
- trans male predator
- name: trans male predator
description: Scenarios where at least one of the predators is a man and/or male-presenting; more specifically, undergoing or or having undergone gender transition.
related:
- male predator
- name: female predator
description: Scenarios where at least one of the predators is a woman and/or female-presenting.
- name: non-binary predator
description: Scenarios where at least one of the predators has a non-binary gender expression, be they genderless/agender, intersex, androgynous, gender-fluid, non-binary and/or non-binary-presenting, et cetera, regardless of undergoing or having undergone gender transition or not.
- name: { en: ambiguous gender predator, tok: jan pi wawa mute li meli anu mije }
description:
en: Scenarios where the gender at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa mute la toki tan meli anu mije anu tonsi li lon ala.
- name: male prey
description: Scenarios where at least one of the prey is a man and/or male-presenting.
- name: female prey
description: Scenarios where at least one of the prey is a woman and/or female-presenting.
related:
- trans female prey
- name: trans female prey
description: Scenarios where at least one of the prey is a woman and/or female-presenting; more specifically, undergoing or having undergone gender transition.
related:
- female prey
- name: non-binary prey
description: Scenarios where at least one of the predators has a non-binary gender expression, be they genderless/agender, intersex, androgynous, gender-fluid, non-binary and/or non-binary-presenting, et cetera, regardless of undergoing or having undergone gender transition or not.
- name: { en: ambiguous gender prey, tok: jan pi wawa lili li meli anu mije }
description:
en: Scenarios where the gender at least one of the predators is left ambiguous.
tok: jan pi moku musi pi wawa lili la toki tan meli anu mije anu tonsi li lon ala.
- id: relative-size
category: Relative size
tags:
- name: macro predator
description: Scenarios where at least one of the predators has a size/height one or more orders of magnitude larger than average.
- name: micro prey
description: Scenarios where at least one of the prey has a size/height one or more orders of magnitude smaller than average.
- name: size difference
description: Scenarios where at least one of the predators has a notably larger size/height than one of their prey.
- name: similar size
description: Scenarios where at least one of the predators has a slightly larger size/height than one of their prey.
- name: same size
description: Scenarios where at least one of the predators has the same size/height as one of their prey, or their sizes are comparable.
- name: smaller predator
description: Scenarios where at least one of the predators has a notably smaller size/height than one of their prey.
related:
- role reversal
- id: willingness
category: Willingness
tags:
- name: { en: willing predator, tok: jan pi wawa mute li wile e moku musi }
description:
en: Scenarios where at least one of the predators participates in vore willingly.
tok: jan pi moku musi pi wawa mute la jan li wile e moku musi.
- name: semi-willing predator
description: Scenarios where the willingness of at least one of the predators might be partial, oscillating between willing and unwilling, somewhere in-between, or ambiguous.
- name: unwilling predator
description: Scenarios where at least one of the predators participates in vore unwillingly.
- name: asleep predator
description: Scenarios where at least one of the predators participates in vore while asleep.
- name: willing prey
description: Scenarios where at least one of the prey participates in vore willingly.
- name: semi-willing prey
description: Scenarios where the willingness of at least one of the prey might be partial, oscillating between willing and unwilling, somewhere in-between, or ambiguous.
- name: { en: unwilling prey, tok: jan pi wawa lili li wile ala e moku musi }
description:
en: Scenarios where at least one of the prey participates in vore unwillingly.
tok: jan pi moku musi pi wawa lili la jan li wile ala e moku musi.
- name: asleep prey
description: Scenarios where at least one of the predators participates in vore while asleep.
- id: vore-related-scenarios
category: Vore-related scenarios
tags:
- name: point of view
description: Scenarios where the narration takes the perspective of one of the characters, generally in first person.
- name: long-term endo
description: Scenarios where prey remains safely inside of their predator for an extended period of time.
related:
- perma endo
- implied perma endo
- name: perma endo
description: Scenarios where prey remains safely inside of their predator for an indefinite period of time.
related:
- long-term endo
- implied perma endo
- name: implied perma endo
description: Scenarios where prey is implied to remain safely inside of their predator for an indefinite period of time.
related:
- long-term endo
- perma endo
- name: full tour
description: Scenarios where prey passes all the way through their predator's gastrointestinal system, entering through one end and exiting through the opposite one.
related:
- implied full tour
- name: implied full tour
description: Scenarios where prey is implied to pass all the way through their predator's gastrointestinal system, entering through one end and supposedly exiting through the opposite one.
related:
- full tour
- name: regurgitation
description: Scenarios where prey are explicitly let out through the same spot they entered their predator, specifically their mouth.
related:
- implied regurgitation
- oral vore
- name: implied regurgitation
description: Scenarios where prey are implied to have been let out through the same spot they entered their predator, specifically their mouth.
related:
- regurgitation
- oral vore
- name: partial vore
description: Scenarios where prey don't enter they predator completely.
related:
- regurgitation
- name: prey transfer
description: Scenarios where prey are transferred from one predator into another, or transferred from one part of their predator to another.
- name: object vore
description: Scenarios where predators consume objects, alongside their prey or in place of them.
- name: role reversal
description: Scenarios where predators become prey and vice-versa, where dominant characters become prey, or where submissive characters become predators.
related:
- smaller predator
- name: nested vore
description: Scenarios where a predator becomes prey to another predator, or a prey consumes another prey.
related:
- multiple prey
- role reversal
- name: multiple prey
description: Scenarios where one predator consumes multiple prey at once.
- name: messy stomach
description: Scenarios where a prey visits a messy stomach, usually with semi-digested food inside.
related:
- oral vore
- name: hammerspace vore
description: Scenarios where a predator's body doesn't grow proportionally around the prey they consume, either at a substantially lower rate or not at all.
related:
- multiple prey
- name: bladder vore
description: Scenarios where prey consumed through the predator's urethra end up in their bladder.
related:
- cock vore
- name: soul vore
description: Scenarios where predators consume a soul instead of their prey's body.
- name: endo trait theft
description: Scenarios where predators acquire traits from their prey without digestion.
related:
- transformation
- name: Vore Day
description: Stories created in commemoration of Vore Day, which is celebrated on August 8th, and/or are set in said day.
- id: sexual-content
category: Sexual content
tags:
- name: nudity
description: Scenarios where a character is nude and displaying their sexual features, without necessarily participating in a sexual situation.
- name: masturbation
description: Scenarios where a character sexually stimulates themselves.
- name: straight sex
description: Scenarios where two or more characters of different genders participate in sexual activity.
related:
- orgy
- name: gay sex
description: Scenarios where two or more characters of the same gender, both men and/or male-presenting, participate in sexual activity.
related:
- orgy
- name: lesbian sex
description: Scenarios where two or more characters of the same gender, both women and/or female-presenting, participate in sexual activity.
related:
- orgy
- name: orgy
description: Scenarios where more than two characters participate in sexual activity freely.
related:
- straight sex
- gay sex
- lesbian sex
- id: other-kinks
category: Other kinks
tags:
- name: hyper
description: Scenarios where a character has abnormally large features compared to their body, usually genitalia.
- name: egg play
description: Scenarios with sexual action involving eggs.
related:
- object vore
- name: transformation
description: Scenarios where a character changes body and/or species.
related:
- endo trait theft
- name: netorare
description: Scenarios involving a character cheating on their partner with or without consent, and/or cuckoldry.
- name: sizeplay
description: Scenarios where a character changes size.
- name: inflation
description: Scenarios where a character expands out with the excessive intake of fluids, including semen.
- name: daddy play
description: Scenarios where a character refers to another as their "daddy" in a kinky manner, as part of a sexual situation or roleplay.
- name: BDSM
description: Scenarios related to bondage, sadism, masochism, dominance, and/or submission in a kinky manner, such as roleplay.
- name: dubcon
description: Scenarios where sexual consent is dubious.
- name: plushie
description: Scenarios with sexual action involving stuffed toys or plushie-like characters.
- name: wardrobe malfunction
description: Scenarios where a mishap happens with someone's clothes, such as accidentally revealing body parts and/or bursting open.
- name: pet play
description: Scenarios with roleplay where one (or more) of the participants plays the part of "pet".
- id: type-of-content
category: Type of content
tags:
- name: request
description: Stories made by someone else's request, as a gift.
- name: commission
description: Stories made as part of a commission to someone else.
- name: { en: flash fiction, tok: lipu lili }
description:
en: Short-format stories with no more than 2,500 words.
tok: lipu li jo e nanpa nimi lili.
- name: toki pona
description:
en: Stories written in toki pona, the language of good.
tok: lipu li kepeken toki pona.
- name: behind the scenes
description: Content where I go over the process of making other content.
- name: retrospective
description: Document detailing the good and bad parts during the creation process of a certain project.
- name: commentary
description: Content where the creator gives their thoughts on a certain project of theirs.
- name: technical post
description: Content where I explain the technical details of a certain system or technology.
- name: programming
description: Posts dedicated to programming, coding, and system architecture.
- name: game development
description: Content where I detail the process of creating a game.
- id: recurring-characters
category: Recurring characters
tags:
- name: Sam Brendan
description: |
Content that features my character and fursona <a href="https://badmanners.xyz/sam_brendan/" x-data="{ href: 'https://badmanners.xyz/sam_brendan', suffix: '?ageVerified=true' }" x-bind:href="ageVerified ? href + suffix : href" target="_blank" >Sam, the mimic x maned wolf hybrid</a>.
- name: Beetle
description: |
Content that features my character <a href="https://booru.badmanners.xyz/index.php?q=post/view/3" target="_blank">Beetle, the gryphon</a>.
- name: Muno
description: Content that features my character Muno, the snake.
- name: Yolk
description: Content that features <a href="https://www.furaffinity.net/user/vampire101" target="_blank" rel="nofollow">Vampire101's</a> fursona, Yolk the monkey.

View file

@ -30,43 +30,36 @@ const draftOnlyTagsSet = new Set<string>();
uncategorizedTagsSet.forEach((tag) => draftOnlyTagsSet.delete(tag));
const uniqueSlugs = new Set<string>();
const categorizedTags = tagCategories
.sort((a, b) => {
if (a.data.index === b.data.index) {
throw new Error(`Found tag categories with same index value ${a.data.index} ("${a.id}", "${b.id}")`);
}
return a.data.index - b.data.index;
})
.map((category) => {
const tagList = category.data.tags.map<Tag>(({ name, description }) => {
description =
description &&
markdownToPlaintext(typeof description === "object" ? description[DEFAULT_LANG] : description).replaceAll(
/\n+/g,
" ",
);
const tag = typeof name === "string" ? name : name.en;
return { id: slug(tag), name: tag, description };
});
tagList.forEach(({ id, name }) => {
if (uniqueSlugs.has(id)) {
throw new Error(`Duplicated tag "${name}" found in multiple tag-categories entries`);
}
uniqueSlugs.add(id);
});
return {
name: category.data.name,
id: slug(category.data.name),
tags: tagList.filter(({ name }) => {
if (draftOnlyTagsSet.has(name)) {
// console.log(`Omitting draft-only tag "${name}"`);
return false;
}
uncategorizedTagsSet.delete(name);
return true;
}),
};
const categorizedTags = tagCategories.map((category) => {
const tagList = category.data.tags.map<Tag>(({ name, description }) => {
description =
description &&
markdownToPlaintext(typeof description === "object" ? description[DEFAULT_LANG] : description).replaceAll(
/\n+/g,
" ",
);
const tag = typeof name === "string" ? name : name.en;
return { id: slug(tag), name: tag, description };
});
tagList.forEach(({ id, name }) => {
if (uniqueSlugs.has(id)) {
throw new Error(`Duplicated tag "${name}" found in multiple tag-categories entries`);
}
uniqueSlugs.add(id);
});
return {
name: category.data.category,
id: category.id,
tags: tagList.filter(({ name }) => {
if (draftOnlyTagsSet.has(name)) {
// console.log(`Omitting draft-only tag "${name}"`);
return false;
}
uncategorizedTagsSet.delete(name);
return true;
}),
};
});
if (uncategorizedTagsSet.size > 0) {
const tagList = [...uncategorizedTagsSet];