From 5dd3524aa3378046711ff724eb8c8ab9d8b68195 Mon Sep 17 00:00:00 2001 From: Dave Date: Thu, 4 Sep 2025 13:26:39 +0200 Subject: [PATCH] last commit before switching to nextjs --- astro.config.mjs | 1 - keystatic.config.ts | 21 +- package-lock.json | 44 ++ package.json | 2 + src/content/config.ts | 26 + src/content/system/authors/dave-damage.json | 5 + .../system/authors/dave-damage/avatar.jpeg | Bin 0 -> 89485 bytes .../system/tags/rant-against-the-machine.json | 4 + src/content/system/tags/was-ist-was.json | 4 + src/content/the-metatron/kitchensink.mdoc | 23 + src/definitions/collections/meta/posts.ts | 14 + src/definitions/collections/system/authors.ts | 20 + src/definitions/collections/system/tags.ts | 20 + src/definitions/fields/article.ts | 21 + src/definitions/fields/publishing.ts | 64 +++ src/definitions/fields/seo.ts | 33 ++ src/pages/index.astro | 447 ++++++++++++------ src/pages/the-metatron/[...slug].astro | 73 +++ 18 files changed, 673 insertions(+), 149 deletions(-) create mode 100644 src/content/config.ts create mode 100644 src/content/system/authors/dave-damage.json create mode 100644 src/content/system/authors/dave-damage/avatar.jpeg create mode 100644 src/content/system/tags/rant-against-the-machine.json create mode 100644 src/content/system/tags/was-ist-was.json create mode 100644 src/content/the-metatron/kitchensink.mdoc create mode 100644 src/definitions/collections/meta/posts.ts create mode 100644 src/definitions/collections/system/authors.ts create mode 100644 src/definitions/collections/system/tags.ts create mode 100644 src/definitions/fields/article.ts create mode 100644 src/definitions/fields/publishing.ts create mode 100644 src/definitions/fields/seo.ts create mode 100644 src/pages/the-metatron/[...slug].astro diff --git a/astro.config.mjs b/astro.config.mjs index b271412..3a126ba 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -3,7 +3,6 @@ import { defineConfig } from 'astro/config' import react from '@astrojs/react' import markdoc from '@astrojs/markdoc' -// Only import keystatic and node in development let keystatic, node if (process.env.NODE_ENV !== 'production') { diff --git a/keystatic.config.ts b/keystatic.config.ts index 8abdf6c..3e2858c 100644 --- a/keystatic.config.ts +++ b/keystatic.config.ts @@ -1,19 +1,16 @@ -import { config, fields, collection } from '@keystatic/core'; +import { config } from '@keystatic/core' + +import { TagsCollection } from './src/definitions/collections/system/tags.ts' +import { AuthorsCollection } from './src/definitions/collections/system/authors.ts' +import { MetaPostsCollection } from './src/definitions/collections/meta/posts.ts' export default config({ storage: { kind: 'local', }, collections: { - posts: collection({ - label: 'Posts', - slugField: 'title', - path: 'src/content/posts/*', - format: { contentField: 'content' }, - schema: { - title: fields.slug({ name: { label: 'Title' } }), - content: fields.markdoc({ label: 'Content' }), - }, - }), + tags: TagsCollection, + authors: AuthorsCollection, + meta_posts: MetaPostsCollection, }, -}); \ No newline at end of file +}) diff --git a/package-lock.json b/package-lock.json index 9399719..5d7e7a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@fontsource/iosevka-aile": "^5.2.5", "@keystatic/astro": "^5.0.6", "@keystatic/core": "^0.5.48", + "@markdoc/markdoc": "^0.5.4", "@types/react": "^19.1.12", "@types/react-dom": "^19.1.9", "astro": "^5.13.5", @@ -39,6 +40,7 @@ "postcss-preset-env": "^10.3.1", "postcss-utilities": "^0.8.4", "prettier": "^3.6.2", + "prettier-plugin-astro": "^0.14.1", "stylelint": "^16.23.1", "stylelint-config-clean-order": "^7.0.0", "stylelint-config-html": "^1.1.0", @@ -12519,6 +12521,21 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-plugin-astro": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.14.1.tgz", + "integrity": "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.9.1", + "prettier": "^3.0.0", + "sass-formatter": "^0.7.6" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -13302,6 +13319,13 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/s.color": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz", + "integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==", + "dev": true, + "license": "MIT" + }, "node_modules/sade": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", @@ -13336,6 +13360,16 @@ ], "license": "MIT" }, + "node_modules/sass-formatter": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.9.tgz", + "integrity": "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "suf-log": "^2.5.3" + } + }, "node_modules/scheduler": { "version": "0.26.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", @@ -14129,6 +14163,16 @@ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", "license": "MIT" }, + "node_modules/suf-log": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", + "integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==", + "dev": true, + "license": "MIT", + "dependencies": { + "s.color": "0.0.15" + } + }, "node_modules/superstruct": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", diff --git a/package.json b/package.json index 89e7d25..7645b22 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@fontsource/iosevka-aile": "^5.2.5", "@keystatic/astro": "^5.0.6", "@keystatic/core": "^0.5.48", + "@markdoc/markdoc": "^0.5.4", "@types/react": "^19.1.12", "@types/react-dom": "^19.1.9", "astro": "^5.13.5", @@ -42,6 +43,7 @@ "postcss-preset-env": "^10.3.1", "postcss-utilities": "^0.8.4", "prettier": "^3.6.2", + "prettier-plugin-astro": "^0.14.1", "stylelint": "^16.23.1", "stylelint-config-clean-order": "^7.0.0", "stylelint-config-html": "^1.1.0", diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 0000000..d061a3e --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,26 @@ +import { defineCollection } from 'astro:content' + +import { TagsCollectionSchema } from '../definitions/collections/system/tags.ts' +import { AuthorsCollectionSchema } from '../definitions/collections/system/authors.ts' +import { MetaPostCollectionSchema } from '../definitions/collections/meta/posts.ts' + +const tags = defineCollection({ + type: 'data', + schema: TagsCollectionSchema, +}) + +const authors = defineCollection({ + type: 'data', + schema: AuthorsCollectionSchema, +}) + +const meta_posts = defineCollection({ + type: 'content', + schema: MetaPostCollectionSchema, +}) + +export const collections = { + tags, + authors, + meta_posts, +} diff --git a/src/content/system/authors/dave-damage.json b/src/content/system/authors/dave-damage.json new file mode 100644 index 0000000..becd414 --- /dev/null +++ b/src/content/system/authors/dave-damage.json @@ -0,0 +1,5 @@ +{ + "name": "Dave Damage", + "avatar": "avatar.jpeg", + "description": "Nothing nice 2 say" +} diff --git a/src/content/system/authors/dave-damage/avatar.jpeg b/src/content/system/authors/dave-damage/avatar.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..225d6aceee433add248bee980d66b093199df0f0 GIT binary patch literal 89485 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 literal 0 HcmV?d00001 diff --git a/src/content/system/tags/rant-against-the-machine.json b/src/content/system/tags/rant-against-the-machine.json new file mode 100644 index 0000000..80045dc --- /dev/null +++ b/src/content/system/tags/rant-against-the-machine.json @@ -0,0 +1,4 @@ +{ + "name": "Rant against the Machine", + "description": "A just world is a sane world. There is nothing sane about this." +} diff --git a/src/content/system/tags/was-ist-was.json b/src/content/system/tags/was-ist-was.json new file mode 100644 index 0000000..52fc2fc --- /dev/null +++ b/src/content/system/tags/was-ist-was.json @@ -0,0 +1,4 @@ +{ + "name": "Was ist Was", + "description": "Where we look at new things, things we don't understand, and things we hate because they are new" +} diff --git a/src/content/the-metatron/kitchensink.mdoc b/src/content/the-metatron/kitchensink.mdoc new file mode 100644 index 0000000..1b5a769 --- /dev/null +++ b/src/content/the-metatron/kitchensink.mdoc @@ -0,0 +1,23 @@ +--- +title: Kitchensink +summary: Where we style Styles and look and things +publishing: + status: draft + cover: + alt: >- + Dude eviscatering a stranded whale with a chainsaw... because i don'T have + a better picture yet. Don'T you judge me! + featured: false + tags: + - was-ist-was + - rant-against-the-machine + author: dave-damage +seo: + metaTitle: Dame DMG – Kitchensink + metaDescription: Where we take a look at styling and designing the page + keywords: [] + noIndex: true +--- +ads + +`jkhlkjh. ihlkj h lkjhlk.jh l zuti76trf. Claude is a spazz!` diff --git a/src/definitions/collections/meta/posts.ts b/src/definitions/collections/meta/posts.ts new file mode 100644 index 0000000..b0ad59f --- /dev/null +++ b/src/definitions/collections/meta/posts.ts @@ -0,0 +1,14 @@ +import { collection } from '@keystatic/core' +import { articleFields, articleFieldSchema } from '../../fields/article.ts' + +export const MetaPostsCollection = collection({ + label: 'Meta – Posts', + slugField: 'title', + path: 'src/content/the-metatron/*', + format: { contentField: 'content' }, + schema: { + ...articleFields, + }, +}) + +export const MetaPostCollectionSchema = articleFieldSchema diff --git a/src/definitions/collections/system/authors.ts b/src/definitions/collections/system/authors.ts new file mode 100644 index 0000000..844c37b --- /dev/null +++ b/src/definitions/collections/system/authors.ts @@ -0,0 +1,20 @@ +import { collection, fields } from '@keystatic/core' +import { z } from 'zod' + +export const AuthorsCollection = collection({ + label: 'Authors', + slugField: 'name', + path: 'src/content/system/authors/*', + format: { data: 'json' }, + schema: { + name: fields.slug({ name: { label: 'Name' } }), + avatar: fields.image({ label: 'Avatar' }), + description: fields.text({ label: 'Description', multiline: true }), + }, +}) + +export const AuthorsCollectionSchema = z.object({ + name: z.string(), + avatar: z.string().optional(), + description: z.string().optional(), +}) diff --git a/src/definitions/collections/system/tags.ts b/src/definitions/collections/system/tags.ts new file mode 100644 index 0000000..39a3a54 --- /dev/null +++ b/src/definitions/collections/system/tags.ts @@ -0,0 +1,20 @@ +import { collection, fields } from '@keystatic/core' +import { z } from 'zod' + +export const TagsCollection = collection({ + label: 'Tags', + slugField: 'name', + path: 'src/content/system/tags/*', + format: { data: 'json' }, + schema: { + name: fields.slug({ name: { label: 'Name' } }), + icon: fields.image({ label: 'Icon' }), + description: fields.text({ label: 'Description', multiline: true }), + }, +}) + +export const TagsCollectionSchema = z.object({ + name: z.string(), + icon: z.string().optional(), + description: z.string().optional(), +}) diff --git a/src/definitions/fields/article.ts b/src/definitions/fields/article.ts new file mode 100644 index 0000000..8318f0d --- /dev/null +++ b/src/definitions/fields/article.ts @@ -0,0 +1,21 @@ +import { fields } from '@keystatic/core' +import { z } from 'zod' + +import { publishingField, publishingFieldSchema } from './publishing.ts' +import { seoField, seoFieldSchema } from './seo.ts' + +export const articleFields = { + title: fields.slug({ name: { label: 'Title' } }), + summary: fields.text({ label: 'Summary', multiline: true }), + publishing: publishingField, + seo: seoField, + content: fields.markdoc({ label: 'Content' }), +} + +export const articleFieldSchema = z.object({ + title: z.string(), + summary: z.string().optional(), + publishing: publishingFieldSchema, + seo: seoFieldSchema, + content: z.string().optional(), +}) diff --git a/src/definitions/fields/publishing.ts b/src/definitions/fields/publishing.ts new file mode 100644 index 0000000..983b4e6 --- /dev/null +++ b/src/definitions/fields/publishing.ts @@ -0,0 +1,64 @@ +import { fields } from '@keystatic/core' +import { z } from 'zod' + +export const publishingField = fields.object( + { + publishDate: fields.date({ label: 'Publish Date' }), + editDate: fields.date({ label: 'Edit Date' }), + status: fields.select({ + label: 'Status', + options: [ + { label: 'Draft', value: 'draft' }, + { label: 'Published', value: 'published' }, + { label: 'Archived', value: 'archived' }, + ], + defaultValue: 'draft', + }), + cover: fields.object( + { + src: fields.image({ label: 'Image' }), + alt: fields.text({ label: 'Alt' }), + }, + { + label: 'Cover', + } + ), + featured: fields.checkbox({ + label: 'Featured', + description: 'Show on Homepage', + }), + tags: fields.array( + fields.relationship({ + label: 'Tags', + collection: 'tags', + }), + { + label: 'Tags', + itemLabel: (props) => props.value || 'Select Tag', + } + ), + author: fields.relationship({ + label: 'Author', + collection: 'authors', + }), + }, + { + label: 'Publishing', + layout: [4, 4, 4, 12, 12, 12, 12], + } +) + +export const publishingFieldSchema = z.object({ + publishDate: z.date().optional(), + editDate: z.date().optional(), + status: z.enum(['draft', 'published', 'archived']), + cover: z + .object({ + src: z.string(), + alt: z.string(), + }) + .optional(), + featured: z.boolean().default(false), + tags: z.array(z.string()).optional(), + author: z.string().optional(), +}) diff --git a/src/definitions/fields/seo.ts b/src/definitions/fields/seo.ts new file mode 100644 index 0000000..36e324d --- /dev/null +++ b/src/definitions/fields/seo.ts @@ -0,0 +1,33 @@ +import { fields } from '@keystatic/core' +import { z } from 'zod' + +export const seoField = fields.object( + { + metaTitle: fields.text({ + label: 'Meta Title', + validation: { length: { max: 60 } }, + }), + metaDescription: fields.text({ + label: 'Meta Description', + multiline: true, + validation: { length: { max: 160 } }, + }), + keywords: fields.array(fields.text({ label: 'Keyword' }), { + label: 'SEO Keywords', + }), + noIndex: fields.checkbox({ + label: 'No Index', + description: 'Prevent search engines from indexing', + }), + }, + { + label: 'SEO Settings', + } +) + +export const seoFieldSchema = z.object({ + metaTitle: z.string().optional(), + metaDescription: z.string().optional(), + keywords: z.array(z.string()).optional(), + noIndex: z.boolean().default(false), +}) diff --git a/src/pages/index.astro b/src/pages/index.astro index 3d6e05e..c66456b 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -5,169 +5,309 @@ import Layout from '../layouts/base.astro'

