Improve tagging and toki pona support

This commit is contained in:
Bad Manners 2024-03-22 18:37:22 -03:00
parent d4a9dc9dbc
commit 18e98cdb3b
89 changed files with 971 additions and 956 deletions
src
content
layouts
pages

View file

@ -10,6 +10,7 @@ export const WEBSITE_LIST = [
"twitter", "twitter",
"mastodon", "mastodon",
"bluesky", "bluesky",
"itaku",
] as const; ] as const;
const lang = z.enum(["eng", "tok"]).default("eng"); const lang = z.enum(["eng", "tok"]).default("eng");
@ -89,8 +90,19 @@ const usersCollection = defineCollection({
}), }),
}); });
const tagCategoriesCollection = defineCollection({
type: "data",
schema: z.object({
// Required
name: z.string(),
index: z.number().int(),
tags: z.array(z.union([z.string(), z.record(lang, z.string())])),
}),
});
export const collections = { export const collections = {
stories: storiesCollection, stories: storiesCollection,
games: gamesCollection, games: gamesCollection,
users: usersCollection, users: usersCollection,
"tag-categories": tagCategoriesCollection,
}; };

View file

@ -27,17 +27,15 @@ descriptionPlaintext: >
A challenging physics-based fishing minigame with scaling difficulty; A challenging physics-based fishing minigame with scaling difficulty;
And a special cutscene... And a special cutscene...
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - willing predator
"willing predator", - willing prey
"willing prey", - male predator
"male predator", - non-binary prey
"non-binary prey", - micro prey
"micro prey", - soul vore
"soul vore", - implied perma endo
"implied perma endo",
]
--- ---
<iframe <iframe

View file

@ -11,20 +11,18 @@ description: |
First post of 2023. This was originally going to be another short in my latest compilation, but I felt that 1400 words didn't do it justice (especially with multiple scenes), so I ended up rewriting it! First post of 2023. This was originally going to be another short in my latest compilation, but I felt that 1400 words didn't do it justice (especially with multiple scenes), so I ended up rewriting it!
tags: tags:
[ - anal vore
"anal vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - female predator
"female predator", - male prey
"male prey", - unwilling predator
"unwilling predator", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - willing prey
"willing prey", - size difference
"size difference", - long-term endo
"long-term endo", - straight sex
"straight sex",
]
--- ---
The okapi woke up with that familiar weight on her. Cynthia rubbed her eyes and yawned before carefully lowering her hands onto the spherical dome on her body below her breasts, rubbing its sides. Not too forcefully, just enough to appreciate how good it felt on her...and to get ready and lift it, in order to get up. The okapi woke up with that familiar weight on her. Cynthia rubbed her eyes and yawned before carefully lowering her hands onto the spherical dome on her body below her breasts, rubbing its sides. Not too forcefully, just enough to appreciate how good it felt on her...and to get ready and lift it, in order to get up.

View file

@ -11,26 +11,24 @@ description: |
My first commission ever, with a very unique and kinky scenario. This has been lovely to work on! I hope you enjoy it too. My first commission ever, with a very unique and kinky scenario. This has been lovely to work on! I hope you enjoy it too.
tags: tags:
[ - oral vore
"oral vore", - anal vore
"anal vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - female prey
"female prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - semi-willing prey
"semi-willing prey", - similar size
"similar size", - perma endo
"perma endo", - straight sex
"straight sex", - gay sex
"gay sex", - hyper
"hyper", - netorare
"netorare", - commission
"commission",
]
commissioner: scion commissioner: scion
copyrightedCharacters: copyrightedCharacters:
"": scion "": scion

View file

@ -9,17 +9,15 @@ thumbnail: /src/assets/thumbnails/bm_3_annivoresary.png
description: | description: |
Happy Vore Day! These two boyfriends certainly have been awaiting this date eagerly... Happy Vore Day! These two boyfriends certainly have been awaiting this date eagerly...
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - willing predator
"willing predator", - willing prey
"willing prey", - smaller predator
"smaller predator", - BDSM
"BDSM",
]
--- ---
"Is this okay for you, hun?" The gray wolf asked. "They aren't too tight, are they?" "Is this okay for you, hun?" The gray wolf asked. "They aren't too tight, are they?"

View file

@ -11,24 +11,23 @@ description: |
My second commission for Scion! This one is entirely dedicated to long-term cock vore, which I've never written at this scale before. Although I haven't ever written anything at this scale; this is my longest standalone story to date by far, because I went way overboard on descriptions. Enjoy! My second commission for Scion! This one is entirely dedicated to long-term cock vore, which I've never written at this scale before. Although I haven't ever written anything at this scale; this is my longest standalone story to date by far, because I went way overboard on descriptions. Enjoy!
tags: tags:
[ - cock vore
"cock vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - similar size
"similar size", - perma endo
"perma endo", - straight sex
"straight sex", - gay sex
"gay sex", - orgy
"masturbation", - masturbation
"hyper", - hyper
"netorare", - netorare
"commission", - commission
]
commissioner: scion commissioner: scion
copyrightedCharacters: copyrightedCharacters:
"": scion "": scion

View file

@ -9,20 +9,18 @@ thumbnail: /src/assets/thumbnails/bm_16_big_haul.png
description: | description: |
Coming back empty-handed from his latest heist, a space pirate ends up getting his hands on an even better haul. Coming back empty-handed from his latest heist, a space pirate ends up getting his hands on an even better haul.
tags: tags:
[ - unbirth
"unbirth", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - trans male predator
"trans male predator", - male prey
"male prey", - semi-willing predator
"semi-willing predator", - unwilling prey
"unwilling prey", - size difference
"size difference", - long-term endo
"long-term endo", - gay sex
"gay sex", - daddy play
"daddy play",
]
--- ---
'RECALIBRATE PITCH. RECALIBRATE PITCH. RECALIBRATE ...' 'RECALIBRATE PITCH. RECALIBRATE PITCH. RECALIBRATE ...'

View file

@ -9,7 +9,7 @@ thumbnail: /src/assets/thumbnails/bm_10_birdroom.png
description: | description: |
Beetle finds an odd-shaped friend deep in his work, and does what he does best: be a messy distraction. Beetle finds an odd-shaped friend deep in his work, and does what he does best: be a messy distraction.
This silly short was inspired by [a wonderful commission](https://aryion.com/g4/view/893564) that I got from [Eli-Eternity](https://www.furaffinity.net/user/eli-eternity) and was supposed to go along with it, but this story doesn't even come close to doing it justice. Seriously, check out his piece if you haven't! It's turned out amazing, and he's done an incredible job, and I love it so much! This silly short was inspired by [a wonderful commission](https://booru.badmanners.xyz/index.php?q=post/view/4) that I got from [Eli-Eternity](https://www.furaffinity.net/user/eli-eternity) and was supposed to go along with it, but this story doesn't even come close to doing it justice. Seriously, check out his piece if you haven't! It's turned out amazing, and he's done an incredible job, and I love it so much!
Why are you still reading this instead of clicking the link above?! Why are you still reading this instead of clicking the link above?!
descriptionPlaintext: > descriptionPlaintext: >
@ -17,19 +17,17 @@ descriptionPlaintext: >
This silly short was inspired by a wonderful commission that I got from Eli-Eternity and was supposed to go along with it, but this story doesn't even come close to doing it justice. Seriously, check out his piece if you haven't! It's turned out amazing, and he's done an incredible job, and I love it so much! This silly short was inspired by a wonderful commission that I got from Eli-Eternity and was supposed to go along with it, but this story doesn't even come close to doing it justice. Seriously, check out his piece if you haven't! It's turned out amazing, and he's done an incredible job, and I love it so much!
tags: tags:
[ - Sam Brendan
"Sam Brendan", - Beetle
"Beetle", - anal vore
"anal vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - willing predator
"willing predator", - willing prey
"willing prey", - similar size
"similar size", - gay sex
"gay sex",
]
copyrightedCharacters: copyrightedCharacters:
Beetle: bad-manners Beetle: bad-manners
"Sam Brendan": bad-manners "Sam Brendan": bad-manners

View file

@ -19,21 +19,19 @@ descriptionPlaintext: >
...In all seriousness, I wanted to do something more daring for a PoV story. With a dragon, instead of a generic anthro, this time. And not to mention bladder vore, which is also a first for me. I'll still stick to third person narration for most of my stories, but let me know if PoV is something that you want to see more of. ...In all seriousness, I wanted to do something more daring for a PoV story. With a dragon, instead of a generic anthro, this time. And not to mention bladder vore, which is also a first for me. I'll still stick to third person narration for most of my stories, but let me know if PoV is something that you want to see more of.
tags: tags:
[ - Beetle
"Beetle", - cock vore
"cock vore", - feral predator
"feral predator", - feral prey
"feral prey", - male predator
"male predator", - ambiguous gender prey
"ambiguous gender prey", - willing predator
"willing predator", - willing prey
"willing prey", - bladder vore
"bladder vore", - size difference
"size difference", - long-term endo
"long-term endo", - point of view
"point of view", - flash fiction
"flash fiction",
]
copyrightedCharacters: copyrightedCharacters:
Beetle: bad-manners Beetle: bad-manners
--- ---

View file

@ -15,17 +15,15 @@ descriptionPlaintext: >
I know everyone is already thinking about October and Halloween, but I still have a Snektember addition to share! This story follows Muno the snake after the events of "Ruffling Some Feathers", although you don't need to read that story to enjoy this one. I know everyone is already thinking about October and Halloween, but I still have a Snektember addition to share! This story follows Muno the snake after the events of "Ruffling Some Feathers", although you don't need to read that story to enjoy this one.
tags: tags:
[ - Muno
"Muno", - oral vore
"oral vore", - feral predator
"feral predator", - feral prey
"feral prey", - male predator
"male predator", - ambiguous gender prey
"ambiguous gender prey", - semi-willing predator
"semi-willing predator", - semi-willing prey
"semi-willing prey", - size difference
"size difference",
]
prev: ruffling-some-feathers prev: ruffling-some-feathers
copyrightedCharacters: copyrightedCharacters:
Muno: bad-manners Muno: bad-manners

View file

@ -11,18 +11,16 @@ description: |
First time explicitly using PoV in a story, with first person in this one. I did try writing in second person before, but couldn't really do it in a manner where I was satisfied with the result. Third person narration still feels more natural to me, but this was still a fun experiment. First time explicitly using PoV in a story, with first person in this one. I did try writing in second person before, but couldn't really do it in a manner where I was satisfied with the result. Third person narration still feels more natural to me, but this was still a fun experiment.
tags: tags:
[ - anal vore
"anal vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - male predator
"male predator", - ambiguous gender prey
"ambiguous gender prey", - willing predator
"willing predator", - willing prey
"willing prey", - size difference
"size difference", - point of view
"point of view", - flash fiction
"flash fiction",
]
--- ---
"Hey! Glad you came!" From the kitchen, I could hear my roommate answering the door. "Make yourself comfortable." "Hey! Glad you came!" From the kitchen, I could hear my roommate answering the door. "Make yourself comfortable."

View file

@ -15,18 +15,16 @@ descriptionPlaintext: >
I was inspired by a certain dragon's writings, and wanted to try my hand at a few messier themes! Check out destinyisbad1's gallery if you enjoy stories like this. I was inspired by a certain dragon's writings, and wanted to try my hand at a few messier themes! Check out destinyisbad1's gallery if you enjoy stories like this.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - feral prey
"feral prey", - male predator
"male predator", - male prey
"male prey", - willing predator
"willing predator", - willing prey
"willing prey", - unwilling prey
"unwilling prey", - micro prey
"micro prey", - messy stomach
"messy stomach",
]
--- ---
It was a beautiful morning in Mag Skeima, but frankly, why would it be any different in paradise? The sunless sky shone a wonderful blue over fluffy pink clouds, bringing light to the idyllic plains of the fairy lands. The sounds of a new day came from the critters of the grasslands, before the population's blathering was gradually added to the ambiance. Mag Skeima was inhabited by magical folk, some of which would travel between planes to visit the mortal world during the day, while others were perfectly content to spend every moment in this utopia. It was a beautiful morning in Mag Skeima, but frankly, why would it be any different in paradise? The sunless sky shone a wonderful blue over fluffy pink clouds, bringing light to the idyllic plains of the fairy lands. The sounds of a new day came from the critters of the grasslands, before the population's blathering was gradually added to the ambiance. Mag Skeima was inhabited by magical folk, some of which would travel between planes to visit the mortal world during the day, while others were perfectly content to spend every moment in this utopia.

