diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a47111a7e..1c253059e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -54,5 +54,5 @@ jobs:
run: pnpm test:e2e
- name: Publish preview packages
- if: matrix.node-version == '22.11.0' && matrix.os == 'ubuntu-latest'
+ if: github.event_name == 'pull_request' && matrix.node-version == '22.11.0' && matrix.os == 'ubuntu-latest'
run: ./scripts/publish-preview-packages.sh ${{ github.event.pull_request.base.ref }}
diff --git a/docs/.vitepress/theme/Layout.vue b/docs/.vitepress/theme/Layout.vue
new file mode 100644
index 000000000..948111ad9
--- /dev/null
+++ b/docs/.vitepress/theme/Layout.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.ts
similarity index 57%
rename from docs/.vitepress/theme/index.js
rename to docs/.vitepress/theme/index.ts
index 377674b5e..f03e1a4ac 100644
--- a/docs/.vitepress/theme/index.js
+++ b/docs/.vitepress/theme/index.ts
@@ -1,6 +1,13 @@
// eslint-disable-next-line simple-import-sort/imports
+import type { Theme } from 'vitepress';
import DefaultTheme from 'vitepress/theme';
+
// custom CSS must be imported after default theme to correctly apply styles
import './custom.css';
-export default DefaultTheme;
+import Layout from './Layout.vue';
+
+export default {
+ Layout,
+ extends: DefaultTheme,
+} satisfies Theme;