Rods pursued studies dearer dangers Mellon spears lodgings.

-

Language Sméagol where? Forest cesspits talked reclaim verse dungeon Envenom 60 then venerable prolonging! There is only one Lord of the Ring.

+

+ Language Sméagol where? Forest cesspits talked reclaim verse dungeon + Envenom 60 then venerable prolonging! There is only one Lord of the Ring. +

Breeding job clothing talks caught Freda trust.

-

East dry because slinker deeper quarry knocks Sit. Treachery Front whim. Even the smallest person can change the course of the future.

+

+ East dry because slinker deeper quarry knocks Sit. Treachery Front whim. + Even the smallest person can change the course of the future. +

Fence Toby reaction greed fired parting!

-

Do not take me for some conjurer of cheap tricks. Room aged Hobbitses! Wall odds force simply shield hmm Tuckborough pearl privilege grows. Ride amazing seeps lake guardian pretty Arwen retrieve stroke steps?

+

+ Do not take me for some conjurer of cheap tricks. Room aged Hobbitses! + Wall odds force simply shield hmm Tuckborough pearl privilege grows. Ride + amazing seeps lake guardian pretty Arwen retrieve stroke steps? +

    -
  • Primary Equipment Loadout - Every adventurer must carry essential gear including weapons, armor, survival tools, and emergency supplies that could mean the difference between life and death in the depths of forgotten dungeons and abandoned ruins.
  • -
  • Weapon Categories and Combat Applications +
  • + Primary Equipment Loadout - Every adventurer must carry essential gear + including weapons, armor, survival tools, and emergency supplies that + could mean the difference between life and death in the depths of + forgotten dungeons and abandoned ruins. +
  • +
  • + Weapon Categories and Combat Applications
      -
    • Melee Weapons - Close combat instruments ranging from simple clubs and daggers to sophisticated swords and war hammers, each designed for specific tactical situations and requiring different skill sets to master effectively.
    • -
    • Ranged Weapons and Projectile Systems +
    • + Melee Weapons - Close combat instruments ranging from simple clubs + and daggers to sophisticated swords and war hammers, each designed + for specific tactical situations and requiring different skill sets + to master effectively. +
    • +
    • + Ranged Weapons and Projectile Systems
        -
      • Bows and Crossbows - Traditional projectile weapons that rely on mechanical tension to launch arrows and bolts with deadly accuracy across considerable distances, favored by hunters and scouts.
      • -
      • Firearms and Explosive Devices +
      • + Bows and Crossbows - Traditional projectile weapons that rely on + mechanical tension to launch arrows and bolts with deadly + accuracy across considerable distances, favored by hunters and + scouts. +
      • +
      • + Firearms and Explosive Devices
          -
        • Pistols - Compact handheld firearms suitable for close-quarters combat and as backup weapons when primary armaments fail or become unusable in tight spaces.
        • -
        • Rifles - Long-barreled precision weapons designed for accuracy at extended ranges, ideal for eliminating threats before they can close to melee distance.
        • -
        • Heavy Weapons - Devastating armaments including cannons, siege engines, and experimental warpstone-powered devices that can breach fortifications and eliminate multiple enemies.
        • +
        • + Pistols - Compact handheld firearms suitable for + close-quarters combat and as backup weapons when primary + armaments fail or become unusable in tight spaces. +
        • +
        • + Rifles - Long-barreled precision weapons designed for + accuracy at extended ranges, ideal for eliminating threats + before they can close to melee distance. +
        • +
        • + Heavy Weapons - Devastating armaments including cannons, + siege engines, and experimental warpstone-powered devices + that can breach fortifications and eliminate multiple + enemies. +
      • -
      • Thrown Weapons - Projectiles designed for manual deployment including knives, axes, and specialized implements that require significant skill and practice to use effectively in combat situations.
      • +
      • + Thrown Weapons - Projectiles designed for manual deployment + including knives, axes, and specialized implements that require + significant skill and practice to use effectively in combat + situations. +
    • -
    • Magic Items and Enchanted Artifacts - Supernatural implements that harness arcane energies to produce effects beyond the capabilities of mundane equipment, often requiring specific knowledge or bloodlines to activate safely.
    • +
    • + Magic Items and Enchanted Artifacts - Supernatural implements that + harness arcane energies to produce effects beyond the capabilities + of mundane equipment, often requiring specific knowledge or + bloodlines to activate safely. +
  • -
  • Protective Gear and Defensive Equipment - Armor systems, shields, and other defensive measures designed to reduce incoming damage and improve survival chances against the horrors that lurk in the darkness below.
  • +
  • + Protective Gear and Defensive Equipment - Armor systems, shields, and + other defensive measures designed to reduce incoming damage and improve + survival chances against the horrors that lurk in the darkness below. +
  • Helm's Deep saws rip outer special bowl determined.
  • -
  • Breached forgive Hornblowers galumphing drums respectable wretched.
  • +
  • + Breached forgive Hornblowers galumphing drums respectable wretched. +
  • Mellon slightest uttermost Isildur's sakes em.
  • Degree bone rift where sleep judgment Mordor.
  • -
  • Tickle watchful lightest dry very teaching pushes picking Shire root.
  • +
  • + Tickle watchful lightest dry very teaching pushes picking Shire root. +

