hps-bauhaus

star 66.2k

Bauhaus Primary — design-history geometric deck style from the lewislulu/html-ppt-skill bauhaus theme. Aged canvas

nexu-io By nexu-io schedule Updated 6/16/2026

name: hps-bauhaus description: Bauhaus Primary — design-history geometric deck style from the lewislulu/html-ppt-skill bauhaus theme. Aged canvas #f4efe3, red/yellow/blue primaries, hard three-band gradient, zero radius, 2px ink strokes, hard offset shadows, Archivo Black + Space Grotesk. Use when the user wants a presentation with a Bauhaus, geometric-modernist, primary-color, or design-history poster look. triggers:

  • "bauhaus"
  • "包豪斯"
  • "三原色"
  • "primary colors"
  • "geometric deck"
  • "design history"
  • "modernist slides"
  • "几何主义" od: mode: deck surface: web scenario: product upstream: "https://github.com/lewislulu/html-ppt-skill" preview: type: html entry: example.html design_system: requires: false speaker_notes: true animations: true example_prompt: "Use Bauhaus Primary to turn my content into a single-file HTML deck. Confirm topic, audience and page count first, then start from the seed example.html — keep its token sheet, slide scaffold and keyboard runtime exactly as-is, replace slide content only, and stay strictly inside the red/yellow/blue + ink + aged-canvas palette." example_prompt_i18n: zh-CN: "用「包豪斯三原色」把我的内容做成单文件 HTML 幻灯片。先确认主题、观众和页数,然后从种子 example.html 出发——完整保留 token 表、slide 骨架和键盘运行时,只替换幻灯片内容,严格停留在红黄蓝三原色 + 墨色 + 做旧画布的色域内。"

Bauhaus Primary (hps-bauhaus)

Single-theme deck plugin ported from the bauhaus theme of the upstream MIT-licensed lewislulu/html-ppt-skill (36 themes × 31 layouts × 27 animations). This plugin locks one skin: design-history geometric modernism — the 1919–1933 Dessau language of square/triangle/circle, the three primaries on an aged paper ground, and typography that behaves like a poster.

Start from example.html. Replace content only. Never rewrite the design system or the runtime script. Never introduce a color or font outside the token sheet below.

Locked token sheet (:root, do not deviate)

