Charts · Gutenberg

Heatmap Calendar block for WordPress

GitHub-style activity heatmap calendar showing intensity by day across a full year. 53 × 7 grid of colour-coded squares with month labels, day-of-week labels, and a configurable colour scale.

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

GitHub-style activity heatmap calendar showing intensity by day across a full year. 53 × 7 grid of colour-coded squares with month labels, day-of-week labels, and a configurable colour scale.

Inspector panels on this block: Content, Grid, Heat Colors, UI Colors. Those titles come from index.js, not from a shared template.

Heatmap Calendar has no render.php and no frontend.js. The saved Gutenberg HTML is what visitors see, plus Blockenberg layout/typography CSS.

Where to find it

Gutenberg inserter → Charts → search “Heatmap Calendar” (block name `blockenberg/heatmap-calendar` in block.json). Style it in the sidebar after insert.

How to use Heatmap Calendar block for WordPress

  1. Install Blockenberg. Install from WordPress.org and activate the plugin.
  2. Insert the block. Edit a page, click +, search for “Heatmap Calendar”, insert it. Category: Charts.
  3. Configure inspector controls that exist on this block. Open Content. Set “Content — Title”, “Show title”, “Subtitle”, “Show subtitle”.
  4. Publish. Save the page. Output is the saved block HTML; typography/colors follow Blockenberg shared panels.

Inspector controls from this block’s code

ControlWhat the code does
Content — TitleText field in the inspector. block.json default: Activity Overview. Saved as `title`.
Show titleOn/off toggle in the inspector. On by default. Saved as `showTitle`.
SubtitleText field in the inspector. block.json default: 365 days of data. Saved as `subtitle`.
Show subtitleOn/off toggle in the inspector. On by default. Saved as `showSubtitle`.
Legend labelText field in the inspector. block.json default: contributions. Saved as `legendLabel`.
Show legendOn/off toggle in the inspector. On by default. Saved as `showLegend`.
YearNumeric range control in the inspector. Range 2010–2030. block.json default: 2025. Saved as `year`.
Max valueNumeric range control in the inspector. Range 5–50. block.json default: 20. Saved as `maxValue`.
Data seed (changes pattern)Numeric range control in the inspector. Range 1–999. block.json default: 42. Saved as `seed`.
Cell size (px)Numeric range control in the inspector. Range 8–20. block.json default: 13. Saved as `cellSize`.
Cell gap (px)Numeric range control in the inspector. Range 1–8. block.json default: 3. Saved as `cellGap`.
Cell radius (px)Numeric range control in the inspector. Range 0–6. block.json default: 2. Saved as `cellRadius`.
Show month labelsOn/off toggle in the inspector. On by default. Saved as `showMonths`.
Show day labelsOn/off toggle in the inspector. On by default. Saved as `showDayLabels`.
Border radiusNumeric range control in the inspector. Range 0–32. block.json default: 16. Saved as `borderRadius`.
Padding topNumeric range control in the inspector. Range 0–120. block.json default: 40. Saved as `paddingTop`.
Padding bottomNumeric range control in the inspector. Range 0–120. block.json default: 40. Saved as `paddingBottom`.
Level 0 (empty)Color control in the inspector. block.json default: #ebedf0. Saved as `color0`.
Level 1 (low)Color control in the inspector. block.json default: #9be9a8. Saved as `color1`.
Level 2Color control in the inspector. block.json default: #40c463. Saved as `color2`.
Level 3Color control in the inspector. block.json default: #30a14e. Saved as `color3`.
Level 4 (high)Color control in the inspector. block.json default: #216e39. Saved as `color4`.
UI Colors — BackgroundColor control in the inspector. block.json default: #ffffff. Saved as `bgColor`.
UI Colors — TitleColor control in the inspector. block.json default: #0f172a. Saved as `titleColor`.
SubtitleColor control in the inspector. block.json default: #64748b. Saved as `subtitleColor`.
LabelsColor control in the inspector. block.json default: #6b7280. Saved as `labelColor`.

When this is the right block

Notes from the implementation

Static block: markup is saved in post content; no PHP render callback in this folder.

FAQ

How do I add the Heatmap Calendar block in WordPress?

Install Blockenberg from WordPress.org, edit a page in the block editor, click +, and search for “Heatmap Calendar”. It sits under Charts. After insert, open Content and set “Content — Title”, “Show title”, “Subtitle”, “Show subtitle”.

What makes Heatmap Calendar different from other Blockenberg blocks?

GitHub-style activity heatmap calendar showing intensity by day across a full year. 53 × 7 grid of colour-coded squares with month labels, day-of-week labels, and a configurable colour scale. Inspector labels on this block include “Content — Title”, “Show title”, “Subtitle”, “Show subtitle”.

Is the Heatmap Calendar Gutenberg block free?

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

Can I style Heatmap Calendar 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: Content, Grid, Heat Colors, UI Colors).

Related charts blocks

Get Blockenberg

Install Blockenberg from WordPress.org, then insert Heatmap Calendar from the Gutenberg inserter.

Get Blockenberg