Maggot devils tea resisted person Sauron the White mist.

-

You shall not pass! Pelennor squash least crunchable feel faithless years well-done fun. Rock ending almost shared extend crooked alliances possible nightfall Dwarf fine risky.

+

+ You shall not pass! Pelennor squash least crunchable feel faithless years + well-done fun. Rock ending almost shared extend crooked alliances possible + nightfall Dwarf fine risky. +

    -
  1. Character Creation Process - The systematic approach to developing a playable character including attribute generation, skill selection, equipment procurement, and background development that establishes the foundation for all future adventures.
  2. -
  3. Combat Rules and Tactical Systems +
  4. + Character Creation Process - The systematic approach to developing a + playable character including attribute generation, skill selection, + equipment procurement, and background development that establishes the + foundation for all future adventures. +
  5. +
  6. + Combat Rules and Tactical Systems
      -
    1. Initiative Phase Determination - The method by which turn order is established at the beginning of combat encounters, typically involving dice rolls modified by relevant characteristics and environmental factors.
    2. -
    3. Action Resolution Mechanics and Probability Systems +
    4. + Initiative Phase Determination - The method by which turn order is + established at the beginning of combat encounters, typically + involving dice rolls modified by relevant characteristics and + environmental factors. +
    5. +
    6. + Action Resolution Mechanics and Probability Systems
        -
      1. Roll percentile dice against relevant skill values - The core mechanic requiring players to generate random numbers between 1 and 100 and compare the result to their character's applicable skill rating.
      2. -
      3. Compare results to skill values and apply situational modifiers +
      4. + Roll percentile dice against relevant skill values - The core + mechanic requiring players to generate random numbers between 1 + and 100 and compare the result to their character's applicable + skill rating. +
      5. +
      6. + Compare results to skill values and apply situational modifiers
          -
        1. Success conditions require rolling under the target skill value after applying all relevant bonuses and penalties from equipment, positioning, and environmental conditions.
        2. -
        3. Failure occurs when the dice result exceeds the modified skill value, resulting in missed attacks, failed attempts, or other negative outcomes depending on the specific action attempted.
        4. -
        5. Critical results happen on natural rolls of 01-05 for automatic success or 96-00 for catastrophic failure, regardless of skill levels or modifiers applied to the attempt.
        6. +
        7. + Success conditions require rolling under the target skill + value after applying all relevant bonuses and penalties from + equipment, positioning, and environmental conditions. +
        8. +
        9. + Failure occurs when the dice result exceeds the modified + skill value, resulting in missed attacks, failed attempts, + or other negative outcomes depending on the specific action + attempted. +
        10. +
        11. + Critical results happen on natural rolls of 01-05 for + automatic success or 96-00 for catastrophic failure, + regardless of skill levels or modifiers applied to the + attempt. +
      7. -
      8. Apply environmental modifiers, equipment bonuses, and situational penalties that reflect the current tactical situation and the character's preparation level for the specific challenge being attempted.
      9. +
      10. + Apply environmental modifiers, equipment bonuses, and + situational penalties that reflect the current tactical + situation and the character's preparation level for the specific + challenge being attempted. +
    7. -
    8. Damage Resolution and Wound Tracking - The system for determining injury severity, applying armor protection values, and tracking the cumulative effects of combat damage on character performance and survival.
    9. +
    10. + Damage Resolution and Wound Tracking - The system for determining + injury severity, applying armor protection values, and tracking the + cumulative effects of combat damage on character performance and + survival. +
  7. -
  8. Experience and Advancement Systems - The mechanisms by which characters improve their capabilities over time through successful completion of adventures, skill usage, and deliberate training between expeditions.
  9. +
  10. + Experience and Advancement Systems - The mechanisms by which characters + improve their capabilities over time through successful completion of + adventures, skill usage, and deliberate training between expeditions. +
  1. Spent begins Saruman become interrupt thing arts wide.
  2. Barad-dûr gives forest worm closer.
  3. Comings mission province Haleth character chill special service?
  4. -
  5. Fine mean hours triumph loyal jelly league someone's raze Bagshot!
  6. +
  7. + Fine mean hours triumph loyal jelly league someone's raze Bagshot! +
  8. Bars ostler crack spreads should spring too dissuade s World.

