From 405ad38f5dc7c07c0d98ff66c4a2e1973f2479dd Mon Sep 17 00:00:00 2001 From: Bad Manners <me@badmanners.xyz> Date: Sun, 23 Jun 2024 18:24:59 -0300 Subject: [PATCH] Add "Woofer Exploration" and improve drafting --- examples/game.md | 11 +- examples/story.md | 13 +- .../thumbnails/bm_19_woofer_exploration.png | Bin 0 -> 71969 bytes src/assets/thumbnails/drafts/.gitignore | 2 + src/content/config.ts | 33 +++-- src/content/games/crossing-over.md | 9 +- src/content/stories/tiny-accident.md | 9 +- src/content/stories/woofer-exploration.md | 119 ++++++++++++++++++ src/content/users/destiny-is-bad.yaml | 4 - src/content/users/hans-woofington.yaml | 4 +- src/content/users/petra.yaml | 4 - src/content/users/very-smol-lee.yaml | 4 - src/content/users/zilu.yaml | 4 - src/layouts/GalleryLayout.astro | 4 +- src/layouts/GameLayout.astro | 63 ++++------ src/layouts/StoryLayout.astro | 73 +++++------ src/pages/api/export-story/[...slug].ts | 49 +++----- src/pages/feed.xml.ts | 12 +- src/pages/games.astro | 6 +- src/pages/index.astro | 12 +- src/pages/licenses.txt.ts | 2 +- src/pages/stories/[page].astro | 6 +- .../stories/the-lost-of-the-marshes.astro | 13 +- src/pages/tags/[slug].astro | 13 +- src/utils/format_copyrighted_characters.ts | 20 +++ 25 files changed, 300 insertions(+), 189 deletions(-) create mode 100755 src/assets/thumbnails/bm_19_woofer_exploration.png create mode 100644 src/assets/thumbnails/drafts/.gitignore create mode 100644 src/content/stories/woofer-exploration.md delete mode 100644 src/content/users/destiny-is-bad.yaml delete mode 100644 src/content/users/petra.yaml delete mode 100644 src/content/users/very-smol-lee.yaml delete mode 100644 src/content/users/zilu.yaml create mode 100644 src/utils/format_copyrighted_characters.ts diff --git a/examples/game.md b/examples/game.md index 8dc0ad1..e5b6841 100644 --- a/examples/game.md +++ b/examples/game.md @@ -2,7 +2,7 @@ # slug: some-custom-slug title: Example Game # shortTitle: Example -pubDate: 2024-01-01 +# pubDate: 2024-01-01 isDraft: true authors: bad-manners contentWarning: > @@ -13,10 +13,11 @@ description: | # descriptionPlaintext: > # Some funny text. platforms: [web, windows, linux, macos, android, ios] -# mastodonPost: -# instance: meow.social -# user: BadManners -# postId: "numericalPostId" +# posts: +# mastodon: +# instance: meow.social +# user: BadManners +# postId: "numericalPostId" tags: [] # series: the-lost-of-the-marshes # relatedStories: [] diff --git a/examples/story.md b/examples/story.md index a99ace9..788e985 100644 --- a/examples/story.md +++ b/examples/story.md @@ -2,10 +2,10 @@ # slug: some-custom-slug title: Example Story # shortTitle: Example -pubDate: 2024-01-01 +# pubDate: 2024-01-01 isDraft: true authors: bad-manners -wordCount: 1000 +# wordCount: 1000 contentWarning: > Contains: Non-fatal same size oral vore, with willing anthro male fox predator, and unwilling feral female wolf prey. Also includes other stuff. # thumbnail: /src/assets/thumbnails/story_thumbnail.png @@ -13,10 +13,11 @@ description: | Some funny text. # descriptionPlaintext: > # Some funny text. -# mastodonPost: -# instance: meow.social -# user: BadManners -# postId: "numericalPostId" +# posts: +# mastodon: +# instance: meow.social +# user: BadManners +# postId: "numericalPostId" tags: [] # series: the-lost-of-the-marshes # prev: previous-story diff --git a/src/assets/thumbnails/bm_19_woofer_exploration.png b/src/assets/thumbnails/bm_19_woofer_exploration.png new file mode 100755 index 0000000000000000000000000000000000000000..c5a1d51c609ed21840b1d80160555edf11a3fc5c GIT binary patch literal 71969 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 literal 0 HcmV?d00001 diff --git a/src/assets/thumbnails/drafts/.gitignore b/src/assets/thumbnails/drafts/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/src/assets/thumbnails/drafts/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/src/content/config.ts b/src/content/config.ts index c0e2c49..7e3dc82 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -28,9 +28,14 @@ const mastodonPost = z.object({ user: z.string(), postId: z.string(), }); +const copyrightedCharacters = z + .record(z.string(), reference("users")) + .default({}) + .refine(refineCopyrightedCharacters, `"copyrightedCharacters" cannot mix empty catch-all key with other keys`); export type Lang = z.output<typeof lang>; export type Website = z.infer<typeof website>; +export type CopyrightedCharacters = z.infer<typeof copyrightedCharacters>; const storiesCollection = defineCollection({ type: "content", @@ -38,8 +43,8 @@ const storiesCollection = defineCollection({ z.object({ // Required title: z.string(), - pubDate: z.date().transform(adjustDateForUTCOffset), - wordCount: z.number().int(), + pubDate: z.date().transform(adjustDateForUTCOffset).optional(), + wordCount: z.number().int().optional(), contentWarning: z.string(), description: z.string(), tags: z.array(z.string()), @@ -58,16 +63,17 @@ const storiesCollection = defineCollection({ series: reference("series").optional(), commissioner: reference("users").optional(), requester: reference("users").optional(), - copyrightedCharacters: z - .record(z.string(), reference("users")) - .default({}) - .refine(refineCopyrightedCharacters, `"copyrightedCharacters" cannot mix empty catch-all key with other keys`), + copyrightedCharacters: copyrightedCharacters, lang, prev: reference("stories").nullish(), next: reference("stories").nullish(), relatedStories: z.array(reference("stories")).default([]), relatedGames: z.array(reference("games")).default([]), - mastodonPost: mastodonPost.optional(), + posts: z + .object({ + mastodon: mastodonPost.optional(), + }) + .default({}), }), }); @@ -77,7 +83,7 @@ const gamesCollection = defineCollection({ z.object({ // Required title: z.string(), - pubDate: z.date().transform(adjustDateForUTCOffset), + pubDate: z.date().transform(adjustDateForUTCOffset).optional(), contentWarning: z.string(), description: z.string(), tags: z.array(z.string()), @@ -93,14 +99,15 @@ const gamesCollection = defineCollection({ thumbnailHeight: z.number().int().optional(), series: reference("series").optional(), platforms: z.array(platform).refine((platforms) => platforms.length > 0, `"platforms" cannot be empty`), - copyrightedCharacters: z - .record(z.string(), reference("users")) - .default({}) - .refine(refineCopyrightedCharacters, `"copyrightedCharacters" cannot mix empty catch-all key with other keys`), + copyrightedCharacters: copyrightedCharacters, lang, relatedStories: z.array(reference("stories")).default([]), relatedGames: z.array(reference("games")).default([]), - mastodonPost: mastodonPost.optional(), + posts: z + .object({ + mastodon: mastodonPost.optional(), + }) + .default({}), }), }); diff --git a/src/content/games/crossing-over.md b/src/content/games/crossing-over.md index 348a579..643f1ea 100644 --- a/src/content/games/crossing-over.md +++ b/src/content/games/crossing-over.md @@ -32,10 +32,11 @@ platforms: - linux - macos - android -mastodonPost: - instance: meow.social - user: BadManners - postId: "112009918919441027" +posts: + mastodon: + instance: meow.social + user: BadManners + postId: "112009918919441027" tags: - oral vore - anthro predator diff --git a/src/content/stories/tiny-accident.md b/src/content/stories/tiny-accident.md index 7e2af9c..a241316 100644 --- a/src/content/stories/tiny-accident.md +++ b/src/content/stories/tiny-accident.md @@ -14,10 +14,11 @@ descriptionPlaintext: > Kolo's day at the airship is nearly over, but a tiny stalker will unwittingly make his evening quite eventful... Finally got around to finishing a story ever since I worked on Crossing Over! I wanna get back into writing more stuff again, and this short story has finally broken my writer's block. My goal is to go back to working on commissions, but I feel I'm not quite in the headspace to tackle them just yet... Nevertheless, I hope you enjoy this! -mastodonPost: - instance: meow.social - user: BadManners - postId: "112157812554023271" +posts: + mastodon: + instance: meow.social + user: BadManners + postId: "112157812554023271" tags: - anthro predator - anthro prey diff --git a/src/content/stories/woofer-exploration.md b/src/content/stories/woofer-exploration.md new file mode 100644 index 0000000..acd9367 --- /dev/null +++ b/src/content/stories/woofer-exploration.md @@ -0,0 +1,119 @@ +--- +title: Woofer Exploration +pubDate: 2024-06-23 +authors: bad-manners +wordCount: 2600 +contentWarning: > + Contains: Non-fatal unbirth and oral vore, with willing anthro maned wolf predator and willing anthro mimic x maned wolf hybrid prey. Also includes gay sex, masturbation, and sleep play. +thumbnail: /src/assets/thumbnails/bm_19_woofer_exploration.png +description: | + The Director wakes up in the middle of the night to a little intruder, and decides to have some fun with him. + + This was a gift for my friend Hans! This story is sort of a non-canon sequel to his game ["Director Explorer"](https://hans-woofington.itch.io/director-explorer) on Itch.io, which you should definitely try out if you haven't already! +descriptionPlaintext: > + The Director wakes up in the middle of the night to a little intruder, and decides to have some fun with him. + + This was a gift for my friend Hans! This story is sort of a non-canon sequel to his game "Director Explorer" on Itch.io, which you should definitely try out if you haven't already! +tags: + - Sam Brendan + - oral vore + - unbirth + - anthro predator + - anthro prey + - male predator + - male prey + - willing predator + - willing prey + - micro prey + - gay sex + - masturbation +copyrightedCharacters: + "The Director": hans-woofington + "Sam Brendan": bad-manners +--- + +Late into the night, the Director was finding it hard to remain fully asleep. Though it wasn't from the city lights peering through the window – even lying in bed, he still wore his distinctive shades. Plus, under his blanket, the maned wolf was fully naked, which he always preferred when he was alone. No, what prevented him from getting some deep rest was, more than anything, a feeling. A feeling that, unbeknownst to him, there was a commotion going on in his room, even though his large ears couldn't capture the faintest of sounds. + +Conceding defeat in his battle against insomnia, he shifted ever so slightly to reach for his lamp – and that was when he noticed a subtle touch between his legs that shouldn't have been there. It wasn't from any folds on his fleecy blanket, he was certain, but he wasn't quick to panic either. After flicking the light on, he pushed the blanket aside, exposing his naked form. + +Of course, the only one who could see his body in all of its glory was the tiny anthro hanging onto the Director's furry thigh. But instead of admiring the canine, he was instead panicking about getting caught. Before the micro could even react, a large paw scooped him, encasing him in darkness once more as he was pulled away from the large maned wolf's leg. The intruder couldn't help himself but let out a tiny 'eep!', as the rush of air through the gaps of the enormous fingers indicated that he was being brought closer to the rousing woofer's face. + +The Director was no stranger to the occasional visit from micros – even though he had no idea how, or why, so many of them managed to find their way to him. He could tell that this one was particularly fluffy, from paws to chest and tail to ears, but not in his entirety. There was something hard on the micro – apart from the intruder's erection –, around the height of his head. Like metal, but warm; giving him a good idea of who had made it into his apartment tonight. + +He opened his fist near his snout, and to no surprise, saw a bundle of mostly lime green fur. Despite his annoyance at being woken up so disrespectfully, the maned wolf couldn't help but smile at the familiar micro in his paw. + +"Oh, it's him!" The Director's voice was glad, but still very tired. "The Good Manners." + +The tiny male pouted, while trying to balance himself on the flimsy floor of the large paw. "Y-You know that's not my name!" + +The diminutive intruder was none other than Sam, a hybrid anthro. Being half-maned wolf himself, he shared a lot of physical similarities to the larger canine – lots of fur, long legs, fluffy tail –, but instead of lighter and darker shades of brown, his coat had much brighter tones of green, white and teal. But one look at his face shattered any further semblances between him and the Director. Sam was also half-mimic, and he had a rectangular metal briefcase face at the front of his head. It could normally part to reveal a large set of jaws, with long teeth and a prehensile tongue – but at the moment, its metal lips were only open wide enough to let the micro stick out the tip of his tongue, in a silly blep. + +"And I know that this is not your room, either." The regular-sized maned wolf joked, adjusting his round shades. "What are you doing here?" + +Sam crossed his arms and leaned against the digit behind him. "W-Well, I-I just wanted to have some fun...with you! I'm sure you were gonna enjoy it, promise! B-But I had to climb up your leg first..." + +"But instead of climbing me, you should have used my tiny jetpack, silly! I'm sure I keep it around here somewhere..." + +"Jetpack...?" His rectangular face looked around, then he shrugged with his shoulders. + +"But most importantly," the Director's tone became more serious, "you should have awaken me first!" + +"I-It was gonna be a surprise! I didn't mean to wake you up this late at night." + +"Well, you did, and I'm wide awake." He relaxed his back against the mattress while he moved his hand away. "It's time to show me what was this big 'surprise' of yours. And you better make it worth my lost sleep!" + +With that, the Director turned his paw, forcefully causing the micro to slip and fall. It was just a few inches, but the dive was higher than Sam's current height. Still, the manhandled hybrid landed harmlessly on the maned wolf's soft and furry underbelly. The mimic landed on his paws, taking a moment to get his bearings. Without any more pretense of being sneaky, he simply turned around to face away from the Director's face, and carefully crawled towards his goal – exactly where the Director had wanted him to go. + +Sam hastily made his way to the maned wolf's crotch, in order to meet with yet another crucial difference in their anatomies. Whereas the green-furred micro had the usual masculine bits – a pair of balls, and a sheath with a lime-hued cock already poking out of –, the Director's genitalia was a pussy instead. With no more covers, his labia were fully exposed for the eager micro. Both of them knew they were in for an exciting experience, and neither of them wanted to waste any time. + +The tiny hybrid placed his front paws along the sides atop of the vent, his flat face transfixed on the clitoris at that end. Slowly, he approached that fleshy button, its sweet musk and warmth already reaching his face. Then, its metallic surface cracked open, revealing that distinctive mimic maw with long crooked teeth protruding from its gums and a smooth, tentacle-like appendage down the middle. As carefully as his anticipation would allow, he pushed his matte lips against the pink cushion. + +"MM...~!" The Director moaned at first contact. He'd been trying his best to not be loud, but he was already too excited to ignore Sam's lewd touch. + +Despite his maw's monstrous appearance, the micro was extremely gentle – knowing to avoid piercing anything with his teeth while making out with his partner's clitoris. More moans followed the first, each one reverberating the furry floor that he was idly humping. The needy hums urged him to move things along, by way of using more of his long tongue. Like a snake coiling more around its prey, step by step, it contoured and squeezed the protuberance, while Sam's lips continued to excite it from the front. + +The larger maned wolf curled his toes and bit his lip, failing to stop the needy sounds coming from his own throat. He bent his knees and slowly spread his legs, his wet vulva flowering from pure neediness. The tiny hybrid was working wonders, but the Director still craved more. Normally, he'd work off his horniness with his fingers or one of his dildos – but he currently had his sights on a brand-new toy... + +Without warning, Sam was smooshed against the clitoris. It was hard to see with the pressure all over his body, pinning him from head to waist, but he realized that it must have been one of the Director's digits. It started to drag him further down, along the outside of the fleshy vent. He was pressed snugly against the entrance to the vagina, so that there wasn't any risk of slipping and falling. As he approached the source of the aphrodisiac aroma, he instinctively wiggled, though not with the intent of escaping. Then, with the large finger's pulp firmly planted against the back of his head, his face was forced in, parting the lips effortlessly. + +"A-Ahh~! Yes...!" The maned wolf gasped. His muscles clenched, keeping the mimic's head firmly in place, letting his folds feel its unique contours. His digit still cupped the fluffy micro in place, meaning the tip was also getting coated by his sexual juices. It then slipped out, then back in, stuffing the green hybrid's shoulders into his tunnel as well. + +With his vision completely obscured by pink flesh, Sam's world vibrated with another of the Director's moans. His metal and fur were drenched in fluids, only getting more soaked as he was progressively tucked within the canine. The sweet smell of woofer nectar called to him – and if he were to play the role of the Director's toy tonight, he wasn't about to deny its allure. His paws pressed into the wall for balance, sinking into the squishy folds, and his tongue lapped at them, slurping up the earthy lubricant. + +Both of them squirmed, not least of all the tall maned wolf. Once he pushed the hybrid's hips inside, he could feel the small canine cock thrusting into his canal. His moans were getting increasingly louder... He was bound to wake up his neighbors at this rate, but he was too aroused to care. And with just Sam's hindpaws and tail sticking out from his vulva, his digit was free to rub himself. + +The walls squeezed and contracted around their fluffy and wriggly prey, keeping him trapped fast. The vaginal folds massaged the micro's erection from tip to knot, squeezing pre-cum and gasps out of him. As the Director traced erratic circles from his clitoris to his labia, there was the occasional push to his toy's digitigrade feet. Each nudge forced him further in, until only the white tip of his silky tail was visible. That, too, soon disappeared after its owner, leaving only a ticklish sensation to the walls and the tip of his finger that dove in after the mimic. The Director was picking up his pace as he got closer to his limit. + +"H-Hff, hnnnngh fuck~. Give me that good boy seed..." + +The command reverberated around Sam, joining all of the wet squelches and the racing heartbeat in drowning out his own gasps and moans. He was fully encased in the Director's vagina; hidden where his presence couldn't have been felt more strongly. Perhaps he couldn't have sneaked in here without awakening the large maned wolf, after all. But regardless of how he ended up inside of him, he couldn't complain about the destination – his throbbing erection was proof of it. And as his orgasm became inevitable, he'd finally give them both what they'd been aching for. + +The micro's muffled shout, and subsequent jets of seed, should have been negligible due to his size, but the maned wolf's sensitive ears and folds picked up on them easily. With a strained, breath-stealing yell, the Director also came, plugging his vagina with his finger to let his paw get drenched in squirts from his other hole. He felt euphoric and dizzy, all while making a mess of his thighs and his bedsheet. + +Resting his head on his pillow, he recovered his breath, feeling both his contractions and the hybrid's wiggles diminish. His toy's cum was his, and it made him feel warm from within. There was some banging at the ceiling from the apartment underneath his – it sounded like someone wasn't exactly happy about being rudely awakened this late at night. He blushed a bit, imagining that his uncontrollable moaning had been the culprit. But it was definitely worth it. + +Finally, he sat back up, bringing his fingers back into his lower lips. The Director was careful to dig into his folds, which were still hypersensitive from his playtime. It was relatively easy to find Sam's drenched tail, since he hadn't slipped too far into the vagina. The hybrid's ruined fur was slippery, but he managed to fish him out without any trouble. + +With a tug, the briefcase-faced anthro slipped out of his cooch, gasping for fresh air as clear strands of sexual juices dribbled from his body. Dangling by his tail in the cold air from the outside world, flaccid green cock still out of its sheath, he was brought face-to-face with the large canine once more. + +"Did you make a mess in there?" The gusts of breath alone caused Sam's slimy body to swing in his grasp. + +"Yeah... S-Sure did." His aluminum gray face betrayed a slight crimson on his 'cheeks'. + +"Good boy~." + +"But I thought you were gonna leave me inside for the night!" + +"Oh, but I will..." + +The Director's maw opened wide before the mimic could even think of a reply. Sam simply blushed harder before he was dropped within the snapping jaws. No sooner had he landed on his tongue, the Director tossed his head back and swallowed. The little wiggling mass was immediately forced into the gaping entrance of the gullet by the slope of his muscle, only providing it with the faintest sensation of his lime pie flavor and the earthiness of the Director's own earthy juices. + +A single 'gulp!' sealed his snack's fate and unceremoniously sent him down, nothing more than a slight tickle inside of his throat. To his body, the micro wasn't any different from a piece of food, and Sam made his way to the maned wolf's stomach before either of them could process all of the sensations. + +The shade-wearing predator sighed, cleaning the lubrication from his fingers as he rested his other paw over his tummy. There was no bulge from outside, but he could feel his prey writhing inside of his stomach. It was very filling but a bit uncomfortable, and the Director hoped that the hybrid would stop it soon enough. Still, the commotion was enough for him to let out a discreet burp – and the gastric breath had a hint of something sugary in it. 'I don't remember eating any candy', he thought to himself absentmindedly... + +Trapped in the much more tumultuous wrinkles and flaps of the maned wolf's stomach, Sam had to fight for some space along with a couple of pieces of candy, which had been awaiting him inside. 'Maybe I shouldn't have fed these to him while he was asleep' – the thought crossed his mind, though he wasn't too much worried. While the organ would make short work of the sweets, he knew that it would keep him safe in its fleshy confines, even if he stayed overnight. After all, this wasn't his first stay in a stomach; and especially not his first stay in the Director's stomach. + +Without much hassle (other than being constricted when a belch erupted from the stomach), he managed to dig some room just for himself, with nothing but slimy, slightly acidic folds embracing his soggy body and rectangular face. With its alluring churns, and the encroaching exhaustion after the adrenaline-inducing fun, Sam finally settled, purring in tandem with his predator's heartbeats. Soon, the Director would also go back to his gentle and soothing snoring – but a peaceful slumber would quickly claim the hybrid first, before he could hear them again tonight. + +Having both of his appetites sated so wonderfully in one go, the Director slowly thrummed his fingers over his stomach. He tried to imagine what Sam had wanted to do to him before he'd woken up – but a timely yawn forced him to push that thought aside for now. He pulled his blanket back over him, covering his furry body and the mess he'd left on his bedsheets. And finally, with his head against his soft pillow, he reached for his bedside lamp and turned it off. diff --git a/src/content/users/destiny-is-bad.yaml b/src/content/users/destiny-is-bad.yaml deleted file mode 100644 index 55c9a79..0000000 --- a/src/content/users/destiny-is-bad.yaml +++ /dev/null @@ -1,4 +0,0 @@ -name: destinyisbad1 -links: - furaffinity: https://www.furaffinity.net/user/destinyisbad1 -preferredLink: furaffinity diff --git a/src/content/users/hans-woofington.yaml b/src/content/users/hans-woofington.yaml index db20b02..dd8021d 100644 --- a/src/content/users/hans-woofington.yaml +++ b/src/content/users/hans-woofington.yaml @@ -1,6 +1,6 @@ -name: Hans Woofington +name: Dr. Hans Woofington links: furaffinity: - - https://furaffinity.net/user/HansLewdington + - https://www.furaffinity.net/user/hanslewdington/ - Hans_Lewdington preferredLink: furaffinity diff --git a/src/content/users/petra.yaml b/src/content/users/petra.yaml deleted file mode 100644 index c67c7fb..0000000 --- a/src/content/users/petra.yaml +++ /dev/null @@ -1,4 +0,0 @@ -name: Petra -links: - furaffinity: https://www.furaffinity.net/user/PetraThinksUsernamesAreDumb -preferredLink: furaffinity diff --git a/src/content/users/very-smol-lee.yaml b/src/content/users/very-smol-lee.yaml deleted file mode 100644 index be8c93b..0000000 --- a/src/content/users/very-smol-lee.yaml +++ /dev/null @@ -1,4 +0,0 @@ -name: Lee -links: - furaffinity: https://www.furaffinity.net/user/verysmolLee -preferredLink: furaffinity diff --git a/src/content/users/zilu.yaml b/src/content/users/zilu.yaml deleted file mode 100644 index 2756915..0000000 --- a/src/content/users/zilu.yaml +++ /dev/null @@ -1,4 +0,0 @@ -name: Zilu -links: - furaffinity: https://www.furaffinity.net/user/Zilu -preferredLink: furaffinity diff --git a/src/layouts/GalleryLayout.astro b/src/layouts/GalleryLayout.astro index 0cb23b6..a6c7378 100644 --- a/src/layouts/GalleryLayout.astro +++ b/src/layouts/GalleryLayout.astro @@ -11,6 +11,8 @@ type Props = { const { pageTitle, enablePagefind } = Astro.props; const logo = await getImage({ src: logoBM, width: 192 }); +const currentYear = new Date().getFullYear(); +const copyrightYear = currentYear > 2014 ? `2024–${currentYear}` : "2024"; --- <BaseLayout pageTitle={pageTitle}> @@ -38,7 +40,7 @@ const logo = await getImage({ src: logoBM, width: 192 }); <span class="my-2 text-2xl font-semibold">Bad Manners</span> <Navigation /> <div class="pt-4 text-center text-xs text-black dark:text-white"> - <span>© 2024 | </span> + <span>© {copyrightYear} | </span> <a class="hover:underline focus:underline" href="/licenses.txt" target="_blank">Licenses</a> </div> <div class="mt-2 flex items-center gap-x-1 pb-10"> diff --git a/src/layouts/GameLayout.astro b/src/layouts/GameLayout.astro index 52d3201..2406ec5 100644 --- a/src/layouts/GameLayout.astro +++ b/src/layouts/GameLayout.astro @@ -10,27 +10,14 @@ import CopyrightedCharacters from "../components/CopyrightedCharacters.astro"; import Prose from "../components/Prose.astro"; import MastodonComments from "../components/MastodonComments.astro"; import UserComponent from "../components/UserComponent.astro"; +import { formatCopyrightedCharacters } from "../utils/format_copyrighted_characters"; type Props = CollectionEntry<"games">["data"]; const { props } = Astro; const series = props.series && (await getEntry(props.series)); const authors = await getEntries([props.authors].flat()); -const copyrightedCharacters = await Promise.all( - Object.values( - Object.keys(props.copyrightedCharacters).reduce( - (acc, character) => { - const user = props.copyrightedCharacters[character]; - if (!(user.id in acc)) { - acc[user.id] = [getEntry(user), []]; - } - acc[user.id][1].push(character); - return acc; - }, - {} as Record<string, [Promise<CollectionEntry<"users">>, string[]]>, - ), - ).map(async ([userPromise, characters]) => [await userPromise, characters] as [CollectionEntry<"users">, string[]]), -); +const copyrightedCharacters = await formatCopyrightedCharacters(props.copyrightedCharacters); // const relatedStories = (await getEntries(props.relatedStories)).filter((story) => !story.data.isDraft); // const relatedGames = (await getEntries(props.relatedGames)).filter((game) => !game.data.isDraft); const categorizedTags = Object.fromEntries( @@ -46,7 +33,7 @@ const categorizedTags = Object.fromEntries( 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!`); + console.log(`Tag "${tag}" doesn't have a category in the "tag-categories" collection!`); return [tagSlug, tag]; } return [tagSlug, categorizedTags[tag]!]; @@ -187,7 +174,7 @@ const thumbnail = > {t(props.lang, "story/draft_warning")} </p> - ) : ( + ) : props.pubDate ? ( <p id="publish-date" class="mt-2 px-2 text-center font-serif font-light text-stone-600 dark:text-stone-200" @@ -202,7 +189,7 @@ const thumbnail = > {t(props.lang, "story/publish_date", props.pubDate.toISOString().slice(undefined, 10))} </p> - ) + ) : null } <section id="description" class="px-2 font-serif" aria-describedby="title-description"> <h2 id="title-description" class="py-2 font-serif text-xl font-semibold text-stone-800 dark:text-stone-100"> @@ -222,28 +209,32 @@ const thumbnail = ><span>{t(props.lang, "story/to_top")}</span></a > </div> - <section id="tags" aria-describedby="title-tags" class="my-5"> - <h2 id="title-tags" class="p-2 font-serif text-xl font-semibold text-stone-800 dark:text-stone-100">Tags</h2> - <ul class="flex flex-wrap gap-x-2 gap-y-2 px-2"> - { - 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"> - <a class="hover:underline focus:underline" href={`/tags/${tagSlug}`}> - {tagText} - </a> - </li> - )) - } - </ul> - </section> + { + tags.length > 0 ? ( + <section id="tags" aria-describedby="title-tags" class="my-5"> + <h2 id="title-tags" class="p-2 font-serif text-xl font-semibold text-stone-800 dark:text-stone-100"> + Tags + </h2> + <ul class="flex flex-wrap gap-x-2 gap-y-2 px-2"> + {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"> + <a class="hover:underline focus:underline" href={`/tags/${tagSlug}`}> + {tagText} + </a> + </li> + ))} + </ul> + </section> + ) : null + } <MastodonComments - instance={props.mastodonPost?.instance} - user={props.mastodonPost?.user} - postId={props.mastodonPost?.postId} + instance={props.posts.mastodon?.instance} + user={props.posts.mastodon?.user} + postId={props.posts.mastodon?.postId} /> </main> <div class="pt-6 text-center text-xs text-black dark:text-white"> - <span>{t(props.lang, "story/copyright_year", props.pubDate.getFullYear())} | </span> + <span>{t(props.lang, "story/copyright_year", (props.pubDate || new Date()).getFullYear())} | </span> <a class="hover:underline focus:underline" href="/licenses.txt" target="_blank" >{t(props.lang, "story/licenses")}</a > diff --git a/src/layouts/StoryLayout.astro b/src/layouts/StoryLayout.astro index c4e0554..0f515ae 100644 --- a/src/layouts/StoryLayout.astro +++ b/src/layouts/StoryLayout.astro @@ -12,6 +12,7 @@ import UserComponent from "../components/UserComponent.astro"; import CopyrightedCharacters from "../components/CopyrightedCharacters.astro"; import Prose from "../components/Prose.astro"; import MastodonComments from "../components/MastodonComments.astro"; +import { formatCopyrightedCharacters } from "../utils/format_copyrighted_characters"; type Props = CollectionEntry<"stories">["data"]; @@ -28,21 +29,7 @@ const series = props.series && (await getEntry(props.series)); const authors = await getEntries([props.authors].flat()); const commissioner = props.commissioner && (await getEntry(props.commissioner)); const requester = props.requester && (await getEntry(props.requester)); -const copyrightedCharacters = await Promise.all( - Object.values( - Object.keys(props.copyrightedCharacters).reduce( - (acc, character) => { - const user = props.copyrightedCharacters[character]; - if (!(user.id in acc)) { - acc[user.id] = [getEntry(user), []]; - } - acc[user.id][1].push(character); - return acc; - }, - {} as Record<string, [Promise<CollectionEntry<"users">>, string[]]>, - ), - ).map(async ([userPromise, characters]) => [await userPromise, characters] as [CollectionEntry<"users">, string[]]), -); +const copyrightedCharacters = await formatCopyrightedCharacters(props.copyrightedCharacters); const relatedStories = (await getEntries(props.relatedStories)).filter((story) => !story.data.isDraft); // const relatedGames = (await getEntries(props.relatedGames)).filter((game) => !game.data.isDraft); const categorizedTags = Object.fromEntries( @@ -58,7 +45,7 @@ const categorizedTags = Object.fromEntries( 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!`); + console.log(`Tag "${tag}" doesn't have a category in the "tag-categories" collection!`); return [tagSlug, tag]; } return [tagSlug, categorizedTags[tag]!]; @@ -66,15 +53,13 @@ const tags = props.tags.map<[string, string]>((tag) => { const thumbnail = props.thumbnail && (await getImage({ src: props.thumbnail, width: props.thumbnailWidth, height: props.thumbnailHeight })); +const wordCount = props.wordCount ? `${props.wordCount}` : "???"; --- <BaseLayout pageTitle={props.title}> <Fragment slot="head"> <meta property="og:title" content={props.title} data-pagefind-meta="title[content]" /> - <meta - property="og:description" - content={t(props.lang, "story/warnings", props.wordCount, props.contentWarning.trim())} - /> + <meta property="og:description" content={t(props.lang, "story/warnings", wordCount, props.contentWarning.trim())} /> <meta property="og:url" content={Astro.url} data-pagefind-meta="url[content]" /> { thumbnail ? ( @@ -217,7 +202,7 @@ const thumbnail = } <div id="content-warning"> <p> - {t(props.lang, "story/warnings", props.wordCount, props.contentWarning.trim())} + {t(props.lang, "story/warnings", wordCount, props.contentWarning.trim())} </p> </div> </section> @@ -251,7 +236,7 @@ const thumbnail = > {t(props.lang, "story/draft_warning")} </p> - ) : ( + ) : props.pubDate ? ( <p id="publish-date" class="mt-2 px-2 text-center font-serif font-light text-stone-600 dark:text-stone-200" @@ -266,7 +251,7 @@ const thumbnail = > {t(props.lang, "story/publish_date", props.pubDate.toISOString().slice(undefined, 10))} </p> - ) + ) : null } <section id="description" class="px-2 font-serif" aria-describedby="title-description"> <h2 id="title-description" class="py-2 font-serif text-xl font-semibold text-stone-800 dark:text-stone-100"> @@ -359,30 +344,32 @@ const thumbnail = </section> ) : null } - <section id="tags" aria-describedby="title-tags" class="my-5"> - <h2 id="title-tags" class="p-2 font-serif text-xl font-semibold text-stone-800 dark:text-stone-100"> - {t(props.lang, "story/tags")} - </h2> - <ul class="flex flex-wrap gap-x-2 gap-y-2 px-2"> - { - 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"> - <a class="hover:underline focus:underline" href={`/tags/${tagSlug}`}> - {tagText} - </a> - </li> - )) - } - </ul> - </section> + { + tags.length > 0 ? ( + <section id="tags" aria-describedby="title-tags" class="my-5"> + <h2 id="title-tags" class="p-2 font-serif text-xl font-semibold text-stone-800 dark:text-stone-100"> + {t(props.lang, "story/tags")} + </h2> + <ul class="flex flex-wrap gap-x-2 gap-y-2 px-2"> + {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"> + <a class="hover:underline focus:underline" href={`/tags/${tagSlug}`}> + {tagText} + </a> + </li> + ))} + </ul> + </section> + ) : null + } <MastodonComments - instance={props.mastodonPost?.instance} - user={props.mastodonPost?.user} - postId={props.mastodonPost?.postId} + instance={props.posts.mastodon?.instance} + user={props.posts.mastodon?.user} + postId={props.posts.mastodon?.postId} /> </main> <div class="pt-6 text-center text-xs text-black dark:text-white"> - <span>{t(props.lang, "story/copyright_year", props.pubDate.getFullYear())} | </span> + <span>{t(props.lang, "story/copyright_year", (props.pubDate || new Date()).getFullYear())} | </span> <a class="hover:underline focus:underline" href="/licenses.txt" target="_blank" >{t(props.lang, "story/licenses")}</a > diff --git a/src/pages/api/export-story/[...slug].ts b/src/pages/api/export-story/[...slug].ts index 082d11a..f9b5903 100644 --- a/src/pages/api/export-story/[...slug].ts +++ b/src/pages/api/export-story/[...slug].ts @@ -4,18 +4,24 @@ import { marked, type RendererApi } from "marked"; import { decode as tinyDecode } from "tiny-decode"; import type { Lang, Website } from "../../../content/config"; import { t } from "../../../i18n"; +import { formatCopyrightedCharacters } from "../../../utils/format_copyrighted_characters"; -type ExportFormat = "bbcode" | "markdown"; +interface ExportWebsiteInfo { + website: string; + exportFormat: "bbcode" | "markdown"; +} const WEBSITE_LIST = [ - ["eka", "bbcode"], - ["furaffinity", "bbcode"], - ["inkbunny", "bbcode"], - ["sofurry", "bbcode"], - ["weasyl", "markdown"], -] as const satisfies [Website, ExportFormat][]; + { website: "eka", exportFormat: "bbcode" }, + { website: "furaffinity", exportFormat: "bbcode" }, + { website: "inkbunny", exportFormat: "bbcode" }, + { website: "sofurry", exportFormat: "bbcode" }, + { website: "weasyl", exportFormat: "markdown" }, +] as const satisfies ExportWebsiteInfo[]; -type ExportWebsite = typeof WEBSITE_LIST extends ReadonlyArray<[infer K, ExportFormat]> ? K : never; +type ExportWebsiteName = typeof WEBSITE_LIST extends ReadonlyArray<{ website: infer K }> ? K : never; + +//type ExportWebsiteName = typeof WEBSITE_LIST extends ReadonlyArray<[infer K, DescriptionExportFormat]> ? K : never; const bbcodeRenderer: RendererApi = { strong: (text) => `[b]${text}[/b]`, @@ -122,7 +128,7 @@ function isPreferredWebsite(user: CollectionEntry<"users">, website: Website): b return !preferredLink || preferredLink == website; } -function getLinkForUser(user: CollectionEntry<"users">, website: ExportWebsite, anonymousFallback: string): string { +function getLinkForUser(user: CollectionEntry<"users">, website: ExportWebsiteName, anonymousFallback: string): string { if (user.data.isAnonymous) { return anonymousFallback; } @@ -207,35 +213,21 @@ export const getStaticPaths: GetStaticPaths = async () => { export const GET: APIRoute<Props, Params> = async ({ props: { story }, site }) => { const { lang } = story.data; - const copyrightedCharacters = await Promise.all( - Object.values( - Object.keys(story.data.copyrightedCharacters).reduce( - (acc, character) => { - const user = story.data.copyrightedCharacters[character]; - if (!(user.id in acc)) { - acc[user.id] = [getEntry(user), []]; - } - acc[user.id][1].push(character); - return acc; - }, - {} as Record<string, [Promise<CollectionEntry<"users">>, string[]]>, - ), - ).map(async ([userPromise, characters]) => [await userPromise, characters] as [CollectionEntry<"users">, string[]]), - ); + const copyrightedCharacters = await formatCopyrightedCharacters(story.data.copyrightedCharacters); const authorsList = await getEntries([story.data.authors].flat()); const commissioner = story.data.commissioner && (await getEntry(story.data.commissioner)); const requester = story.data.requester && (await getEntry(story.data.requester)); const anonymousUser = await getEntry("users", "anonymous"); const anonymousFallback = getNameForUser(anonymousUser, anonymousUser, lang); - const description: Record<ExportWebsite, string> = Object.fromEntries( + const description: Record<ExportWebsiteName, string> = Object.fromEntries( await Promise.all( - WEBSITE_LIST.map(async ([website, exportFormat]) => { + WEBSITE_LIST.map(async ({ website, exportFormat }) => { const u = (user: CollectionEntry<"users">) => getLinkForUser(user, website, anonymousFallback); const storyDescription = ( [ story.data.description, - `*${t(lang, "story/warnings", story.data.wordCount, story.data.contentWarning.trim())}*`, + `*${t(lang, "story/warnings", story.data.wordCount || "???", story.data.contentWarning.trim())}*`, t( lang, "export_story/writing", @@ -253,8 +245,7 @@ export const GET: APIRoute<Props, Params> = async ({ props: { story }, site }) = .join("\n\n") .replaceAll( /\[([^\]]+)\]\((\/[^\)]+)\)/g, - (_, group1, group2) => - `[${group1}](${new URL(group2, site).toString()})`, + (_, group1, group2) => `[${group1}](${new URL(group2, site).toString()})`, ); if (exportFormat === "bbcode") { return [ diff --git a/src/pages/feed.xml.ts b/src/pages/feed.xml.ts index e4e91f9..533413e 100644 --- a/src/pages/feed.xml.ts +++ b/src/pages/feed.xml.ts @@ -29,11 +29,11 @@ const getLinkForUser = (user: CollectionEntry<"users">, lang: Lang) => { }; export const GET: APIRoute = async ({ site }) => { - const stories = (await getCollection("stories", (story) => !story.data.isDraft)) - .sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()) + const stories = (await getCollection("stories", (story) => !story.data.isDraft && story.data.pubDate)) + .sort((a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime()) .slice(0, MAX_ITEMS); - const games = (await getCollection("games", (game) => !game.data.isDraft)) - .sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()) + const games = (await getCollection("games", (game) => !game.data.isDraft && game.data.pubDate)) + .sort((a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime()) .slice(0, MAX_ITEMS); const users = await getCollection("users"); @@ -45,7 +45,7 @@ export const GET: APIRoute = async ({ site }) => { await Promise.all( stories.map<Promise<FeedItem>>(async ({ data, slug, body }) => ({ title: `New story! "${data.title}"`, - pubDate: toNoonUTCDate(data.pubDate), + pubDate: toNoonUTCDate(data.pubDate!), link: `/stories/${slug}`, description: `${t(data.lang, "story/warnings", data.wordCount, data.contentWarning.trim())} ${data.descriptionPlaintext || data.description}` @@ -81,7 +81,7 @@ export const GET: APIRoute = async ({ site }) => { await Promise.all( games.map<Promise<FeedItem>>(async ({ data, slug, body }) => ({ title: `New game! "${data.title}"`, - pubDate: toNoonUTCDate(data.pubDate), + pubDate: toNoonUTCDate(data.pubDate!), link: `/games/${slug}`, description: `${t(data.lang, "game/platforms", data.platforms)}. ${data.contentWarning} ${data.descriptionPlaintext || data.description}` diff --git a/src/pages/games.astro b/src/pages/games.astro index a293e89..a157ceb 100644 --- a/src/pages/games.astro +++ b/src/pages/games.astro @@ -3,8 +3,8 @@ import { Image } from "astro:assets"; import { getCollection } from "astro:content"; import GalleryLayout from "../layouts/GalleryLayout.astro"; -const games = (await getCollection("games", (game) => !game.data.isDraft)).sort( - (a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime(), +const games = (await getCollection("games", (game) => !game.data.isDraft && game.data.pubDate)).sort( + (a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime(), ); --- @@ -27,7 +27,7 @@ const games = (await getCollection("games", (game) => !game.data.isDraft)).sort( <span>{game.data.title}</span> <br /> <span class="italic"> - {game.data.pubDate.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })} + {game.data.pubDate!.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })} </span> </> </div> diff --git a/src/pages/index.astro b/src/pages/index.astro index 79d15f5..e8589ee 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -13,11 +13,11 @@ interface LatestItemsEntry { pubDate: Date; } -const stories = (await getCollection("stories", (story) => !story.data.isDraft)) - .sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()) +const stories = (await getCollection("stories", (story) => !story.data.isDraft && story.data.pubDate)) + .sort((a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime()) .slice(0, MAX_ITEMS); -const games = (await getCollection("games", (game) => !game.data.isDraft)) - .sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()) +const games = (await getCollection("games", (game) => !game.data.isDraft && game.data.pubDate)) + .sort((a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime()) .slice(0, MAX_ITEMS); const latestItems: LatestItemsEntry[] = [ @@ -26,14 +26,14 @@ const latestItems: LatestItemsEntry[] = [ thumbnail: story.data.thumbnail, href: `/stories/${story.slug}`, title: story.data.title, - pubDate: story.data.pubDate, + pubDate: story.data.pubDate!, })), games.map<LatestItemsEntry>((game) => ({ type: "Game", thumbnail: game.data.thumbnail, href: `/games/${game.slug}`, title: game.data.title, - pubDate: game.data.pubDate, + pubDate: game.data.pubDate!, })), ] .flat() diff --git a/src/pages/licenses.txt.ts b/src/pages/licenses.txt.ts index c7a467b..129f103 100644 --- a/src/pages/licenses.txt.ts +++ b/src/pages/licenses.txt.ts @@ -5,7 +5,7 @@ The briefcase logo and any unattributed characters are copyrighted and trademark The Noto Sans and Noto Serif typefaces are copyrighted to the Noto Project Authors and distributed under the SIL Open Font License v1.1. -The generic SVG icons were created by Font Awesome and are distributed under the CC BY 4.0 license. +The generic SVG icons were created by Font Awesome and are distributed under the CC-BY-4.0 license. All third-party trademarks belong to their respective owners, and I'm not affiliated with any of them. `.trim(); diff --git a/src/pages/stories/[page].astro b/src/pages/stories/[page].astro index b4001cd..b581b2c 100644 --- a/src/pages/stories/[page].astro +++ b/src/pages/stories/[page].astro @@ -10,8 +10,8 @@ type Props = { }; export const getStaticPaths: GetStaticPaths = async ({ paginate }) => { - const stories = (await getCollection("stories", (story) => !story.data.isDraft)).sort( - (a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime(), + const stories = (await getCollection("stories", (story) => !story.data.isDraft && story.data.pubDate)).sort( + (a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime(), ); return paginate(stories, { pageSize: 30 }) satisfies { props: Props }[]; }; @@ -82,7 +82,7 @@ const totalPages = Math.ceil(page.total / page.size); <span>{story.data.title}</span> <br /> <span class="italic"> - {story.data.pubDate.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })} + {story.data.pubDate!.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })} </span> </div> </a> diff --git a/src/pages/stories/the-lost-of-the-marshes.astro b/src/pages/stories/the-lost-of-the-marshes.astro index b57997c..f889e49 100644 --- a/src/pages/stories/the-lost-of-the-marshes.astro +++ b/src/pages/stories/the-lost-of-the-marshes.astro @@ -5,13 +5,16 @@ import GalleryLayout from "../../layouts/GalleryLayout.astro"; import mapImage from "../../assets/images/tlotm_map.jpg"; const series = await getEntry("series", "the-lost-of-the-marshes"); -const stories = await getCollection("stories", (story) => !story.data.isDraft && story.data.series?.id === series.id); +const stories = await getCollection( + "stories", + (story) => !story.data.isDraft && story.data.pubDate && story.data.series?.id === series.id, +); const mainChapters = stories .filter((story) => story.slug.startsWith("the-lost-of-the-marshes/chapter-")) - .sort((a, b) => a.data.pubDate.getTime() - b.data.pubDate.getTime()); + .sort((a, b) => a.data.pubDate!.getTime() - b.data.pubDate!.getTime()); const bonusChapters = stories .filter((story) => story.slug.startsWith("the-lost-of-the-marshes/bonus-")) - .sort((a, b) => a.data.pubDate.getTime() - b.data.pubDate.getTime()); + .sort((a, b) => a.data.pubDate!.getTime() - b.data.pubDate!.getTime()); const mainChaptersWithSummaries = mainChapters.filter((story) => story.data.summary); --- @@ -46,9 +49,9 @@ const mainChaptersWithSummaries = mainChapters.filter((story) => story.data.summ .map((story) => ( <li class="my-2"> <a class="text-link underline" href={`/stories/${story.slug}`}> - {story.data.shortTitle || story.data.title} + {story.data.shortTitle || story.data.title}: </a> - : <span>{story.data.summary}</span> + <span>{story.data.summary}</span> </li> )) } diff --git a/src/pages/tags/[slug].astro b/src/pages/tags/[slug].astro index 673f7c5..1078d56 100644 --- a/src/pages/tags/[slug].astro +++ b/src/pages/tags/[slug].astro @@ -16,7 +16,8 @@ type Params = { }; export const getStaticPaths: GetStaticPaths = async () => { - const [stories, games] = await Promise.all([getCollection("stories"), getCollection("games")]); + const [stories, games, series] = await Promise.all([getCollection("stories"), getCollection("games"), getCollection("series")]); + const seriesTags = new Set(series.map((s) => s.data.name)); const tags = new Set<string>(); stories.forEach((story) => { story.data.tags.forEach((tag) => { @@ -29,17 +30,17 @@ export const getStaticPaths: GetStaticPaths = async () => { }); }); return [...tags] - .filter((tag) => !["The Lost of the Marshes"].includes(tag)) + .filter((tag) => !seriesTags.has(tag)) .map((tag) => ({ params: { slug: slug(tag) } satisfies Params, props: { tag, stories: stories - .filter((story) => !story.data.isDraft && story.data.tags.includes(tag)) - .sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()), + .filter((story) => !story.data.isDraft && story.data.pubDate && story.data.tags.includes(tag)) + .sort((a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime()), games: games - .filter((game) => !game.data.isDraft && game.data.tags.includes(tag)) - .sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime()), + .filter((game) => !game.data.isDraft && game.data.pubDate && game.data.tags.includes(tag)) + .sort((a, b) => b.data.pubDate!.getTime() - a.data.pubDate!.getTime()), } satisfies Props, })); }; diff --git a/src/utils/format_copyrighted_characters.ts b/src/utils/format_copyrighted_characters.ts new file mode 100644 index 0000000..cd3ff14 --- /dev/null +++ b/src/utils/format_copyrighted_characters.ts @@ -0,0 +1,20 @@ +import { getEntry, type CollectionEntry } from "astro:content"; +import type { CopyrightedCharacters } from "../content/config"; + +export async function formatCopyrightedCharacters(copyrightedCharacters: CopyrightedCharacters) { + return await Promise.all( + Object.values( + Object.keys(copyrightedCharacters).reduce( + (acc, character) => { + const user = copyrightedCharacters[character]; + if (!(user.id in acc)) { + acc[user.id] = [getEntry(user), []]; + } + acc[user.id][1].push(character); + return acc; + }, + {} as Record<string, [Promise<CollectionEntry<"users">>, string[]]>, + ), + ).map(async ([userPromise, characters]) => [await userPromise, characters] as [CollectionEntry<"users">, string[]]), + ); +}