From 3cc0fa9bf6c6f0b166cc38fe977ab3085a7b83e2 Mon Sep 17 00:00:00 2001
From: unanmed <1319491857@qq.com>
Date: Thu, 29 Oct 2026 20:26:02 +0800
Subject: [PATCH] =?UTF-8?q?docs:=20=E9=AA=8C=E8=AF=81=E6=B8=B2=E6=9F=93?=
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=8F=AF=E4=BB=A5=E5=B5=8C=E5=85=A5=E6=96=87?=
=?UTF-8?q?=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/demos/basicRender.vue | 50 ++++++++
docs/.vitepress/components/demos/uiSystem.vue | 120 ++++++++++++++++++
docs/.vitepress/components/renderDemo.vue | 84 ++++++++++++
docs/.vitepress/config.ts | 45 ++++++-
docs/poc/render-demo.md | 26 ++++
docs/tsconfig.json | 16 +++
6 files changed, 340 insertions(+), 1 deletion(-)
create mode 100644 docs/.vitepress/components/demos/basicRender.vue
create mode 100644 docs/.vitepress/components/demos/uiSystem.vue
create mode 100644 docs/.vitepress/components/renderDemo.vue
create mode 100644 docs/poc/render-demo.md
create mode 100644 docs/tsconfig.json
diff --git a/docs/.vitepress/components/demos/basicRender.vue b/docs/.vitepress/components/demos/basicRender.vue
new file mode 100644
index 0000000..1577085
--- /dev/null
+++ b/docs/.vitepress/components/demos/basicRender.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/components/demos/uiSystem.vue b/docs/.vitepress/components/demos/uiSystem.vue
new file mode 100644
index 0000000..6cf03bc
--- /dev/null
+++ b/docs/.vitepress/components/demos/uiSystem.vue
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/components/renderDemo.vue b/docs/.vitepress/components/renderDemo.vue
new file mode 100644
index 0000000..8ed38a8
--- /dev/null
+++ b/docs/.vitepress/components/renderDemo.vue
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index a4b3502..4d66cfc 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -1,7 +1,30 @@
import { defineConfig } from 'vitepress';
import { MermaidMarkdown, MermaidPlugin } from 'vitepress-plugin-mermaid';
+import vuejsx from '@vitejs/plugin-vue-jsx';
import { join } from 'path';
+/** 文档站内的自定义渲染标签,与主站 vite.config.ts 保持一致 */
+const custom = [
+ 'container',
+ 'custom',
+ 'text',
+ 'image',
+ 'shader',
+ 'comment',
+ 'custom-container',
+ 'map-render',
+ 'animate',
+ 'damage',
+ 'graphics',
+ 'icon',
+ 'winskin'
+];
+
+/** 判断一个标签是否为自定义渲染标签 */
+function isCustomElement(tag: string): boolean {
+ return custom.includes(tag) || tag.startsWith('g-');
+}
+
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: 'HTML5 魔塔样板 V2.B',
@@ -298,9 +321,29 @@ export default defineConfig({
label: '中文'
}
},
+ vue: {
+ template: {
+ compilerOptions: {
+ isCustomElement
+ }
+ }
+ },
vite: {
// @ts-expect-error 类型错误
- plugins: [MermaidPlugin()],
+ plugins: [MermaidPlugin(), vuejsx({ isCustomElement })],
+ resolve: {
+ alias: [
+ {
+ find: /^@motajs\/(.+)$/,
+ replacement: `${process.cwd()}/packages/$1/src`
+ },
+ {
+ find: /^@user\/(.+)$/,
+ replacement: `${process.cwd()}/packages-user/$1/src`
+ }
+ ],
+ dedupe: ['vue']
+ },
optimizeDeps: {
include: ['mermaid']
},
diff --git a/docs/poc/render-demo.md b/docs/poc/render-demo.md
new file mode 100644
index 0000000..04c95ac
--- /dev/null
+++ b/docs/poc/render-demo.md
@@ -0,0 +1,26 @@
+# 渲染器内嵌演示(临时技术验证)
+
+本页是「文档内嵌可运行示例」的**临时技术验证页**,不进入导航;POC 通过后再由用户决定是否保留。
+
+## 覆盖范围
+
+- 渲染基础:容器、矩形、圆、文字,以及点击图形后计数与颜色的变化。
+- UISystem:`UIController` 打开 / 关闭一个最小 UI,页面上的栈长度与打开状态随之变化。
+
+两个示例都只在浏览器中挂载;构建期预渲染会跳过它们,因此不会触碰 `document`。
+
+
+
+
+
+ 渲染示例需要浏览器环境。
+
+
+
+
diff --git a/docs/tsconfig.json b/docs/tsconfig.json
new file mode 100644
index 0000000..07705ee
--- /dev/null
+++ b/docs/tsconfig.json
@@ -0,0 +1,16 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "baseUrl": "..",
+ "ignoreDeprecations": "6.0",
+ "paths": {
+ "@motajs/*": ["./packages/*/src"],
+ "@user/*": ["./packages-user/*/src"]
+ }
+ },
+ "include": [
+ "./.vitepress/**/*.ts",
+ "./.vitepress/**/*.vue",
+ "../src/types/vite-env.d.ts"
+ ]
+}