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.
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
- Install Blockenberg. Install from WordPress.org and activate the plugin.
- Insert the block. Edit a page, click +, search for “Heatmap Calendar”, insert it. Category: Charts.
- Configure inspector controls that exist on this block. Open Content. Set “Content — Title”, “Show title”, “Subtitle”, “Show subtitle”.
- Publish. Save the page. Output is the saved block HTML; typography/colors follow Blockenberg shared panels.
Inspector controls from this block’s code
| Control | What the code does |
|---|---|
| Content — Title | Text field in the inspector. block.json default: Activity Overview. Saved as `title`. |
| Show title | On/off toggle in the inspector. On by default. Saved as `showTitle`. |
| Subtitle | Text field in the inspector. block.json default: 365 days of data. Saved as `subtitle`. |
| Show subtitle | On/off toggle in the inspector. On by default. Saved as `showSubtitle`. |
| Legend label | Text field in the inspector. block.json default: contributions. Saved as `legendLabel`. |
| Show legend | On/off toggle in the inspector. On by default. Saved as `showLegend`. |
| Year | Numeric range control in the inspector. Range 2010–2030. block.json default: 2025. Saved as `year`. |
| Max value | Numeric 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 labels | On/off toggle in the inspector. On by default. Saved as `showMonths`. |
| Show day labels | On/off toggle in the inspector. On by default. Saved as `showDayLabels`. |
| Border radius | Numeric range control in the inspector. Range 0–32. block.json default: 16. Saved as `borderRadius`. |
| Padding top | Numeric range control in the inspector. Range 0–120. block.json default: 40. Saved as `paddingTop`. |
| Padding bottom | Numeric 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 2 | Color control in the inspector. block.json default: #40c463. Saved as `color2`. |
| Level 3 | Color 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 — Background | Color control in the inspector. block.json default: #ffffff. Saved as `bgColor`. |
| UI Colors — Title | Color control in the inspector. block.json default: #0f172a. Saved as `titleColor`. |
| Subtitle | Color control in the inspector. block.json default: #64748b. Saved as `subtitleColor`. |
| Labels | Color control in the inspector. block.json default: #6b7280. Saved as `labelColor`. |
When this is the right block
- 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 — that is the job of Heatmap Calendar, not a generic content block.
- Use it when you need the editor control labeled “Content — Title”, which exists on this block’s inspector.
- It matches pages about heatmap, calendar, activity.
- Inserter grouping: reports, dashboards, and data-heavy pages.
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
Waffle Chart
Proportional 10×10 grid where each cell represents 1%. An intuitive and visually engaging alternative to pie charts for showing progress and part-to-whole relationships.
Area Chart
Smooth filled area chart with multiple datasets, gradient fills, and animation using Chart.js (CDN). Great for showing trends over time.
Bar Chart
Vertical or horizontal bar chart with multiple datasets using Chart.js (CDN). Supports stacked, border radius, and custom colors.
Bubble Chart
Interactive bubble chart powered by Chart.js.
Data Table
Interactive data table with sorting, search, pagination and export.
Doughnut Chart
Pie/doughnut chart with adjustable cutout, center label, and per-slice colors using Chart.js (CDN).
Get Blockenberg
Install Blockenberg from WordPress.org, then insert Heatmap Calendar from the Gutenberg inserter.