feat(plugins): bundle project scaffold marketplace plugin

This commit is contained in:
2026-09-04 22:21:24 +08:00
parent 2207806038
commit ddb678b46f
23 changed files with 218 additions and 86 deletions

View File

@@ -0,0 +1,15 @@
{
"name": "makelore-project",
"version": "0.1.0",
"private": true,
"type": "module",
"packageManager": "npm@11.6.2",
"scripts": {
"dev": "vite --host 0.0.0.0",
"build": "vite build",
"preview": "vite preview --host 0.0.0.0"
},
"devDependencies": {
"vite": "7.3.1"
}
}

View File

@@ -0,0 +1,5 @@
import { defineConfig } from 'vite';
export default defineConfig({
base: './',
});

View File

@@ -0,0 +1,20 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MakeLore 交互式 AI 应用</title>
</head>
<body>
<main class="page" id="app">
<section class="card">
<p class="eyebrow">MAKELORE</p>
<h1>交互式 AI 应用</h1>
<p>这是你的创作起点。修改页面、加入交互,让想法真正运行起来。</p>
<button type="button">开始互动</button>
<p class="status" aria-live="polite">已经准备好了</p>
</section>
</main>
<script type="module" src="./src/main.js"></script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
import './style.css';
const button = document.querySelector('button');
const status = document.querySelector('.status');
let interactions = 0;
button.addEventListener('click', () => {
interactions += 1;
status.textContent = `已完成 ${interactions} 次互动`;
});

View File

@@ -0,0 +1,16 @@
:root {
color: #192033;
background: #eef1ff;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; }
.page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.card { width: min(520px, 100%); border: 1px solid rgb(86 91 150 / 18%); border-radius: 28px; background: rgb(255 255 255 / 88%); padding: clamp(28px, 7vw, 52px); box-shadow: 0 24px 80px rgb(62 68 128 / 16%); }
.eyebrow { margin: 0 0 12px; color: #6558d9; font-size: 12px; font-weight: 800; letter-spacing: 0.18em; }
h1 { margin: 0; font-size: clamp(34px, 8vw, 58px); line-height: 1.05; letter-spacing: -0.04em; }
.card > p:not(.eyebrow) { line-height: 1.7; }
button { min-height: 44px; margin-top: 12px; border: 0; border-radius: 14px; background: #6558d9; color: #fff; padding: 12px 20px; font: inherit; font-weight: 750; cursor: pointer; }
button:hover { background: #5145c5; }
.status { color: #596078; font-size: 14px; }