diff --git a/README.md b/README.md index 6971ceb..3598f63 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ npm run prettier # Prettier formatting ### Export story for upload +Requires `libreoffice` to be installed and in your path. + ```bash npm run export-story -- --output-dir ~/Documents/TO_UPLOAD slug-for-story-to-export ``` diff --git a/examples/game.md b/examples/game.md new file mode 100644 index 0000000..bdc1e52 --- /dev/null +++ b/examples/game.md @@ -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. diff --git a/examples/story.md b/examples/story.md new file mode 100644 index 0000000..f3c56a6 --- /dev/null +++ b/examples/story.md @@ -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. diff --git a/examples/user.yaml b/examples/user.yaml new file mode 100644 index 0000000..044d44d --- /dev/null +++ b/examples/user.yaml @@ -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 diff --git a/package-lock.json b/package-lock.json index cfbeb1e..4b00508 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gallery-badmanners-xyz", - "version": "0.0.1", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gallery-badmanners-xyz", - "version": "0.0.1", + "version": "1.1.0", "dependencies": { "@astrojs/check": "^0.5.9", "@astrojs/rss": "^4.0.5", diff --git a/package.json b/package.json index 3bc4330..c4508a2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "gallery-badmanners-xyz", "type": "module", - "version": "1.0.0", + "version": "1.1.0", "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/src/content/games/drafts/.gitignore b/src/content/games/drafts/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/src/content/games/drafts/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/src/content/stories/drafts/.gitignore b/src/content/stories/drafts/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/src/content/stories/drafts/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/src/content/stories/tiny-accident.md b/src/content/stories/tiny-accident.md index 403f94f..60bb623 100644 --- a/src/content/stories/tiny-accident.md +++ b/src/content/stories/tiny-accident.md @@ -4,7 +4,7 @@ pubDate: 2024-03-25 authors: bad-manners wordCount: 3000 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 description: | Kolo's day at the airship is nearly over, but a tiny stalker will unwittingly make his evening quite eventful... diff --git a/src/content/stories/tomo-moku.md b/src/content/stories/tomo-moku.md index 79a4ab2..e2861cb 100644 --- a/src/content/stories/tomo-moku.md +++ b/src/content/stories/tomo-moku.md @@ -20,8 +20,6 @@ tags: - unwilling prey - flash fiction 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. 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'. diff --git a/src/layouts/StoryLayout.astro b/src/layouts/StoryLayout.astro index a3067c7..57cbdd0 100644 --- a/src/layouts/StoryLayout.astro +++ b/src/layouts/StoryLayout.astro @@ -246,6 +246,29 @@ const thumbnail = <CopyrightedCharacters copyrightedCharacters={copyrightedCharacters} lang={props.lang} /> </Prose> </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"> <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" diff --git a/src/pages/stories/the-lost-of-the-marshes.astro b/src/pages/stories/the-lost-of-the-marshes.astro index 174b037..a1484b2 100644 --- a/src/pages/stories/the-lost-of-the-marshes.astro +++ b/src/pages/stories/the-lost-of-the-marshes.astro @@ -28,11 +28,11 @@ const mainChaptersWithSummaries = mainChapters.filter((story) => story.data.summ <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" > - <summary class="rounded-lg bg-stone-200 px-2 py-1 dark:bg-stone-800" - >Click to reveal spoilers up to { + <summary class="rounded-lg bg-stone-200 px-2 py-1 dark:bg-stone-800"> + Click to reveal spoilers up to { 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"> { mainChapters