Planning your grid connection
What to expect from the grid company application process and how to avoid the most common delays.
Read more →This page documents every widget available in md2html2.py. For each widget that has a v03 implementation, the v03 source and its rendered output appear first, followed by the legacy equivalent and its rendered output. Widgets that exist only in legacy syntax appear at the end.
The page hero block. Renders a full-width hero section at the top of the page. Place immediately after the H1.
| param | value |
| --- | --- |
| kicker | Technology |
| body | Engineered for sites where conventional turbines cannot operate. |
| alt | WindWhisperer 100 Max installed on a commercial rooftop |
| btn | Request a site assessment ; contact.html |
< hero !>
Technology
...
Engineered for sites where conventional turbines cannot operate.
Request a site assessment
Layout values: 2col (default) · splash (full-width, no image) · article (narrow reading column, no image).
btn separator is ; (semicolon) — not a pipe.
**Page hero:**
| key | value |
| ------- | ----- |
| kicker | Technology |
| body | Engineered for sites where conventional turbines cannot operate. |
| alt | WindWhisperer 100 Max installed on a commercial rooftop |
| layout | 2col |
| btn | Request a site assessment ; contact.html |
Identical HTML output to v03.
Call-to-action block. Renders outside section flow as a standalone < section class="cta" >. Place at the end of the last content section before a closing ---.
| param | value |
| ------- | ----- |
| label | Next step |
| heading | Start with an energy audit |
| body | A 90-minute on-site assessment gives you a complete picture before any commitment. |
| button | Book an energy audit |
| url | contact.html |
| btn2 | Download the guide ; guide.pdf |
< cta !>
Next step
Start with an energy audit
A 90-minute on-site assessment gives you a complete picture before any commitment.
Book an energy audit
Download the guide
btn2 separator is ; (semicolon) — not a pipe.
**Page CTA:**
| key | value |
| ------- | ----- |
| label | Next step |
| heading | Start with an energy audit |
| body | A 90-minute on-site assessment gives you a complete picture before any commitment. |
| button | Book an energy audit |
| url | contact.html |
| btn2 | Download the guide ; guide.pdf |
Identical HTML output to v03.
Explicit section block. Opens a < section > with an inner < div class="_section-inner" >. Use when you need a section with a specific CSS class, or to wrap mixed content in a single section boundary.
## Why it works differently
Paragraph content here.
< section !>
Why it works differently
Paragraph content here.
{section: highlight-section}
## Why it works differently
Paragraph content here.
---
Why it works differently
Paragraph content here.
Note: v03 < section > uses _section-inner as the inner div class; legacy {section:} uses container. Both are correct — do not mix within a single page.
Two-column layout wrapper. Wraps content in a CSS grid div.
### Column one heading
First column content.
< card !>
### Column two heading
Second column content.
< card !>
< columns !>
Column one heading
First column content.
Column two heading
Second column content.
count values: 2 · 3 (default) · 4. Optional class param appends an extra class to the grid wrapper.
{col}
### Column one heading
First column content.
{col}
### Column two heading
Second column content.
Column one heading
First column content.
Column two heading
Second column content.
Note: legacy {col} always produces exactly two columns and uses layout-2col; v03 supports 2, 3, and 4 columns and uses grid-N.
Named div wrapper. Use for assessment panels, info boxes, or any content requiring a specific CSS class wrapper.
### Key findings
Content inside the panel.
< panel !>
Key findings
Content inside the panel.
{panel: assessment-panel}
### Key findings
Content inside the panel.
{/panel}
Identical HTML output to v03.
### Self-limiting by design
No cut-out wind speed. The rotor geometry limits RPM mechanically — no electronic override required.
< card !>
Self-limiting by design
No cut-out wind speed. The rotor geometry limits RPM mechanically — no electronic override required.
Optional class param appends an extra class: < ! card; class:"featured" > → < div class="card featured" >.
Legacy equivalent: none. is v03 only.
Bare div wrapper with no default class. Use when you need a wrapper div with a fully custom class and no card base class applied.
A note about installation timelines.
< card-raw !>
A note about installation timelines.
Legacy equivalent: none. is v03 only.
Card grid from a GFM table. Auto-detects column count from row count (1 → grid-1, 2 → grid-2, 3 → grid-3, 4 → grid-2, 5+ → grid-3) unless cols is specified explicitly.
< ! cards; cols:3 >
| Label | H3 | Body | Items |
| --- | --- | --- | --- |
| Wind | Self-limiting design | No cut-out speed required. | IEC II certified; 20-year design life |
| Storage | 430 kWh included | LFP battery chemistry as standard. | Day-ahead price optimisation; Grid export ready |
| Monitoring | AI energy management | Continuous optimisation across all assets. | Web dashboard; Mobile alerts |
< cards !>
Wind
Self-limiting design
No cut-out speed required.
- IEC II certified
- 20-year design life
Storage
430 kWh included
LFP battery chemistry as standard.
- Day-ahead price optimisation
- Grid export ready
Monitoring
AI energy management
Continuous optimisation across all assets.
- Web dashboard
- Mobile alerts
Columns: Label (optional small label above H3) · H3 (card heading) · Body (paragraph) · Items (semicolon-separated list, optional).
**Cards: System components**
| Label | H3 | Body | Items |
| --- | --- | --- | --- |
| Wind | Self-limiting design | No cut-out speed required. | IEC II certified; 20-year design life |
| Storage | 430 kWh included | LFP battery chemistry as standard. | Day-ahead price optimisation; Grid export ready |
| Monitoring | AI energy management | Continuous optimisation across all assets. | Web dashboard; Mobile alerts |
Identical HTML output to v03 with cols:3.
**Cards2: Two column example**
| Label | H3 | Body | Items |
| --- | --- | --- | --- |
| First | Card heading one | Body text for first card. | Item A; Item B |
| Second | Card heading two | Body text for second card. | Item C; Item D |
First
Card heading one
Body text for first card.
- Item A
- Item B
Second
Card heading two
Body text for second card.
- Item C
- Item D
Note: Cards2: is the legacy 2-column shorthand. In v03, use .
Dark stat card grid. Auto-detects column count from card count identically to . Supports two authoring patterns inside the tag: a GFM table or heading/paragraph pairs.
< ! stat >
| Value | Caption |
| --- | --- |
| 230 MWh | Annual output, 100 kW Max |
| 430 kWh | Battery storage included |
| 35 dB | Noise level at 3 m |
< stat !>
230 MWh
Annual output, 100 kW Max
430 kWh
Battery storage included
35 dB
Noise level at 3 m
### 230 MWh
Annual output, 100 kW Max
### 430 kWh
Battery storage included
< stat !>
230 MWh
Annual output, 100 kW Max
430 kWh
Battery storage included
cols param: override auto-detection — .
**Stats: Key figures**
| Value | Caption |
| --- | --- |
| 230 MWh | Annual output, 100 kW Max |
| 430 kWh | Battery storage included |
| 35 dB | Noise level at 3 m |
Identical HTML output to v03 table pattern.
Dark stat cards with a paired image — stats in one column, image spanning the full height in the other.
| Value | Caption |
| --- | --- |
| 16 weeks | Typical installation timeline |
| 20 years | Design life |
| 2 | Certified installers in the UK |
< stats-image !>
16 weeks
Typical installation timeline
20 years
Design life
2
Certified installers in the UK
Parameters: src (image stem, required) · alt (optional, derived from src if absent) · side (right default · left).
When side:left, the image appears first in DOM order and sits in column 1.
**StatsImage: farm-installation**
| Value | Caption |
| --- | --- |
| 16 weeks | Typical installation timeline |
| 20 years | Design life |
| 2 | Certified installers in the UK |
Identical HTML output to v03. Left image variant: StatsImage: farm-installation | left.
General-purpose data table. Renders a Optional Note: the legacy Legacy extended syntax: Inline image. Self-closing tag. Parameters: If Legacy syntax variants: The special class Image with semantic Optional Legacy equivalent: none. Use Table of contents. Self-closing tag. Collects headings at the specified level and renders a FAQ answer links get Identical HTML output to v03. Sets a pending label string that is emitted as About the technology Note: the v03 Sets the No HTML output. Sets the CSS class applied to the body content wrapper at page level. Legacy equivalent: none. Use front matter Key/value specification card. Renders a Parameters: Identical HTML output to v03. Power curve displayed as a spec card. Three-column table: wind speed in m/s, km/h, and output. Renders identically to Key format is Identical HTML output to v03. Comparison table with visual yes/no markers. First column is feature labels; subsequent columns are compared options. The Identical HTML output to v03. Dot-style checklist. Renders Identical HTML output to table pattern. Identical HTML output to v03 table pattern. Status-badged location cards in a three-column grid. Each card shows a coloured status badge, heading, and body text. Full installer network. Nationwide planning support available. Second certified installer joining. Installations underway. Expanding from 2026. Contact us to register interest. Status values and CSS classes: Any other value falls back to Identical HTML output to v03. Founder and team cards. Each card shows title, name, bio, and optional phone and email contact buttons. 25 years maritime engineering. Designed the WindWhisperer rotor geometry. Columns: Identical HTML output to v03 with Blog article card grid. Each card shows date, category, title, excerpt, and a read-more link. What to expect from the grid company application process and how to avoid the most common delays. The rotor geometry that removes the need for a cut-out speed -- and why it matters on exposed sites. All columns are optional. Cards with no URL render the title without a link and omit the read-more link. Identical HTML output to v03. The following constructs exist in legacy syntax and have no direct v03 equivalent. They remain fully supported. Use the indicated v03 alternative for new pages. Closes the current section and allows the next content to open a new one. v03 alternative: structure content inside explicit A pipe table with no Rendered: v03 alternative: use Inline label prefix on H2 and H3 headings. Rendered: v03 alternative: use Renders a small card-style sub-heading. Rendered: No v03 equivalent — use Rendered: No v03 equivalent — use . First row is always the header row. Supports
✓ and ✗ prefixes on cells → td-yes / td-no CSS classes.
v03 source
| Phase | Weeks | Activity |
| --- | --- | --- |
| Planning | 0--2 | Planning application, grid company application |
| Civil works | 2--6 | Approvals, electrician booked, civil works |
| Installation | 6--10 | Mounting, commissioning |
| Grid connection | 10--16 | Grid owner inspection, full production |
< table !>v03 rendered
Phase Weeks Activity
Planning 0--2 Planning application, grid company application Civil works 2--6 Approvals, electrician booked, civil works Installation 6--10 Mounting, commissioning Grid connection 10--16 Grid owner inspection, full production class param appends an extra class to the wrapper div.Legacy source
**Table: Installation timeline | 20,15,65 | headers | data-table**
| Phase | Weeks | Activity |
| --- | --- | --- |
| Planning | 0--2 | Planning application, grid company application |
| Civil works | 2--6 | Approvals, electrician booked, civil works |
| Installation | 6--10 | Mounting, commissioning |
| Grid connection | 10--16 | Grid owner inspection, full production |Legacy rendered
Installation timeline
Phase Weeks Activity
...
Planning 0--2 Planning application, grid company application Table: renderer supports col_widths (comma-separated percentages), headers (show first row as ), and a custom table-class. The v03 does not support column widths; use the legacy form when precise column proportions are required.
Table: Label | col_widths | headers | table-class — all segments after the label are optional and pipe-separated.image
v03 source
v03 rendered

