TMS Blocks
+ Component System
Gutenberg blocks that actually let you design.
TMS Blocks gives you deeper style controls and clean dynamic content, without extra plugins or custom code. The Component System sits on top and adds reusable layouts you can update across a site from one place. Free during the open beta.
How it works
TMS Blocks is the foundation — a set of blocks you install and use directly in the editor. The Component System is a separate plugin that runs on top, adding a master-instance workflow for reusing and syncing layouts.
You can use TMS Blocks on its own. The Component System uses TMS Blocks to do its thing, so you’ll want both if you’re interested in the reusable layout side.
See it working
[TMS Component System — 90 second overview]
Video coming soon
Why this exists
Client sites have a few problems that Gutenberg doesn’t really solve.
These are patterns that come up on almost every project over a certain complexity level. They’re not showstoppers, but they add up to a lot of time.
- Style controls stop at color and font size. Getting margin, flex layout, or position onto a block means a custom class and a stylesheet.
- Outputting a post’s custom field, author name, or term archive URL in a block requires custom PHP or a plugin with its own complex query builder.
- A card layout used across 40 pages needs to be updated 40 times. Patterns help with insertion, not with maintenance.
- Letting a client edit one section of a layout without breaking the surrounding structure is hard to enforce in a standard block setup.
TMS Blocks
Free and Available Now
Eight blocks with honest markup and enough style control to not need a separate CSS file for every project.
tms
block
<>
A semantic wrapper. You pick the tag, the attributes, and the classes. Full style control
tms
Link
<>
Post/page picker, direct URL, or dynamic URLs from post and term data
Great for link cards.
tms
IMG
<>
Media library, direct URL, or dynamic field sources. Controls for alt, loading, and fetchpriority
Styling controls
Every block shares the same style panel. It covers most CSS properties you’d reach for on a real project — and stores them cleanly as block attributes.
Spacing — padding & margin
Typography — size, weight, line-height, tracking
Flexbox & Grid layout
Borders & border-radius
Color & background
Position & z-index
Effects — box shadow, filter, opacity
Transitions
Hover & focus-visible states
Responsive — per-breakpoint overrides
TMS Component System
beta
Build a layout once. Update it everywhere in one step.
The component system lets you define a block layout as a master component, drop instances of it across the site, and control exactly what each instance can change. When the master updates, instances follow — on the frontend automatically, in the editor with one click.
It works with TMS blocks natively. Core WordPress blocks can be placed inside a component instance too, though per-property style overrides only apply to TMS blocks.
What the Component System Adds
Component Masters
Define layout and structure once in a dedicated editor. Save any block or block group as a master with a name and category.
Page instances
Insert instances from the block inserter. Each instance inherits the master’s structure. The master appears in its own Components category.
Per-property overrides
Each instance can override individual style properties — color, spacing, typography — without touching the master or other instances.
Content areas
Mark any block inside a master as a content area. That section is freely editable per instance — different text, different image — while the layout stays locked.
Frontend sync
The frontend always renders the current master version. No manual publish step needed — stale instances resolve automatically on page load.
Staleness detection
The editor flags instances that are behind the current master version before you publish. Update one instance or all at once.
Nested components
Components can contain other components. The sync system tracks each level independently — up to 10 levels deep.
Structure integrity
Blocks can’t be added, removed, or reordered inside a locked instance. The editor enforces this automatically. Content areas are the exception.
How instances look in the list view
Every component block gets a badge in the Gutenberg list view. The color tells you its state at a glance.
It works with TMS blocks natively. Core WordPress blocks can be placed inside a component instance too, though per-property style overrides only apply to TMS blocks.
🔗 Component up to date
🔒 Instance child
🔗 Stale: newer master available
⚠️ Drift: structure changed
Drift means the instance structure was manually modified from the master — it won’t benefit from a clean update without a rebuild. The editor surfaces this before you publish.
Open beta
The component system is free during beta.
I’m a designer and developer who built these tools while working on client sites. The component system solves a real problem I kept running into — maintaining layouts across large sites — and I think it’s far enough along to be useful to other people working the same way.
It’s in open beta, which means it’s working well but still being tested in real projects. I’m looking for developers and agencies who build WordPress sites and want to try it — and who are willing to tell me what’s broken, confusing, or missing.