From cb8f9701c3dde7e5de3237512d6c4ab687bb3315 Mon Sep 17 00:00:00 2001 From: Void Date: Sat, 7 Nov 2026 12:56:49 +0000 Subject: [PATCH 1/4] fix: cast satori input to its declared node type tsc rejects the preact VNode returned by the image component as satori's React ReactNode (TS2345), failing npm run check on main. Cast at the one call site; runtime is unchanged. Co-Authored-By: Claude Sonnet 5.5 --- quartz/plugins/emitters/ogImage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quartz/plugins/emitters/ogImage.tsx b/quartz/plugins/emitters/ogImage.tsx index dae44b9..f0e6015 100644 --- a/quartz/plugins/emitters/ogImage.tsx +++ b/quartz/plugins/emitters/ogImage.tsx @@ -98,7 +98,7 @@ async function generateSocialImage( imageBase64, }) - const svg = await satori(imageComponent, { + const svg = await satori(imageComponent as unknown as Parameters[0], { width, height, fonts, From 8bf428c6ef2b72bb8e0cd168a85614797a3452de Mon Sep 17 00:00:00 2001 From: Void Date: Mon, 9 Nov 2026 13:38:00 +0000 Subject: [PATCH 2/4] CI: run on the docker runner label (ci.yaml matrix) Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5bfa02f..15806bd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -11,7 +11,7 @@ jobs: build-and-test: strategy: matrix: - os: [ubuntu-latest] + os: [docker] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From 02bc0e04190149907bf6647690fa96fc6576b7c6 Mon Sep 17 00:00:00 2001 From: Void Date: Tue, 10 Nov 2026 06:17:06 +0000 Subject: [PATCH 3/4] Latex: let the site choose KaTeX's output mode katexOptions omitted `output`, though the option spread already honours it. A site can now ask for "htmlAndMathml" so screen readers get MathML; the default stays "html". Co-Authored-By: Claude Sonnet 5.5 --- quartz/plugins/transformers/latex.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/quartz/plugins/transformers/latex.ts b/quartz/plugins/transformers/latex.ts index a9f54f3..c33869e 100644 --- a/quartz/plugins/transformers/latex.ts +++ b/quartz/plugins/transformers/latex.ts @@ -12,7 +12,8 @@ import { Options as TypstOptions } from "@myriaddreamin/rehype-typst" interface Options { renderEngine: "katex" | "mathjax" | "typst" customMacros: MacroType - katexOptions: Omit + // `output` defaults to "html"; "htmlAndMathml" adds MathML for screen readers (KaTeX hides it visually). + katexOptions: Omit mathJaxOptions: Omit typstOptions: TypstOptions } From f6bed01377a98e46acabeec1edcee3efc2b292bb Mon Sep 17 00:00:00 2001 From: Void Date: Thu, 12 Nov 2026 09:43:38 +0000 Subject: [PATCH 4/4] Guard Pages workflow on github.server_url (#6) --- .github/workflows/quartz-pages.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/quartz-pages.yml b/.github/workflows/quartz-pages.yml index 4baf812..c15cbdc 100644 --- a/.github/workflows/quartz-pages.yml +++ b/.github/workflows/quartz-pages.yml @@ -33,7 +33,11 @@ jobs: repository: GameCult/GameCult-Quartz path: GameCult-Quartz + # Pages actions exist only on GitHub: the forge runner resolves actions + # from data.forgejo.org, which has no actions/configure-pages, so the job + # failed there. Build always; touch Pages only on the GitHub mirror. - name: Configure Pages + if: github.server_url == 'https://github.com' uses: actions/configure-pages@v5 - name: Setup Node @@ -56,11 +60,13 @@ jobs: --outputDir "${{ inputs.output-dir }}" - name: Upload Pages artifact + if: github.server_url == 'https://github.com' uses: actions/upload-pages-artifact@v3 with: path: ${{ inputs.output-dir }} deploy: + if: github.server_url == 'https://github.com' environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }}