TMS Blocks
+ Component System

TMS Blocks icon

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

paragraph

<>

Rich text with truncation and dynamic content support

tms

Heading

<>

H1–H6 with dynamic content from custom fields, post data, and taxonomies

tms

IMG

<>

Media library, direct URL, or dynamic field sources. Controls for alt, loading, and fetchpriority

tms

post context

<>

Scope child blocks to any post without a full Query Loop

tms

list

<>

Semantic ordered and unordered lists with full style control

tms

list item

<>

A single <li>. Rich text content or inner blocks. Supports custom list marker type, position, and image.

tms

dynamic field

<>

Output post meta, taxonomy terms, author data, dates, comment counts, image sources, or dynamic links — no PHP required

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.

Join the Beta

Your subscription could not be saved. Please try again.
You're on the list. We'll email you when it's ready.

JOIN THE BETA

Leave your email and I'll send you access to the component system plugin, plus notes when things change significantly.

TMS Blocks