chore: initial move from fedran-stories
This commit is contained in:
commit
b27ab824ff
14 changed files with 9419 additions and 0 deletions
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
*~
|
||||
*.epub
|
||||
*.mobi
|
||||
*.pdf
|
||||
*.html
|
||||
*.docx
|
||||
|
||||
node_modules/
|
37
.gitlab-ci.yml
Normal file
37
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,37 @@
|
|||
image: dmoonfire/mfgames-writing-js:2.0.0
|
||||
|
||||
stages:
|
||||
- publish
|
||||
|
||||
publish:
|
||||
stage: publish
|
||||
only: [master]
|
||||
tags: [docker]
|
||||
script:
|
||||
# Install the basic requirements including the free fonts.
|
||||
- npm ci
|
||||
|
||||
# Verify that the commits are good.
|
||||
- npx commitlint --from=$CI_BUILD_BEFORE_SHA
|
||||
|
||||
# We need the cover from the general repository.
|
||||
- mkdir -p build/repos
|
||||
- git clone https://oauth2:$fedranAccessKey@gitlab.com/fedran/fedran-covers.git build/repos/fedran-covers
|
||||
|
||||
# Trigger the release if needed.
|
||||
- npx semantic-release
|
||||
|
||||
# Build the files.
|
||||
- npm run build
|
||||
|
||||
# Trigger the Fedran website to rebuild.
|
||||
- "curl -X POST -F token=$fedranAccessKey -F ref=master https://gitlab.com/api/v4/projects/4027285/trigger/pipeline"
|
||||
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- "*.pdf"
|
||||
- "*.epub"
|
||||
- "*.mobi"
|
||||
- "*.docx"
|
||||
- "*.html"
|
7
.yo-rc.json
Normal file
7
.yo-rc.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"generator-mfgames-writing": {
|
||||
"promptValues": {
|
||||
"author": "D. Moonfire"
|
||||
}
|
||||
}
|
||||
}
|
31
README.md
Normal file
31
README.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
Silk & Steel: An Adventure Anthology of Queer Ladies
|
||||
Edited by Janine A. Southard
|
||||
|
||||
Submissions due: February 22, 2020.
|
||||
|
||||
Princess and swordswoman. Scholar and mecha pilot. Warrior women… and the courtly ladies who love them.
|
||||
|
||||
The Silk and Steel anthology was initially inspired by artwork from Al Norton (see below). She’s put so much tension into these characters! Yet, among all that edginess and conflict, there are also romantic feelings… and a definite sense that both women have the upper hand.
|
||||
|
||||
We’re looking for stories of high adventure that feature one weapon-wielding woman and one woman whose strengths lie in softer skills, but who is just as powerful in her own right. You’re free to choose any setting – from historical to modern to wildly futuristic.
|
||||
|
||||
You can expect to share a Table of Contents with distinguished authors such as: Ellen Kushner, Aliette de Bodard, Amal El-Mohtar, Arkady Martine, Claire Bartlett, Django Wexler, Freya Marske, Jennifer Mace, JY Yang, K.A. Doore, Kelly Robson, Nibedita Sen, and Yoon Ha Lee.
|
||||
|
||||
Editor’s Note: I’m looking for all speculative genres except straight-up erotica or hard-core horror. (We’re aiming this anthology at general audiences, after all. Erotic and horror elements within your story’s context are definitely okay! But if they’re the thrust of the story, then you’ve gone off genre.) I think the idea lends itself well to swashbuckling romance and operatic comedy, but it’s really up to you.
|
||||
|
||||
Other Inclusions: Yes! I would love to see trans women, bi, pan, and ace characters.
|
||||
|
||||
How to submit: Send your story in .doc, .docx, or .rtf format to Janine A. Southard at silky.subs@cantinapublishing.com
|
||||
|
||||
Note about conflict: Yes, this is an f/f anthology, but that doesn’t mean your women need to be fighting against homophobia! While this is one option, it’s not the only one. Consider also having them fight for their countries, their loves, or their right to wash their cars on Wednesdays in flagrant disregard of their HOA’s rules. Silk and Steel is about romance and optimism, so moving on to the next big fight after homophobia will be a much easier sell.
|
||||
|
||||
Rights and compensation: Originals only, no reprints. We will purchase first publishing rights for inclusion in this anthology (ebook and print) and one year of exclusivity for 8 cents/word. Authors retain the rights to the individual stories; Cantina Publishing exercises rights to the anthology as a whole.
|
||||
|
||||
General Guidelines for Submissions:
|
||||
We are currently only considering submissions for active calls.
|
||||
|
||||
Do send: Your story with your contact details, name (and pseudonym, if applicable), and word count on the first page of a .doc, .docx, or .rtf document. Please use italics instead of underlining. Cantina Publishing recommends using a really common workhorse font like Times New Roman or Calibri at whatever the default setting is for your word processor. (Font selections are subject to change before publication. Still, the submissions reader will remember you as “the jerk who sent something all in wingdings.” So we don’t recommend that particular level of creativity.) 3,000-7,000 words recommended.
|
||||
|
||||
Don’t send: Fanfic of any kind. (Unless specified by the call for submissions.) Grotesque horror. Anything over 10,000 words without querying first.
|
||||
|
||||
https://www.cantinapublishing.com/submissions/
|
46
chapters/chapter-01.md
Normal file
46
chapters/chapter-01.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
title: The Opened Cage
|
||||
availability: private
|
||||
access: private
|
||||
---
|
||||
|
||||
> The Rat Hunters were a famed band of mercenaries who traveled across the land to eliminate the worst infestations of escaped experiments and dangerous creatures. --- Ralisman Dupren, *The Rise of the Kormar Mercenary Armies*
|
||||
|
||||
|
||||
Karin yawned as she hopped off the wagon. Her breath fogged around her as she limped away from the back to let the others off behind her. Her hip protested her landing and she rubbed it as she glared around her.
|
||||
|
||||
There were four wagons pulled into a circle. Two of the younger Rat Hunters were stacking up wood for a long fire. A third was using his magic to start a flame with his fingertip. Others were setting up a stall for the paymaster; every time someone got in line to try being first, they were volunteered for some duty.
|
||||
|
||||
Roal, one of the other warriors, came up with two large steaming mugs. "I could have sworn there were only dicks in the wagon with you."
|
||||
|
||||
She stared at him for a moment, then grabbed one of the mugs. "Dicks?"
|
||||
|
||||
It took a moment for the scent of tea to penetrate the fog of waking up and realize he was referencing her sore hip. "You know me, I would let any of those guys between my legs. No, Maril's damn boots fell out of the netting and I was too cold to move. Spent the entire night with those steel toes digging into my hip and my tits crushed against one of the crates."
|
||||
|
||||
Raol patted her shoulder and then grinned. "Want me to rub anything?"
|
||||
|
||||
She look at him for a long count before giving him a sweet smile. "Not unless I can cut your balls off in trade."
|
||||
|
||||
"I meant your hip." He didn't seem perturbed by her threat.
|
||||
|
||||
She scratched the dried blood scabbing over a recent burn. "I'd rather find a peach instead of an old man like you. Your hands are too big and I'd rather have something softer near my privates."
|
||||
|
||||
He smirked.
|
||||
|
||||
Peach, it was a sly phrase for the women who were untouched by the brutal life of a mercenary. They were soft, beautiful, and lovely to touch. More importantly, peaches were lovers of women like Karin.
|
||||
|
||||
Roal had a fondness for the same type of beauty, though they were apples if they preferred men over women. They both had bonded over their shared appreciation of the female form and made a point of not competing with each other in the days they had between jobs.
|
||||
|
||||
"The city council is going to open the door after they verify that we aren't going to bring any weapons inside. Apparently San Graif prides itself in being a just and noble city with a high moral caliber." Roal rolled his eyes.
|
||||
|
||||
She gulped down some of the tea in her mug. As it burned down her throat, she smiled. Being unarmed wasn't a concern for her. "So, you're saying there are a lot of ripe lovelies in there desperate to have a little fun?"
|
||||
|
||||
"By the Divine Couple's blessing, I hope so. It also means if we're going to have fun, we need to stay away from these assholes." He gestured to the rest of the Rat Hunters. "The guards are going to be stuck on them like those damn leeches."
|
||||
|
||||
"Which ones? The ones in the cave or the forest?"
|
||||
|
||||
"The big glowing ones that went for the eyeballs." He barked out a laugh. "Remember when I had to use both hands to get the one out of your gut wound?"
|
||||
|
||||
She shuddered. "Oh, I hate those things. I also hate that you accepted that job."
|
||||
|
||||
"That's my talent, Old Lady. I'm always where I need to be."
|
23
chapters/chapter-02.md
Normal file
23
chapters/chapter-02.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: Night Terrors
|
||||
availability: private
|
||||
access: private
|
||||
---
|
||||
|
||||
> Just because the battle is over doesn't mean the fighting has ended. Some warriors never find relief from their wars. --- *The Horror of the Ghost Sword* (Act 2, Scene 4)
|
||||
|
||||
Karin woke up with a gasp. Blindly, she smacked around with her hand until she caught the side table and then used that to lever herself up into a sitting position. The sweat-soaked sheets slid along her naked body. She cringed at the slickness but it wasn't any worse than waking up in knee-deep water.
|
||||
|
||||
She grabbed a drier section of her blanket and used it to wipe the sweat from her face and breasts. She tossed it off the edge of the before slumping back against the cool headboard.
|
||||
|
||||
Nightmares continued to play in the back of her head. Images of monsters tearing into her body sent tremors through her scarred legs. Memories of claws, slashes, and having her intestines spill out across her hands was nothing compared to the startling clear memory of her ex-husband screaming at her the night she had packed up and left.
|
||||
|
||||
"Damn that old man," she muttered. She reached out and grabbed the bottle of rotgut. Her efforts to sit up had knocked it over but the clear liquid managed to remain inside. She gripped the neck tightly and took a long deep drink.
|
||||
|
||||
The burn down her throat pushed away the memories. Thumping the back of her head against the board, she shook her head and let out a long sigh. "I need to quit doing this crap."
|
||||
|
||||
After a moment, she dropped her hand to her stomach. Deep scars crisscrossed the taut lines of her abdomen. Even without looking, she could remember each wound by touch.
|
||||
|
||||
She had seen death enough times that she wasn't afraid anymore. Her second life had been brutal, exhausting, and violent. However she wouldn't pass it up for all the money in the world.
|
||||
|
||||
With a sigh, she cupped herself and closed her eyes to drift away in an alcohol-fueled sleep.
|
85
chapters/chapter-03.md
Normal file
85
chapters/chapter-03.md
Normal file
|
@ -0,0 +1,85 @@
|
|||
---
|
||||
title: Passing Surprise
|
||||
availability: private
|
||||
access: private
|
||||
---
|
||||
|
||||
> Women who loved other women would use the word "peach" to signal to each other of their interests. --- *Slang in the Northern Cultures*
|
||||
|
||||
A night of sleeping in a comfortable bed had done wonders to ease many of Karin's spirits but she knew the nightmare would resume as soon as she passed out again. A month of comfort wasn't enough to erase her horrors. To get through the next night, she decided to prepare like she was about to enter a monster's nest and went shopping.
|
||||
|
||||
Two hours of cool air, warm sun, and window shopping netted her three bottles of rotgut, a few sets of clean underwear, and a new repair kit for her leather armor.
|
||||
|
||||
San Graif was a pretty little town and she rarely had a chance to stroll through them. In a town like this, usually she was crawling through sewers, running down the street toward the fighting, or setting up barricades for the bigger assaults.
|
||||
|
||||
She smiled and tried not to think about the nightmares.
|
||||
|
||||
Karin had come around a corner when she spotted a dense crowd in front of a store. Instantly, she grew wary and tightened her grip on her shopping bag.
|
||||
|
||||
With a second look, she realized the group wasn't unruly. Almost everyone was sitting on metal chairs and benches. A few were reading books. Others had their faces uplifted and their eyes closed. No one crowded the store entrance and there was a clear path for her to walk through them.
|
||||
|
||||
With her muscles tensed, she made her way through the narrow path. She looked curiously at the store as she passed but it was just a bakery and a small restaurant. Nothing looked remarkable about it at all except that it was packed with customers sitting at tables.
|
||||
|
||||
Karin slowed with curiosity.
|
||||
|
||||
Then she heard the sweetest song drifting through the open door. It was a popular ballad, of a lover waiting for her missing knight. But Karin had never heard it sung with such clarity or passion.
|
||||
|
||||
The woman's voice wrap around her, tugging on her heart and dredged up a swarm of memories that left her gasping. She had many lovers since she had become a Rat Hunter and most of them ended in sweet partings. However, she could remember the looks they had given her as they parted ways. She had suffered the same longing when, but she could remember the looks they had given her as they parted ways. Their eyes had the same longing when she didn't want to
|
||||
|
||||
The song from the bakery gave her a hint of what they were feeling in that moment, the desperate longing for more, the desire and sadness turning into a maelstrom.
|
||||
|
||||
A tear ran down her cheek. She looked around but only a few people looking at her with knowing smiles. With a blush, she turned and peered around for a seat but they were all occupied.
|
||||
|
||||
An old woman pointed toward the store front. "A spot opened up in there, Love."
|
||||
|
||||
Karin turned and saw a couple getting up from a table. She said thanks and headed inside, slipping into the abandoned table before anyone else could take it.
|
||||
|
||||
Feeling guilty, she looked around as she stuck her bags underneath the table. Her fingers were just pulling away when she caught sight of the singer.
|
||||
|
||||
She was a peach, a beautiful young woman with bright eyes and a slender build. She had a few streaks of flour across her cheeks and a dusting caught her short, dark hair. Her smile was brilliant as she delivered a plate of food while still singing.
|
||||
|
||||
"Oh, fuck me, Mother," whispered Karin in surprise. If there was a archetype for her ideal peach, it was the woman bending over the edge of the table while singing brilliantly.
|
||||
|
||||
Karin stared with desire and rapt attention until the song ended.
|
||||
|
||||
There was silence.
|
||||
|
||||
Then applause. Karin joined in enthusiastically, clapping her hands against the table. They were applauding even outside of the restaurant.
|
||||
|
||||
The singer stood in the center and smiled, her teeth brilliant in the light. She held the metal serving tray against her side as she turned around to face the rest of the tables.
|
||||
|
||||
When the sound faded, she turned and headed toward a kitchen.
|
||||
|
||||
An older man with similar hair color and nose stuck his head over a counter that separated the dining area with another room. "Pay attention and do your damn job! New customer on twenty!"
|
||||
|
||||
The young woman turned and looked straight at Karin. She gave another brilliant smile and headed over.
|
||||
|
||||
Karin inhaled sharply and then smiled back.
|
||||
|
||||
When the young woman approached, Karin got a better look. She looked to be in her early twenties, about half Karin's age. However, she smelled of flowers and fresh baked bread. She held out a menu. "Welcome to Lilard's. My name is Lilian. Is there anything I can get for you?"
|
||||
|
||||
Karin's stomach rumbled even as she felt a heat fluttering between her legs. "Do you happen to have any peach pie?"
|
||||
|
||||
"I'm sorry, peaches are out of season but we do have apple and pumpkin pies." Her voice never changed from the same cheerful tone.
|
||||
|
||||
Fighting a brief wave of disappointment, Karin ordered a sandwich and a slice of pumpkin pie with heavy cream. She was hoping that asking for a peach would give a hint that Karin was looking for more than just a meal. A lack of response didn't mean no, not everyone used the term.
|
||||
|
||||
Karin could still enjoy the view and the fantasy that the young woman had said there were peaches on the menu. She smiled to herself.
|
||||
|
||||
Lilian went around the room, gathering orders. Then headed over to a large bowl with little strips of paper. Pulling out one with her left hand, she peered at it. With a smile, she rested her hand on an older man's shoulder. "It's your favorite, Bil. The Ballad of Lost Waters."
|
||||
|
||||
The older man sighed and patted her hand.
|
||||
|
||||
"Oi!" snapped the older man over the counter. "Off my daughter!"
|
||||
|
||||
She favored him with a small.
|
||||
|
||||
Karin had heard of the ballad, it was one about a lost wife, a sad piece to say the least. Usually it was one of the song a mistral would sing near the end of the night, when only those losing themselves in bottles were still around.
|
||||
|
||||
She had heard the song too many times on fruitless nights and didn't care for the difficult tunes. In her opinion, no one seemed to know how to sing it properly.
|
||||
|
||||
Then Lilian started to sing.
|
||||
|
||||
Every sour opinion of the ballad faded away with the intense emotions that rose up inside Karin. Like the previous song, it managed to dredge up memories that Karin had long forgotten. With a gasp, she closed her eyes and lost herself remembering the days when her grandmother had died.
|
||||
|
||||
There was no doubt, she was coming back again.
|
137
chapters/chapter-04.md
Normal file
137
chapters/chapter-04.md
Normal file
|
@ -0,0 +1,137 @@
|
|||
---
|
||||
title: Return Customer
|
||||
availability: private
|
||||
access: private
|
||||
---
|
||||
|
||||
> The rich are the truest evil in the world but culture acts as their armor against accountability. --- *The River Queen Sacrifice* (Act 3, Scene 9)
|
||||
|
||||
Karin sat down in her now customary seat at Lilard's. After three days, no one questioned her presence. It was early morning but the bakery had been open for hours while they baked the breads, sweets, and breakfast. The rich storm of smells surrounded her and she smiled.
|
||||
|
||||
"Good morning, Karin," Lilian said as she brought over a cup of tea and a slice of apple pie. The usual cheerful tone was gone, leaving behind a subdued tone that Karin had never heard.
|
||||
|
||||
"What's wrong?"
|
||||
|
||||
Lilian's eyes were red. She parted her perfect lips to say something but then shook her head. "Sorry. Would you like your usual?"
|
||||
|
||||
"Yes?" Karin said warily.
|
||||
|
||||
Lilian smiled but it was forced.
|
||||
|
||||
As Karin watched Lilian walk away, she frowned. It was obvious that the young woman had either a bad night or a worst morning. Her gaze slid to the opening between the rooms. Steam and smells drifted across the counter, adding to the atmosphere of the nearly empty dining room. On the other side, she heard Lilian's father speaking to someone in excited terms.
|
||||
|
||||
Lilian wrote up Karin's order and stuck it on a wooden spike for the back. "Order up," she said quietly.
|
||||
|
||||
Turning around, the dark-haired beauty sighed before scanning the room. Her gaze stopped on the jar that contained the song requests. Glancing up at the rest of the room, she reached over and pulled it off the counter before stowing it out of sight.
|
||||
|
||||
A prickle of concern raced through Karin. After listening to the sweet tones of Lilian's singing, the relative silence felt like a knife against her ears.
|
||||
|
||||
Laughter rose up from the back room. She recognized Lilian's father but it was the second voice that brought a sudden sharp tension across her chest. She had heard that laughter more than once since she had became one of the Rat Hunters: Tristoh da Lamaster, a merchant lord that had a talent for funding the wrong thing.
|
||||
|
||||
Surprised, she lifted herself from her seat and peered into the back room.
|
||||
|
||||
Tristoh was shaking hands with Lilian's father, his distinctive sharp point of his beard unmistakable from a distance. He looked pleased with himself.
|
||||
|
||||
Karin sat down heavily. "Shit."
|
||||
|
||||
There had to be a connection between Lilian's sullen mood and Tristoh's presence. She strained to listen to the conversations in the other room but it was too far away. She had to stew in her own thoughts until Lilian arrived to deliver her breakfast.
|
||||
|
||||
She reached up and rested her hand on Lilian's. "What is Tristoh doing here?"
|
||||
|
||||
The muscles under her palm tightened and Lilian inhaled sharply. Then she looked up with a frightened look before leaning over. "You know him? Who is he?"
|
||||
|
||||
Karin frowned and then shrugged. "Me and the Rat Hunters had to clean up some of his so-called investments. The last one was..."
|
||||
|
||||
She paused for a moment as she remembered the swarm of giant mosquitoes that swarmed through the chimney of the farm house they had made their last stand. There was so much blood when it was over, too much of it was hers and she almost died from the attack.
|
||||
|
||||
After shuddering, she continued. "... a few months ago. A mage he had hired to research a weapon had accidentally let a swarm of mutated mosquito into a village."
|
||||
|
||||
Karin sighed and she stroked her finger across the back of Lilian's hand. It was a selfish maneuver on her part, but the soft skin felt good against Karin's scarred fingers. "Almost everyone died before we managed to burn the nest."
|
||||
|
||||
"A-And Tristoh?" Lilian's voice cracked.
|
||||
|
||||
"He got away clean. The law can't really touch rich assholes like him. Every time, he walks away with a tidy profit and a fucking smile on his---"
|
||||
|
||||
A tear splashed on Karin's hand.
|
||||
|
||||
Surprised, she looked up to see Lilian crying. "Oh, I'm sorry. What's wrong?"
|
||||
|
||||
"H-He..." She looked back at the kitchen. Then she shook her head violently. "I, I can't...."
|
||||
|
||||
She pressed a hand over her mouth before she let out a choked sob. More tears ran down her cheeks as she looked around. Then, stammering, she dropped her notebook on Karin's table and rushed for the door.
|
||||
|
||||
Karin turned to watch Lilian race across the front of the store and out of sight. She swore violently and rushed after her.
|
||||
|
||||
It took her only a few seconds to catch up to the sobbing young woman in the alley. The short distance had left Lilian gasping for breath between her cries.
|
||||
|
||||
Karin, on the other hand, had been spending a year fighting. She wasn't even winded as she stopped in front of Lilian. She gingerly reached up to take her hands but then hesitated before pulling back. "What did he do?"
|
||||
|
||||
Lilian looked up, her eyes shimmering with tears. "He offered to by my hand in marriage a-and my dad accepted it!"
|
||||
|
||||
Karin's hands slumped down. "W-What in the...?"
|
||||
|
||||
"Last night! He came home and said I was to be married in a week. I haven't even met him until this morning! He just... that man just bought my and my father is going along with it!"
|
||||
|
||||
Karin flinched. "A bride offer? What does he think this is, Tarsan? We don't do that fucking patriarchal shit in Kormar! He should know that."
|
||||
|
||||
"I know!"
|
||||
|
||||
"It can possibly be legal."
|
||||
|
||||
Lilian let out a choked sob. "The bakery has been in our family for five generations. It was ours! But when I started to argue, my dad swore he would disarm me if I didn't m-marry that man."
|
||||
|
||||
Karin spun on her heals. "Screw the gods on this one."
|
||||
|
||||
"What are you doing?" asked Lilian but Karin was already out of the alley and storming back across the store.
|
||||
|
||||
Tristoh was in the process of leaving out of the restaurant when she reached the door. "Where is my lovely bride---?" he started, speaking loudly. The words froze when Karin stopped sharply in front of him.
|
||||
|
||||
She pointed a finger at his face. "What are you doing, Merchant?"
|
||||
|
||||
A scowl etched across his face. "What are you doing here, Rat?" He reached up to rub the side of his shoulder where she once stabbed him.
|
||||
|
||||
Behind Tristoh, Lilian's father stopped with a look of a surprise.
|
||||
|
||||
"Questioning your motives," snapped Karin. "This isn't Tarsan and---"
|
||||
|
||||
"I know we aren't in---"
|
||||
|
||||
"---and you should know better than to even make an offer. What are you doing?"
|
||||
|
||||
Tristoh pulled himself up and pressed a hand against his chest. "I promise you, Rat, I have nothing but the best of intentions."
|
||||
|
||||
Karin stepped forward. "The best of intentions? Did you have those when you told that mage not to worry about that blood sucker swarm? Or fired the guards on that zoo of yours before the monsters all escaped and started killing people."
|
||||
|
||||
"Those were all mistakes of---"
|
||||
|
||||
"Of your fucking investments! Every single one, Merchant! Every single one ended in blood and death!"
|
||||
|
||||
Tristoh looked around at the gathering crowds. "You should leave before there is trouble... Rat."
|
||||
|
||||
"I won't let you steal this girl."
|
||||
|
||||
"Why, just becuase you want her for yourself? Is she the peach pie you were hoping for?" Tristoh grinned and glanced to the side.
|
||||
|
||||
Karin blushed. She didn't need to look to know that Lilian had come up near her. Grinding her teeth, she shook her head.
|
||||
|
||||
Tristoh leaned forward with a smile. "At least I'm not a deviant lusting after a girl like her. Let me guess? Ask about peach pies the second you met her?"
|
||||
|
||||
"Shut up."
|
||||
|
||||
"I have only the best of intents for her."
|
||||
|
||||
"You only have the best of intentions for yourself and you know it."
|
||||
|
||||
Tristoh straightened and brushed an imaginary dust from his shoulder. "Well, fortunately for you, this is none of your business. It's between me and her father, now isn't it?"
|
||||
|
||||
Karin pulled back her hand to do something stupid but then she heard guards approaching.
|
||||
|
||||
"Go on, Rat," Tristoh said with a grin. "There are thirty witnesses and I'll have your woman-loving ass in a jail cell before you get your second blow in."
|
||||
|
||||
She ground her teeth together. Then she shook her head.
|
||||
|
||||
He smirked. "You won't win this fight."
|
||||
|
||||
Karin stepped back. She could see emotions painted on everyone's face: triumph on Tristoh, anger on Lilian's father, and sadness and regret on Lilian. But she couldn't do anything, not at the moment.
|
||||
|
||||
With Tristoh laughing, she turned and stormed back to her inn room.
|
41
chapters/chapter-05.md
Normal file
41
chapters/chapter-05.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
title: Table Settings
|
||||
availability: private
|
||||
access: private
|
||||
---
|
||||
|
||||
> The best and worst ideas are made at the bottom of a bottle. --- Kormar Proverb
|
||||
|
||||
Karin sat naked on her bed, her back against the headboard and her eyes focus on a spot three feet in front of her. She couldn't sleep despite her aching eyes and the exhaustion that plucked the back of her head.
|
||||
|
||||
It had been two days since she stormed away from Lilard's and she couldn't stop thinking about Lilian. It wasn't fancy dreams of sex and fun, but the countless possibilities of what Tristoh had in mind for her.
|
||||
|
||||
He was going to use her. That was too much clear. Nothing in their shared past would hint at love or romance. Even his offer, which had set off a fire of gossip throughout the city, was too large for anything besides one more of his investments.
|
||||
|
||||
It to be Lilian's singing. While she was definitely a beauty, the way her songs brought back memories and fired up emotions. That was truly a gift and one that she could see Tristoh using.
|
||||
|
||||
What she didn't know is how. Would he put her on a stage and force her to sing? Would he sell her voice to the highest bidder? Or just rent her out until her eyes were dead and her throat ruined?
|
||||
|
||||
Karin pressed her lips tightly together.
|
||||
|
||||
Tristoh's next step was to marry her. The ceremony was in a few days. No one seemed to know what would happen after that but she couldn't imagine the rich man moving from his comfortable estates in Tarsan to a muddy town in Kormar. No, he was going to take Lilian away where she had no family, no friends, and no support. She would be helpless.
|
||||
|
||||
With a shaking hand, Karin lifted the mug in her hand and sipped at the rotgut that had pooled in the bottom. It was warm and the acrid scents burned her eyes. She closed her eyes to focus on the burn as it ripped down her throat.
|
||||
|
||||
She drained the glass. Looking at the bottom for a moment, she reached out for the bottle but stopped when she noticed it was empty. Her half-eaten dinner sat next to it, the copper plate bright in the candlelight.
|
||||
|
||||
With an inspiration, she set down the glass on the table and picked up the plate. With a flick of her wrist, she dumped the contents into the garbage can before bringing the plate to her lap.
|
||||
|
||||
With a smile, she thought about the metal serving trays that the bakery had. As she did, she rubbed the smooth edge of her plate.
|
||||
|
||||
Energy hummed along her senses, dancing along her veins. It gathered underneath her thumb and the metal began to flow underneath her touch. She could feel the beveled edge flatten and then sharpen. The edge became sharper as the shaping stretched along both curves of the plate.
|
||||
|
||||
In her mind's eyes, she concentrated on the edge and whittled it down until it was narrower than the scales of a hair. That was her talent, to sharpen metal by touch.
|
||||
|
||||
With a grin, she imagined Tristoh standing at the foot of her bed. She stared at him and then threw the plate where she imagined his head would be.
|
||||
|
||||
The plate slammed into the wall, sinking four inches into the plaster and wood. The edge, now sharper than any blade could be hone, sparkled in the candlelight.
|
||||
|
||||
Karin smiled broadly.
|
||||
|
||||
It was time to go back.
|
205
chapters/chapter-06.md
Normal file
205
chapters/chapter-06.md
Normal file
|
@ -0,0 +1,205 @@
|
|||
---
|
||||
title: Customer Service
|
||||
availability: private
|
||||
access: private
|
||||
---
|
||||
|
||||
> The tradition of the bride price has not caught on among most of the more egalitarian of countries. --- Richol dea Lamaster, *The Tarsan Influence*
|
||||
|
||||
Karin moved stiffly as she came around the corner toward Lilard's. Her leather armor creaked with each step. She had freshly repaired and oiled it, preparing for a battle. She had no doubt that Tristoh was expecting her to come back, she was predictable.
|
||||
|
||||
The usual crowds around the restaurant were gone. There was no one swaying in time to music. No one reading books while enjoying Lilian's voice. Tristoh's corruption had already taken root and it was obvious that the restaurant's fate was on a knife's edge.
|
||||
|
||||
Karin slowed to a stop near the door.
|
||||
|
||||
"Looking for Lil?" asked the old woman who had pointed out the empty table on the first day. She was knitting quietly to herself. Her eyes were narrow as she glared at the glass window. She worked her lower lip as she glanced at Karin and back.
|
||||
|
||||
Head already throbbing from her hangover, Karin took a moment to process the unexpected question. She nodded. "Yes."
|
||||
|
||||
"She's in the back."
|
||||
|
||||
Karin turned to face the woman.
|
||||
|
||||
The old woman bent over to dig into her kitting back. She held up an impressive-looking knife in a sheath. There was a name on the side, "Sindil". Flipping it over, she held it hilt-first to Karin. "Need a weapon?" Sindil asked cheerfully.
|
||||
|
||||
"W-What?" Karin couldn't help but smile.
|
||||
|
||||
"You obviously are going in with a plan."
|
||||
|
||||
Karin shrugged. "Well, more of a vague idea. I was just going in to... make sure she knew she had an option."
|
||||
|
||||
"Well, after what Jon did, it isn't going to be this place. This place had been in the family for five generations, it won't be around for the sixth." The older woman held up the knife again with a silent question.
|
||||
|
||||
Karin shook her head. A weapon would be nice, but that would make everything worse if she got caught.
|
||||
|
||||
Tossing the knife back into her kitting back, Sindil returned to her knitting. "Three of his men are at tables one, seven, and fifteen."
|
||||
|
||||
Suddenly things seemed brighter. "Thank you," Karin said. "Who are you?"
|
||||
|
||||
The old woman smiled sweetly. "Just an old widower who is severely disappointed in her greedy son. So try not to kill him?"
|
||||
|
||||
Karin nodded. She turned, took a deep breath, and entered the restaurant.
|
||||
|
||||
Jon, Lilian's father, looked up from where he was serving food. "You aren't wanted in here."
|
||||
|
||||
Karin glanced around, spotting Tristoh's three men. They were all grunts and armed with short swords and leather armor. They also were turning toward her, their hands dropping to their weapons.
|
||||
|
||||
She looked at the counter leading into the back room and then to him. "I just want to talk to Lil."
|
||||
|
||||
The few real customers shifted uncomfortably in their seat.
|
||||
|
||||
Jon stepped toward the center of the room and held the metal tray with one hand at his side. "Leave. You aren't welcomed here," he announced.
|
||||
|
||||
Karin shook her head. On one of the tables nearest to the door, she spotted a metal pitcher. She reached over and grabbed it. Her energies flowed through her hand as she focused on the rim to sharpen it while she spoke. "I'm going to talk to her."
|
||||
|
||||
"She's been paid for."
|
||||
|
||||
"Your daughter is not something to sell. Tristoh is going to hurt her and you know it."
|
||||
|
||||
Jon's jaw tightened. "At least the restaurant will survive. You don't understand how close I was to losing everything."
|
||||
|
||||
"That was your daughter!" Karin stepped forward. She flipped the pitcher so she was holding it upside down. Water poured out across the floor.
|
||||
|
||||
One of Tristoh's men lurched out of his seat.
|
||||
|
||||
She backhanded him with the pitcher, slamming the side of the heavy metal into the side of his face. It crunched and collapsed but the impact threw him into a table.
|
||||
|
||||
He fell backwards, his foot lashing out and catching her elbow before she could bring down the sharpened rim into his thigh. The edge sliced off a corner of the table.
|
||||
|
||||
Before the hunk of wood hit the ground, Karin was attacked from the other side. The warrior swung his sword down, the blade whistling through air.
|
||||
|
||||
She jerked back, slipping on the water and ice. Desperate, she funneled her energies into the crumbled edge. The metal screeched as it was flattened and sharpened. Heat radiated through the metal, burning her fingers. She threw all her weight into blocking the blow.
|
||||
|
||||
The crumbled metal slammed into the blade. The edges, each one sharpened to narrower to a supernatural edge, sliced into the steel weapon and tore out a large hunk.
|
||||
|
||||
The remaining edge smashed against her hand and the tip snapped off.
|
||||
|
||||
Karin's knee hit the wet ground. She pulled back with her free hand, balled it into a fist, and punched the man in the balls with all her might.
|
||||
|
||||
His eyes almost popped out of his head. A low gurgle escaped his lips.
|
||||
|
||||
She released the ruined pitcher to uppercut him. Her knuckles slammed into the bottom of his chin, throwing him back.
|
||||
|
||||
Staggering to her feet, she stepped out of the puddle. She should have known better than make the fight worse.
|
||||
|
||||
Jon gulped as he inched back.
|
||||
|
||||
She grabbed the serving tray from his hand.
|
||||
|
||||
He flinched and held up his hand to blow a block.
|
||||
|
||||
Karin shoved him out of the way and stalked toward the door. As she walked, she sharpened the edge of the serving tray.
|
||||
|
||||
The last warrior stood up.
|
||||
|
||||
She threw the tray into his chest. The metal edge sliced through his sword and chest armor, embedding into his chest. Blood sprayed across the ground.
|
||||
|
||||
Karin pointed at warrior who stood in shock as his face paled. "Sit," she commanded.
|
||||
|
||||
He did.
|
||||
|
||||
She slammed the door into the baking area. "Lil!"
|
||||
|
||||
Lilian stood in the center, trembling as she stared at the door. Her eyes widened. "Kar? Is that you?"
|
||||
|
||||
All the speeches and things Karin was going to say slipped out of her mind at the sight of the frightened young woman. She rushed over and caught her hand. "I know this is stupid, but I had to tell you this: you don't have to go with Tristoh."
|
||||
|
||||
"I-I do. I'll lose the restaurant if---"
|
||||
|
||||
Karin interrupted her. "You've already lost it. If you stay with Tristoh, he's going to take you to Tarsan and you may never return here. He is a terrible person."
|
||||
|
||||
Tears sparkled in Lilian's eyes. "W-Where would I go?"
|
||||
|
||||
Karin inhaled and shook her head. She hadn't really planned this far. "I don't know where. Pick a place and I'll send you there. I have enough money, I swear."
|
||||
|
||||
"What about you?"
|
||||
|
||||
Karin stared at Lilian for a long moment. Then she lurched forward to kiss her. The touch of her soft lips to Karin's was everything she hoped for.
|
||||
|
||||
Lilian gasped, her body still trembling. Her hands lowered to catch Karin's hip. She didn't pull or tug, but held herself still.
|
||||
|
||||
Karin broke the kiss with a soft sigh. "Not a peach."
|
||||
|
||||
Lilian shook her head. "I'm sorry."
|
||||
|
||||
Karin shrugged. She turned to hide her embarrassment. Spying a stack of trays, she hurried over them. "Pick a place."
|
||||
|
||||
"Even though...?"
|
||||
|
||||
Karin took a deep breath to calm herself. Then she put on a smile before looking back. "I promise you, I will send you anywhere you want to go. Your voice is something that should be treasured as one of this country's wonders, not something Tristoh will use to enrich himself."
|
||||
|
||||
Lilian smiled broadly. "I... I always dreamed of singing at the Harmony Opera. So maybe Stone Over Moon Waters?"
|
||||
|
||||
"Done." Karin picked up the now sharpened trays. "Come on, lets get you on the road."
|
||||
|
||||
Lilian looked nervous and pale. She looked around the stone hearths and ovens.
|
||||
|
||||
Someone started to crawl over the counter.
|
||||
|
||||
Karin threw two trays at the wooden beam over the counter. The metal rim easily cut through the wood.
|
||||
|
||||
The warrior had only a chance to look up in fear before the beam crushed him against the counter.
|
||||
|
||||
Karin grabbed another two trays and kicked open the door. The sharpened edges shone in the air.
|
||||
|
||||
It bounced off someone standing behind it.
|
||||
|
||||
She kicked it again as she entered the restaurant side of the building. To her relief, the man with his chest impaled by a tray was still alive but sitting down. The one that she punched in the balls wasn't visible, so she swung the tray hard and slammed it through the door.
|
||||
|
||||
Stalking forward, she headed straight for Jon.
|
||||
|
||||
The older man gulped and backed away.
|
||||
|
||||
"If she wants to leave, she's leaving. Do you understand?"
|
||||
|
||||
He nodded violently. Then his eyes widened as he looked toward the kitchen.
|
||||
|
||||
Karin didn't look back. She focused her attention on the last warrior in the room who was blocking the door. It was the first man she had attacked. She pulled back her tray and smiled at him.
|
||||
|
||||
He held up his hands and dropped his sword. "He doesn't pay me that much."
|
||||
|
||||
"Get out of here."
|
||||
|
||||
Karin followed after him.
|
||||
|
||||
Outside the street was empty except for Sindil, who still knitted on her bench, and the retreating warrior.
|
||||
|
||||
Adrenaline surging through her veins, Karin stepped away from the door and prepared for another attack.
|
||||
|
||||
Lilian came out after her. She hurried for the old woman. "Nana? I so sorry, but I have to leave---"
|
||||
|
||||
Her grandmother put down her knitting and hugged her tightly. "Go, my love. Right now, I trust her more than your father."
|
||||
|
||||
"I'll write. I promise."
|
||||
|
||||
"You better. Now go." Sindil stood up and gave Karin a hard look.
|
||||
|
||||
Karin gulped and nodded.
|
||||
|
||||
Then the grandmother gestured with one gnarled finger at the window. "Run. I need to have a long talk with your dad."
|
||||
|
||||
Lilian wiped the tears from her eyes and then headed for Karin. She held out her hand.
|
||||
|
||||
Karin took the soft palm and held her firmly. Together, they hurried in the opposite direction of the fleeing warrior. She didn't know where to go or how she was going to get Lilian there, but she had hope that something would turn up.
|
||||
|
||||
Three streets and two alleys of frantic running later, she came around a corner to find Raol sitting on a wagon with a horse already harnessed into place.
|
||||
|
||||
Karin gasped in relief. "Oh, thank the Couple. Raol!"
|
||||
|
||||
He didn't seem surprised to see her; his talent was to show up when he was needed. Slipping off the bench, he came around to open the back of the wagon and held out his hand to Lilian. "Just her or both of you running away?"
|
||||
|
||||
No question of what had happened. No hesitation. Raol showed up knowing that Karin needed it and answers would be given later.
|
||||
|
||||
Karin worried her lip. "Just her. If I run, the Rat Hunters will pay the price."
|
||||
|
||||
Lilian gasped. "You're staying? No, you can't do that. Come with me."
|
||||
|
||||
Karin looked at the beautiful woman. It was heartbreaking but she knew Lilian would never be a peach. Going with would just be torture for both of them. "No, but draw ten thousands crowns from my pay and give it to her. And find her someone to take care of her in Moon Waters."
|
||||
|
||||
Roal grunted and nodded. He helped Lilian get into the wagon and then underneath a heavy canvas tarp. He crawled over to the bench and sat down. "I'll come back for you."
|
||||
|
||||
"Roal? She's not a peach or an apple. Please?"
|
||||
|
||||
He nodded without looking at either of them. "Of course."
|
||||
|
||||
Karin nodded grimly and looked around. It was going to get messy but she could trust Roal to take care of Lilian. She smiled at Lilian who was peaking out of the tarp. "Be beautiful and never stop singing."
|
55
chapters/chapter-07.md
Normal file
55
chapters/chapter-07.md
Normal file
|
@ -0,0 +1,55 @@
|
|||
---
|
||||
title: The Final Bill
|
||||
availability: private
|
||||
access: private
|
||||
---
|
||||
|
||||
> In rural civilization, justice is a more fluid concept that frequently becomes personal. --- *An Exhaustive Review of Justice Systems in the Known World*
|
||||
|
||||
Karin groaned and leaned against the rough stone bricks. The cold seeped into the bruises along the side of her face, giving her some relief from the morning's beating. As the stone warmed up, she rolled to a cooler section until the throbbing subsided.
|
||||
|
||||
With a sigh of relief, she sat back into her seat. Other parts of her hurt but it was nothing compared to being kicked in the chest by that howling horse with claws or when the leeches were burrowing in her gut.
|
||||
|
||||
The men Tristoh had bribed to beat her weren't seriously injuring her. That meant that he probably dropped crowns to ensure the judge would convict her with something serious. She suspected she would be looking at a murder or a treason charge. Fortunately, San Graif wasn't large enough for dedicated justice so she had a few more days to stew.
|
||||
|
||||
She thought about Lilian's voice and the memories that washed over her every time she sang a song. Leaning back against the wall, she smiled to herself. Her lips worked silently as she sang one of the song that Lilian had taught her to love and just let the pain ease away.
|
||||
|
||||
Even with her fears, Karin didn't regret a single moment. She didn't find a lover but she saved a songbird. She rubbed her split lip and just leaned back to enjoy the glow.
|
||||
|
||||
The door to the cells rattled loudly. She heard keys jingling on the other side.
|
||||
|
||||
Curious, she sat up.
|
||||
|
||||
The door swung open and a guard came in. It was one of the ones that Tristoh had hired to beat her. She started to steel herself for another round of abuse but then she noticed he was covered in blood with thick bandages over one eye and a makeshift sling holding his arm. "She's in here, Mother," the guard said sullenly.
|
||||
|
||||
Sindil followed after him, her knitting bag hoisted over her shoulder and a pair of needles in her hand. The yarn was stained and torn. The knife hung out of one of a scorched opening. She shuffled forward as she peered around until she spotted Karin and then came over.
|
||||
|
||||
Behind both of them, Raol came in with a grin on his face and his hands in his pockets. He had blood splattered across his chest. Karin noticed that he was carrying his ax in his hand.
|
||||
|
||||
Karin stood up, winching a little from the discomfort.
|
||||
|
||||
Sindil peered at Karin for a moment. Then she turned to the guard. "Well, what are you waiting for? Let her out now."
|
||||
|
||||
The guard looked nervously at Karin as he unlocked the door.
|
||||
|
||||
Roal came up to pull it open and handed Karin her sword. "Tristoh left the city a surprise gift when he stormed away. A herd of bulls with thick armored plates and able to set fires with their feet. I need my sharpener. You up to it?"
|
||||
|
||||
Karin took a deep breath and took the weapon. Her thoughts slid away from Lilian with a rush as she started preparing for a fight. Energy danced along the blade as she sharpened it with a thought.
|
||||
|
||||
He gestured toward the door before heading toward it. "Come on, Rat Hunter. We have people to save."
|
||||
|
||||
Karin gave the guard a long hard look before she followed after.
|
||||
|
||||
The old woman caught her arm to walk with her. She was spry for her age but Karin suspected that she had fought off one of the creatures with knitting needles.
|
||||
|
||||
Karin smiled at the image and rested her palm over the old woman's. "Thank you."
|
||||
|
||||
"I'm sorry it took so long to get you free. Jon should have never pressed charges like that."
|
||||
|
||||
"She was worth it."
|
||||
|
||||
"She is," said the old woman. "Though, things were better when I was running the bakery. Twenty years ago, we didn't have my granddaughter's lovely voice but peach pies was always on the menu."
|
||||
|
||||
Karin made it two steps before the words registered. She inhaled sharply and looked over.
|
||||
|
||||
The old woman grinned and squeezed Karin's arm. "Maybe after you save our city, I could make you one?"
|
8651
package-lock.json
generated
Normal file
8651
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
57
package.json
Normal file
57
package.json
Normal file
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
"name": "songbird-in-the-kitchen",
|
||||
"private": true,
|
||||
"version": "0.1.0",
|
||||
"scripts": {
|
||||
"build:epub": "mfgames-writing-format build epub",
|
||||
"build:pdf": "mfgames-writing-format build pdf",
|
||||
"build": "npm run build:epub && npm run build:pdf"
|
||||
},
|
||||
"release": {
|
||||
"branch": "master",
|
||||
"message": "chore(release): v${nextRelease.version}\n\n${nextRelease.notes}",
|
||||
"verifyConditions": [
|
||||
"@semantic-release/changelog",
|
||||
"@semantic-release/git"
|
||||
],
|
||||
"analyzeCommits": [
|
||||
"@semantic-release/commit-analyzer"
|
||||
],
|
||||
"prepare": [
|
||||
"@semantic-release/changelog",
|
||||
"@semantic-release/git"
|
||||
],
|
||||
"publish": [],
|
||||
"success": [],
|
||||
"fail": []
|
||||
},
|
||||
"commitlint": {
|
||||
"extends": [
|
||||
"@commitlint/config-conventional"
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
"path": "./node_modules/cz-conventional-changelog"
|
||||
}
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@commitlint/cli": "^8.2.0",
|
||||
"@commitlint/config-conventional": "^8.2.0",
|
||||
"@fedran/writing-theme": "^2.0.2",
|
||||
"@mfgames-writing/epub2": "^1.1.3",
|
||||
"@mfgames-writing/format": "^2.0.0",
|
||||
"@mfgames-writing/hyphen": "^0.4.3",
|
||||
"@mfgames-writing/weasyprint": "^4.0.0",
|
||||
"@semantic-release/changelog": "^3.0.6",
|
||||
"@semantic-release/git": "^7.0.18",
|
||||
"cz-conventional-changelog": "^3.0.2",
|
||||
"husky": "^3.1.0",
|
||||
"semantic-release": "^15.13.31"
|
||||
}
|
||||
}
|
36
publication.yaml
Normal file
36
publication.yaml
Normal file
|
@ -0,0 +1,36 @@
|
|||
metadata:
|
||||
title: "Songbird in the Kitchen"
|
||||
author: "D. Moonfire"
|
||||
language: en
|
||||
|
||||
theme: "@fedran/writing-theme"
|
||||
outputDirectory: .
|
||||
outputFilename: "{{ edition.name }}-{{ edition.version }}.{{ edition.editionName }}"
|
||||
|
||||
editions:
|
||||
|
||||
epub:
|
||||
format: "@mfgames-writing/epub2"
|
||||
|
||||
|
||||
pdf:
|
||||
format: "@mfgames-writing/weasyprint"
|
||||
images:
|
||||
grayscale: true
|
||||
opaque: true
|
||||
|
||||
|
||||
contents:
|
||||
- element: toc
|
||||
linear: false
|
||||
title: Contents
|
||||
exclude:
|
||||
editions: [pdf]
|
||||
- element: chapter
|
||||
number: 1
|
||||
directory: chapters
|
||||
source: /^chapter-\d+.md$/
|
||||
start: true
|
||||
page: 1
|
||||
pipeline: &pipelines
|
||||
- module: "@mfgames-writing/hyphen"
|
Loading…
Reference in a new issue