mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-11 14:40:58 +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>
171 lines
5.7 KiB
HTML
171 lines
5.7 KiB
HTML
<!--
|
|
Style: whiteboard — paper · Caveat handwriting · sketched borders · marker highlight
|
|
─────────────────────────────────────────────────────────────────────
|
|
Tokens
|
|
bg #fdf6e3 (warm paper)
|
|
ink #1a1a1a
|
|
muted #6e6a5b
|
|
accent #ff6b35 (orange marker)
|
|
accent2#2557a7 (blue pen — annotations)
|
|
accent3#ffe066 (yellow highlighter)
|
|
Fonts
|
|
headline & body — Caveat (handwriting); falls back to "ui-serif, cursive"
|
|
annotations — Caveat
|
|
Best with
|
|
layouts: pip, overlay, split
|
|
frames: polaroid, clean
|
|
content: 教程 / 解构 / 草图思考 / 灵感整理
|
|
Notes
|
|
- SVG strokes have subtle path jitter to look hand-drawn.
|
|
- data-anim "draw-path" is ideal for the sketched border + highlights.
|
|
-->
|
|
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>style · whiteboard</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-whiteboard">
|
|
<style>
|
|
.card[data-card-id="ref-whiteboard"] .root {
|
|
--bg: #fdf6e3;
|
|
--ink: #1a1a1a;
|
|
--muted: #6e6a5b;
|
|
--accent: #ff6b35;
|
|
--accent2: #2557a7;
|
|
--accent3: #ffe066;
|
|
--font-hand: "Caveat", "LXGW WenKai TC", ui-serif, cursive;
|
|
|
|
width: 100%;
|
|
height: 100%;
|
|
position: relative;
|
|
overflow: hidden;
|
|
background-color: var(--bg);
|
|
background-image:
|
|
radial-gradient(circle at 30% 20%, rgba(0, 0, 0, 0.025) 0%, transparent 50%),
|
|
radial-gradient(circle at 80% 70%, rgba(0, 0, 0, 0.02) 0%, transparent 50%);
|
|
padding: 48px 56px;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
gap: 26px;
|
|
color: var(--ink);
|
|
font-family: var(--font-hand);
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .sketch-border {
|
|
position: absolute;
|
|
inset: 16px;
|
|
pointer-events: none;
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .sketch-border path {
|
|
stroke: var(--ink);
|
|
stroke-width: 3;
|
|
fill: none;
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .kicker {
|
|
align-self: flex-start;
|
|
font: 700 32px/1 var(--font-hand);
|
|
color: var(--accent);
|
|
transform: rotate(-2deg);
|
|
padding-left: 8px;
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .title {
|
|
margin: 0;
|
|
font: 700 120px/1 var(--font-hand);
|
|
color: var(--ink);
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .marker {
|
|
position: relative;
|
|
display: inline-block;
|
|
padding: 0 8px;
|
|
color: var(--ink);
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .marker::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 30%;
|
|
bottom: 18%;
|
|
background: var(--accent3);
|
|
z-index: -1;
|
|
transform: skewX(-4deg);
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .detail {
|
|
margin: 0;
|
|
font: 400 40px/1.4 var(--font-hand);
|
|
color: var(--muted);
|
|
max-width: 92%;
|
|
}
|
|
.card[data-card-id="ref-whiteboard"] .note {
|
|
align-self: flex-start;
|
|
padding: 6px 12px;
|
|
font: 600 28px/1 var(--font-hand);
|
|
color: var(--accent2);
|
|
border-bottom: 3px wavy var(--accent2);
|
|
transform: rotate(-1deg);
|
|
}
|
|
</style>
|
|
|
|
<div class="root">
|
|
<svg class="sketch-border" viewBox="0 0 1888 1048" preserveAspectRatio="none">
|
|
<path
|
|
d="M 12 12 L 1876 16 L 1872 1036 L 16 1032 Z"
|
|
data-anim="draw-path"
|
|
data-anim-at="0.05"
|
|
data-anim-duration="0.8"
|
|
/>
|
|
</svg>
|
|
|
|
<span class="kicker" data-anim="fade-in" data-anim-at="0.1" data-anim-duration="0.4">
|
|
✎ TAKEAWAY
|
|
</span>
|
|
|
|
<h2 class="title" data-anim="fade-in" data-anim-at="0.4" data-anim-duration="0.5">
|
|
把复杂问题<span class="marker">画出来</span>。
|
|
</h2>
|
|
|
|
<p class="detail" data-anim="fade-in" data-anim-at="0.85" data-anim-duration="0.45">
|
|
文字让人争辩,图让人对齐。当所有人都在白板前看同一张图,分歧自然消失。
|
|
</p>
|
|
|
|
<span class="note" data-anim="fade-in" data-anim-at="1.2" data-anim-duration="0.4">
|
|
← 试试每次会议都画
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|