Else ah Bolger torment minutes hours.

-

Possibly Moon effect utterly tipsy overcrowd next misplaced? Covet parting Brandybuck hungers crevice hours pork haven't tempted clothing. All right, then. Keep your secrets.

+

+ Possibly Moon effect utterly tipsy overcrowd next misplaced? Covet parting + Brandybuck hungers crevice hours pork haven't tempted clothing. All right, + then. Keep your secrets. +

- - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + +
UnfoldGrumblingAgoLifetimePillaged
UnfoldGrumblingAgoLifetimePillaged
Ladwhiparrowsfairerbeggedstabs
Appreciationtrouble-makingalonehorridprovethey'll
Filthytombsvesttorchesbarrelspowerful
Insteadforetoldranksstarejoyunequaled
Knewrelationsfightingspiritsgongsbears
Seasoningnutone'sapprovegrayblessing
Ladwhiparrowsfairerbeggedstabs
Appreciationtrouble-makingalonehorridprovethey'll
Filthytombsvesttorchesbarrelspowerful
Insteadforetoldranksstarejoyunequaled
Knewrelationsfightingspiritsgongsbears
Seasoningnutone'sapprovegrayblessing
beheadingdisturberlaidforthwatchingdomains
beheadingdisturberlaidforthwatchingdomains

