mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-11 23:00:03 +00:00
Rename the `graphic-overlays` workflow skill to `talking-head-recut`: - move skills/graphic-overlays/ -> skills/talking-head-recut/ - update SKILL.md frontmatter name, H1, and self-references - update all /graphic-overlays route references (hyperframes router, general-video, root + cli-template AGENTS.md/CLAUDE.md, docs, quickstart) - update telemetry --skill flag, example composition id, timeline key - update .prettierignore path and scripts/test-skills-fresh.sh Identifier-only rename: the graphic-overlay card mechanism, design references, and trigger wording are unchanged. Co-authored-by: kiritowoo <295860553+kiritowoo@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
190 lines
6.4 KiB
HTML
190 lines
6.4 KiB
HTML
<!--
|
|
Style: editorial — cream · coral block · big italic quote · Playfair-like serif
|
|
─────────────────────────────────────────────────────────────────────
|
|
Tokens
|
|
bg #f1e8d5 (cream)
|
|
ink #0e1018
|
|
muted #6b6353
|
|
accent #ff3a2d (coral red — used as block accents + italic quote color)
|
|
accent2 #1f6bff (blue — used for ring/circle outline)
|
|
accent3 #f2cf3a (yellow dot)
|
|
Fonts
|
|
headline — Playfair Display fallback: ui-serif, "Songti SC", serif
|
|
body — ui-serif, serif
|
|
Best with
|
|
layouts: overlay, pip, stack
|
|
frames: clean, polaroid
|
|
content: 产品发布 / 编辑专栏 / 大字宣言
|
|
-->
|
|
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>style · editorial</title>
|
|
<style>
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
padding: 0;
|
|
background: #0a0c12;
|
|
font-family: ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
.stage {
|
|
position: relative;
|
|
width: 1920px;
|
|
height: 1080px;
|
|
transform-origin: top left;
|
|
transform: scale(0.5);
|
|
overflow: hidden;
|
|
}
|
|
.card-host {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 1920px;
|
|
height: 1080px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="stage">
|
|
<div class="card-host">
|
|
<div class="card" data-card-id="ref-editorial">
|
|
<style>
|
|
.card[data-card-id="ref-editorial"] .root {
|
|
--bg: #f1e8d5;
|
|
--ink: #0e1018;
|
|
--muted: #6b6353;
|
|
--accent: #ff3a2d;
|
|
--accent2: #1f6bff;
|
|
--accent3: #f2cf3a;
|
|
/* IMPORTANT — this skill only ships Caveat / LXGW WenKai TC / Inter / Virgil.
|
|
Playfair Display is NOT bundled; if you list it first the font resolver
|
|
can't load it and you'll get inconsistent rendering across machines.
|
|
The editorial look uses italic-bold serif at large size — ui-serif on
|
|
macOS resolves to Times/New York which is close enough; for a real
|
|
Playfair you'd need to add the woff2 to public/fonts/. */
|
|
--font-head: ui-serif, "Songti SC", "Times New Roman", serif;
|
|
--font-body: ui-serif, "Songti SC", serif;
|
|
--font-mono: ui-monospace, "SF Mono", Menlo, monospace;
|
|
|
|
width: 100%;
|
|
height: 100%;
|
|
position: relative;
|
|
overflow: hidden;
|
|
background: var(--bg);
|
|
padding: 56px 64px;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
gap: 24px;
|
|
color: var(--ink);
|
|
font-family: var(--font-body);
|
|
}
|
|
.card[data-card-id="ref-editorial"] .kicker {
|
|
align-self: flex-start;
|
|
padding: 8px 16px;
|
|
background: var(--ink);
|
|
color: var(--bg);
|
|
font: 700 16px/1 var(--font-mono);
|
|
letter-spacing: 0.22em;
|
|
}
|
|
.card[data-card-id="ref-editorial"] .title {
|
|
margin: 0;
|
|
font: italic 800 132px/0.95 var(--font-head);
|
|
color: var(--ink);
|
|
letter-spacing: -0.01em;
|
|
max-width: 92%;
|
|
}
|
|
.card[data-card-id="ref-editorial"] .first {
|
|
font-style: italic;
|
|
color: var(--accent);
|
|
}
|
|
.card[data-card-id="ref-editorial"] .quote-mark {
|
|
font: 800 220px/0.5 var(--font-head);
|
|
color: var(--accent);
|
|
position: absolute;
|
|
top: 24px;
|
|
right: 64px;
|
|
opacity: 0.9;
|
|
}
|
|
.card[data-card-id="ref-editorial"] .detail {
|
|
margin: 0;
|
|
font: 28px/1.5 var(--font-body);
|
|
color: var(--muted);
|
|
max-width: 78%;
|
|
}
|
|
.card[data-card-id="ref-editorial"] .hl {
|
|
background: linear-gradient(transparent 62%, rgba(255, 58, 45, 0.22) 62%);
|
|
color: var(--ink);
|
|
padding: 0 4px;
|
|
}
|
|
.card[data-card-id="ref-editorial"] .accents {
|
|
position: absolute;
|
|
}
|
|
.card[data-card-id="ref-editorial"] .block-coral {
|
|
top: 64px;
|
|
right: 88px;
|
|
width: 96px;
|
|
height: 96px;
|
|
background: var(--accent);
|
|
transform: rotate(12deg);
|
|
}
|
|
.card[data-card-id="ref-editorial"] .dot-yellow {
|
|
top: 200px;
|
|
right: 60px;
|
|
width: 36px;
|
|
height: 36px;
|
|
background: var(--accent3);
|
|
border-radius: 50%;
|
|
}
|
|
.card[data-card-id="ref-editorial"] .ring-blue {
|
|
bottom: 80px;
|
|
right: 80px;
|
|
width: 80px;
|
|
height: 80px;
|
|
border: 4px solid var(--accent2);
|
|
border-radius: 50%;
|
|
}
|
|
</style>
|
|
|
|
<div class="root">
|
|
<span
|
|
class="accents block-coral"
|
|
data-anim="scale-pop"
|
|
data-anim-at="0.15"
|
|
data-anim-duration="0.5"
|
|
></span>
|
|
<span
|
|
class="accents dot-yellow"
|
|
data-anim="fade-in"
|
|
data-anim-at="0.35"
|
|
data-anim-duration="0.4"
|
|
></span>
|
|
<span
|
|
class="accents ring-blue"
|
|
data-anim="fade-in"
|
|
data-anim-at="0.55"
|
|
data-anim-duration="0.4"
|
|
></span>
|
|
|
|
<span class="kicker" data-anim="fade-in" data-anim-at="0.05" data-anim-duration="0.4"
|
|
>TAKEAWAY</span
|
|
>
|
|
|
|
<h1 class="title" data-anim="fade-in" data-anim-at="0.3" data-anim-duration="0.6">
|
|
<span class="first">真</span>正的创造,从拒绝套路开始。
|
|
</h1>
|
|
|
|
<p class="detail" data-anim="fade-in" data-anim-at="0.8" data-anim-duration="0.45">
|
|
停止模仿、停止套模板,把每一个想法都当作<span class="hl">第一次表达</span>。
|
|
只有这样,作品才会带上你的体温。
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|