Effects · Gutenberg

Skill Rings block for WordPress

Animated SVG circular progress rings for showcasing skills, proficiencies, or statistics. Supports both concentric (nested rings) and row (individual rings) layouts with scroll-triggered fill animations.

Get Blockenberg

Free Gutenberg block in Blockenberg. The inspector controls and front-end behavior on this page come from this block’s source, not a shared stub.

Get Blockenberg

What it actually does

Animated SVG circular progress rings for showcasing skills, proficiencies, or statistics. Supports both concentric (nested rings) and row (individual rings) layouts with scroll-triggered fill animations.

Inspector panels on this block: Layout & Animation, Animation, Labels, Skills. Those titles come from index.js, not from a shared template.

Behavior controls: “Layout” options: Row (individual rings), Concentric (nested rings); “Line Cap” options: Round, Flat, Square; “Easing” options: Ease Out, Ease In, Linear; “Label Position” options: Below ring, Inside ring.

Where to find it

Gutenberg inserter → Effects → search “Skill Rings” (block name `blockenberg/skill-rings` in block.json). Style it in the sidebar after insert.

How to use Skill Rings block for WordPress

  1. Install Blockenberg. Install from WordPress.org and activate the plugin.
  2. Insert the block. Edit a page, click +, search for “Skill Rings”, insert it. Category: Effects.
  3. Configure inspector controls that exist on this block. Open Layout & Animation. Set “Skill Name”, “Percentage”, “Stroke Width (px)”, “Gap Between Rings (px)”.
  4. Check the published page. The view script reads HTML data attributes: data-opts. The block editor preview may not run the same view script.

Inspector controls from this block’s code

ControlWhat the code does
Skill NameText field in the inspector.
PercentageNumeric range control in the inspector. Range 0–100.
LayoutSelect control; the chosen value is saved on the block. Options: Row (individual rings); Concentric (nested rings). block.json default: row. Saved as `layout`.
Stroke Width (px)Numeric range control in the inspector. Range 2–40. block.json default: 10. Saved as `strokeWidth`.
Gap Between Rings (px)Numeric range control in the inspector. Range 2–40. block.json default: 14. Saved as `ringGap`.
Line CapSelect control; the chosen value is saved on the block. Options: Round; Flat; Square. block.json default: round. Saved as `lineCap`.
Duration (ms)Numeric range control in the inspector. Range 200–4000. block.json default: 1400. Saved as `animDuration`.
EasingSelect control; the chosen value is saved on the block. Options: Ease Out; Ease In; Linear. block.json default: ease-out. Saved as `animEasing`.
Stagger Delay (ms)Numeric range control in the inspector. Range 0–500. block.json default: 120. Saved as `animDelay`.
Show PercentageOn/off toggle in the inspector. On by default. Saved as `showPercentage`.
Show Skill NameOn/off toggle in the inspector. On by default. Saved as `showLabel`.
Label PositionSelect control; the chosen value is saved on the block. Options: Below ring; Inside ring. block.json default: below. Saved as `labelPosition`.
Percentage Size (px)Numeric range control in the inspector. Range 12–60. block.json default: 28. Saved as `pctSize`.
Center LabelText field in the inspector. Saved as `centerLabel`.
Padding Top (px)Numeric range control in the inspector. Range 0–200. block.json default: 60. Saved as `paddingTop`.
Padding Bottom (px)Numeric range control in the inspector. Range 0–200. block.json default: 60. Saved as `paddingBottom`.
Percentage (Pct Typo)Shared Blockenberg typography popover (family, size, weight, spacing). Saved as `pctTypo`.
LabelShared Blockenberg typography popover (family, size, weight, spacing). Saved as `labelTypo`.
Colors — BackgroundColor control in the inspector. Saved as `bgColor`.
Track (empty arc)Color control in the inspector. block.json default: #1f2937. Saved as `trackColor`.
Percentage TextColor control in the inspector. block.json default: #ffffff. Saved as `pctColor`.
Label TextColor control in the inspector. block.json default: #ffffff. Saved as `labelColor`.
Center LabelColor control in the inspector. block.json default: #ffffff. Saved as `centerLabelColor`.

What the front-end script actually does

When this is the right block

Notes from the implementation

viewScript: this folder’s frontend.js is enqueued on the front end for this block.

FAQ

How do I add the Skill Rings block in WordPress?

Install Blockenberg from WordPress.org, edit a page in the block editor, click +, and search for “Skill Rings”. It sits under Effects. After insert, open Layout & Animation and set “Skill Name”, “Percentage”, “Stroke Width (px)”, “Gap Between Rings (px)”.

What makes Skill Rings different from other Blockenberg blocks?

Animated SVG circular progress rings for showcasing skills, proficiencies, or statistics. Supports both concentric (nested rings) and row (individual rings) layouts with scroll-triggered fill animations. Inspector labels on this block include “Skill Name”, “Percentage”, “Stroke Width (px)”, “Gap Between Rings (px)”.

Is the Skill Rings Gutenberg block free?

Yes. Skill Rings ships inside Blockenberg. Get the plugin from WordPress.org — no paid add-on is required for this block.

Can I style Skill Rings to match my theme?

Yes. Blockenberg’s shared typography and color panels apply here, plus any block-specific style controls listed on this page (panels: Layout & Animation, Animation, Labels, Skills).

Related effects blocks

Get Blockenberg

Install Blockenberg from WordPress.org, then insert Skill Rings from the Gutenberg inserter.

Get Blockenberg