Files
mkt.ose.tw/frontend/public/editor-demo.html
2026-03-23 20:23:58 +08:00

417 lines
13 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Editor Demo Page</title>
<script defer src="/editor-bridge-snippet.js"></script>
<style>
:root {
color-scheme: light;
--bg: #f8fafc;
--card: rgba(255, 255, 255, 0.9);
--border: rgba(15, 23, 42, 0.08);
--text: #0f172a;
--muted: #475569;
--accent: #0f766e;
--accent-soft: rgba(15, 118, 110, 0.12);
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
color: var(--text);
background:
radial-gradient(circle at top left, rgba(16, 185, 129, 0.12), transparent 32%),
linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}
.shell {
width: min(1400px, calc(100% - 32px));
margin: 0 auto;
padding: 18px 0 72px;
}
.demo-guide {
display: none;
}
.demo-guide h2 {
margin: 0;
font-size: 24px;
}
.demo-guide p {
margin: 10px 0 0;
color: var(--muted);
line-height: 1.8;
}
.demo-guide-steps {
display: grid;
gap: 10px;
}
.demo-guide-step {
display: flex;
gap: 12px;
align-items: flex-start;
padding: 12px 14px;
border-radius: 18px;
background: rgba(255, 255, 255, 0.72);
border: 1px solid rgba(15, 23, 42, 0.08);
}
.demo-guide-step-index {
width: 28px;
height: 28px;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
background: #0f172a;
color: #fff;
font-size: 13px;
font-weight: 700;
flex-shrink: 0;
}
.demo-guide-step strong {
display: block;
font-size: 14px;
}
.demo-guide-step span {
display: block;
margin-top: 4px;
color: var(--muted);
font-size: 13px;
line-height: 1.7;
}
.hero {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: 24px;
align-items: stretch;
}
.card {
background: var(--card);
backdrop-filter: blur(16px);
border: 1px solid var(--border);
border-radius: 28px;
box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}
.hero-copy {
padding: 36px;
}
.hero-kicker {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 14px;
border-radius: 999px;
background: var(--accent-soft);
color: var(--accent);
font-size: 13px;
font-weight: 700;
}
.hero-title {
margin: 20px 0 12px;
font-size: clamp(38px, 5vw, 64px);
line-height: 1.04;
letter-spacing: -0.04em;
}
.hero-copy-text {
margin: 0;
font-size: 18px;
line-height: 1.8;
color: var(--muted);
}
.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 28px;
}
.cta-button,
.ghost-button {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 148px;
padding: 14px 18px;
border-radius: 999px;
font-weight: 700;
text-decoration: none;
transition: transform 160ms ease, box-shadow 160ms ease;
}
.cta-button {
background: #0f172a;
color: #fff;
box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18);
}
.ghost-button {
border: 1px solid rgba(15, 23, 42, 0.14);
color: var(--text);
background: rgba(255, 255, 255, 0.86);
}
.hero-visual {
padding: 22px;
}
.hero-visual img {
width: 100%;
height: 100%;
min-height: 420px;
object-fit: cover;
border-radius: 22px;
}
.section-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
margin-top: 26px;
}
.feature-card {
padding: 24px;
}
.feature-card h3,
.offer-title,
.testimonial-title {
margin: 0;
font-size: 22px;
}
.feature-card p,
.offer-copy,
.testimonial-copy {
margin: 12px 0 0;
line-height: 1.8;
color: var(--muted);
}
.offer-section {
display: grid;
grid-template-columns: 1fr 0.95fr;
gap: 24px;
margin-top: 26px;
}
.offer-content {
padding: 30px;
}
.offer-badge {
display: inline-flex;
padding: 8px 14px;
border-radius: 999px;
background: rgba(244, 114, 182, 0.12);
color: #be185d;
font-weight: 700;
font-size: 13px;
}
.offer-actions {
display: flex;
gap: 12px;
margin-top: 24px;
}
.offer-gallery {
display: grid;
gap: 14px;
}
.offer-gallery img {
width: 100%;
height: 200px;
object-fit: cover;
border-radius: 20px;
}
.testimonial-section {
margin-top: 26px;
padding: 30px;
}
.testimonial-list {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
margin-top: 22px;
}
.testimonial-card {
padding: 18px;
border-radius: 20px;
background: rgba(248, 250, 252, 0.92);
border: 1px solid rgba(148, 163, 184, 0.15);
}
.testimonial-name {
margin-top: 14px;
font-weight: 700;
}
@media (max-width: 960px) {
.demo-guide,
.hero,
.offer-section,
.section-grid,
.testimonial-list {
grid-template-columns: 1fr;
}
.hero-visual img {
min-height: 280px;
}
}
</style>
</head>
<body>
<div class="shell">
<section class="card demo-guide" data-mkt-selector=".demo-guide">
<div>
<div class="hero-kicker" data-mkt-selector=".demo-guide-kicker">Visual Editor 示範頁</div>
<h2 data-mkt-selector=".demo-guide-title">這頁是專門讓你檢查目前同頁編輯進度的示範畫面</h2>
<p data-mkt-selector=".demo-guide-copy">
目前已經可以選區塊、檢查區塊、開始修改文字,並把頁面上的文字變化同步回右側編輯草稿。這不是最終 UI但已經是 visual editor 真正的前進路線。
</p>
</div>
<div class="demo-guide-steps">
<div class="demo-guide-step" data-mkt-selector=".demo-guide-step-1">
<span class="demo-guide-step-index">1</span>
<div>
<strong>先滑過或點一下畫面區塊</strong>
<span>你會看到高亮框、頁面檢查面板、貼著區塊的操作入口。</span>
</div>
</div>
<div class="demo-guide-step" data-mkt-selector=".demo-guide-step-2">
<span class="demo-guide-step-index">2</span>
<div>
<strong>按「改文字」或「開始修改這個區塊」</strong>
<span>如果是文字區塊,畫面會進入頁內文字編輯狀態,不只右側有 Draft。</span>
</div>
</div>
<div class="demo-guide-step" data-mkt-selector=".demo-guide-step-3">
<span class="demo-guide-step-index">3</span>
<div>
<strong>直接在畫面上改字</strong>
<span>你輸入的新文案會同步回 editor 的文字草稿,這是現在最明顯的可見進度。</span>
</div>
</div>
</div>
</section>
<section class="hero">
<article class="card hero-copy" data-mkt-selector=".hero-copy">
<div class="hero-kicker" data-mkt-selector=".hero-kicker">春季成長活動</div>
<h1 class="hero-title" data-mkt-selector=".hero-title">讓你的活動頁從曝光直接走到轉換</h1>
<p class="hero-copy-text" data-mkt-selector=".hero-copy-text">
用更直覺的同頁編輯流程,快速調整主標題、按鈕文案、圖片與優惠資訊,讓行銷人員不用來回找工程也能完成優化。
</p>
<div class="hero-actions" data-mkt-selector=".hero-actions">
<a class="cta-button" href="https://ose.tw/demo-signup" data-mkt-selector="a.cta-button">立即預約示範</a>
<a class="ghost-button" href="https://ose.tw/demo-case" data-mkt-selector="a.ghost-button">先看案例</a>
</div>
</article>
<aside class="card hero-visual" data-mkt-selector=".hero-visual">
<img
src="https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1200&q=80"
alt="行銷活動示意圖"
data-mkt-selector=".hero-visual img"
/>
</aside>
</section>
<section class="section-grid">
<article class="card feature-card" data-mkt-selector=".feature-card:nth-of-type(1)">
<h3 data-mkt-selector=".feature-card:nth-of-type(1) h3">即時看見頁面效果</h3>
<p data-mkt-selector=".feature-card:nth-of-type(1) p">
不用切來切去比對稿件,直接在頁面上檢查你想改的區塊。
</p>
</article>
<article class="card feature-card" data-mkt-selector=".feature-card:nth-of-type(2)">
<h3 data-mkt-selector=".feature-card:nth-of-type(2) h3">一步一步帶你完成</h3>
<p data-mkt-selector=".feature-card:nth-of-type(2) p">
從選區塊、調整文案、建立預覽到回畫面確認,流程清楚不迷路。
</p>
</article>
<article class="card feature-card" data-mkt-selector=".feature-card:nth-of-type(3)">
<h3 data-mkt-selector=".feature-card:nth-of-type(3) h3">把成功經驗複製到更多活動</h3>
<p data-mkt-selector=".feature-card:nth-of-type(3) p">
後續可把同一套優化流程延伸到變體、版本與更多銷售實驗。
</p>
</article>
</section>
<section class="offer-section">
<article class="card offer-content" data-mkt-selector=".offer-content">
<div class="offer-badge" data-mkt-selector=".offer-badge">限時活動優惠</div>
<h2 class="offer-title" data-mkt-selector=".offer-title">本月完成第一個銷售實驗,即可獲得顧問陪跑一次</h2>
<p class="offer-copy" data-mkt-selector=".offer-copy">
如果你想先從主視覺、按鈕文案或優惠區塊開始,這個示範頁會很適合拿來測試目前的 visual editor 流程。
</p>
<div class="offer-actions" data-mkt-selector=".offer-actions">
<a class="cta-button" href="https://ose.tw/offer" data-mkt-selector="a.offer-primary">立即領取優惠</a>
<a class="ghost-button" href="https://ose.tw/contact" data-mkt-selector="a.offer-secondary">詢問顧問</a>
</div>
</article>
<div class="offer-gallery">
<img
src="https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?auto=format&fit=crop&w=900&q=80"
alt="優惠圖一"
data-mkt-selector=".offer-gallery img:nth-of-type(1)"
/>
<img
src="https://images.unsplash.com/photo-1556742502-ec7c0e9f34b1?auto=format&fit=crop&w=900&q=80"
alt="優惠圖二"
data-mkt-selector=".offer-gallery img:nth-of-type(2)"
/>
</div>
</section>
<section class="card testimonial-section" data-mkt-selector=".testimonial-section">
<h2 class="testimonial-title" data-mkt-selector=".testimonial-title">行銷團隊實際使用回饋</h2>
<p class="testimonial-copy" data-mkt-selector=".testimonial-copy">
這些區塊很適合測試:改文字、改按鈕、換圖片、改樣式,以及未來更完整的同頁編輯能力。
</p>
<div class="testimonial-list">
<article class="testimonial-card" data-mkt-selector=".testimonial-card:nth-of-type(1)">
<p>「以前改 landing page 要排隊等工程,現在至少方向已經能先自己看見。」</p>
<div class="testimonial-name">品牌行銷經理</div>
</article>
<article class="testimonial-card" data-mkt-selector=".testimonial-card:nth-of-type(2)">
<p>「最有感的是可以直接看哪個區塊在改,不會再迷失在設定頁裡。」</p>
<div class="testimonial-name">電商營運主管</div>
</article>
<article class="testimonial-card" data-mkt-selector=".testimonial-card:nth-of-type(3)">
<p>「希望後面能直接在頁面上改圖片和文案,這樣整體就很完整了。」</p>
<div class="testimonial-name">成長行銷</div>
</article>
</div>
</section>
</div>
</body>
</html>