From 4f42774e83589cfd2a46efe5672678deb66f1a64 Mon Sep 17 00:00:00 2001 From: Bad Manners <me@badmanners.xyz> Date: Sun, 15 Dec 2024 15:30:12 -0300 Subject: [PATCH] Migrate tags to single file --- .vscode/settings.json | 1 - src/content.config.ts | 7 +- src/data/tag-categories/1-types-of-vore.yaml | 23 -- .../10-recurring-characters.yaml | 13 - src/data/tag-categories/2-body-types.yaml | 23 -- src/data/tag-categories/3-genders.yaml | 35 --- src/data/tag-categories/4-relative-size.yaml | 17 - src/data/tag-categories/5-willingness.yaml | 23 -- .../6-vore-related-scenarios.yaml | 77 ----- src/data/tag-categories/7-sexual-content.yaml | 25 -- src/data/tag-categories/8-other-kinks.yaml | 31 -- .../tag-categories/9-type-of-content.yaml | 27 -- src/data/tags.yaml | 294 ++++++++++++++++++ src/pages/tags.astro | 65 ++-- 14 files changed, 326 insertions(+), 335 deletions(-) delete mode 100644 src/data/tag-categories/1-types-of-vore.yaml delete mode 100644 src/data/tag-categories/10-recurring-characters.yaml delete mode 100644 src/data/tag-categories/2-body-types.yaml delete mode 100644 src/data/tag-categories/3-genders.yaml delete mode 100644 src/data/tag-categories/4-relative-size.yaml delete mode 100644 src/data/tag-categories/5-willingness.yaml delete mode 100644 src/data/tag-categories/6-vore-related-scenarios.yaml delete mode 100644 src/data/tag-categories/7-sexual-content.yaml delete mode 100644 src/data/tag-categories/8-other-kinks.yaml delete mode 100644 src/data/tag-categories/9-type-of-content.yaml create mode 100644 src/data/tags.yaml diff --git a/.vscode/settings.json b/.vscode/settings.json index 8ec09b3..b49b932 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -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]": { diff --git a/src/content.config.ts b/src/content.config.ts index 159ef0a..0c06058 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -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({ diff --git a/src/data/tag-categories/1-types-of-vore.yaml b/src/data/tag-categories/1-types-of-vore.yaml deleted file mode 100644 index f012fb8..0000000 --- a/src/data/tag-categories/1-types-of-vore.yaml +++ /dev/null @@ -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. diff --git a/src/data/tag-categories/10-recurring-characters.yaml b/src/data/tag-categories/10-recurring-characters.yaml deleted file mode 100644 index 1b6e795..0000000 --- a/src/data/tag-categories/10-recurring-characters.yaml +++ /dev/null @@ -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. \ No newline at end of file diff --git a/src/data/tag-categories/2-body-types.yaml b/src/data/tag-categories/2-body-types.yaml deleted file mode 100644 index 1264646..0000000 --- a/src/data/tag-categories/2-body-types.yaml +++ /dev/null @@ -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. diff --git a/src/data/tag-categories/3-genders.yaml b/src/data/tag-categories/3-genders.yaml deleted file mode 100644 index aa4a51b..0000000 --- a/src/data/tag-categories/3-genders.yaml +++ /dev/null @@ -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. diff --git a/src/data/tag-categories/4-relative-size.yaml b/src/data/tag-categories/4-relative-size.yaml deleted file mode 100644 index a123ff5..0000000 --- a/src/data/tag-categories/4-relative-size.yaml +++ /dev/null @@ -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 diff --git a/src/data/tag-categories/5-willingness.yaml b/src/data/tag-categories/5-willingness.yaml deleted file mode 100644 index f276150..0000000 --- a/src/data/tag-categories/5-willingness.yaml +++ /dev/null @@ -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. diff --git a/src/data/tag-categories/6-vore-related-scenarios.yaml b/src/data/tag-categories/6-vore-related-scenarios.yaml deleted file mode 100644 index ad4d052..0000000 --- a/src/data/tag-categories/6-vore-related-scenarios.yaml +++ /dev/null @@ -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. diff --git a/src/data/tag-categories/7-sexual-content.yaml b/src/data/tag-categories/7-sexual-content.yaml deleted file mode 100644 index 8e7dba2..0000000 --- a/src/data/tag-categories/7-sexual-content.yaml +++ /dev/null @@ -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 diff --git a/src/data/tag-categories/8-other-kinks.yaml b/src/data/tag-categories/8-other-kinks.yaml deleted file mode 100644 index ca262fc..0000000 --- a/src/data/tag-categories/8-other-kinks.yaml +++ /dev/null @@ -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". \ No newline at end of file diff --git a/src/data/tag-categories/9-type-of-content.yaml b/src/data/tag-categories/9-type-of-content.yaml deleted file mode 100644 index 546341c..0000000 --- a/src/data/tag-categories/9-type-of-content.yaml +++ /dev/null @@ -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. diff --git a/src/data/tags.yaml b/src/data/tags.yaml new file mode 100644 index 0000000..2a1c8bc --- /dev/null +++ b/src/data/tags.yaml @@ -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. \ No newline at end of file diff --git a/src/pages/tags.astro b/src/pages/tags.astro index 220c649..2b75ca6 100644 --- a/src/pages/tags.astro +++ b/src/pages/tags.astro @@ -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];