Design once,
everywhere.
Pulse is a lean WordPress theme for sites that design in Elementor and
publish in the block editor. One theme.json feeds both,
so a rebrand is one file edit, not two afternoons.
85 KB ZIP · WordPress 6.8+ · PHP 8.3+ · GPL-2.0-or-later · Running in production at jestats.io
The Token Bridge
Every mixed-editor site keeps its brand twice:
theme.json for WordPress, Site Settings for Elementor.
Change the accent color and half the site quietly keeps the old one.
Pulse ends that. On activation, and whenever tokens change, it
writes the palette and typography into Elementor's active kit and
confirms it with an admin notice.
--pulse-* CSS variables.
| Pulse token | Elementor global | CSS variable |
|---|---|---|
| Accent (Signal) | Primary, Accent | --pulse-accent |
| Ink | Text | --pulse-ink |
| Muted | Secondary | --pulse-muted |
| Canvas, Surface, Border | — | --pulse-canvas and friends |
| Primary font, else serif | Primary font | --pulse-serif |
| Serif, else sans | Secondary font | — |
| Sans | Text font | --pulse-font |
| Mono, else sans | Accent font | --pulse-mono |
Sync writes only those eight globals. A fingerprint of the resolved
tokens skips the write when nothing changed. Turn it off entirely
with
add_filter( 'jepulse_auto_sync_elementor_kit', '__return_false'
);
or run it by hand with wp pulse sync.
Four variations, one edit each
Complete seven-color palettes in styles/. Pick one in
a child theme and the bridge carries it into both editors.
Type needs no downloads: an editorial serif stack for headings, system sans for text, system mono for data. The whole front end is 10.8 KB of CSS and 0.7 KB of JavaScript.
Install in three steps
- Download the ZIP and upload it under Appearance → Themes → Add New → Upload Theme.
- Activate Pulse, then install Elementor Free when the admin notice offers it.
- Set the site title, logo, and menus. Token Bridge hands the design to Elementor on the next admin load — check Templates → Theme Builder → Site Settings to see your palette already there.
For a client brand, copy examples/pulse-child/ to
wp-content/themes/customer-name/, edit its
theme.json, and activate the child. No Node or Composer
is ever needed on a customer site. Without Elementor, native posts,
menus, search, and comments keep working.
Inside the box
Patterns. Page hero, Ledger of services, Statement quote, Editorial statement, Closing invitation.
Block styles. Statement quotes, Framed images, the short Signal rule, and ruled Ledger lists.
Editorial care. Reading time, filing footers, pill pagination, and the same stylesheet in the editor as on the page.
For developers
npm ci
npm run env:start # WordPress + Elementor + Pulse at localhost:8888
npm run check # lint, strict types, production build
npm run package # dist/jepulse-0.2.0.zip
Vite and strict TypeScript on the front end, WordPress coding standards in PHP, integration tests against real WordPress with Elementor on and off. The release ZIP is built from an explicit allowlist. Source, issues, and changelog live on GitHub.