webcake-storefront-mcp 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/changelog.json +7 -7
- package/dist/web-guide.js +101 -87
- package/package.json +1 -1
package/dist/changelog.json
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"v": "1.7.0",
|
|
4
|
+
"d": "23/06/2026",
|
|
5
|
+
"type": "Changed",
|
|
6
|
+
"en": "The web guide landing page (served via the serve command) is reframed to lead on full-storefront creation: the hero, meta description, \"What you…",
|
|
7
|
+
"vi": "Trang web guide (phục vụ qua lệnh serve) được viết lại để làm nổi bật việc xây dựng toàn bộ cửa hàng: hero, meta description, thư viện \"Bạn dựng…"
|
|
8
|
+
},
|
|
2
9
|
{
|
|
3
10
|
"v": "1.6.0",
|
|
4
11
|
"d": "23/06/2026",
|
|
@@ -33,12 +40,5 @@
|
|
|
33
40
|
"type": "Added",
|
|
34
41
|
"en": "New create_site tool creates a brand-new storefront site for the current account (seeded with sample products, categories, and a blog), optionally…",
|
|
35
42
|
"vi": "Tool mới create_site tạo một site storefront hoàn toàn mới cho tài khoản hiện tại (kèm sản phẩm, danh mục và blog mẫu), tự động chuyển sang site vừa…"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"v": "1.2.0",
|
|
39
|
-
"d": "23/06/2026",
|
|
40
|
-
"type": "Added",
|
|
41
|
-
"en": "upload_images replaces upload_image with batch support (1–20 sources per call), parallel uploads, and a dry_run mode that previews what would be…",
|
|
42
|
-
"vi": "upload_images thay thế upload_image với khả năng xử lý hàng loạt (1–20 nguồn mỗi lần gọi), tải song song, và chế độ dry_run cho phép xem trước những…"
|
|
43
43
|
}
|
|
44
44
|
]
|
package/dist/web-guide.js
CHANGED
|
@@ -79,13 +79,13 @@ function tile(name) {
|
|
|
79
79
|
const META = {
|
|
80
80
|
vi: {
|
|
81
81
|
title: "WebCake Storefront — Tạo website bán hàng chỉ bằng cách trò chuyện",
|
|
82
|
-
desc: "Bạn nói ý tưởng, trợ lý AI dựng
|
|
82
|
+
desc: "Bạn nói ý tưởng, trợ lý AI dựng cả cửa hàng — tạo sản phẩm, danh mục, trang bán hàng và bài viết có ảnh — rồi xuất bản. Không cần kéo-thả hay biết lập trình. Kết nối Claude, Cursor, Windsurf với cửa hàng WebCake/StoreCake của bạn.",
|
|
83
83
|
keywords: "WebCake, StoreCake, storefront, AI, Claude, Cursor, Windsurf, tạo trang bán hàng, website bán hàng, no-code, bán hàng online, tạo trang bằng AI",
|
|
84
84
|
locale: "vi_VN",
|
|
85
85
|
},
|
|
86
86
|
en: {
|
|
87
87
|
title: "WebCake Storefront — Build your online store just by chatting",
|
|
88
|
-
desc: "Tell your AI assistant
|
|
88
|
+
desc: "Tell your AI assistant your idea and it builds an entire store — creating products, categories, shop pages and blog posts with images — then publishes. No dragging blocks, no coding. Works with Claude, Cursor, Windsurf and more.",
|
|
89
89
|
keywords: "WebCake, StoreCake, storefront, AI, Claude, Cursor, Windsurf, AI page builder, no-code, e-commerce, online store builder",
|
|
90
90
|
locale: "en_US",
|
|
91
91
|
},
|
|
@@ -139,11 +139,11 @@ const FAQ = {
|
|
|
139
139
|
};
|
|
140
140
|
const T = {
|
|
141
141
|
vi: {
|
|
142
|
-
sub: "
|
|
142
|
+
sub: "Dựng cả một cửa hàng online — sản phẩm, danh mục, trang, bài viết — chỉ bằng cách trò chuyện. Không cần biết lập trình.",
|
|
143
143
|
running: "Đang hoạt động",
|
|
144
|
-
leadPre: "Bạn nói
|
|
145
|
-
leadGrad: "đăng lên là
|
|
146
|
-
leadPost: ". Không kéo-thả, không học gì thêm —
|
|
144
|
+
leadPre: "Bạn nói ý tưởng, trợ lý AI dựng nguyên một cửa hàng trên WebCake — tạo sản phẩm, danh mục và trang bán hàng có ảnh — bạn xem trước rồi ",
|
|
145
|
+
leadGrad: "đăng lên là bán",
|
|
146
|
+
leadPost: ". Không kéo-thả, không học gì thêm — nhanh hơn thuê người làm web cả tuần.",
|
|
147
147
|
ctaStart: "Bắt đầu ngay",
|
|
148
148
|
ctaStar: "Tặng sao trên GitHub",
|
|
149
149
|
flowH2: "Chỉ 4 bước đơn giản",
|
|
@@ -157,67 +157,67 @@ const T = {
|
|
|
157
157
|
howH2: "Tại sao dùng được ngay, không lo hỏng",
|
|
158
158
|
how: [
|
|
159
159
|
{
|
|
160
|
-
icon: "
|
|
161
|
-
t: "
|
|
162
|
-
d: "Trợ lý
|
|
160
|
+
icon: "cart",
|
|
161
|
+
t: "Dữ liệu thật, không phải shop rỗng",
|
|
162
|
+
d: "Trợ lý tạo luôn sản phẩm, danh mục và bài viết kèm ảnh — nên lưới sản phẩm, danh mục, blog hiện nội dung thật ngay, trông như một shop đang chạy.",
|
|
163
163
|
},
|
|
164
164
|
{
|
|
165
165
|
icon: "check2",
|
|
166
|
-
t: "
|
|
167
|
-
d: "
|
|
166
|
+
t: "Chuẩn trên mọi thiết bị",
|
|
167
|
+
d: "Trang dựng đúng mô hình lưới của WebCake và tự tối ưu cho desktop, laptop, tablet và điện thoại — không lo vỡ layout.",
|
|
168
168
|
},
|
|
169
169
|
{
|
|
170
170
|
icon: "shield",
|
|
171
171
|
t: "An toàn — luôn xem trước khi lưu",
|
|
172
|
-
d: "Mọi thay đổi đều
|
|
172
|
+
d: "Mọi thay đổi đều hiển thị để bạn xem trước. Chưa xác nhận thì cửa hàng chưa bị đụng tới — bạn hoàn toàn kiểm soát.",
|
|
173
173
|
},
|
|
174
174
|
{
|
|
175
175
|
icon: "edit",
|
|
176
|
-
t: "
|
|
177
|
-
d: "Nói \"đổi nút sang
|
|
176
|
+
t: "Chỉnh đúng chỗ, xuất bản tức thì",
|
|
177
|
+
d: "Nói \"đổi nút sang tím\" hay \"thêm phần đánh giá\" — chỉ chỗ đó đổi. Ưng rồi bảo \"đăng lên\" là cửa hàng live ngay.",
|
|
178
178
|
},
|
|
179
179
|
],
|
|
180
|
-
buildH2: "Bạn
|
|
180
|
+
buildH2: "Bạn dựng được cả một cửa hàng",
|
|
181
181
|
uses: [
|
|
182
182
|
{
|
|
183
|
-
icon: "
|
|
184
|
-
t: "
|
|
185
|
-
e: '"Tạo
|
|
183
|
+
icon: "server",
|
|
184
|
+
t: "Cả cửa hàng từ con số 0",
|
|
185
|
+
e: '"Tạo cho tôi cửa hàng thời trang mới — vài danh mục, ít sản phẩm có ảnh và giá, rồi dựng trang chủ."',
|
|
186
186
|
},
|
|
187
187
|
{
|
|
188
|
-
icon: "
|
|
189
|
-
t: "
|
|
190
|
-
e: '"
|
|
188
|
+
icon: "cart",
|
|
189
|
+
t: "Sản phẩm & danh mục có ảnh",
|
|
190
|
+
e: '"Thêm 6 sản phẩm áo thun vào danh mục \"Áo thun\" — kèm ảnh, giá và mô tả."',
|
|
191
191
|
},
|
|
192
192
|
{
|
|
193
|
-
icon: "
|
|
194
|
-
t: "Trang
|
|
195
|
-
e: '"Tạo trang
|
|
193
|
+
icon: "window",
|
|
194
|
+
t: "Trang chủ bán hàng",
|
|
195
|
+
e: '"Tạo trang chủ — banner, lưới danh mục, sản phẩm nổi bật và bài viết mới."',
|
|
196
196
|
},
|
|
197
197
|
{
|
|
198
|
-
icon: "
|
|
199
|
-
t: "
|
|
200
|
-
e: '"
|
|
198
|
+
icon: "layers",
|
|
199
|
+
t: "Bộ trang bán hàng đầy đủ",
|
|
200
|
+
e: '"Dựng đủ bộ: trang sản phẩm, danh mục, giỏ hàng, thanh toán và cảm ơn."',
|
|
201
201
|
},
|
|
202
202
|
{
|
|
203
|
-
icon: "
|
|
204
|
-
t: "
|
|
205
|
-
e: '"Tạo
|
|
203
|
+
icon: "flame",
|
|
204
|
+
t: "Trang flash sale",
|
|
205
|
+
e: '"Tạo trang flash sale — đồng hồ đếm ngược, sản phẩm giảm giá, nút mua dính cố định."',
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
icon: "newspaper",
|
|
209
|
-
t: "
|
|
210
|
-
e: '"Tạo
|
|
209
|
+
t: "Blog & bài viết",
|
|
210
|
+
e: '"Tạo chuyên mục blog và 3 bài viết có ảnh bìa, rồi gắn vào trang blog."',
|
|
211
211
|
},
|
|
212
212
|
{
|
|
213
|
-
icon: "
|
|
214
|
-
t: "
|
|
215
|
-
e: '"Tạo trang
|
|
213
|
+
icon: "shield",
|
|
214
|
+
t: "Trang thành viên",
|
|
215
|
+
e: '"Tạo trang đăng nhập, đăng ký và lịch sử đơn hàng cho khách."',
|
|
216
216
|
},
|
|
217
217
|
{
|
|
218
218
|
icon: "wand",
|
|
219
|
-
t: "
|
|
220
|
-
e: '"
|
|
219
|
+
t: "Rồi chỉnh & đăng lên",
|
|
220
|
+
e: '"…\"đổi màu nút\", \"thêm phần hỏi đáp\" rồi \"đăng lên cửa hàng\" — xong."',
|
|
221
221
|
},
|
|
222
222
|
],
|
|
223
223
|
connectH2: "Kết nối trợ lý AI với cửa hàng của bạn",
|
|
@@ -254,8 +254,8 @@ const T = {
|
|
|
254
254
|
},
|
|
255
255
|
{
|
|
256
256
|
icon: "cart",
|
|
257
|
-
t: "
|
|
258
|
-
d: "
|
|
257
|
+
t: "Tạo & quản lý sản phẩm",
|
|
258
|
+
d: "Tạo sản phẩm, danh mục, combo, khuyến mãi (kèm ảnh); xem đơn hàng, bộ sưu tập và thông tin khách hàng.",
|
|
259
259
|
},
|
|
260
260
|
{
|
|
261
261
|
icon: "newspaper",
|
|
@@ -279,8 +279,8 @@ const T = {
|
|
|
279
279
|
},
|
|
280
280
|
],
|
|
281
281
|
promptH2: "Ví dụ — nói với trợ lý như thế này",
|
|
282
|
-
promptSub: "Bạn có thể nói tự nhiên bằng tiếng Việt. Ví d
|
|
283
|
-
promptEx: "Tạo cho tôi một
|
|
282
|
+
promptSub: "Bạn có thể nói tự nhiên bằng tiếng Việt. Ví dụ, dựng cả cửa hàng:",
|
|
283
|
+
promptEx: "Tạo cho tôi một cửa hàng WebCake mới cho thương hiệu [tên thương hiệu].\nTạo 2-3 danh mục, mỗi danh mục vài sản phẩm có ảnh, giá và mô tả.\nDựng trang chủ: banner, lưới danh mục, sản phẩm nổi bật và mục bài viết mới.\nThêm 1 chuyên mục blog với 1 bài viết.\nKiểm tra kỹ rồi xuất bản lên cửa hàng giúp tôi.",
|
|
284
284
|
faqH2: "Câu hỏi thường gặp",
|
|
285
285
|
newH2: "Có gì mới",
|
|
286
286
|
newBadge: "MỚI",
|
|
@@ -301,11 +301,11 @@ const T = {
|
|
|
301
301
|
],
|
|
302
302
|
},
|
|
303
303
|
en: {
|
|
304
|
-
sub: "Build
|
|
304
|
+
sub: "Build a whole online store — products, categories, pages, blog posts — just by chatting. No coding required.",
|
|
305
305
|
running: "Up and running",
|
|
306
|
-
leadPre: "You describe
|
|
306
|
+
leadPre: "You describe your idea, your AI assistant builds an entire store on WebCake — creating products, categories and shop pages with images — you preview it and ",
|
|
307
307
|
leadGrad: "publish it — done",
|
|
308
|
-
leadPost: ". No dragging blocks, nothing to learn —
|
|
308
|
+
leadPost: ". No dragging blocks, nothing to learn — faster than waiting weeks for a web agency.",
|
|
309
309
|
ctaStart: "Get started",
|
|
310
310
|
ctaStar: "Star on GitHub",
|
|
311
311
|
flowH2: "Just 4 simple steps",
|
|
@@ -319,14 +319,14 @@ const T = {
|
|
|
319
319
|
howH2: "Why you can trust it straight away",
|
|
320
320
|
how: [
|
|
321
321
|
{
|
|
322
|
-
icon: "
|
|
323
|
-
t: "
|
|
324
|
-
d: "The assistant
|
|
322
|
+
icon: "cart",
|
|
323
|
+
t: "Real data, not an empty shell",
|
|
324
|
+
d: "The assistant also creates products, categories and blog posts with images — so product grids, category tiles and the blog show real content immediately, like a store that's already trading.",
|
|
325
325
|
},
|
|
326
326
|
{
|
|
327
327
|
icon: "check2",
|
|
328
|
-
t: "
|
|
329
|
-
d: "
|
|
328
|
+
t: "Looks right on every device",
|
|
329
|
+
d: "Pages are built on WebCake's real grid model and auto-tuned for desktop, laptop, tablet and phone — no broken layouts.",
|
|
330
330
|
},
|
|
331
331
|
{
|
|
332
332
|
icon: "shield",
|
|
@@ -335,51 +335,51 @@ const T = {
|
|
|
335
335
|
},
|
|
336
336
|
{
|
|
337
337
|
icon: "edit",
|
|
338
|
-
t: "
|
|
339
|
-
d: "Say \"
|
|
338
|
+
t: "Precise edits, instant publish",
|
|
339
|
+
d: "Say \"make the button purple\" or \"add a reviews section\" — only that spot changes. Happy? Say \"publish\" and your store is live.",
|
|
340
340
|
},
|
|
341
341
|
],
|
|
342
|
-
buildH2: "
|
|
342
|
+
buildH2: "You build a whole store",
|
|
343
343
|
uses: [
|
|
344
|
+
{
|
|
345
|
+
icon: "server",
|
|
346
|
+
t: "A whole store from scratch",
|
|
347
|
+
e: '"Build me a new fashion store — a few categories, some products with images and prices, then a homepage."',
|
|
348
|
+
},
|
|
344
349
|
{
|
|
345
350
|
icon: "cart",
|
|
346
|
-
t: "
|
|
347
|
-
e: '"
|
|
351
|
+
t: "Products & categories with images",
|
|
352
|
+
e: '"Add 6 t-shirt products to the \"T-shirts\" category — with images, prices and descriptions."',
|
|
348
353
|
},
|
|
349
354
|
{
|
|
350
355
|
icon: "window",
|
|
351
356
|
t: "Store homepage",
|
|
352
|
-
e: '"Create a homepage —
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
icon: "flame",
|
|
356
|
-
t: "Flash sale page",
|
|
357
|
-
e: '"Create a flash sale page — big countdown timer, discounted products, sticky buy button."',
|
|
357
|
+
e: '"Create a homepage — banner, category grid, featured products and latest posts."',
|
|
358
358
|
},
|
|
359
359
|
{
|
|
360
|
-
icon: "
|
|
361
|
-
t: "
|
|
362
|
-
e: '"
|
|
360
|
+
icon: "layers",
|
|
361
|
+
t: "A full set of shop pages",
|
|
362
|
+
e: '"Build the full set: product page, category, cart, checkout and thank-you."',
|
|
363
363
|
},
|
|
364
364
|
{
|
|
365
|
-
icon: "
|
|
366
|
-
t: "
|
|
367
|
-
e: '"Create a
|
|
365
|
+
icon: "flame",
|
|
366
|
+
t: "Flash sale page",
|
|
367
|
+
e: '"Create a flash sale page — countdown timer, discounted products, sticky buy button."',
|
|
368
368
|
},
|
|
369
369
|
{
|
|
370
370
|
icon: "newspaper",
|
|
371
|
-
t: "Blog
|
|
372
|
-
e: '"Create a blog
|
|
371
|
+
t: "Blog & articles",
|
|
372
|
+
e: '"Create a blog category and 3 articles with cover images, then wire up the blog page."',
|
|
373
373
|
},
|
|
374
374
|
{
|
|
375
|
-
icon: "
|
|
376
|
-
t: "
|
|
377
|
-
e: '"Create
|
|
375
|
+
icon: "shield",
|
|
376
|
+
t: "Member pages",
|
|
377
|
+
e: '"Create login, register and order-history pages for customers."',
|
|
378
378
|
},
|
|
379
379
|
{
|
|
380
380
|
icon: "wand",
|
|
381
|
-
t: "
|
|
382
|
-
e: '"
|
|
381
|
+
t: "Then tweak & publish",
|
|
382
|
+
e: '"…\"change the button colour\", \"add an FAQ\", then \"publish to my store\" — done."',
|
|
383
383
|
},
|
|
384
384
|
],
|
|
385
385
|
connectH2: "Connect your AI assistant to your store",
|
|
@@ -416,8 +416,8 @@ const T = {
|
|
|
416
416
|
},
|
|
417
417
|
{
|
|
418
418
|
icon: "cart",
|
|
419
|
-
t: "
|
|
420
|
-
d: "
|
|
419
|
+
t: "Create & manage products",
|
|
420
|
+
d: "Create products, categories, bundles and promotions (with images); view orders, collections and customer info.",
|
|
421
421
|
},
|
|
422
422
|
{
|
|
423
423
|
icon: "newspaper",
|
|
@@ -441,8 +441,8 @@ const T = {
|
|
|
441
441
|
},
|
|
442
442
|
],
|
|
443
443
|
promptH2: "Example — here's what to say to your assistant",
|
|
444
|
-
promptSub: "You can speak naturally. For example:",
|
|
445
|
-
promptEx: "Create a
|
|
444
|
+
promptSub: "You can speak naturally. For example, build a whole store:",
|
|
445
|
+
promptEx: "Create a new WebCake store for [brand name].\nCreate 2-3 categories, each with a few products that have images, prices and descriptions.\nBuild the homepage: banner, category grid, featured products and a latest-posts section.\nAdd a blog category with one article.\nCheck everything, then publish it to my store.",
|
|
446
446
|
faqH2: "Frequently asked questions",
|
|
447
447
|
newH2: "What's new",
|
|
448
448
|
newBadge: "NEW",
|
|
@@ -584,22 +584,36 @@ export function guideHtml(origin, lang = "vi") {
|
|
|
584
584
|
<meta name="twitter:image:alt" content="${m.title}">
|
|
585
585
|
<script type="application/ld+json">${jsonLdScript}</script>
|
|
586
586
|
<style>
|
|
587
|
-
:root{--g:#108B67;--g7:#0c6f52;--ink:#
|
|
588
|
-
--line:rgba(16,
|
|
589
|
-
--ic-fg:#0c6f52;--btn-hover:#0c6f52;--navbg:rgba(246,
|
|
590
|
-
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#eaf1ee;--mut:#9fb0a9;--bg:#
|
|
591
|
-
--line:rgba(255,255,255,.09);--shadow:0 1px 2px rgba(0,0,0,.35),0 12px 34px -16px rgba(0,0,0,.6);--code:#0b120f;--g:#16a37c;--g7:#6fe6c0;--ic-fg:#8aecc9;--btn-hover:#1cba8d;--navbg:rgba(
|
|
592
|
-
:root[data-theme="dark"]{--ink:#eaf1ee;--mut:#9fb0a9;--bg:#
|
|
593
|
-
--line:rgba(255,255,255,.09);--shadow:0 1px 2px rgba(0,0,0,.35),0 12px 34px -16px rgba(0,0,0,.6);--code:#0b120f;--g:#16a37c;--g7:#6fe6c0;--ic-fg:#8aecc9;--btn-hover:#1cba8d;--navbg:rgba(
|
|
587
|
+
:root{--g:#108B67;--g7:#0c6f52;--ink:#13211c;--mut:#5a6b64;--bg:#f6faf8;--bg2:#e9f2ec;--card:#ffffff;
|
|
588
|
+
--line:rgba(16,48,38,.10);--shadow:0 1px 2px rgba(16,48,38,.05),0 6px 20px -12px rgba(16,48,38,.18);--code:#0c1a15;
|
|
589
|
+
--ic-fg:#0c6f52;--btn-hover:#0c6f52;--navbg:rgba(246,250,248,.82)}
|
|
590
|
+
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#eaf1ee;--mut:#9fb0a9;--bg:#0d1714;--bg2:#091310;--card:#161f1b;
|
|
591
|
+
--line:rgba(255,255,255,.09);--shadow:0 1px 2px rgba(0,0,0,.35),0 12px 34px -16px rgba(0,0,0,.6);--code:#0b120f;--g:#16a37c;--g7:#6fe6c0;--ic-fg:#8aecc9;--btn-hover:#1cba8d;--navbg:rgba(13,23,20,.82)}}
|
|
592
|
+
:root[data-theme="dark"]{--ink:#eaf1ee;--mut:#9fb0a9;--bg:#0d1714;--bg2:#091310;--card:#161f1b;
|
|
593
|
+
--line:rgba(255,255,255,.09);--shadow:0 1px 2px rgba(0,0,0,.35),0 12px 34px -16px rgba(0,0,0,.6);--code:#0b120f;--g:#16a37c;--g7:#6fe6c0;--ic-fg:#8aecc9;--btn-hover:#1cba8d;--navbg:rgba(13,23,20,.82)}
|
|
594
594
|
*{box-sizing:border-box}
|
|
595
595
|
html{scroll-behavior:auto}
|
|
596
596
|
html.smooth{scroll-behavior:smooth}
|
|
597
597
|
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);
|
|
598
|
-
background:var(--bg);
|
|
598
|
+
background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);background-attachment:fixed;
|
|
599
|
+
min-height:100vh;line-height:1.62;overflow-x:hidden}
|
|
600
|
+
/* layered "aurora" mesh of soft teal glows */
|
|
601
|
+
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
|
|
602
|
+
background:
|
|
603
|
+
radial-gradient(58% 46% at 50% -8%,rgba(16,139,103,.12),transparent 70%),
|
|
604
|
+
radial-gradient(40% 38% at 100% 4%,rgba(20,168,124,.09),transparent 70%),
|
|
605
|
+
radial-gradient(46% 46% at 0% 100%,rgba(16,139,103,.08),transparent 70%)}
|
|
606
|
+
/* faint grid texture, masked so it only whispers near the top */
|
|
607
|
+
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.55;
|
|
608
|
+
background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
|
|
609
|
+
background-size:46px 46px;
|
|
610
|
+
-webkit-mask:radial-gradient(120% 70% at 50% 0%,#000 0%,transparent 62%);
|
|
611
|
+
mask:radial-gradient(120% 70% at 50% 0%,#000 0%,transparent 62%)}
|
|
599
612
|
.blobs{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
|
|
600
|
-
.blobs b{position:absolute;border-radius:50%;filter:blur(
|
|
613
|
+
.blobs b{position:absolute;border-radius:50%;filter:blur(100px);opacity:.13;will-change:transform}
|
|
601
614
|
.blobs b:nth-child(1){width:560px;height:560px;right:-160px;top:-180px;background:radial-gradient(circle,#108B67,transparent 70%);animation:drift1 40s ease-in-out infinite}
|
|
602
615
|
.blobs b:nth-child(2){width:440px;height:440px;left:-160px;bottom:-160px;background:radial-gradient(circle,#14a87c,transparent 70%);animation:drift2 48s ease-in-out infinite}
|
|
616
|
+
.blobs b:nth-child(3){width:380px;height:380px;left:46%;top:34%;background:radial-gradient(circle,#3fcf9e,transparent 70%);opacity:.08;animation:drift1 56s ease-in-out infinite}
|
|
603
617
|
@keyframes drift1{50%{transform:translate(-50px,60px)}}
|
|
604
618
|
@keyframes drift2{50%{transform:translate(40px,-50px)}}
|
|
605
619
|
.wrap{max-width:900px;margin:0 auto;padding:48px 20px 72px}
|
|
@@ -793,7 +807,7 @@ export function guideHtml(origin, lang = "vi") {
|
|
|
793
807
|
}
|
|
794
808
|
</style></head>
|
|
795
809
|
<body>
|
|
796
|
-
<div class="blobs"><b></b><b></b></div>
|
|
810
|
+
<div class="blobs"><b></b><b></b><b></b></div>
|
|
797
811
|
<div class="wrap">
|
|
798
812
|
|
|
799
813
|
<header class="hero-in">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webcake-storefront-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "MCP server for the WebCake/StoreCake storefront builder — page CRUD, page authoring, products, orders, and more",
|
|
5
5
|
"mcpName": "io.github.vuluu2k/webcake-storefront-mcp",
|
|
6
6
|
"license": "MIT",
|