Sodding tongue Elros leaves perceived south pocket.

-

Born revenge utterly that'll Goblin-town gladness. Chips sustained times apocalypse closest Alfrid grow. I can cut across country easily enough. Clearing toss unhappy Smeagol's gifted?

+

+ Born revenge utterly that'll Goblin-town gladness. Chips sustained times + apocalypse closest Alfrid grow. I can cut across country easily enough. + Clearing toss unhappy Smeagol's gifted? +

Sam... I'm glad you are with me.

—Ravens, shore wizards skin harpoon
- Industrial machinery in abandoned factory -
Rusted conveyor systems in the former Blackwater Manufacturing plant, photographed during demolition in 2023.
-
+ Industrial machinery in abandoned factory +
+ Rusted conveyor systems in the former Blackwater Manufacturing plant, + photographed during demolition in 2023. +
+
-

More glad painted Sauron the White troop holidays captive has. Many pierced repel bathroom absence glimpse Tom. All right, then. Keep your secrets.

+

+ More glad painted Sauron the White troop holidays captive has. Many + pierced repel bathroom absence glimpse Tom. All right, then. Keep your + secrets. +

-
Common saying among veteran adventurers in the Undercity.
+
+ Common saying among veteran adventurers in the Undercity. +
Equipment Requirements -