src (image stem or filename with extension) · alt · class · caption (optional — renders below the image) · hidden:true (suppresses output, leaves HTML comment).src includes a file extension (.jpg, .png, etc.), the path is used verbatim. Without an extension, the parser probes for real image files and falls back to a _tmp.jpg placeholder.Legacy source
{image: WindWhisperer 50 Max on a farm building rooftop | farm-rooftop | img-wide}Legacy rendered

{image: Alt text | stem | css-class}
{image: Alt text | stem.jpg | css-class}
{image: Alt text | css-class}
{image: Alt text | hidden}power-curve-chart wraps the image in a figure
and optional . Self-closing tag. V03 only — no legacy equivalent.v03 source
v03 rendered
class param adds an extra class alongside figure: → . for all new pages requiring a captioned image.toc
.v03 source — flat list
v03 rendered
v03 source — grouped by H2
v03 rendered (grouped)
class="has-answer" when the slug is wired in FAQ_ANSWER_MAP.Legacy source
{toc:3}
{toc:3,group:2}Legacy rendered
label
immediately before the next heading. Block tag. V03 only — the legacy equivalent is inline ^Label^ heading syntax.v03 source
About the technology
< label !>
## How it worksv03 rendered
How it works
Legacy equivalent
## ^About the technology^ How it worksLegacy rendered
About the technology
How it works
emits ; the legacy ^Label^ syntax emits . Both are correct for their respective contexts.body
body_class on the page content wrapper. Self-closing tag. V03 only — no legacy equivalent.v03 source
v03 rendered
body_class key for the legacy equivalent.spec
v03 source
| Key | Value |
| --- | --- |
| Rated power | 100 kW |
| Rotor height | 4.4 m |
| Cut-in speed | 2.2 m/s |
| Noise | 35 dB @ 3 m |
| Lifetime | 20 years |
< spec !>v03 rendered
label (optional label above card).Legacy source
**Spec: Technical specification**
| Key | Value |
| --- | --- |
| Rated power | 100 kW |
| Rotor height | 4.4 m |
| Cut-in speed | 2.2 m/s |
| Noise | 35 dB @ 3 m |
| Lifetime | 20 years |Legacy rendered
powercurve
with formatted key cells showing both speed units.v03 source
| m/s | km/h | Output |
| --- | --- | --- |
| 2.2 | 8 | 1.2 kW |
| 4.2 | 15 | 9.0 kW |
| 5.6 | 20 | 22 kW |
| 7.0 | 25 | 42 kW |
| 8.3 | 30 | 62 kW |
< powercurve !>v03 rendered
{m/s} ({km/h}) — the km/h value appears in parentheses.Legacy source
**PowerCurve: Power output at wind speed**
| m/s | km/h | Output |
| --- | --- | --- |
| 2.2 | 8 | 1.2 kW |
| 4.2 | 15 | 9.0 kW |
| 5.6 | 20 | 22 kW |
| 7.0 | 25 | 42 kW |
| 8.3 | 30 | 62 kW |Legacy rendered
comparison
✓ prefix → td-yes; ✗ prefix → td-no. Second column header gets th-green class; second column data cells get td-alt.v03 source
| Feature | WindWhisperer | Conventional HAWT |
| --- | --- | --- |
| Cut-out wind speed | ✓ None -- self-limiting | ✗ Required (typically 25 m/s) |
| Urban installation | ✓ Approved for rooftop | ✗ Requires open land |
| Noise at 3 m | ✓ 35 dB | ✗ 55--65 dB typical |
| Bird strike risk | ✓ Low -- closed rotor | ✗ High -- open blade arc |
< comparison !>v03 rendered
Feature
WindWhisperer
Conventional HAWT
Cut-out wind speed
None -- self-limiting
Required (typically 25 m/s)
...
Urban installation
Approved for rooftop
Requires open land
✓ and ✗ characters are stripped from the rendered cell text.Legacy source
**Comparison: VAWT vs HAWT**
| Feature | WindWhisperer | Conventional HAWT |
| --- | --- | --- |
| Cut-out wind speed | ✓ None -- self-limiting | ✗ Required (typically 25 m/s) |
| Urban installation | ✓ Approved for rooftop | ✗ Requires open land |
| Noise at 3 m | ✓ 35 dB | ✗ 55--65 dB typical |
| Bird strike risk | ✓ Low -- closed rotor | ✗ High -- open blade arc |Legacy rendered
checklist
v03 source — table pattern
| Item |
| --- |
| Self-limiting by design -- no cut-out speed |
| IEC II wind class certification |
| 20-year design life |
| LFP battery storage included as standard |
< checklist !>v03 rendered
v03 source — list pattern
- Self-limiting by design -- no cut-out speed
- IEC II wind class certification
- 20-year design life
- LFP battery storage included as standard
< checklist !>v03 rendered (list pattern)
Legacy source
**Checklist: What is included**
| Item |
| --- |
| Self-limiting by design -- no cut-out speed |
| IEC II wind class certification |
| 20-year design life |
| LFP battery storage included as standard |Legacy rendered
geostatus
v03 source
| Status | H3 | Body |
| --- | --- | --- |
| Active | Sweden | Full installer network. Nationwide planning support available. |
| In progress | United Kingdom | Second certified installer joining. Installations underway. |
| On the horizon | Ireland & EU | Expanding from 2026. Contact us to register interest. |
< geostatus !>v03 rendered
Sweden
United Kingdom
Ireland & EU
Status value
CSS class
Activestatus-active
In progressstatus-progress
On the horizonstatus-horizonstatus-active.Legacy source
**GeoStatus: Market availability**
| Status | H3 | Body |
| --- | --- | --- |
| Active | Sweden | Full installer network. Nationwide planning support available. |
| In progress | United Kingdom | Second certified installer joining. Installations underway. |
| On the horizon | Ireland & EU | Expanding from 2026. Contact us to register interest. |Legacy rendered
people
v03 source
| Name | Title | Bio | Email | Phone |
| --- | --- | --- | --- | --- |
| Rune Holm | Founder, HNordic | 25 years maritime engineering. Designed the WindWhisperer rotor geometry. | {{CONTACT-RUNE_email}} | {{CONTACT-RUNE_phone}} |
| Thomas Emerald White | Partner, HNordic | Financial services and technology background. Leads commercial and web operations. | {{CONTACT-THOMAS_email}} | {{CONTACT-THOMAS_phone}} |
< people !>v03 rendered
Name · Title · Bio · Email · Phone. Email and Phone cells accept TOKEN slot references or literal values. Literal phone numbers are wrapped in tel: links; literal email addresses get a pre-filled mailto: with a default subject.cols param: number of columns in the grid, default 2.Legacy source
**People: Meet the founders**
| Name | Title | Bio | Email | Phone |
| --- | --- | --- | --- | --- |
| Rune Holm | Founder, HNordic | 25 years maritime engineering. | {{CONTACT-RUNE_email}} | {{CONTACT-RUNE_phone}} |
| Thomas Emerald White | Partner, HNordic | Financial services and technology background. | {{CONTACT-THOMAS_email}} | {{CONTACT-THOMAS_phone}} |Legacy rendered
cols:2 (default). For a 3-column layout in legacy syntax: People: Meet the founders | cols=3.blog
v03 source
| Date | Category | Title | Excerpt | URL |
| --- | --- | --- | --- | --- |
| 2026-06-01 | Installation | Planning your grid connection | What to expect from the grid company application process and how to avoid the most common delays. | grid-connection.html |
| 2026-05-15 | Technology | How self-limiting design works | The rotor geometry that removes the need for a cut-out speed -- and why it matters on exposed sites. | self-limiting-design.html |
< blog !>v03 rendered
Planning your grid connection
How self-limiting design works
Legacy source
| Date | Category | Title | Excerpt | URL |
| --- | --- | --- | --- | --- |
| 2026-06-01 | Installation | Planning your grid connection | What to expect from the grid company application process. | grid-connection.html |
| 2026-05-15 | Technology | How self-limiting design works | The rotor geometry that removes the need for a cut-out speed. | self-limiting-design.html |
< blog !>Legacy rendered
Legacy-only constructs
Section divider
---Paragraph in section one.
---
## New section heading blocks, which have clear open and close boundaries.Plain GFM table
Type: prefix renders as a standard data table.| Header one | Header two | Header three |
| --- | --- | --- |
| Cell A | Cell B | Cell C |
| Cell D | Cell E | Cell F |
Header one Header two Header three
Cell A Cell B Cell C Cell D Cell E Cell F for explicit control and optional class param.Heading label syntax
^Label^## ^About the technology^ How it works
### ^Step 1^ Site assessmentAbout the technology
How it works
Step 1
Site assessment
block before the heading.H4 card heading
######## Self-limiting by designSelf-limiting by design
#### directly in both legacy and v03 content.Blockquote pullquote
> Operational data from four years of commercial installations shows consistent annual output within 5% of specification.Operational data from four years of commercial installations shows consistent annual output within 5% of specification.
> directly in both legacy and v03 content.