:root{
  --bg:#f4efe3;            /* aged canvas ground */
  --bg-soft:#e8e2d1;       /* darker canvas */
  --surface:#ffffff;       /* card paper */
  --surface-2:#f4efe3;
  --border:#111111;        /* ink — every stroke is this */
  --border-strong:#111111;
  --text-1:#111111; --text-2:#333333; --text-3:#666666;
  --accent:#e03c27;        /* Rot — red */
  --accent-2:#f4c430;      /* Gelb — yellow */
  --accent-3:#1d4eaf;      /* Blau — blue */
  --good:#1b8c3c; --warn:#f4c430; --bad:#e03c27;
  --grad:linear-gradient(135deg,#e03c27 0 33%,#f4c430 33% 66%,#1d4eaf 66% 100%);
  --grad-soft:linear-gradient(135deg,#f4efe3,#e8e2d1);
  --radius:0; --radius-sm:0; --radius-lg:0;          /* zero radius, always */
  --shadow:4px 4px 0 #111; --shadow-lg:8px 8px 0 #111; /* hard offset, never blurred */
  --font-sans:'Space Grotesk','Inter','Noto Sans SC',sans-serif;
  --font-mono:'JetBrains Mono',SFMono-Regular,Menlo,monospace;
  --font-display:'Archivo Black','Space Grotesk','Noto Sans SC',sans-serif;
  --letter-tight:-.03em; --letter-normal:-.01em;
  --ease:cubic-bezier(.4,0,.2,1);
}

Hard rules derived from the sheet:

  • The three-band gradient (--grad) has hard stops — it is a flag, not a blend. Use it only on .gradient-text hero words, .tri-band, and .divider-accent. Never use soft multi-stop gradients.
  • All chrome is ink: 2px solid #111 borders on cards, pills, chart bars, checkboxes; 3px strokes inside SVG.
  • Shadows are hard offsets (4px 4px 0 #111, 8px 8px 0 #111). Blurred rgba drop shadows are forbidden.
  • border-radius is 0 on every element except the geometric circle device (border-radius:50%).

Typography

  • Display (.h1 .h2 .stat-big .quote .section-num .kpi .num): Archivo Black, weight 400 (the face is already black — never fake-bold), uppercase, letter-spacing -.03em.
  • Body (.lede, card copy, lists): Space Grotesk, weights 300–700.
  • Mono (step counters, theme chip, code): JetBrains Mono.
  • No serif, no slab, no handwriting, no brush — those belong to sibling themes (editorial-serif, peoples-platform), not this one.
  • Google Fonts via @import is the only allowed remote resource.

Signature devices (keep these; they are the style)

  • Kandinsky mark: inline SVG of red square + yellow triangle + blue circle, 3px ink strokes — on the cover and the closer.
  • Outlined section numerals: .section-num rendered stroke-only via -webkit-text-stroke:3px var(--text-1) with transparent fill.
  • Primary top rules: .card-accent / .card-accent-2 / .card-accent-3 give cards an 8px red/yellow/blue top border; rotate the three primaries across a grid rather than repeating one.
  • Tri-band: .tri-band and .divider-accent are ink-bordered strips of the hard three-band gradient.
  • Square checkboxes: .check li::before is a yellow ink-bordered square with an ink check stroke.
  • Geo strip: .geo-square / .geo-triangle / .geo-circle repeat the square/triangle/circle motif as a footer ornament.

Layout system (shared upstream catalog, 31 layouts)

The slide scaffold and class vocabulary come from the upstream html-ppt system. Master categories (compose cover → toc → section-divider → content pages → closer):

group layouts
Openers & transitions cover toc section-divider
Text-centric bullets two-column three-column big-quote
Numbers & data stat-highlight kpi-grid table chart-bar chart-line chart-pie chart-radar
Code & terminal code diff terminal
Diagrams & flows flow-diagram arch-diagram process-steps mindmap
Plans & comparisons timeline roadmap gantt comparison pros-cons todo-checklist
Visuals image-hero image-grid
Closers cta thanks

The seed demonstrates 10 of them: cover, toc, section-divider, two-column, kpi-grid, stat-highlight, chart-bar, process-steps, big-quote, thanks. Charts are always pure CSS blocks or inline SVG with primary fills and ink strokes — never Chart.js or any external library. "Images" are geometric SVG compositions; no photos, no external image hosts.

Page structure & runtime contract

  • One self-contained HTML file: inline <style> + inline <script>, zero build, zero external JS/CSS (Google Fonts @import excepted).
  • Every page is <section class="slide" data-title="..."> inside <div class="deck" id="deck"> — a horizontal scroll-snap strip, each slide exactly 100vw × 100vh (flex:0 0 100vw), 16:9 / 1280×720 baseline with clamp() type scales, padding 72px 96px. One screen per slide; no internal vertical scrolling.
  • Fixed chrome: .deck-header (deck name + theme chip), .deck-footer (attribution + N / total counter), .progress-bar (ink-topped red fill).
  • Keyboard: Space PageUp PageDown Home End navigate; #/N (1-based) hash deep-links via history.replaceState in try/catch (srcdoc-safe). The script dedupes dual window/document capture-phase key listeners by Event identity and auto-focuses <body> — these solve real iframe-host bugs; keep the script verbatim.
  • Speaker notes: one hidden <div class="notes">…</div> per slide, 1–3 sentences.
  • Animations: restrained upstream subset — anim-rise-in on the hero, anim-fade-up on quotes, anim-stagger-list on grids. At most one hero animation plus one stagger per slide.

Authoring checklist

  1. Copy example.html; keep all <style> blocks and the <script> verbatim.
  2. Replace the 10 demo slides with the planned layout sequence; the script recomputes the N / total counter automatically.
  3. Real content, real numbers — no lorem ipsum, no placeholder images.
  4. Rotate the three primaries deliberately (red = emphasis, yellow = warm support, blue = structure); large areas stay canvas + ink.
  5. Verify: arrows + Space navigate, #/5 deep-links, no slide overflows vertically, every stroke is #111, every radius is 0.

Attribution

Token vocabulary, layout taxonomy, slide scaffold, and the bauhaus palette come from the upstream MIT-licensed lewislulu/html-ppt-skill (© lewis <sudolewis@gmail.com>). The LICENSE file ships alongside this plugin — keep it in place when redistributing.

Install via CLI
npx skills add https://github.com/nexu-io/open-design --skill hps-bauhaus
Repository Details
star Stars 66,163
call_split Forks 7,420
navigation Branch main
article Path SKILL.md
More from Creator