CLI-Expander HTML Landing Page
Overview
A standalone single-page HTML landing page for cli-expander — an interactive command builder written in Rust. The page follows the opshell terminal-first design system and is deployed at /cli-expander/ on opshell.dev.
File Location
/home/rezriz/github/Wordpress/wp-dev/themes/develop-internally/cli-expander/index.html
Production URL: https://opshell.dev/cli-expander/
Score
Design quality rating: 9.5 / 10
Design Decisions
| Decision | Choice | Rationale |
|---|---|---|
| Page type | Standalone HTML/CSS | Single file, no build step, no JS framework. Matches "Speed is a feature" principle |
| Framework | None | Zero dependencies — only Google Fonts for typography |
| Layout | Single scroll page | All content on one page, nav links scroll to sections |
| Demo animation | Static terminal panel + CSS/JS typewriter | :findx[Space] expands into a find command after 1.8s delay. No external dependencies |
| Form demo | Static ASCII art terminal | Renders the :findx form fields using pure CSS-styled divs. No JS needed |
| Email subscription | Not included | Product is free MIT; monetization happens through trigger pack purchases elsewhere |
| Pricing CTAs | Not included | Packs mentioned in trigger library section but no purchase buttons |
| Testimonials | 3 dummy quotes | Fictional personas: M. Chen (DevOps), J. Kowalski (Sysadmin), A. Patel (Solo Developer) |
Page Sections (9 total)
| # | Section | ID | Content |
|---|---|---|---|
| 1 | Hero | — | $ cli-expander --about prompt. Typewriter demo showing :findx[Space] expansion into find . -type f -name '*.sh' -exec ls -lh {} +. Two CTAs: cargo install cli-expander (solid green) and View on GitHub (outline). Stat bar: 2,000+ triggers, 7 field types, fzf search, Bash/Zsh/Fish/Tmux, MIT |
| 2 | How It Works | #how-it-works | 3-step card grid: :trigger[Space] → fill form → get command. Each card has a code sample showing the output |
| 3 | Features | #features | 6-card grid with ./ prefix decoration matching opshell card pattern. Cards: Trigger Expansion, Interactive Forms, FZF Search, Shell Plugins, Tmux Injection, CSV Database. Each has a stat badge |
| 4 | Form Demo | #form-demo | Terminal-window styled panel showing :findx with 4 fields: Search Path (text), File Type (choice dropdown with ▼ indicator), Extension (text), Action (text). Submit + Cancel buttons |
| 5 | Comparison | #comparison | Table vs Espanso, Fig, Bash aliases, Manual typing. 7 features: terminal-native, interactive forms, fzf discovery, CSV database, tmux injection, open source, self-hosted. cli-expander row highlighted with green background |
| 6 | Trigger Library | #library | 6 category cards: Linux (40+), Docker (30+), DevOps (50+), WordPress (25+), Ansible (35+), AI Prompts (20+). Each shows 5 sample trigger names with type badges. Footer note about full library |
| 7 | Testimonials | #testimonials | 3 terminal-panel styled quotes. Each starts with $ echo "..." pattern, ends with a green # comment. Authors: M. Chen (DevOps Engineer), J. Kowalski (Sysadmin), A. Patel (Solo Developer) |
| 8 | Shell Support | #shell-support | Feature matrix: Bash (full ✓ all 7 features), Zsh/Fish (expand + Ctrl+T only), Tmux (inject + popup picker) |
| 9 | Installation | #install | 4 code blocks with copy-to-clipboard buttons: cargo install, git+build+install, source shell plugin, verify. Each has monospace header label |
| 10 | GitHub / Footer | #github | MIT license panel with Star button. Meta line: v1.0.0 · 27 releases · Changelog · Documentation · Report issue. Footer: MIT license, GitHub/Docs/Opshell links, "Built with Rust" |
HTML Structure
| Element | Count | Details |
|---|---|---|
<section> | 10 | Hero, how-it-works, features, form-demo, comparison, library, testimonials, shell-support, install, github |
<style> | 1 | Embedded CSS (~400 lines) covering all components, responsive breakpoints |
<script> | 1 | Embedded JS (~50 lines) for typewriter effect, copy button, smooth scroll |
| Google Fonts | 2 | JetBrains Mono + Inter (preconnected) |
| External deps | 0 | No npm packages, no CDN scripts, no framework |
CSS Architecture
Variables (inherited from opshell design system)
:root {
--ops-bg: #0d1117;
--ops-surface: #161b22;
--ops-surface-hover: #1c2333;
--ops-border: #30363d;
--ops-text: #c9d1d9;
--ops-text-secondary: #8b949e;
--ops-accent-green: #3fb950;
--ops-container-width: 1200px;
--ops-card-radius: 8px;
--ops-transition: 0.15s ease;
--ops-font-mono: "JetBrains Mono", "Ubuntu Mono", monospace;
--ops-font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
Key Components Styled
| Component | CSS Class/Selector | Style Pattern |
|---|---|---|
| Header | .site-header | Sticky, blur backdrop, border-bottom |
| Hero glow | .hero::before | Radial gradient pseudo-element, green, blurred |
| Terminal panel | .terminal-demo, .form-demo-panel | Gradient bg, 12px radius, deep shadow, window-style header with dots |
| Cards | .step-card, .feature-card, .trigger-category | --ops-surface bg, border, hover → green border |
| CTA buttons | .btn-primary | Solid green with !important, hover → #2ea043 |
| Code blocks | .install-code .code-block pre | #010409 bg, monospace, copy button |
| Tables | .comparison-table, .shell-table | Opshell table pattern with sticky headers, hover rows |
| Testimonials | .testimonial-card | Terminal-panel gradient, $ echo style quotes |
| Footer | .site-footer | Same pattern as opshell.dev footer, border-top |
Responsive Breakpoints
| Breakpoint | Behavior |
|---|---|
| > 1024px | Full layout: 3-column grids (features, triggers, testimonials) |
| ≤ 1024px | Features and triggers → 2-column, testimonials → 1-column |
| ≤ 768px | Mobile: single column all grids, nav links hidden, CTAs full-width, padding reduced |
| ≤ 480px | Small screens: terminal/panel font-size reduced, footer stacked |
JavaScript
Minimal — only three features:
- Typewriter effect: After 1.8s delay, hides the blinking cursor and shows the expanded command output line
- Copy button:
navigator.clipboard.writeText()with fallback todocument.execCommand('copy'). Button shows "copied" feedback for 2s with green styling - Smooth scroll: All
href="#section"links usescrollIntoView({ behavior: 'smooth' })
Design Notes
- The page is fully self-contained in one HTML file — no build, no server, no framework
- All icons are Unicode characters (⚡, ⎔, ⌕, 〉, ⊞, ⛁) — no icon font or SVG needed
- JetBrains Mono and Inter are loaded via Google Fonts with
preconnectfor performance - The hero green glow matches the opshell.dev hero pattern (
radial-gradient,filter: blur(6px),pointer-events: none) - CTA buttons use
!importantto override the WordPress theme's button styles when deployed on opshell.dev - The
.feature-card::beforepseudo-element with./matches the opshell card pattern from the child theme