All adventurers must carry a minimum of: one weapon (melee or ranged), basic armor or protective gear, emergency rations for 3 days, torch or light source, 50 feet of rope, and a first aid kit.

-

Optional but recommended: lockpicks, crowbar, grappling hook, healing potions, and backup weapon.

+

+ All adventurers must carry a minimum of: one weapon (melee or ranged), + basic armor or protective gear, emergency rations for 3 days, torch or + light source, 50 feet of rope, and a first aid kit. +

+

+ Optional but recommended: lockpicks, crowbar, grappling hook, healing + potions, and backup weapon. +

@@ -176,7 +316,10 @@ import Layout from '../layouts/base.astro'

Roll 1d10 + Initiative characteristic. Highest goes first.

Attack Resolution

-

Roll percentile dice under your relevant skill. Success means you hit, failure means you miss.

+

+ Roll percentile dice under your relevant skill. Success means you hit, + failure means you miss. +

  • Melee combat uses Weapon Skill
  • @@ -187,20 +330,52 @@ import Layout from '../layouts/base.astro'
    Currently Expanded Section -

    This details element starts open to test the expanded state styling.

    +

    + This details element starts open to test the expanded state styling. +

    -
    Raised Morgoth powerless roaming sing fire-breather regurgitation was.
    -

    More glad painted Sauron the White troop holidays captive has. Many pierced repel bathroom absence glimpse Tom. All right, then. Keep your secrets.

    +
    + Raised Morgoth powerless roaming sing fire-breather regurgitation was. +
    +

    + More glad painted Sauron the White troop holidays captive has. Many + pierced repel bathroom absence glimpse Tom. All right, then. Keep your + secrets. +

    Prepared Tilda adventure characters crush. Wilds overlook blessed walk requested. Ligulas sat eavesdropping breathes exceeding dim. Deeper clever becomes regain Dimholt fronts.
    Resilient closest regret vile birthright innards Middle-earth.
    -

    Shire herald dear hard army carry without proposition. Thranduil faint me chiefest middle hey-diddle-diddle squeaked sawed landlord. Hallway clot-head's injury journey Minas Morgul hasty? Ring sight fit Boffins S. Manage Bifur ways pity's swarming doubt. Wilderness breathing woe liege Khazad-dum King's handy! Join corpses rack tongs knockers gongs four-day Théoden's idiot. Hooded Kingsfoil biding may. Extra passion cutting skinned. Hurry problem delays Bucklebury. Corks hell hundred deal Barahir unprepared. What'll Dwarvish down bought haunted steps. Master's given Hobbit afterwards bodies gibbet. Towers stars productive Baggins. Juicy opinion note Déagol tough books spreads. Decide imaginable Goblin-mutant Silvan fellow. Sit Agreed thick drink pearl tale. Legolas approve night's retrieve endless.

    -
    +

    + Shire herald dear hard army carry without proposition. Thranduil + faint me chiefest middle hey-diddle-diddle squeaked sawed landlord. Hallway clot-head's injury journey Minas Morgul hasty? Ring sight fit Boffins S. Manage + Bifur ways pity's swarming doubt. Wilderness breathing woe liege + Khazad-dum King's handy! Join corpses rack tongs knockers gongs four-day Théoden's idiot. Hooded Kingsfoil biding may. Extra passion cutting skinned. Hurry problem delays Bucklebury. Corks + hell hundred deal Barahir unprepared. What'll Dwarvish down + bought haunted steps. Master's given Hobbit afterwards bodies gibbet. Towers stars productive Baggins. Juicy opinion note Déagol tough books spreads. Decide imaginable Goblin-mutant Silvan fellow. Sit Agreed thick drink pearl tale. Legolas approve night's + retrieve endless. +

    +
    How
    -
    Looks resilient eggs Tauriel higher supplant evisceration idiot barely.
    +
    + Looks resilient eggs Tauriel higher supplant evisceration idiot barely. +
    Names
    Slugs play Dwalin late parapet ending how morning?
    -
    Holidays even disease thunder-battle nice irregular cooked trouble'll Minas Tirith mistaken!
    +
    + Holidays even disease thunder-battle nice irregular cooked trouble'll + Minas Tirith mistaken! +
    Mice
    Productive Sit mend ones raiding hutch couldn't thirty-four.
    Facing others act doing lives usually pity Legolas laws daughter.
    @@ -211,47 +386,47 @@ import Layout from '../layouts/base.astro' Need bandy council
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -262,45 +437,45 @@ import Layout from '../layouts/base.astro' Wring moments
    - +
    - +
    - +
    - +
    - +
    - +
    - - - + + +
    - +
    - +
    - +
    - +
    diff --git a/src/pages/the-metatron/[...slug].astro b/src/pages/the-metatron/[...slug].astro new file mode 100644 index 0000000..49d6fbe --- /dev/null +++ b/src/pages/the-metatron/[...slug].astro @@ -0,0 +1,73 @@ +--- +export const prerender = true + +import { createReader } from '@keystatic/core/reader' +import keystaticConfig from '../../../keystatic.config' +import Markdoc from '@markdoc/markdoc' + +export async function getStaticPaths() { + const reader = createReader(process.cwd(), keystaticConfig) + const slugs = await reader.collections['meta_posts'].list() + + return slugs.map((slug) => ({ + params: { slug }, + props: { slug }, + })) +} + +const { slug } = Astro.props +const reader = createReader(process.cwd(), keystaticConfig) +const post = await reader.collections['meta_posts'].read(slug) + +// Render Markdoc content +const contentAst = await post.content() +const astNode = contentAst.node +const transformed = Markdoc.transform(astNode) +const htmlContent = Markdoc.renderers.html(transformed) +--- + + + + {post.title} + {post.seo?.metaTitle && {post.seo.metaTitle}} + { + post.seo?.metaDescription && ( + + ) + } + {post.seo?.noIndex && } + + +
    +
    +
    +

    {post.title}

    + {post.summary &&

    {post.summary}

    } + +
    + {post.publishing?.status} + { + post.publishing?.publishDate && ( + + ) + } +
    +
    + +
    + + { + post.publishing?.tags && post.publishing.tags.length > 0 && ( + + ) + } +
    +
    + +