View file

@ -9,19 +9,17 @@ thumbnail: /src/assets/thumbnails/bm_1_eggs_for_months.png
description: | description: |
Avelia needs help with a curse, but things quickly take a weird turn. Egg shenanigans ensue. Avelia needs help with a curse, but things quickly take a weird turn. Egg shenanigans ensue.
tags: tags:
[ - sheath vore
"sheath vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - male predator
"male predator", - female prey
"female prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - size difference
"size difference", - egg play
"egg play", - dubcon
"dubcon", - straight sex
"straight sex",
]
--- ---
Avelia woke up to realize that it was that time of the month again, which she hated. The anthro crow recognized the weight and discomfort in her enormous belly. It was filled with eggs, but not normal ones. Each one of them was unfertilized, had a very hard shell, and worst of all, was about as big as a cantaloupe. Having one of them would have been an awful burden to bear, but right now, with a huge belly staring back at her, she must have been carrying six or seven of them! Avelia woke up to realize that it was that time of the month again, which she hated. The anthro crow recognized the weight and discomfort in her enormous belly. It was filled with eggs, but not normal ones. Each one of them was unfertilized, had a very hard shell, and worst of all, was about as big as a cantaloupe. Having one of them would have been an awful burden to bear, but right now, with a huge belly staring back at her, she must have been carrying six or seven of them!

View file

@ -11,21 +11,19 @@ description: |
This story was not a request by anyone! No one asked for this story to exist! ...In all seriousness, I just wanted to do something extra, themed around Vore Day, to go along with the uploads of the raffle requests. Enjoy! This story was not a request by anyone! No one asked for this story to exist! ...In all seriousness, I just wanted to do something extra, themed around Vore Day, to go along with the uploads of the raffle requests. Enjoy!
tags: tags:
[ - oral vore
"oral vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - female predator
"female predator", - female prey
"female prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - semi-willing prey
"semi-willing prey", - willing prey
"willing prey", - unbirth
"unbirth", - implied full tour
"implied full tour", - lesbian sex
"lesbian sex",
]
--- ---
Sally stared back at her phone, checking the message that she'd gotten a while ago. This was definitely the right address...but something else still bothered her. Sally stared back at her phone, checking the message that she'd gotten a while ago. This was definitely the right address...but something else still bothered her.

View file

@ -9,33 +9,31 @@ thumbnail: /src/assets/thumbnails/bm_8_flavorful_favor.png
description: | description: |
One, fearful and furry; one, formidable and feathery; and one, fired-up for the follow-up. A threesome fatefully forced into a fantastical face-to-face. One, fearful and furry; one, formidable and feathery; and one, fired-up for the follow-up. A threesome fatefully forced into a fantastical face-to-face.
So many ideas that I want to write...! I just haven't found a lot of motivation to write as much as before. But I'm still working, and haven't gone anywhere. At least I finally managed to churn out this one, featuring Beetle, one of my OCs! You might recognize him from [one of the few things](https://aryion.com/g4/view/878971) I actually uploaded this last month. Quite a fun personality to play with, along with my sona Sam and another OC, Muno - someone might remember that last name from one of my previous stories. All of my characters featured in stories are fun really, with a few that I wanna revisit or new ones that I make for each new setting. Just wish I had a better writing rhythm to put all those ideas to life like I used to, though! Managing to finish this story is a start, I guess. So many ideas that I want to write...! I just haven't found a lot of motivation to write as much as before. But I'm still working, and haven't gone anywhere. At least I finally managed to churn out this one, featuring Beetle, one of my OCs! You might recognize him from [one of the few things](https://booru.badmanners.xyz/index.php?q=post/view/3) I actually uploaded this last month. Quite a fun personality to play with, along with my sona Sam and another OC, Muno - someone might remember that last name from one of my previous stories. All of my characters featured in stories are fun really, with a few that I wanna revisit or new ones that I make for each new setting. Just wish I had a better writing rhythm to put all those ideas to life like I used to, though! Managing to finish this story is a start, I guess.
descriptionPlaintext: > descriptionPlaintext: >
One, fearful and furry; one, formidable and feathery; and one, fired-up for the follow-up. A threesome fatefully forced into a fantastical face-to-face. One, fearful and furry; one, formidable and feathery; and one, fired-up for the follow-up. A threesome fatefully forced into a fantastical face-to-face.
So many ideas that I want to write...! I just haven't found a lot of motivation to write as much as before. But I'm still working, and haven't gone anywhere. At least I finally managed to churn out this one, featuring Beetle, one of my OCs! You might recognize him from one of the few things I actually uploaded this last month. Quite a fun personality to play with, along with my sona Sam and another OC, Muno - someone might remember that last name from one of my previous stories. All of my characters featured in stories are fun really, with a few that I wanna revisit or new ones that I make for each new setting. Just wish I had a better writing rhythm to put all those ideas to life like I used to, though! Managing to finish this story is a start, I guess. So many ideas that I want to write...! I just haven't found a lot of motivation to write as much as before. But I'm still working, and haven't gone anywhere. At least I finally managed to churn out this one, featuring Beetle, one of my OCs! You might recognize him from one of the few things I actually uploaded this last month. Quite a fun personality to play with, along with my sona Sam and another OC, Muno - someone might remember that last name from one of my previous stories. All of my characters featured in stories are fun really, with a few that I wanna revisit or new ones that I make for each new setting. Just wish I had a better writing rhythm to put all those ideas to life like I used to, though! Managing to finish this story is a start, I guess.
tags: tags:
[ - Beetle
"Beetle", - oral vore
"oral vore", - cock vore
"cock vore", - unbirth
"unbirth", - feral predator
"feral predator", - anthro prey
"anthro prey", - feral prey
"feral prey", - male predator
"male predator", - male prey
"male prey", - female prey
"female prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - size difference
"size difference", - micro prey
"micro prey", - full tour
"full tour", - prey transfer
"prey transfer", - straight sex
"straight sex", - gay sex
"gay sex",
]
copyrightedCharacters: copyrightedCharacters:
Beetle: bad-manners Beetle: bad-manners
--- ---

View file

@ -9,18 +9,16 @@ thumbnail: /src/assets/thumbnails/bm_ff_7_for_the_night.png
description: | description: |
Sometimes, what a couple needs is a third-party to spice things up. And Brand will make sure that this night is unforgettable. Sometimes, what a couple needs is a third-party to spice things up. And Brand will make sure that this night is unforgettable.
tags: tags:
[ - anal vore
"anal vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - female prey
"female prey", - willing predator
"willing predator", - willing prey
"willing prey", - same size
"same size", - straight sex
"straight sex", - flash fiction
"flash fiction",
]
--- ---
"Hmmm, yeah...!" Kente moaned as he thrust into Miru's lubed ass slowly, picking up pace. The pony had wanted to do anal with his same-species girlfriend for quite a while, but she also wanted to do it to him. However, he didn't want to be on the receiving end, so those conversations never got anywhere... Until Miru brought the idea of doing a threesome. "Hmmm, yeah...!" Kente moaned as he thrust into Miru's lubed ass slowly, picking up pace. The pony had wanted to do anal with his same-species girlfriend for quite a while, but she also wanted to do it to him. However, he didn't want to be on the receiving end, so those conversations never got anywhere... Until Miru brought the idea of doing a threesome.

View file

@ -11,19 +11,17 @@ description: |
So... yeah, managed to get a Halloween story done in time! Despite the craziness that this month was, for personal reasons. The start of November should be rocky too (also for personal reasons), but hopefully I can get into a better upload rhythm than 'once a month'. Maybe. So... yeah, managed to get a Halloween story done in time! Despite the craziness that this month was, for personal reasons. The start of November should be rocky too (also for personal reasons), but hopefully I can get into a better upload rhythm than 'once a month'. Maybe.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - willing predator
"willing predator", - willing prey
"willing prey", - unwilling prey
"unwilling prey", - size difference
"size difference", - regurgitation
"regurgitation", - transformation
"transformation",
]
--- ---
Jack smiled to himself while sitting on the couch. His paws ran over the short fur on his black belly, focusing on the bulge jutting out from the midriff. They were slow as to not stir the small lynx inside. The badger had swallowed the wild cat a few hours ago, and both of them knew that he would be perfectly safe within. It was the first time that Jack had swallowed Abdis but not the first that either of them had experienced vore. Jack smiled to himself while sitting on the couch. His paws ran over the short fur on his black belly, focusing on the bulge jutting out from the midriff. They were slow as to not stir the small lynx inside. The badger had swallowed the wild cat a few hours ago, and both of them knew that he would be perfectly safe within. It was the first time that Jack had swallowed Abdis but not the first that either of them had experienced vore.

View file

@ -11,18 +11,16 @@ description: |
My initial notes for this one were simply "hatefuck but it's vore". No wonder this was the longest one to finish out of this batch... But hey, at least it was a good excuse to write some cetacean vore! My initial notes for this one were simply "hatefuck but it's vore". No wonder this was the longest one to finish out of this batch... But hey, at least it was a good excuse to write some cetacean vore!
tags: tags:
[ - unbirth
"unbirth", - feral predator
"feral predator", - feral prey
"feral prey", - female predator
"female predator", - male prey
"male prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - size difference
"size difference", - straight sex
"straight sex", - flash fiction
"flash fiction",
]
--- ---
"Is it in yet?" The orca shouted to the smaller cetacean near her folds. Mara's tone was annoyed; the dolphin just hadn't been a good choice of a mate. "Is it in yet?" The orca shouted to the smaller cetacean near her folds. Mara's tone was annoyed; the dolphin just hadn't been a good choice of a mate.

