Add summary section to StoryLayout, some examples, and a few drafts directories
This commit is contained in:
parent
a36191b10a
commit
7ca6f52cc2
12 changed files with 114 additions and 10 deletions
|
@ -22,6 +22,8 @@ npm run prettier # Prettier formatting
|
||||||
|
|
||||||
### Export story for upload
|
### Export story for upload
|
||||||
|
|
||||||
|
Requires `libreoffice` to be installed and in your path.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run export-story -- --output-dir ~/Documents/TO_UPLOAD slug-for-story-to-export
|
npm run export-story -- --output-dir ~/Documents/TO_UPLOAD slug-for-story-to-export
|
||||||
```
|
```
|
||||||
|
|
26
examples/game.md
Normal file
26
examples/game.md
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
# slug: some-custom-slug
|
||||||
|
title: Example Draft
|
||||||
|
# shortTitle: Example
|
||||||
|
pubDate: 2024-01-01
|
||||||
|
isDraft: true
|
||||||
|
authors: bad-manners
|
||||||
|
contentWarning: >
|
||||||
|
This game contains some stuff.
|
||||||
|
# thumbnail: /src/assets/thumbnails/game_crossing_over_cover.png
|
||||||
|
description: |
|
||||||
|
Some funny text.
|
||||||
|
# descriptionPlaintext: >
|
||||||
|
# Some funny text.
|
||||||
|
# mastodonPost:
|
||||||
|
# instance: meow.social
|
||||||
|
# user: BadManners
|
||||||
|
# postId: "numericalPostId"
|
||||||
|
tags: []
|
||||||
|
# series: the-lost-of-the-marshes
|
||||||
|
# relatedStories: []
|
||||||
|
# relatedGames: []
|
||||||
|
# lang: eng
|
||||||
|
---
|
||||||
|
|
||||||
|
The game content goes here.
|
31
examples/story.md
Normal file
31
examples/story.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
# slug: some-custom-slug
|
||||||
|
title: Example Draft
|
||||||
|
# shortTitle: Example
|
||||||
|
pubDate: 2024-01-01
|
||||||
|
isDraft: true
|
||||||
|
authors: bad-manners
|
||||||
|
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/tlotm_ch1.png
|
||||||
|
description: |
|
||||||
|
Some funny text.
|
||||||
|
# descriptionPlaintext: >
|
||||||
|
# Some funny text.
|
||||||
|
# mastodonPost:
|
||||||
|
# instance: meow.social
|
||||||
|
# user: BadManners
|
||||||
|
# postId: "numericalPostId"
|
||||||
|
tags: []
|
||||||
|
# series: the-lost-of-the-marshes
|
||||||
|
# prev: previous-story
|
||||||
|
# next: ~
|
||||||
|
# summary: |
|
||||||
|
# Some funny summary
|
||||||
|
# relatedStories: []
|
||||||
|
# relatedGames: []
|
||||||
|
# lang: eng
|
||||||
|
---
|
||||||
|
|
||||||
|
The story goes here.
|
20
examples/user.yaml
Normal file
20
examples/user.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
name: Nameless User
|
||||||
|
nameLang:
|
||||||
|
eng: Nameless
|
||||||
|
tok: jan Nenlesuse pi nimi ala
|
||||||
|
# avatar: /src/assets/images/logo_bm.png
|
||||||
|
links:
|
||||||
|
website: https://example.com
|
||||||
|
eka: https://aryion.com/g4/user/NamelessUser
|
||||||
|
furaffinity:
|
||||||
|
- https://www.furaffinity.net/user/NamelessUser
|
||||||
|
- Nameless_User
|
||||||
|
inkbunny: https://inkbunny.net/NamelessManners
|
||||||
|
sofurry:
|
||||||
|
- https://nameless-user.sofurry.com/
|
||||||
|
- Nameless User
|
||||||
|
weasyl: https://www.weasyl.com/~NamelessUser
|
||||||
|
twitter: https://twitter.com/NamelessUser
|
||||||
|
mastodon: https://some.mastodon.instance/@NamelessUser
|
||||||
|
bluesky: https://bsky.app/profile/namelessuser.bsky.social
|
||||||
|
preferredLink: website
|
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "gallery-badmanners-xyz",
|
"name": "gallery-badmanners-xyz",
|
||||||
"version": "0.0.1",
|
"version": "1.1.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "gallery-badmanners-xyz",
|
"name": "gallery-badmanners-xyz",
|
||||||
"version": "0.0.1",
|
"version": "1.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/check": "^0.5.9",
|
"@astrojs/check": "^0.5.9",
|
||||||
"@astrojs/rss": "^4.0.5",
|
"@astrojs/rss": "^4.0.5",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "gallery-badmanners-xyz",
|
"name": "gallery-badmanners-xyz",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"start": "astro dev",
|
"start": "astro dev",
|
||||||
|
|
2
src/content/games/drafts/.gitignore
vendored
Normal file
2
src/content/games/drafts/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
2
src/content/stories/drafts/.gitignore
vendored
Normal file
2
src/content/stories/drafts/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
|
@ -4,7 +4,7 @@ pubDate: 2024-03-25
|
||||||
authors: bad-manners
|
authors: bad-manners
|
||||||
wordCount: 3000
|
wordCount: 3000
|
||||||
contentWarning: >
|
contentWarning: >
|
||||||
Contains: Non-fatal oral vore, with unwilling to willing anthro male rat predator, unwilling micro anthro male wolf prey. Also includes implied regurgitation, masturbation, sizeplay, and unexpected micro groping.
|
Contains: Non-fatal oral vore, with unwilling to willing anthro male rat predator, and unwilling micro anthro male wolf prey. Also includes implied regurgitation, masturbation, sizeplay, and unexpected micro groping.
|
||||||
thumbnail: /src/assets/thumbnails/bm_18_tiny_accident.png
|
thumbnail: /src/assets/thumbnails/bm_18_tiny_accident.png
|
||||||
description: |
|
description: |
|
||||||
Kolo's day at the airship is nearly over, but a tiny stalker will unwittingly make his evening quite eventful...
|
Kolo's day at the airship is nearly over, but a tiny stalker will unwittingly make his evening quite eventful...
|
||||||
|
|
|
@ -20,8 +20,6 @@ tags:
|
||||||
- unwilling prey
|
- unwilling prey
|
||||||
- flash fiction
|
- flash fiction
|
||||||
summary: |
|
summary: |
|
||||||
For those curious, here's a summary of the story in English:
|
|
||||||
|
|
||||||
Lijan, a red nondescript mammal, makes his way through town to a new 'tomo moku' ("eating place"), expecting it to be a restaurant. They can't find the building among the similar looking ones, and spot a colorful and spooked bird covered in some liquid, who they ask for directions.
|
Lijan, a red nondescript mammal, makes his way through town to a new 'tomo moku' ("eating place"), expecting it to be a restaurant. They can't find the building among the similar looking ones, and spot a colorful and spooked bird covered in some liquid, who they ask for directions.
|
||||||
|
|
||||||
The bird shouts stuff erratically, basically telling him not to go there, until a yellow nondescript reptile walks out from a building and spooks them into flying off. They introduce themself as Maku and invite Lijan into the 'tomo moku'.
|
The bird shouts stuff erratically, basically telling him not to go there, until a yellow nondescript reptile walks out from a building and spooks them into flying off. They introduce themself as Maku and invite Lijan into the 'tomo moku'.
|
||||||
|
|
|
@ -246,6 +246,29 @@ const thumbnail =
|
||||||
<CopyrightedCharacters copyrightedCharacters={copyrightedCharacters} lang={props.lang} />
|
<CopyrightedCharacters copyrightedCharacters={copyrightedCharacters} lang={props.lang} />
|
||||||
</Prose>
|
</Prose>
|
||||||
</section>
|
</section>
|
||||||
|
{
|
||||||
|
props.summary ? (
|
||||||
|
<section id="summary" class="px-2 font-serif" aria-describedby="title-summary">
|
||||||
|
<h2 id="title-summary" class="py-2 font-serif text-xl font-semibold text-stone-800 dark:text-stone-100">
|
||||||
|
{props.lang === "eng" ? "Summary" : props.lang === "tok" ? "lipu tawa tenpo lili" : null}
|
||||||
|
</h2>
|
||||||
|
<details class="mb-6 mt-1 rounded-lg border border-stone-400 bg-stone-50 text-stone-800 dark:border-stone-500 dark:bg-stone-900 dark:text-stone-100">
|
||||||
|
<summary class="rounded-lg bg-stone-200 px-2 py-1 dark:bg-stone-800">
|
||||||
|
{props.lang === "eng"
|
||||||
|
? "Click to reveal"
|
||||||
|
: props.lang === "tok"
|
||||||
|
? "Click to reveal summary in English"
|
||||||
|
: null}
|
||||||
|
</summary>
|
||||||
|
<div class="px-2 py-1">
|
||||||
|
<Prose>
|
||||||
|
<Markdown of={props.summary} />
|
||||||
|
</Prose>
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
) : null
|
||||||
|
}
|
||||||
<div class="pr-3 text-right print:hidden">
|
<div class="pr-3 text-right print:hidden">
|
||||||
<a href="#top" class="text-link inline-flex items-center underline"
|
<a href="#top" class="text-link inline-flex items-center underline"
|
||||||
><svg class="mr-1 h-6 w-6 fill-current" viewBox="0 0 384 512" aria-hidden="true"
|
><svg class="mr-1 h-6 w-6 fill-current" viewBox="0 0 384 512" aria-hidden="true"
|
||||||
|
|
|
@ -28,11 +28,11 @@ const mainChaptersWithSummaries = mainChapters.filter((story) => story.data.summ
|
||||||
<details
|
<details
|
||||||
class="mx-3 mb-6 mt-1 rounded-lg border border-stone-400 bg-stone-300 dark:border-stone-500 dark:bg-stone-700"
|
class="mx-3 mb-6 mt-1 rounded-lg border border-stone-400 bg-stone-300 dark:border-stone-500 dark:bg-stone-700"
|
||||||
>
|
>
|
||||||
<summary class="rounded-lg bg-stone-200 px-2 py-1 dark:bg-stone-800"
|
<summary class="rounded-lg bg-stone-200 px-2 py-1 dark:bg-stone-800">
|
||||||
>Click to reveal spoilers up to {
|
Click to reveal spoilers up to {
|
||||||
mainChaptersWithSummaries[mainChaptersWithSummaries.length - 1].data.title.match(/Chapter \d+\b/)?.[0]
|
mainChaptersWithSummaries[mainChaptersWithSummaries.length - 1].data.title.match(/Chapter \d+\b/)?.[0]
|
||||||
}</summary
|
}
|
||||||
>
|
</summary>
|
||||||
<ul class="border-t border-stone-400 px-1 dark:border-stone-500">
|
<ul class="border-t border-stone-400 px-1 dark:border-stone-500">
|
||||||
{
|
{
|
||||||
mainChapters
|
mainChapters
|
||||||
|
|
Loading…
Add table
Reference in a new issue