deck-open-slide-canvas
nexu-io/open-design
Fixed 1920×1080 canvas deck with React component-level free composition, no template constraints.
What is deck-open-slide-canvas?
A presentation deck template locked to 1920×1080 resolution with React-style component-based layout freedom. Use this when you want precise control over slide composition without being bound to predefined templates, ideal for portfolios, unconventional talks, or design courses.
- Enforces strict 1920×1080 canvas per slide with viewport scaling (default 0.7×)
- Provides React component-level free composition—layout each slide based on content, not templates
- Includes four curated color palettes (Ash & Lime, Sea Indigo, Mate Mocha, Pearl Rose) with strict type and accent constraints
- Supplies predefined type scale (18px–220px) and padding options (96/128/160px) to maintain visual consistency
- Supports keyboard navigation (← / →) with hash-based slide sync and fixed slide numbering
- Prevents overflow and enforces single visual hierarchy per slide to avoid cluttered layouts
How to install deck-open-slide-canvas
npx skills add https://github.com/nexu-io/open-design --skill deck-open-slide-canvas- Node.js and npm installed
- Basic familiarity with React component patterns and HTML/CSS
- Understanding of the four color palettes and when to choose each
How to use deck-open-slide-canvas
- 1.Install the skill via npx skills add https://github.com/nexu-io/open-design --skill deck-open-slide-canvas
- 2.Choose one of the four color palettes (Ash & Lime, Sea Indigo, Mate Mocha, or Pearl Rose) for the entire deck
- 3.Design each slide as a React component, respecting the 1920×1080 canvas and ensuring content fits without overflow
- 4.Apply the predefined type scale (2xs through 5xl) and padding (96/128/160px) consistently across slides
- 5.Use keyboard navigation (← / →) to preview slides and verify hash-based navigation works
- 6.Replace all placeholder content with real data and images; avoid lorem ipsum and placeholder graphics
Use cases
- Building a personal design or creative portfolio presentation with custom layouts per slide
- Creating an unconventional lecture or talk deck where standard templates feel restrictive
- Designing art or design course materials with precise 16:9 canvas control and component-based composition
- Presenting data-heavy or image-heavy content with full control over positioning without template slots
- Developing a branded deck where visual hierarchy and color discipline matter more than template variety
- Designers and creative professionals building portfolio presentations
- Educators and lecturers creating custom course decks
- Presenters with unconventional content that doesn't fit standard slide templates
- Teams needing strict visual consistency with component-level layout flexibility
deck-open-slide-canvas FAQ
Yes. Each slide can have a unique layout (cover, question, quote, image-text, grid, list, data card, full-bleed image) as long as it respects the 1920×1080 canvas and maintains a single visual hierarchy per slide.
Overflow is strictly forbidden. All content must fit within the locked canvas without scrollbars. If content doesn't fit, simplify or restructure the layout.
No. You must choose one color palette at the start and use it consistently throughout the entire deck.
Use Inter Tight + Inter for display/body (Western), or Noto Sans SC / Noto Serif SC for Chinese. Use JetBrains Mono for data and timestamps. Do not mix sans and serif in the same language.
No. The template uses a single HTML file with Tailwind CDN. Embed images inline or use data URIs to avoid external dependencies.
Full instructions (SKILL.md)
Source of truth, from nexu-io/open-design.
name: deck-open-slide-canvas zh_name: "1920 画布自由 Deck" en_name: "Open-Slide 1920 Canvas Deck" emoji: "🎨" description: "Locked 1920x1080 canvas deck with React component-level free composition, not bound to a fixed template." zh_description: "锁死 1920×1080 画布, React 组件级自由组合, 不绑模板" en_description: "Locked 1920x1080 canvas deck with React component-level free composition, not bound to a fixed template." category: slides scenario: design aspect_hint: "1920×1080 (16:9)" featured: 35 recommended: 9 tags: ["canvas", "open-slide", "freeform", "1920", "react"] example_id: sample-deck-open-slide-canvas example_name: "1920 自由画布 · Sea Indigo" example_format: markdown example_tagline: "锁死 1920×1080 + 自由组合" example_desc: "Sea Indigo 调色 + 一页大字 question + 角标" example_source_url: "https://github.com/1weiho/open-slide" example_source_label: "1weiho/open-slide" od: mode: deck surface: web scenario: design featured: 0.17 upstream: "https://github.com/nexu-io/html-anything" preview: type: html entry: index.html reload: debounce-100 design_system: requires: false example_prompt: "Use the Open-Slide 1920 Canvas Deck template to turn my content into a locked 1920x1080 free-composition deck with React component-level layout. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images." example_prompt_i18n: zh-CN: "用「1920 画布自由 Deck」模板把我的内容做成一套「锁死 1920×1080 画布, React 组件级自由组合, 不绑模板」。保持模板的视觉签名,使用真实内容和数据,避免 lorem ipsum 和占位图片。"
【模板: 1920 画布自由 Deck】 【意图】不想被模板束缚的场景 (个人作品集、奇特演讲、艺术 / 设计课 deck)。给一个固定 1920×1080 画布 + 极强的类型 / 调色约束, 让 agent 像写 React 组件一样按内容自由排布每一页。Inspired by 1weiho/open-slide。
【硬性技术规格】
- 画布: 每页严格
width: 1920px; height: 1080px;用transform: scale(...)适配视窗 (默认scale(0.7)居中)。 - 绝对禁止 overflow: 每页内容必须 fit in 1920×1080, 不许滚动条出现。
- 字号 type scale (px):
2xs:18 · xs:22 · sm:28 · md:36 · lg:48 · xl:64 · 2xl:88 · 3xl:120 · 4xl:160 · 5xl:220。 - 边距 padding: 96 / 128 / 160 三档之一。
- 每页有
<section class="slide" data-slide-id="<n>">。
【调色板 — 每个 deck 选 1 套, 全程不改】
- 🌫 Ash & Lime — bg
#f1efea, ink#161616, accent#c5e803。 - 🌌 Sea Indigo — bg
#0a0e1a, ink#f5f5f7, accent#5ac8fa。 - 🧉 Mate Mocha — bg
#1a1411, ink#f5e9d6, accent#d97757。 - 🌸 Pearl Rose — bg
#fdf6f3, ink#1a1015, accent#ff5d8f。
【布局自由度 — 这是核心】
- 不强制模板, 每页根据内容性质自选布局: cover / question / quote / image-text / 三列 / 五列 / 列表 / 数据卡 / 满版图。
- 但每页必须遵守一条规则: 视觉重心 (visual hierarchy) 只有 1 个 — 一句金句、一个数字、一张图, 不要"什么都强调"。
- 不许塞两段平等的文字; 真要并列就上 3 列等权重网格。
【字体】
- 西文:
Inter Tight(display) +Inter(body); 或Source Serif Pro(editorial 风时)。 - 中文:
Noto Sans SC(sans 风) 或Noto Serif SC(editorial 风); 不混 sans + serif。 - mono:
JetBrains Mono给数据 / 时间戳。
【设计细节】
- 严禁 emoji 装饰 (内容里的允许); 严禁多色彩虹; accent 只用一个色。
- 严禁 SVG icon 套用 lucide / feather 等通用库 (自己写 inline SVG)。
- 加键盘 ← / → 切换 + hash 同步; 角标固定: 右下
№N/M, 左下 deck title。 - 必须用用户的真实内容; 严禁 lorem ipsum。
- 单文件 HTML; Tailwind CDN; 不要外链图片。
Related skills
More from nexu-io/open-design and the wider catalog.

deck-swiss-international
16-column grid Swiss International design system with 22 locked layouts and saturated accent colors.

design-brief
Parse design briefs into concrete specs using structured I-Lang protocol format.

design-consultation
Build complete design systems from scratch with creative direction and product mockups.

design-md
Create and manage DESIGN.md files as a single source of truth for design direction, tokens, and visual rules.

design-review
Visual audit and fix UI issues with atomic commits and before/after screenshots.

design-taste-frontend
Anti-slop frontend skill for landing pages, portfolios, and redesigns that infer design direction and avoid templated output.