View file

@ -9,17 +9,15 @@ thumbnail: /src/assets/thumbnails/bm_7_hungry_for_love.png
description: | description: |
Aloe has been bitten by the Valentine's Day bug, though her plans for some kinky fun go through an unforeseen change. Aloe has been bitten by the Valentine's Day bug, though her plans for some kinky fun go through an unforeseen change.
tags: tags:
[ - oral vore
"oral vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - male predator
"male predator", - female prey
"female prey", - willing predator
"willing predator", - willing prey
"willing prey", - size difference
"size difference", - straight sex
"straight sex",
]
--- ---
Finally, Aloe thought, she was home for Valentine's! The gray American badger didn't have anyone special to spend the night with, but that didn't mean that she didn't have any plans! Perusing her phone, she would book a 'predator' through a specialized escort app, HungryLuv, for some sexy, kinky fun. It was a shame that this service was not as cheap as she'd have liked, but Aloe was always excited to treat herself to some of the hottest fucks she had ever had before being swallowed alive...and then being let out safely, of course. Finally, Aloe thought, she was home for Valentine's! The gray American badger didn't have anyone special to spend the night with, but that didn't mean that she didn't have any plans! Perusing her phone, she would book a 'predator' through a specialized escort app, HungryLuv, for some sexy, kinky fun. It was a shame that this service was not as cheap as she'd have liked, but Aloe was always excited to treat herself to some of the hottest fucks she had ever had before being swallowed alive...and then being let out safely, of course.

View file

@ -9,20 +9,18 @@ thumbnail: /src/assets/thumbnails/bm_ff_1_hyper_hunger.png
description: | description: |
Fulfilling some hungers sometimes requires some additional, unwilling help. Fulfilling some hungers sometimes requires some additional, unwilling help.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - feral prey
"feral prey", - male predator
"male predator", - ambiguous gender prey
"ambiguous gender prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - size difference
"size difference", - messy stomach
"messy stomach", - hyper
"hyper", - masturbation
"masturbation", - flash fiction
"flash fiction",
]
--- ---
He was sitting down naked at the table, patting his large belly, looking at all of that food that would be filling it very soon. A massive roasted turkey, a plate full of mashed potatoes, a big bowl of hot green bean soup, and a string of smoked sausages... Staring at everything he'd gotten for himself only made him hungrier, and his hyper cock twitched in anticipation. He was sitting down naked at the table, patting his large belly, looking at all of that food that would be filling it very soon. A massive roasted turkey, a plate full of mashed potatoes, a big bowl of hot green bean soup, and a string of smoked sausages... Staring at everything he'd gotten for himself only made him hungrier, and his hyper cock twitched in anticipation.

View file

@ -9,18 +9,16 @@ thumbnail: /src/assets/thumbnails/bm_ff_3_insistence_and_assistance.png
description: | description: |
Some are predators, some are prey. And some want to keep things that way. Some are predators, some are prey. And some want to keep things that way.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - semi-willing predator
"semi-willing predator", - unwilling prey
"unwilling prey", - same size
"same size", - regurgitation
"regurgitation", - flash fiction
"flash fiction",
]
--- ---
"Yo, I'm home!" Cesar dropped his car key on the counter, announcing his arrival across the house to his brother Kevin. The two adult mice lived alone here. "Did you grab dinner or do I order something?" No response. He was probably in his room by now, playing that Super Slosh Bros. videogame alone or with one of his friends. Cesar walked over, knocked on the door, and called. "Bro...?" It sounded like someone was inside, but they didn't reply to him, so he cautiously turned the knob. "Yo, I'm home!" Cesar dropped his car key on the counter, announcing his arrival across the house to his brother Kevin. The two adult mice lived alone here. "Did you grab dinner or do I order something?" No response. He was probably in his room by now, playing that Super Slosh Bros. videogame alone or with one of his friends. Cesar walked over, knocked on the door, and called. "Bro...?" It sounded like someone was inside, but they didn't reply to him, so he cautiously turned the knob.

View file

@ -9,25 +9,23 @@ thumbnail: /src/assets/thumbnails/bm_ff_6_lactation_action.png
description: | description: |
Amy doesn't shirk from her friend's shrinking plans, hoping to milk as much fun as possible. Amy doesn't shirk from her friend's shrinking plans, hoping to milk as much fun as possible.
tags: tags:
[ - nipple vore
"nipple vore", - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - female predator
"female predator", - male prey
"male prey", - female prey
"female prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - asleep prey
"asleep prey", - micro prey
"micro prey", - prey transfer
"prey transfer", - straight sex
"straight sex", - sizeplay
"sizeplay", - flash fiction
"flash fiction",
]
--- ---
The ferret looked at the couple, still skeptical. "Are you really sure this is safe?" The ferret looked at the couple, still skeptical. "Are you really sure this is safe?"

View file

@ -9,21 +9,19 @@ thumbnail: /src/assets/thumbnails/bm_ff_5_latest_catch.png
description: | description: |
A predatory rabbit likes snakes...perhaps a bit too much. A predatory rabbit likes snakes...perhaps a bit too much.
tags: tags:
[ - cock vore
"cock vore", - anthro predator
"anthro predator", - feral prey
"feral prey", - non-binary predator
"non-binary predator", - ambiguous gender prey
"ambiguous gender prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - semi-willing predator
"semi-willing predator", - willing prey
"willing prey", - size difference
"size difference", - masturbation
"masturbation", - perma endo
"perma endo", - flash fiction
"flash fiction",
]
--- ---
"Gotcha!" Rou celebrated their latest catch, holding the garter snake behind its head. The rust-red rabbit had set down a water plate in their backyard some time ago, and the slithering reptile was drinking from it when it was found by the lagomorph. It was thinner than his index finger and almost three feet long, the longest snake they had caught so far. Rou ran a finger over the black and yellow scales on its neck, and the wild animal was being calm about the whole situation, which was a good sign. "Gotcha!" Rou celebrated their latest catch, holding the garter snake behind its head. The rust-red rabbit had set down a water plate in their backyard some time ago, and the slithering reptile was drinking from it when it was found by the lagomorph. It was thinner than his index finger and almost three feet long, the longest snake they had caught so far. Rou ran a finger over the black and yellow scales on its neck, and the wild animal was being calm about the whole situation, which was a good sign.

View file

@ -9,19 +9,17 @@ thumbnail: /src/assets/thumbnails/bm_ff_2_never_too_late.png
description: | description: |
After a night full of fun, Mirembe tries to squeeze out the last pleasures she can. After a night full of fun, Mirembe tries to squeeze out the last pleasures she can.
tags: tags:
[ - cock vore
"cock vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - female prey
"female prey", - asleep predator
"asleep predator", - willing prey
"willing prey", - same size
"same size", - masturbation
"masturbation", - straight sex
"straight sex", - flash fiction
"flash fiction",
]
--- ---
"Bye, guys!" Mirembe bade as she closed the door of her apartment. The aardwolf was still naked, enjoying the orgy in her house until the very last. And with those last guests gone, she could call it a night. It was a lot of fun, but the rooms were obviously a mess now; she brushed it off as a problem for future-Mirembe. "Bye, guys!" Mirembe bade as she closed the door of her apartment. The aardwolf was still naked, enjoying the orgy in her house until the very last. And with those last guests gone, she could call it a night. It was a lot of fun, but the rooms were obviously a mess now; she brushed it off as a problem for future-Mirembe.

View file

@ -11,17 +11,15 @@ description: |
I wasn't really sure if I wanted to finish this story, let alone post it, given the dark themes in this. But some friends convinced me that I still should share it anyway, so here it is, I guess. I'm posting a more uplifting story today as well, if you'd rather read that. I wasn't really sure if I wanted to finish this story, let alone post it, given the dark themes in this. But some friends convinced me that I still should share it anyway, so here it is, I guess. I'm posting a more uplifting story today as well, if you'd rather read that.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - willing predator
"willing predator", - semi-willing prey
"semi-willing prey", - same size
"same size", - nudity
"nudity",
]
--- ---
"Here we are," Blume smiled back to his labrador companion. The lion's fangs nearly shone white in his smiling lips. "This is what I wanted to show you." "Here we are," Blume smiled back to his labrador companion. The lion's fangs nearly shone white in his smiling lips. "This is what I wanted to show you."

View file

@ -11,19 +11,17 @@ description: |
This story was a request for a raffle winner, as part of an anniversary raffle I held! This story was a request for a raffle winner, as part of an anniversary raffle I held!
tags: tags:
[ - chest maw vore
"chest maw vore", - taur predator
"taur predator", - anthro prey
"anthro prey", - male predator
"male predator", - trans male predator
"trans male predator", - female prey
"female prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - size difference
"size difference", - perma endo
"perma endo", - request
"request",
]
requester: dee-lumeni requester: dee-lumeni
copyrightedCharacters: copyrightedCharacters:
Kuronosuke: dee-lumeni Kuronosuke: dee-lumeni

View file

