feat(mindspace): add SEO/GEO delivery, page template catalog, and admin hooks
Memind CI / Test, build, and release guards (push) Has been cancelled
Memind CI / Test, build, and release guards (push) Has been cancelled
Enable optional SEO/GEO injection and discovery routes for confirmed public pages while keeping private pages noindex. Add premium page template skills, portal catalog API, template shop UI, and Baidu push gated by memind_adm config. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: page-template-course
|
||||
description: 课程大纲 + 讲师介绍 + 报名 CTA,适用于知识付费/训练营
|
||||
---
|
||||
|
||||
# 课程落地页模板
|
||||
|
||||
1. load_skill → `page-template-course`
|
||||
2. read_file → `.agents/skills/page-template-course/templates/course-landing.html`
|
||||
3. 替换占位符后 write_file → `public/*.html`
|
||||
4. 遵守 static-page-publish 回复 Markdown 链接
|
||||
@@ -0,0 +1,20 @@
|
||||
name: page-template-course
|
||||
version: 1.0.0
|
||||
label: 课程落地页模板
|
||||
description: 课程大纲 + 讲师介绍 + 报名 CTA,适用于知识付费/训练营
|
||||
catalog:
|
||||
label: 课程落地页模板
|
||||
description: 课程大纲 + 讲师介绍 + 报名 CTA,适用于知识付费/训练营
|
||||
previewImage: /assets/template-previews/course-landing.svg
|
||||
priceCents: 1390
|
||||
billingMode: one_time
|
||||
sortOrder: 70
|
||||
trigger:
|
||||
keywords:
|
||||
- 课程模板
|
||||
- course-landing
|
||||
router:
|
||||
promptKey: page-template-course
|
||||
priority: 25
|
||||
executors:
|
||||
- goose
|
||||
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{PAGE_TITLE}}</title>
|
||||
<meta name="description" content="{{PAGE_DESCRIPTION}}">
|
||||
<meta name="mindspace-cover" content='{{MINDSPACE_COVER_JSON}}'>
|
||||
<style>
|
||||
:root { --accent: {{ACCENT}}; }
|
||||
* { box-sizing: border-box; }
|
||||
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif; background: #f8faff; color: #0f172a; }
|
||||
.hero { padding: clamp(56px, 12vw, 96px) 24px; text-align: center; background: linear-gradient(160deg, var(--accent) 0%, #1e40af 100%); color: #fff; position: relative; overflow: hidden; }
|
||||
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.15), transparent 50%); }
|
||||
.hero-inner { position: relative; max-width: 680px; margin: 0 auto; }
|
||||
h1 { margin: 0 0 12px; font-size: clamp(32px, 6vw, 48px); font-weight: 800; letter-spacing: -.02em; }
|
||||
.subtitle { margin: 0; font-size: 18px; opacity: .9; line-height: 1.65; }
|
||||
.cta { display: inline-flex; margin-top: 28px; padding: 16px 36px; background: #fff; color: var(--accent); border-radius: 999px; text-decoration: none; font-weight: 800; box-shadow: 0 16px 40px rgba(0,0,0,.15); }
|
||||
main { max-width: 720px; margin: 0 auto; padding: clamp(32px, 6vw, 56px) 24px; }
|
||||
.syllabus { background: #fff; border-radius: 24px; padding: clamp(28px, 4vw, 36px); box-shadow: 0 20px 60px rgba(37,99,235,.08); border: 1px solid rgba(37,99,235,.06); line-height: 1.8; }
|
||||
.syllabus h2 { margin-top: 0; color: var(--accent); }
|
||||
footer { text-align: center; padding: 32px 24px 48px; color: #64748b; font-size: 13px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header class="hero"><div class="hero-inner"><h1>{{COURSE_TITLE}}</h1><p class="subtitle">{{COURSE_SUBTITLE}}</p><a class="cta" href="{{CTA_URL}}">{{CTA_LABEL}}</a></div></header>
|
||||
<main><div class="syllabus">{{SYLLABUS_HTML}}</div></main>
|
||||
<footer><p data-mindspace-page-tag="platform-brand">TKMind · 智趣</p></footer>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user