@ -9,25 +9,23 @@ thumbnail: /src/assets/thumbnails/bm_ff_14_part_of_the_show.png
description: | description: |
You attend a show, unaware of how personal it can turn out... You attend a show, unaware of how personal it can turn out...
This is a story based off of a YCH that I got from [Helkumurrr](https://www.furaffinity.net/user/helkumurrr) which [you should definitely check out](https://aryion.com/g4/view/902201). First piece with myself as pred, to complement my previous commission where I was prey and also with a short (and hopefully fun) story to go along with it! This is a story based off of a YCH that I got from [Helkumurrr](https://www.furaffinity.net/user/helkumurrr) which [you should definitely check out](https://booru.badmanners.xyz/index.php?q=post/view/5). First piece with myself as pred, to complement my previous commission where I was prey and also with a short (and hopefully fun) story to go along with it!
descriptionPlaintext: > descriptionPlaintext: >
You attend a show, unaware of how personal it can turn out... You attend a show, unaware of how personal it can turn out...
This is a story based off of a YCH that I got from Helkumurrr which you should definitely check out. First piece with myself as pred, to complement my previous commission where I was prey and also with a short (and hopefully fun) story to go along with it! This is a story based off of a YCH that I got from Helkumurrr which you should definitely check out. First piece with myself as pred, to complement my previous commission where I was prey and also with a short (and hopefully fun) story to go along with it!
tags: tags:
[ - Sam Brendan
"Sam Brendan", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - ambiguous gender prey
"ambiguous gender prey", - willing predator
"willing predator", - semi-willing prey
"semi-willing prey", - oral vore
"oral vore", - same size
"same size", - point of view
"point of view", - flash fiction
"flash fiction",
]
copyrightedCharacters: copyrightedCharacters:
"Sam Brendan": bad-manners "Sam Brendan": bad-manners
--- ---

View file

@ -9,23 +9,21 @@ thumbnail: /src/assets/thumbnails/bm_2_pet_sit_saturday.png
description: | description: |
It's Hepje's first time pet-sitting, and a huge zorgoia might be too much for the inexperienced anteater... It's Hepje's first time pet-sitting, and a huge zorgoia might be too much for the inexperienced anteater...
tags: tags:
[ - anal vore
"anal vore", - anthro predator
"anthro predator", - feral predator
"feral predator", - anthro prey
"anthro prey", - feral prey
"feral prey", - female predator
"female predator", - female prey
"female prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - willing prey
"willing prey", - same size
"same size", - object vore
"object vore", - prey transfer
"prey transfer", - masturbation
"masturbation",
]
--- ---
"You are now approaching your destination." "You are now approaching your destination."

View file

@ -11,18 +11,17 @@ description: |
I've decided to start posting my short stories separately instead of doing compilations, but still bundle the uploads together. A bit more work to organize, but this should make it easier to find and read individual stories. Anyway! For this one, I wanted to take a fun trope from vore scenarios and flip it on its head. Though maybe I should've saved it for Halloween... I've decided to start posting my short stories separately instead of doing compilations, but still bundle the uploads together. A bit more work to organize, but this should make it easier to find and read individual stories. Anyway! For this one, I wanted to take a fun trope from vore scenarios and flip it on its head. Though maybe I should've saved it for Halloween...
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - ambiguous gender prey
"ambiguous gender prey", - multiple prey
"multiple prey", - unwilling predator
"unwilling predator", - willing prey
"willing prey", - smaller predator
"smaller predator", - role reversal
"flash fiction", - flash fiction
]
--- ---
A lupine howl pierced the full moon night, reaching Mark's large ears. The rabbit had been sprinting away from its source, trying to increase his distance from that terrifying call. It was bad enough that he'd decided to walk through the creepy forest trail in the darkness of night, but stumbling upon a werewolf?! How could things get any worse...? A lupine howl pierced the full moon night, reaching Mark's large ears. The rabbit had been sprinting away from its source, trying to increase his distance from that terrifying call. It was bad enough that he'd decided to walk through the creepy forest trail in the darkness of night, but stumbling upon a werewolf?! How could things get any worse...?

View file

@ -15,18 +15,16 @@ descriptionPlaintext: >
I'd created Muno for a different purpose, but since I wanted a story with snake prey, I thought, "why not just use him instead of making a new OC"? Also, I blame Mr.Arcaneus's artwork for putting me in a bird/snake mood! I'd created Muno for a different purpose, but since I wanted a story with snake prey, I thought, "why not just use him instead of making a new OC"? Also, I blame Mr.Arcaneus's artwork for putting me in a bird/snake mood!
tags: tags:
[ - Muno
"Muno", - oral vore
"oral vore", - feral predator
"feral predator", - feral prey
"feral prey", - male predator
"male predator", - male prey
"male prey", - willing predator
"willing predator", - semi-willing prey
"semi-willing prey", - size difference
"size difference", - flash fiction
"flash fiction",
]
next: bottom-of-the-food-chain next: bottom-of-the-food-chain
copyrightedCharacters: copyrightedCharacters:
Muno: bad-manners Muno: bad-manners

View file

@ -9,20 +9,18 @@ thumbnail: /src/assets/thumbnails/bm_ff_8_spontaneous_sleepover.png
description: | description: |
Akene is tired after a long trip, and her new acquaintance is happy to provide a comfy bed - despite their mutual friend's protestations. Akene is tired after a long trip, and her new acquaintance is happy to provide a comfy bed - despite their mutual friend's protestations.
tags: tags:
[ - tail vore
"tail vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - female prey
"female prey", - trans female prey
"trans female prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - unwilling prey
"unwilling prey", - same size
"same size", - flash fiction
"flash fiction",
]
--- ---
Eulis couldn't contain her excitement. "I still can't believe you're here!" The pangolin took a bite off her burger, while grinning at the stoat sitting across the table. Akene was an online acquaintance of hers, and after years of only talking through a screen, she'd finally traveled all the way here for her vacation, to spend these next days with her friend, in the flesh. Eulis couldn't contain her excitement. "I still can't believe you're here!" The pangolin took a bite off her burger, while grinning at the stoat sitting across the table. Akene was an online acquaintance of hers, and after years of only talking through a screen, she'd finally traveled all the way here for her vacation, to spend these next days with her friend, in the flesh.

View file

@ -9,18 +9,16 @@ thumbnail: /src/assets/thumbnails/bm_17_taken_in.png
description: | description: |
A silly little story where I re-imagine my sona as a feral! It was a fun concept to play with. One more quick PoV story before I go back to the usual 3rd person narration style. I hope you still enjoy it! A silly little story where I re-imagine my sona as a feral! It was a fun concept to play with. One more quick PoV story before I go back to the usual 3rd person narration style. I hope you still enjoy it!
tags: tags:
[ - Sam Brendan
"Sam Brendan", - feral predator
"feral predator", - anthro prey
"anthro prey", - male predator
"male predator", - ambiguous gender prey
"ambiguous gender prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - oral vore
"oral vore", - full tour
"full tour", - point of view
"point of view",
]
copyrightedCharacters: copyrightedCharacters:
"Sam Brendan": bad-manners "Sam Brendan": bad-manners
--- ---

View file

@ -11,19 +11,17 @@ description: |
Not much to say about this one in particular. Just a fun and short-ish 4/20 story, 'cause why the hell not. Probably the quickest pace I've worked on for the writing stage, getting around 5600 words done in 2 days. My usual process for standalone stories like this one goes something along the lines of: premise > research > summary > writing > editing. The last step, editing, typically inflates the final word count by 5% as I add more clarification or last minute ideas to certain sections, that's why that number doesn't match the actual word count. Research also took about 2 days, which is probably too much for a short story, but when it takes that long, it's normally a sign that I was having too much fun coming up with ideas, which was definitely the case here! Anyway, I doubt this is interesting to anyone other than me, but this part of the description now feels sufficiently padded out, so I'll leave it at that. Not much to say about this one in particular. Just a fun and short-ish 4/20 story, 'cause why the hell not. Probably the quickest pace I've worked on for the writing stage, getting around 5600 words done in 2 days. My usual process for standalone stories like this one goes something along the lines of: premise > research > summary > writing > editing. The last step, editing, typically inflates the final word count by 5% as I add more clarification or last minute ideas to certain sections, that's why that number doesn't match the actual word count. Research also took about 2 days, which is probably too much for a short story, but when it takes that long, it's normally a sign that I was having too much fun coming up with ideas, which was definitely the case here! Anyway, I doubt this is interesting to anyone other than me, but this part of the description now feels sufficiently padded out, so I'll leave it at that.
tags: tags:
[ - oral vore
"oral vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - female predator
"female predator", - female prey
"female prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - similar size
"similar size", - micro prey
"micro prey", - object vore
"object vore",
]
--- ---
Cabira returned home from the guild, having turned in her bounty for the day. It was a simple task, slaying those pestilent slimes... They were dangerous to farmers' crops and animals, but clobbering them with her mace once would disintegrate the invasive, mindless creatures. Maybe twice, for some of the big ones. After collecting their hearts and turning them in as proof of the deed, Cabira made it out of the guild with her reward, a small pouch jingling with coins. Though she was more interested in her plans for the night than the silver she'd gotten for the menial task, the smiling moth-dragon let her long and fluffy tail swish happily behind her wings while she walked to the inn. Cabira returned home from the guild, having turned in her bounty for the day. It was a simple task, slaying those pestilent slimes... They were dangerous to farmers' crops and animals, but clobbering them with her mace once would disintegrate the invasive, mindless creatures. Maybe twice, for some of the big ones. After collecting their hearts and turning them in as proof of the deed, Cabira made it out of the guild with her reward, a small pouch jingling with coins. Though she was more interested in her plans for the night than the silver she'd gotten for the menial task, the smiling moth-dragon let her long and fluffy tail swish happily behind her wings while she walked to the inn.

View file

@ -15,24 +15,22 @@ descriptionPlaintext: >
This commission is a sequel to the raffle request, Team Effort! This commission is a sequel to the raffle request, Team Effort!
tags: tags:
[ - cock vore
"cock vore", - anal vore
"anal vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - prey transfer
"prey transfer", - same size
"same size", - long-term endo
"long-term endo", - hyper
"hyper", - inflation
"inflation", - gay sex
"gay sex", - commission
"commission",
]
commissioner: yolkmonkey commissioner: yolkmonkey
copyrightedCharacters: copyrightedCharacters:
Yolk: yolkmonkey Yolk: yolkmonkey

View file

@ -11,22 +11,20 @@ description: |
This story was a request for a raffle winner, as part of an anniversary raffle I held! This story was a request for a raffle winner, as part of an anniversary raffle I held!
tags: tags:
[ - cock vore
"cock vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - multiple prey
"multiple prey", - semi-willing predator
"semi-willing predator", - willing predator
"willing predator", - willing prey
"willing prey", - same size
"same size", - hyper
"hyper", - inflation
"inflation", - gay sex
"gay sex", - request
"request",
]
requester: yolkmonkey requester: yolkmonkey
copyrightedCharacters: copyrightedCharacters:
Yolk: yolkmonkey Yolk: yolkmonkey

View file

@ -9,19 +9,17 @@ thumbnail: /src/assets/thumbnails/bm_ff_4_the_last_livestream.png
description: | description: |
Happy Vore Day! These two boyfriends certainly have been awaiting this date eagerly... Happy Vore Day! These two boyfriends certainly have been awaiting this date eagerly...
tags: tags:
[ - unbirth
"unbirth", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - female predator
"female predator", - female prey
"female prey", - willing predator
"willing predator", - willing prey
"willing prey", - similar size
"similar size", - masturbation
"masturbation", - lesbian sex
"lesbian sex", - flash fiction
"flash fiction",
]
--- ---
The video started, and the fennec fox, wearing a portable light and camera on a band on her forehead, smiled in the webcam's live feed. "Hey, guys! Samba here. Glad to see we already have so many people in chat today, even though this is gonna be my last livestream here. No game today, we're gonna see how much we can break the 'ToS' before we get banned from the platform." The video started, and the fennec fox, wearing a portable light and camera on a band on her forehead, smiled in the webcam's live feed. "Hey, guys! Samba here. Glad to see we already have so many people in chat today, even though this is gonna be my last livestream here. No game today, we're gonna see how much we can break the 'ToS' before we get banned from the platform."

View file

@ -16,24 +16,22 @@ descriptionPlaintext: >
I had this idea while working on the next chapter, and wanted to try something a bit more experimental involving these characters. It's self-indulgent and loose canon, and something of a departure from my usual stories! I don't even know how to describe it... Well, whatever it is, it's certainly a mash of different thoughts and ideas that had been boiling in my head, and simmering them down into something legible was an interesting exercise. Hope it's an enjoyable read too! I had this idea while working on the next chapter, and wanted to try something a bit more experimental involving these characters. It's self-indulgent and loose canon, and something of a departure from my usual stories! I don't even know how to describe it... Well, whatever it is, it's certainly a mash of different thoughts and ideas that had been boiling in my head, and simmering them down into something legible was an interesting exercise. Hope it's an enjoyable read too!
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - feral prey
"feral prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - unwilling prey
"unwilling prey", - non-binary predator
"non-binary predator", - male predator
"male predator", - non-binary prey
"non-binary prey", - male prey
"male prey", - nested vore
"nested vore", - macro predator
"macro predator", - size difference
"size difference", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-4 prev: the-lost-of-the-marshes/chapter-4
next: the-lost-of-the-marshes/chapter-5 next: the-lost-of-the-marshes/chapter-5

View file

@ -10,16 +10,14 @@ thumbnail: /src/assets/thumbnails/tlotm_ch1.png
description: | description: |
Hey! This is my first vore story, and the first story I've written in years. It's also the first chapter in a vore series, The Lost of the Marshes, focusing on non-fatal vore. I've always wanted to do a project like this and I finally decided to actually do it, so enjoy! Hey! This is my first vore story, and the first story I've written in years. It's also the first chapter in a vore series, The Lost of the Marshes, focusing on non-fatal vore. I've always wanted to do a project like this and I finally decided to actually do it, so enjoy!
tags: tags:
[ - oral vore
"oral vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - willing predator
"willing predator", - willing prey
"willing prey", - male predator
"male predator", - non-binary prey
"non-binary prey", - macro predator
"macro predator",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
next: the-lost-of-the-marshes/chapter-2 next: the-lost-of-the-marshes/chapter-2
summary: | summary: |

View file

@ -12,23 +12,21 @@ description: |
It has been almost one year since I've posted the first chapter of this story. And this has been, by far, the longest and most challenging one to write. In fact, it's been almost four months between the ninth chapter and this one! I've ended up rewriting this chapter multiple times until I was satisfied, which is the main reason why it took so long, and I'm proud to finally present this. And even after about 100k words that I've written for the entire story, there's still more to be told! Hopefully, the next chapter won't take as long to put out, so stay tuned! It has been almost one year since I've posted the first chapter of this story. And this has been, by far, the longest and most challenging one to write. In fact, it's been almost four months between the ninth chapter and this one! I've ended up rewriting this chapter multiple times until I was satisfied, which is the main reason why it took so long, and I'm proud to finally present this. And even after about 100k words that I've written for the entire story, there's still more to be told! Hopefully, the next chapter won't take as long to put out, so stay tuned!
tags: tags:
[ - oral vore
"oral vore", - anal vore
"anal vore", - cock vore
"cock vore", - slit vore
"slit vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - female prey
"female prey", - non-binary prey
"non-binary prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - macro predator
"macro predator", - gay sex
"gay sex",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-9 prev: the-lost-of-the-marshes/chapter-9
next: the-lost-of-the-marshes/chapter-11 next: the-lost-of-the-marshes/chapter-11

View file

@ -10,23 +10,21 @@ thumbnail: /src/assets/thumbnails/tlotm_ch11.png
description: | description: |
Given a respite from their pursuers while they stay in Saisa, the gang reflects on what they themselves seek to pursue. Given a respite from their pursuers while they stay in Saisa, the gang reflects on what they themselves seek to pursue.
tags: tags:
[ - oral vore
"oral vore", - cock vore
"cock vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - female prey
"female prey", - non-binary prey
"non-binary prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - macro predator
"macro predator", - size difference
"size difference", - gay sex
"gay sex", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-10 prev: the-lost-of-the-marshes/chapter-10
next: ~ next: ~

View file

@ -12,19 +12,17 @@ description: |
If you are enjoying the story, there are a bunch of chapters coming after this, so stay tuned. If you are enjoying the story, there are a bunch of chapters coming after this, so stay tuned.
tags: tags:
[ - oral vore
"oral vore", - feral predator
"feral predator", - anthro prey
"anthro prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - semi-willing prey
"semi-willing prey", - male predator
"male predator", - male prey
"male prey", - non-binary prey
"non-binary prey", - macro predator
"macro predator",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-1 prev: the-lost-of-the-marshes/chapter-1
next: the-lost-of-the-marshes/chapter-3 next: the-lost-of-the-marshes/chapter-3

View file

@ -12,21 +12,19 @@ description: |
This chapter was a lot more work than the previous two, and not only in terms of word count (around 11k instead of 7k), but also research, moving stuff around, reviewing, etc. That said, it was very fun to work on, and I hope you enjoy it too. Chapter 4 is next, and it will probably take some extra work (initially it was going to be a 2-parter, so there's a lot to condense), but it'll come along eventually. This chapter was a lot more work than the previous two, and not only in terms of word count (around 11k instead of 7k), but also research, moving stuff around, reviewing, etc. That said, it was very fun to work on, and I hope you enjoy it too. Chapter 4 is next, and it will probably take some extra work (initially it was going to be a 2-parter, so there's a lot to condense), but it'll come along eventually.
tags: tags:
[ - oral vore
"oral vore", - macro predator
"macro predator", - feral predator
"feral predator", - anthro prey
"anthro prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - male predator
"male predator", - non-binary predator
"non-binary predator", - male prey
"male prey", - non-binary prey
"non-binary prey", - size difference
"size difference", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-2 prev: the-lost-of-the-marshes/chapter-2
next: the-lost-of-the-marshes/chapter-4 next: the-lost-of-the-marshes/chapter-4

View file

@ -18,21 +18,19 @@ descriptionPlaintext: >
This chapter took a lot longer to churn out than any other so far. It was still a bunch of fun to write, but each chapter so far has been a lot more work than the last... So before chapter 5 comes out (and don't worry, it will there are plenty more chapters with these three still planned!), I might put out a few separate standalone stories that focus more on "hot sauce" and less on world-building, just so I can have a more regular posting schedule. This chapter took a lot longer to churn out than any other so far. It was still a bunch of fun to write, but each chapter so far has been a lot more work than the last... So before chapter 5 comes out (and don't worry, it will there are plenty more chapters with these three still planned!), I might put out a few separate standalone stories that focus more on "hot sauce" and less on world-building, just so I can have a more regular posting schedule.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - feral predator
"feral predator", - anthro prey
"anthro prey", - feral prey
"feral prey", - willing predator
"willing predator", - willing prey
"willing prey", - male predator
"male predator", - non-binary prey
"non-binary prey", - role reversal
"role reversal", - size difference
"size difference", - nudity
"nudity", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-3 prev: the-lost-of-the-marshes/chapter-3
next: the-lost-of-the-marshes/chapter-5 next: the-lost-of-the-marshes/chapter-5

View file

@ -18,17 +18,15 @@ descriptionPlaintext: >
This chapter turned out pretty heavy, both dialogue- and theme-wise... Regardless, I hope you enjoy it. I want to work on something short for the 8/8, and next will be chapter 6, which should hopefully be more positive and have more emphasis on vore. This chapter turned out pretty heavy, both dialogue- and theme-wise... Regardless, I hope you enjoy it. I want to work on something short for the 8/8, and next will be chapter 6, which should hopefully be more positive and have more emphasis on vore.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - feral prey
"feral prey", - willing predator
"willing predator", - willing prey
"willing prey", - female predator
"female predator", - male prey
"male prey", - size difference
"size difference", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-4 prev: the-lost-of-the-marshes/chapter-4
next: the-lost-of-the-marshes/chapter-6 next: the-lost-of-the-marshes/chapter-6

View file

@ -12,23 +12,21 @@ description: |
Let's pretend that I didn't disappear for two months while I sorted my priorities... Anyway, I'm back with another chapter, and TLoTM now broke over 50k words, which boggles my mind honestly. Either way, I'm not nearly done with these characters, so as usual, expect more chapters... eventually. Let's pretend that I didn't disappear for two months while I sorted my priorities... Anyway, I'm back with another chapter, and TLoTM now broke over 50k words, which boggles my mind honestly. Either way, I'm not nearly done with these characters, so as usual, expect more chapters... eventually.
tags: tags:
[ - oral vore
"oral vore", - unbirth
"unbirth", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - feral prey
"feral prey", - female predator
"female predator", - male prey
"male prey", - non-binary prey
"non-binary prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - size difference
"size difference", - masturbation
"masturbation", - gay sex
"gay sex", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-5 prev: the-lost-of-the-marshes/chapter-5
next: the-lost-of-the-marshes/chapter-7 next: the-lost-of-the-marshes/chapter-7

View file

@ -12,26 +12,24 @@ description: |
If Nikili makes Quince cry one more time, I will slap him. If Nikili makes Quince cry one more time, I will slap him.
tags: tags:
[ - oral vore
"oral vore", - anal vore
"anal vore", - feral predator
"feral predator", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - feral prey
"feral prey", - male predator
"male predator", - male prey
"male prey", - female prey
"female prey", - non-binary prey
"non-binary prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - semi-willing predator
"semi-willing predator", - willing prey
"willing prey", - macro predator
"macro predator", - size difference
"size difference", - gay sex
"gay sex", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-6 prev: the-lost-of-the-marshes/chapter-6
next: the-lost-of-the-marshes/chapter-8 next: the-lost-of-the-marshes/chapter-8

View file

@ -10,27 +10,25 @@ thumbnail: /src/assets/thumbnails/tlotm_ch8.png
description: | description: |
Nurta is forced to confront the ghosts of her past, once and for all. Nurta is forced to confront the ghosts of her past, once and for all.
tags: tags:
[ - oral vore
"oral vore", - anal vore
"anal vore", - anthro predator
"anthro predator", - feral predator
"feral predator", - anthro prey
"anthro prey", - feral prey
"feral prey", - male predator
"male predator", - female predator
"female predator", - male prey
"male prey", - non-binary prey
"non-binary prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - semi-willing predator
"semi-willing predator", - semi-willing prey
"semi-willing prey", - willing prey
"willing prey", - nested vore
"nested vore", - macro predator
"macro predator", - size difference
"size difference", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-7 prev: the-lost-of-the-marshes/chapter-7
next: the-lost-of-the-marshes/chapter-9 next: the-lost-of-the-marshes/chapter-9

View file

@ -10,23 +10,21 @@ thumbnail: /src/assets/thumbnails/tlotm_ch9.png
description: | description: |
A whole week away from Kaati causes some uncertainties among the recluse trio. A whole week away from Kaati causes some uncertainties among the recluse trio.
tags: tags:
[ - oral vore
"oral vore", - slit vore
"slit vore", - feral predator
"feral predator", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - non-binary prey
"non-binary prey", - multiple prey
"multiple prey", - willing predator
"willing predator", - willing prey
"willing prey", - macro predator
"macro predator", - size difference
"size difference", - gay sex
"gay sex", - transformation
"transformation",
]
series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" } series: { "The Lost of the Marshes": "/stories/the-lost-of-the-marshes" }
prev: the-lost-of-the-marshes/chapter-8 prev: the-lost-of-the-marshes/chapter-8
next: the-lost-of-the-marshes/chapter-10 next: the-lost-of-the-marshes/chapter-10

View file

@ -11,16 +11,14 @@ description: |
mi pilin e ni: lipu ni li lipu pi moku musi nanpa wan kepeken toki pona. mi pali e lipu ni kepeken ala toki Inli tan seme? tan la, tenpo suno nanpa wan pi tenpo mun nanpa tu tu li lon. tenpo suno ni li musi. toki pona li musi kin. mi kepeken toki pona la, mi pilin musi! mi pali e lipu ni la, mi pilin pona. moku musi kepeken toki pona li musi! mi pilin e ni: lipu ni li lipu pi moku musi nanpa wan kepeken toki pona. mi pali e lipu ni kepeken ala toki Inli tan seme? tan la, tenpo suno nanpa wan pi tenpo mun nanpa tu tu li lon. tenpo suno ni li musi. toki pona li musi kin. mi kepeken toki pona la, mi pilin musi! mi pali e lipu ni la, mi pilin pona. moku musi kepeken toki pona li musi!
tags: tags:
[ - oral vore
"oral vore", - ambiguous predator
"ambiguous predator", - ambiguous prey
"ambiguous prey", - ambiguous gender predator
"ambiguous gender predator", - ambiguous gender prey
"ambiguous gender prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - flash fiction
"flash fiction",
]
summary: | summary: |
For those curious, here's a summary of the story in English: For those curious, here's a summary of the story in English:

View file

@ -9,18 +9,16 @@ thumbnail: /src/assets/thumbnails/bm_13_trouble_sleeping.png
description: | description: |
An aflutter sparrow can't get any rest, and seeks an unconventional refuge in his lupine crush. An aflutter sparrow can't get any rest, and seeks an unconventional refuge in his lupine crush.
tags: tags:
[ - unbirth
"unbirth", - anthro predator
"anthro predator", - feral prey
"feral prey", - female predator
"female predator", - male prey
"male prey", - asleep predator
"asleep predator", - willing prey
"willing prey", - size difference
"size difference", - long-term endo
"long-term endo", - straight sex
"straight sex",
]
--- ---
Cantaloupe couldn't sleep. Even puffing out his feathers didn't really help the sentient sparrow beat out the cold that came from the air conditioner. Or maybe something else was still keeping him awake. He looked around from his perch, city lights sneaking through the blinds to reveal most outlines in the larger room. His attention was turned to the anthro wolfess, sprawled out on her bed with her belly up. Cantaloupe couldn't sleep. Even puffing out his feathers didn't really help the sentient sparrow beat out the cold that came from the air conditioner. Or maybe something else was still keeping him awake. He looked around from his perch, city lights sneaking through the blinds to reveal most outlines in the larger room. His attention was turned to the anthro wolfess, sprawled out on her bed with her belly up.

View file

@ -11,19 +11,17 @@ description: |
This story was a request for a raffle winner, as part of an anniversary raffle I held! This story was a request for a raffle winner, as part of an anniversary raffle I held!
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - male predator
"male predator", - male prey
"male prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - willing prey
"willing prey", - same size
"same size", - long-term endo
"long-term endo", - request
"request",
]
requester: avour-inden requester: avour-inden
copyrightedCharacters: copyrightedCharacters:
Avour: avour-inden Avour: avour-inden

View file

@ -9,35 +9,34 @@ thumbnail: /src/assets/thumbnails/bm_comm_3_within_limits.png
description: | description: |
Ushitora tries out her latest invention on herself, with a bunch of lewd and eager participants to help her out. Ushitora tries out her latest invention on herself, with a bunch of lewd and eager participants to help her out.
tags: tags:
[ - unbirth
"unbirth", - cock vore
"cock vore", - anthro predator
"anthro predator", - taur predator
"taur predator", - anthro prey
"anthro prey", - human prey
"human prey", - female predator
"female predator", - male predator
"male predator", - female prey
"female prey", - male prey
"male prey", - multiple prey
"multiple prey", - nested vore
"nested vore", - hammerspace vore
"willing predator", - willing predator
"willing prey", - willing prey
"smaller predator", - smaller predator
"similar size", - similar size
"size difference", - size difference
"prey transfer", - prey transfer
"hyper", - hyper
"straight sex", - straight sex
"gay sex", - gay sex
"lesbian sex", - lesbian sex
"orgy", - orgy
"commission", - commission
] commissioner: asof-yeun
commissioner: asofyeun
copyrightedCharacters: copyrightedCharacters:
Ushitora: asofyeun Ushitora: asof-yeun
--- ---
Tonight was going to be Ushitora's big night, but she showed no signs of nervousness. She had no reason to. The holographic readings on her bracelet were all nominal, of course, but she checked on them to make sure that all sensors were on. The technician didn't want to lose a single bit of data for her research. Tonight was going to be Ushitora's big night, but she showed no signs of nervousness. She had no reason to. The holographic readings on her bracelet were all nominal, of course, but she checked on them to make sure that all sensors were on. The technician didn't want to lose a single bit of data for her research.

View file

@ -9,22 +9,20 @@ thumbnail: /src/assets/thumbnails/bm_4_you_re_home.png
description: | description: |
Vesper finds himself perplexed with his home situation, but when a friend offers to help, things quickly spiral out of control. Vesper finds himself perplexed with his home situation, but when a friend offers to help, things quickly spiral out of control.
tags: tags:
[ - oral vore
"oral vore", - anthro predator
"anthro predator", - anthro prey
"anthro prey", - female predator
"female predator", - male predator
"male predator", - female prey
"female prey", - male prey
"male prey", - willing predator
"willing predator", - unwilling prey
"unwilling prey", - nested vore
"nested vore", - similar size
"similar size", - implied perma endo
"implied perma endo", - straight sex
"straight sex", - masturbation
"masturbation",
]
--- ---
Vesper slumped down on the office cafeteria's chair, placing his tray on the table with enough force that his soda can toppled over. The black bearcat grabbed it before it could roll away as well, and carefully opened it. Unsurprisingly, the drink sizzled as a good portion was expelled from the can and onto the tray and food, and the binturong sighed. Vesper slumped down on the office cafeteria's chair, placing his tray on the table with enough force that his soda can toppled over. The black bearcat grabbed it before it could roll away as well, and carefully opened it. Unsurprisingly, the drink sizzled as a good portion was expelled from the can and onto the tray and food, and the binturong sighed.

View file

@ -0,0 +1,13 @@
name: Body types
index: 1
tags:
- anthro predator
- feral predator
- taur predator
- eng: ambiguous predator
tok: sijelo pi jan pi wawa mute li ale
- human prey
- anthro prey
- feral prey
- eng: ambiguous prey
tok: sijelo pi jan pi wawa lili li ale

View file

@ -0,0 +1,15 @@
name: Genders
index: 2
tags:
- male predator
- trans male predator
- female predator
- non-binary predator
- eng: ambiguous gender predator
tok: jan pi wawa mute li meli anu mije
- male prey
- female prey
- trans female prey
- non-binary prey
- eng: ambiguous gender prey
tok: jan pi wawa lili li meli anu mije

View file

@ -0,0 +1,12 @@
name: Other kinks
index: 7
tags:
- hyper
- egg play
- transformation
- netorare
- sizeplay
- inflation
- daddy play
- BDSM
- dubcon

View file

@ -0,0 +1,6 @@
name: Recurring characters
index: 9
tags:
- Sam Brendan
- Beetle
- Muno

View file

@ -0,0 +1,9 @@
name: Relative size
index: 3
tags:
- macro predator
- micro prey
- size difference
- similar size
- same size
- smaller predator

View file

@ -0,0 +1,9 @@
name: Sexual content
index: 6
tags:
- nudity
- masturbation
- straight sex
- gay sex
- lesbian sex
- orgy

View file

@ -0,0 +1,7 @@
name: Type of content
index: 8
tags:
- request
- commission
- eng: flash fiction
tok: lipu lili

View file

@ -0,0 +1,13 @@
name: Types of vore
index: 0
tags:
- eng: oral vore
tok: moku musi kepeken uta
- anal vore
- cock vore
- unbirth
- tail vore
- slit vore
- sheath vore
- nipple vore
- chest maw vore

View file

@ -0,0 +1,19 @@
name: Vore-related scenarios
index: 5
tags:
- point of view
- regurgitation
- long-term endo
- perma endo
- implied perma endo
- full tour
- implied full tour
- prey transfer
- object vore
- role reversal
- nested vore
- multiple prey
- messy stomach
- hammerspace vore
- bladder vore
- soul vore

View file

@ -0,0 +1,13 @@
name: Willingness
index: 4
tags:
- eng: willing predator
tok: jan pi wawa mute li wile e moku musi
- semi-willing predator
- unwilling predator
- asleep predator
- willing prey
- semi-willing prey
- eng: unwilling prey
tok: jan pi wawa lili li wile ala e moku musi
- asleep prey

View file

@ -0,0 +1,8 @@
name: Asof Yeun
links:
eka: https://aryion.com/g4/user/asofyeun
furaffinity: https://www.furaffinity.net/user/asofyeun
inkbunny: https://inkbunny.net/asofyeun
sofurry: https://asofyeun.sofurry.com/
weasyl: https://www.weasyl.com/~asofyeun
preferredLink: furaffinity

View file

@ -1,11 +0,0 @@
{
"name": "Asof Yeun",
"links": {
"eka": "https://aryion.com/g4/user/asofyeun",
"furaffinity": "https://www.furaffinity.net/user/asofyeun",
"inkbunny": "https://inkbunny.net/asofyeun",
"sofurry": "https://asofyeun.sofurry.com/",
"weasyl": "https://www.weasyl.com/~asofyeun"
},
"preferredLink": "furaffinity"
}

View file

@ -1,7 +0,0 @@
{
"name": "Avour Inden",
"links": {
"furaffinity": "https://furaffinity.net/user/pppp0000"
},
"preferredLink": "furaffinity"
}

View file

@ -0,0 +1,4 @@
name: Avour Inden
links:
furaffinity: https://furaffinity.net/user/pppp0000
preferredLink: furaffinity

View file

@ -1,20 +0,0 @@
{
"name": "Bad Manners",
"nameLang": {
"eng": "Bad Manners",
"tok": "nasin ike Pemene"
},
"avatar": "/src/assets/images/logo_bm.png",
"links": {
"website": "https://badmanners.xyz",
"eka": ["https://aryion.com/g4/user/BadManners", "BadManners"],
"furaffinity": ["https://www.furaffinity.net/user/BadManners", "BadManners"],
"inkbunny": ["https://inkbunny.net/BadManners", "BadManners"],
"sofurry": ["https://bad-manners.sofurry.com/", "Bad Manners"],
"weasyl": ["https://www.weasyl.com/~BadManners", "BadManners"],
"twitter": "https://twitter.com/BadManners__",
"mastodon": "https://meow.social/@BadManners",
"bluesky": "https://bsky.app/profile/badmanners.xyz"
},
"preferredLink": null
}

View file

@ -0,0 +1,18 @@
name: Bad Manners
nameLang:
eng: Bad Manners
tok: nasin ike Pemene
avatar: /src/assets/images/logo_bm.png
links:
website: https://badmanners.xyz
eka: https://aryion.com/g4/user/BadManners
furaffinity: https://www.furaffinity.net/user/BadManners
inkbunny: https://inkbunny.net/BadManners
sofurry:
- https://bad-manners.sofurry.com/
- Bad Manners
weasyl: https://www.weasyl.com/~BadManners
twitter: https://twitter.com/BadManners__
mastodon: https://meow.social/@BadManners
bluesky: https://bsky.app/profile/badmanners.xyz
preferredLink: ~

View file

@ -1,7 +0,0 @@
{
"name": "Dee Lumeni",
"links": {
"eka": ["https://aryion.com/g4/user/KeeperofLillies", "KeeperofLillies"]
},
"preferredLink": "eka"
}

View file

@ -0,0 +1,4 @@
name: Dee Lumeni
links:
eka: https://aryion.com/g4/user/KeeperofLillies
preferredLink: eka

View file

@ -0,0 +1,4 @@
name: destinyisbad1
links:
furaffinity: https://www.furaffinity.net/user/destinyisbad1
preferredLink: furaffinity

View file

@ -0,0 +1,6 @@
name: Hans Woofington
links:
furaffinity:
- https://furaffinity.net/user/HansLewdington
- Hans_Lewdington
preferredLink: furaffinity

View file

@ -1,7 +0,0 @@
{
"name": "Holi",
"links": {
"furaffinity": ["https://furaffinity.net/user/CinnamonStars", "CinnamonStars"]
},
"preferredLink": "furaffinity"
}

View file

@ -0,0 +1,4 @@
name: Holi
links:
furaffinity: https://furaffinity.net/user/CinnamonStars
preferredLink: furaffinity

View file

@ -0,0 +1,4 @@
name: Petra
links:
furaffinity: https://www.furaffinity.net/user/PetraThinksUsernamesAreDumb
preferredLink: furaffinity

View file

@ -1,8 +0,0 @@
{
"name": "Scion",
"links": {
"eka": "https://aryion.com/g4/user/Scion",
"furaffinity": ["https://www.furaffinity.net/user/Scionic", "Scionic"]
},
"preferredLink": "eka"
}

View file

@ -0,0 +1,5 @@
name: Scion
links:
eka: https://aryion.com/g4/user/Scion
furaffinity: https://www.furaffinity.net/user/Scionic
preferredLink: eka

View file

@ -0,0 +1,4 @@
name: Lee
links:
furaffinity: https://www.furaffinity.net/user/verysmolLee
preferredLink: furaffinity

View file

@ -1,8 +0,0 @@
{
"name": "YolkMonkey",
"links": {
"furaffinity": ["https://furaffinity.net/user/Vampire101", "Vampire101"],
"sofurry": ["https://vampire101.sofurry.com/", "Vampire101"]
},
"preferredLink": "furaffinity"
}

View file

@ -0,0 +1,7 @@
name: YolkMonkey
links:
furaffinity: https://furaffinity.net/user/Vampire101
sofurry:
- https://vampire101.sofurry.com/
- Vampire101
preferredLink: furaffinity

View file

@ -0,0 +1,4 @@
name: Zilu
links:
furaffinity: https://www.furaffinity.net/user/Zilu
preferredLink: furaffinity

View file

@ -18,6 +18,7 @@ const { pageTitle } = Astro.props;
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="generator" content={Astro.generator} /> <meta name="generator" content={Astro.generator} />
<title>{pageTitle || "Gallery"} | Bad Manners</title> <title>{pageTitle || "Gallery"} | Bad Manners</title>
<link rel="me" href="https://meow.social/@BadManners" />
<link rel="alternate" type="application/rss+xml" title="Gallery | Bad Manners" href={`${Astro.site}feed.xml`} /> <link rel="alternate" type="application/rss+xml" title="Gallery | Bad Manners" href={`${Astro.site}feed.xml`} />
</head> </head>
<body> <body>

View file

@ -18,7 +18,8 @@ const { pageTitle } = Astro.props;
loading="eager" loading="eager"
src={logoBM} src={logoBM}
alt="Logo for Bad Manners" alt="Logo for Bad Manners"
class="my-4 w-full max-w-48 rounded-sm border-2 border-green-950 shadow-md" class="my-4 w-full max-w-[192px] rounded-sm border-2 border-green-950 shadow-md"
width={192}
/> />
<span class="my-2 text-2xl font-semibold">Bad Manners</span> <span class="my-2 text-2xl font-semibold">Bad Manners</span>
<Navigation /> <Navigation />

View file

@ -10,6 +10,7 @@ import Authors from "../components/Authors.astro";
import UserComponent from "../components/UserComponent.astro"; import UserComponent from "../components/UserComponent.astro";
import CopyrightedCharacters from "../components/CopyrightedCharacters.astro"; import CopyrightedCharacters from "../components/CopyrightedCharacters.astro";
import Prose from "../components/Prose.astro"; import Prose from "../components/Prose.astro";
import { getCollection } from "astro:content";
type Props = CollectionEntry<"stories">["data"]; type Props = CollectionEntry<"stories">["data"];
@ -30,6 +31,24 @@ Object.keys(props.copyrightedCharacters).forEach(async (character) => {
copyrightedCharacters[character] = await getEntry(props.copyrightedCharacters[character]); copyrightedCharacters[character] = await getEntry(props.copyrightedCharacters[character]);
}); });
const relatedStories = (await getEntries(props.relatedStories)).filter((story) => !story.data.isDraft); const relatedStories = (await getEntries(props.relatedStories)).filter((story) => !story.data.isDraft);
const categorizedTags = Object.fromEntries((await getCollection("tag-categories")).flatMap(category => category.data.tags.map(tag => {
if (typeof tag === "string") {
return [tag, tag]
}
const key = tag["eng"]!
if (props.lang in tag) {
return [key, tag[props.lang]!]
}
return [key, key]
})));
const tags = props.tags.map<[string, string]>(tag => {
const tagSlug = slug(tag)
if (!(tag in categorizedTags)) {
console.log(`Tag "${tag}" doesn't have a category in tag-categories!`)
return [tagSlug, tag]
}
return [tagSlug, categorizedTags[tag]!]
});
// const relatedGames = (await getEntries(props.relatedGames)).filter( // const relatedGames = (await getEntries(props.relatedGames)).filter(
// (game) => !game.data.isDraft, // (game) => !game.data.isDraft,
// ); // );
@ -45,7 +64,7 @@ const relatedStories = (await getEntries(props.relatedStories)).filter((story) =
<a <a
href={props.series ? Object.values(props.series)[0] : "/stories/1"} href={props.series ? Object.values(props.series)[0] : "/stories/1"}
class="text-link my-1 h-9 w-9 p-2" class="text-link my-1 h-9 w-9 p-2"
aria-label={`Return to ${props.series ? Object.keys(props.series)[0] : "stories"}`} aria-label={props.lang === "eng" ? `Return to ${props.series ? Object.keys(props.series)[0] : "stories"}` : props.lang === "tok" ? "o tawa e lipu ale" : null}
> >
<svg viewBox="0 0 512 512" class="fill-current" aria-hidden="true"> <svg viewBox="0 0 512 512" class="fill-current" aria-hidden="true">
<path <path
@ -56,7 +75,7 @@ const relatedStories = (await getEntries(props.relatedStories)).filter((story) =
<a <a
href="#description" href="#description"
class="text-link my-1 h-9 w-9 border-l border-stone-300 p-2 dark:border-stone-700" class="text-link my-1 h-9 w-9 border-l border-stone-300 p-2 dark:border-stone-700"
aria-label="Go to description" aria-label={props.lang === "eng" ? "Go to description" : props.lang === "tok" ? "o tawa e lipu lili" : null}
> >
<svg viewBox="0 0 512 512" class="fill-current" aria-hidden="true"> <svg viewBox="0 0 512 512" class="fill-current" aria-hidden="true">
<path <path
@ -67,7 +86,7 @@ const relatedStories = (await getEntries(props.relatedStories)).filter((story) =
<button <button
id="button-dark-mode" id="button-dark-mode"
class="text-link my-1 h-9 w-9 border-l border-stone-300 p-2 dark:border-stone-700" class="text-link my-1 h-9 w-9 border-l border-stone-300 p-2 dark:border-stone-700"
aria-label="Toggle dark mode" aria-label={props.lang === "eng" ? "Toggle dark mode" : props.lang === "tok" ? "o ante e kule" : null}
> >
<svg viewBox="0 0 512 512" class="hidden fill-current dark:block" aria-hidden="true"> <svg viewBox="0 0 512 512" class="hidden fill-current dark:block" aria-hidden="true">
<path <path
@ -191,7 +210,7 @@ const relatedStories = (await getEntries(props.relatedStories)).filter((story) =
aria-label="Publish date" aria-label="Publish date"
aria-description={formatDate(props.pubDate, "MMMM do, yyyy", { locale: enUSLocale })} aria-description={formatDate(props.pubDate, "MMMM do, yyyy", { locale: enUSLocale })}
> >
{formatDate(props.pubDate, "yyyy-MM-dd")} {props.lang === "tok" ? `tenpo suno ${formatDate(props.pubDate, "yyyy-MM-dd")}` : formatDate(props.pubDate, "yyyy-MM-dd")}
</p> </p>
) )
} }
@ -273,10 +292,10 @@ const relatedStories = (await getEntries(props.relatedStories)).filter((story) =
</h2> </h2>
<ul class="flex flex-wrap gap-x-2 gap-y-2 px-2"> <ul class="flex flex-wrap gap-x-2 gap-y-2 px-2">
{ {
props.tags.map((tag) => ( tags.map(([tagSlug, tagText]) => (
<li class="rounded-full bg-bm-300 px-3 py-1 text-sm text-black shadow-sm dark:bg-bm-600 dark:text-white print:bg-none"> <li class="rounded-full bg-bm-300 px-3 py-1 text-sm text-black shadow-sm dark:bg-bm-600 dark:text-white print:bg-none">
<a class="hover:underline focus:underline" href={`/tags/${slug(tag)}`}> <a class="hover:underline focus:underline" href={`/tags/${tagSlug}`}>
{tag} {tagText}
</a> </a>
</li> </li>
)) ))
@ -285,7 +304,7 @@ const relatedStories = (await getEntries(props.relatedStories)).filter((story) =
</section> </section>
</main> </main>
<div class="pt-6 text-center text-xs text-black dark:text-white"> <div class="pt-6 text-center text-xs text-black dark:text-white">
<span>&copy; {formatDate(props.pubDate, "yyyy")} | </span> <span>&copy; {props.lang === "tok" ? `tenpo pi sike suno ${formatDate(props.pubDate, "yyyy")}` : formatDate(props.pubDate, "yyyy")} | </span>
<a class="hover:underline focus:underline" href="/licenses.txt" target="_blank" <a class="hover:underline focus:underline" href="/licenses.txt" target="_blank"
>{props.lang === "eng" ? "Licenses" : props.lang === "tok" ? "lipu lawa" : null}</a >{props.lang === "eng" ? "Licenses" : props.lang === "tok" ? "lipu lawa" : null}</a
> >

View file

@ -20,14 +20,13 @@ const games = (await getCollection("games", (game) => !game.data.isDraft)).sort(
<a class="text-link hover:underline focus:underline" href={`/games/${game.slug}`}> <a class="text-link hover:underline focus:underline" href={`/games/${game.slug}`}>
{game.data.thumbnail ? ( {game.data.thumbnail ? (
<Image <Image
class="max-w-72" class="max-w-[288px]"
src={game.data.thumbnail} src={game.data.thumbnail}
alt={`Thumbnail for ${game.data.title}`} alt={`Thumbnail for ${game.data.title}`}
width={game.data.thumbnailWidth} width={288}
height={game.data.thumbnailHeight}
/> />
) : null} ) : null}
<div class="max-w-72 text-sm"> <div class="max-w-[288px] text-sm">
<> <>
<span>{game.data.title}</span> <span>{game.data.title}</span>
<br /> <br />

View file

@ -24,7 +24,7 @@ const totalPages = Math.ceil(page.total / page.size);
<GalleryLayout pageTitle="Stories"> <GalleryLayout pageTitle="Stories">
<h1 class="m-2 text-2xl font-semibold text-stone-800 dark:text-stone-100">Stories</h1> <h1 class="m-2 text-2xl font-semibold text-stone-800 dark:text-stone-100">Stories</h1>
<p class="my-4">My main collection of content so far.</p> <p class="my-4">The bulk of my content!</p>
<p class="text-center font-light text-stone-950 dark:text-white"> <p class="text-center font-light text-stone-950 dark:text-white">
{ {
page.start == page.end page.start == page.end
@ -68,19 +68,16 @@ const totalPages = Math.ceil(page.total / page.size);
<a class="text-link hover:underline focus:underline" href={`/stories/${story.slug}`}> <a class="text-link hover:underline focus:underline" href={`/stories/${story.slug}`}>
{story.data.thumbnail ? ( {story.data.thumbnail ? (
<Image <Image
class="w-48" class="max-w-[192px]"
src={story.data.thumbnail} src={story.data.thumbnail}
alt={`Thumbnail for ${story.data.title}`} alt={`Thumbnail for ${story.data.title}`}
width={story.data.thumbnailWidth} width={192}
height={story.data.thumbnailHeight}
/> />
) : null} ) : null}
<div class="max-w-48 text-sm"> <div class="max-w-[192px] text-sm">
<> <span>{story.data.title}</span>
<span>{story.data.title}</span> <br />
<br /> <span class="italic">{formatDate(story.data.pubDate, "MMM d, yyyy", { locale: enUSLocale })}</span>
<span class="italic">{formatDate(story.data.pubDate, "MMM d, yyyy", { locale: enUSLocale })}</span>
</>
</div> </div>
</a> </a>
</li> </li>

View file

@ -92,6 +92,12 @@ function getUsernameForWebsite(user: CollectionEntry<"users">, website: Website)
return bskyMatch[1]; return bskyMatch[1];
} }
break; break;
case "itaku":
const itakuMatch = link.match(/^.*\bitaku\.ee\/profile\/([^\/]+)\/?$/);
if (itakuMatch && itakuMatch[1]) {
return itakuMatch[1];
}
break;
default: default:
throw new Error(`Unhandled website "${website}" in getUsernameForWebsite`); throw new Error(`Unhandled website "${website}" in getUsernameForWebsite`);
} }

View file

@ -3,13 +3,15 @@ import { getCollection } from "astro:content";
import { slug } from "github-slugger"; import { slug } from "github-slugger";
import GalleryLayout from "../layouts/GalleryLayout.astro"; import GalleryLayout from "../layouts/GalleryLayout.astro";
const [stories, games] = await Promise.all([ const [stories, games, tagCategories] = await Promise.all([
getCollection("stories", (story) => !story.data.isDraft), getCollection("stories"),
getCollection("games", (game) => !game.data.isDraft), getCollection("games"),
getCollection("tag-categories"),
]); ]);
const tagsSet = new Set<string>(); const tagsSet = new Set<string>();
const draftOnlyTagsSet = new Set<string>();
const seriesList: Record<string, string> = {}; const seriesList: Record<string, string> = {};
stories.forEach((story) => { stories.filter((story) => !story.data.isDraft).forEach((story) => {
story.data.tags.forEach((tag) => { story.data.tags.forEach((tag) => {
tagsSet.add(tag); tagsSet.add(tag);
}); });
@ -26,7 +28,7 @@ stories.forEach((story) => {
} }
} }
}); });
games.forEach((game) => { games.filter((game) => !game.data.isDraft).forEach((game) => {
game.data.tags.forEach((tag) => { game.data.tags.forEach((tag) => {
tagsSet.add(tag); tagsSet.add(tag);
}); });
@ -43,96 +45,53 @@ games.forEach((game) => {
} }
} }
}); });
stories.filter((story) => story.data.isDraft).forEach((story) => {
const categorizedTags: Record<string, string[]> = { story.data.tags.forEach((tag) => {
"Types of vore": [ if (!tagsSet.has(tag)) {
"oral vore", draftOnlyTagsSet.add(tag);
"anal vore",
"cock vore",
"unbirth",
"tail vore",
"slit vore",
"sheath vore",
"nipple vore",
"chest maw vore",
],
"Body types": [
"anthro predator",
"feral predator",
"taur predator",
"ambiguous predator",
"human prey",
"anthro prey",
"feral prey",
"ambiguous prey",
],
Genders: [
"male predator",
"trans male predator",
"female predator",
"non-binary predator",
"ambiguous gender predator",
"male prey",
"female prey",
"trans female prey",
"non-binary prey",
"ambiguous gender prey",
],
"Relative size": ["macro predator", "micro prey", "size difference", "similar size", "same size", "smaller predator"],
Willingness: [
"willing predator",
"semi-willing predator",
"unwilling predator",
"asleep predator",
"willing prey",
"semi-willing prey",
"unwilling prey",
"asleep prey",
],
"Vore-related scenarios": [
"point of view",
"regurgitation",
"long-term endo",
"perma endo",
"implied perma endo",
"full tour",
"implied full tour",
"prey transfer",
"object vore",
"role reversal",
"nested vore",
"multiple prey",
"messy stomach",
"bladder vore",
"soul vore",
],
"Sexual content": ["nudity", "masturbation", "straight sex", "gay sex", "lesbian sex", "orgy"],
"Other kinks": [
"hyper",
"egg play",
"transformation",
"netorare",
"sizeplay",
"inflation",
"daddy play",
"BDSM",
"dubcon",
],
"Type of content": ["request", "commission", "flash fiction"],
"Recurring characters": ["Sam Brendan", "Beetle", "Muno"],
};
Object.entries(categorizedTags).forEach(([category, tagList]) => {
tagList.forEach((tag) => {
if (!tagsSet.delete(tag)) {
throw new Error(`Tag "${tag}" was added to category "${category}" but isn't present in any content`);
} }
}); });
}); });
games.filter((game) => game.data.isDraft).forEach((game) => {
game.data.tags.forEach((tag) => {
if (!tagsSet.has(tag)) {
draftOnlyTagsSet.add(tag);
}
});
});
const uncategorizedTagsSet = new Set(tagsSet);
if (tagsSet.size > 0) { const categorizedTags: Array<[string, string, string[]]> = tagCategories.sort((a, b) => a.data.index - b.data.index).map(category => {
console.log("The following tags have no category:", [...tagsSet]); const tagList = category.data.tags.map(tag => {
categorizedTags["Uncategorized tags"] = [...tagsSet]; if (typeof tag === "string") {
return tag
}
if (!("eng" in tag)) {
throw new Error(`"{[lang]: text}" tag must have an "eng" key: ${tag}`)
}
return tag["eng"]!
})
tagList.forEach((tag, index) => {
if (index !== tagList.findLastIndex((val) => tag == val)) {
throw new Error(`Duplicated tag "${tag}" found in multiple tag-categories`)
}
})
return [category.data.name, category.id, tagList.filter(tag => {
if (draftOnlyTagsSet.has(tag)) {
console.log(`Omitting draft-only tag "${tag}"`);
return false;
}
if (tagsSet.has(tag)) {
uncategorizedTagsSet.delete(tag);
}
return true;
})];
})
if (uncategorizedTagsSet.size > 0) {
const tagList = [...uncategorizedTagsSet];
console.log("The following tags have no category:", tagList);
categorizedTags.push(["Uncategorized tags", "others", tagList]);
} }
--- ---
@ -154,21 +113,23 @@ if (tagsSet.size > 0) {
</ul> </ul>
</section> </section>
{ {
Object.entries(categorizedTags).map(([category, tagList]) => ( categorizedTags.map(([category, categorySlug, tagList]) =>
<section class="my-2" aria-labelledby={`category-${slug(category)}`}> tagList.length > 0 ? (
<h2 id={`category-${slug(category)}`} class="p-2 text-xl font-semibold text-stone-800 dark:text-stone-100"> <section class="my-2" aria-labelledby={`category-${categorySlug}`}>
{category} <h2 id={`category-${categorySlug}`} class="p-2 text-xl font-semibold text-stone-800 dark:text-stone-100">
</h2> {category}
<ul class="flex max-w-3xl flex-wrap gap-x-2 gap-y-2 px-2"> </h2>
{tagList.map((tag) => ( <ul class="flex max-w-3xl flex-wrap gap-x-2 gap-y-2 px-2">
<li class="rounded-full bg-bm-300 px-3 py-1 text-sm text-black shadow-sm dark:bg-bm-600 dark:text-white"> {tagList.map((tag) => (
<a class="hover:underline focus:underline" href={`/tags/${slug(tag)}`}> <li class="rounded-full bg-bm-300 px-3 py-1 text-sm text-black shadow-sm dark:bg-bm-600 dark:text-white">
{tag} <a class="hover:underline focus:underline" href={`/tags/${slug(tag)}`}>
</a> {tag}
</li> </a>
))} </li>
</ul> ))}
</section> </ul>
)) </section>
) : null,
)
} }
</GalleryLayout> </GalleryLayout>