Skip to content

Commit 3acb41b

Browse files
fix(tools): use markdown headings on docspages (#2516)
Allows downstream to use markdown-it plugins to manipulate output e.g. by adding hash links to headers Co-authored-by: Steven Spriggs <[email protected]>
1 parent 7611324 commit 3acb41b

File tree

10 files changed

+21
-31
lines changed

10 files changed

+21
-31
lines changed

tools/pfe-tools/11ty/DocsPage.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ export class DocsPage implements DocsPageRenderer {
8585
this.templates.addFilter('log', DocsPage.#log);
8686
this.templates.addFilter('type', DocsPage.#type);
8787
this.templates.addFilter('innerMD', DocsPage.#innerMD);
88+
this.templates.addFilter('mdHeading', (header, length = 2) =>
89+
DocsPage.#innerMD(`${Array.from({ length }, () => '#').join('')} ${header}`));
8890
this.templates.addFilter('stringifyParams', DocsPage.#stringifyParams);
8991
this.docsTemplatePath = options?.docsTemplatePath;
9092
}

tools/pfe-tools/11ty/templates/attributes.njk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{% set header = header or 'Attributes' %}
33

44
<section class="band api attributes api-properties">
5-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}> {% if not content and not attributes.length %}
5+
{{ header | mdHeading(level) | safe }} {% if not content and not attributes.length %}
66

77
<em>None</em> {%- else -%}
88

@@ -20,9 +20,7 @@
2020
</dl> {%- endif -%} {%- if deprecated.length -%}
2121

2222
<details>
23-
<summary>
24-
<h{{level+1}}>{{ ('Deprecated ' + header) | innerMD | safe }}</h{{level+1}}>
25-
</summary>
23+
<summary>{{ ('Deprecated ' + header) | mdHeading(level + 1) | safe }}</summary>
2624
<dl> {%- for attribute in deprecated -%}
2725
<dt><strong><code>{{ attribute.name }}</code></strong></dt>
2826
<dd>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% set level = level or 2 %}
22

33
<section class="band">
4-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}>
4+
{{ header | mdHeading(level) | safe }}
55
{{ content | innerMD | safe }}
66
</section>

tools/pfe-tools/11ty/templates/css-custom-properties.njk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<section class="api band css-custom-properties api-properties">
1313
<a id="styling-hooks"></a>
14-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}> {% if not content and not cssProperties.length %}
14+
{{ header | mdHeading(level) | safe }} {% if not content and not cssProperties.length %}
1515

1616
<em>None</em> {%- else -%}
1717

@@ -37,9 +37,7 @@
3737
</table> {%- endif -%} {%- if deprecated.length -%}
3838

3939
<details>
40-
<summary>
41-
<h{{level+1}}>{{ ('Deprecated ' + header) | innerMD | safe }}</h{{level+1}}>
42-
</summary>
40+
<summary>{{ ('Deprecated ' + header) | mdHeading(level + 1) | safe }}</summary>
4341
<table>
4442
<thead>
4543
<tr>

tools/pfe-tools/11ty/templates/css-shadow-parts.njk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{% set header = header or 'CSS Shadow Parts' %}
33

44
<section class="api band css-shadow-parts api-properties">
5-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}> {% if not content and not parts.length %}
5+
{{ header | mdHeading(level) | safe }} {% if not content and not parts.length %}
66

77
<em>None</em> {%- else -%}
88

@@ -14,9 +14,7 @@
1414
</dl> {%- endif -%} {%- if deprecated.length -%}
1515

1616
<details>
17-
<summary>
18-
<h{{level+1}}>{{ ('Deprecated '+header) | innerMD | safe }}</h{{level+1}}>
19-
</summary>
17+
<summary>{{ ('Deprecated ' + header) | mdHeading(level + 1) | safe }}</summary>
2018
<dl> {% for part in deprecated -%}
2119
<dt><strong><code>{{ part.name }}</code></strong></dt>
2220
<dd>

tools/pfe-tools/11ty/templates/events.njk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{% set header = header or 'Events' %}
33

44
<section class="api band events api-properties">
5-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}> {% if not content and not events.length %}
5+
{{ header | mdHeading(level) | safe }} {% if not content and not events.length %}
66

77
<em>None</em> {% else %}
88

@@ -18,9 +18,7 @@
1818
</dl> {%- endif -%} {%- if deprecated.length -%}
1919

2020
<details>
21-
<summary>
22-
<h{{level+1}}>{{ ('Deprecated ' + header) | innerMD | safe }}</h{{level+1}}>
23-
</summary>
21+
<summary>{{ ('Deprecated ' + header) | mdHeading(level + 1) | safe }}</summary>
2422
<dl> {%- for event in deprecated -%}
2523
<dt><strong><code>{{ event.name }}</code></strong></dt>
2624
<dd>

tools/pfe-tools/11ty/templates/methods.njk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
{# TODO: inline code highlighting for type and default: render the markdown to html and extract the `<code>` from the `<pre>` #}
55

66
<section class="api band methods api-properties">
7-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}> {% if not content and not methods.length %}
7+
{{ header | mdHeading(level) | safe }} {% if not content and not events.length %}
88

99
<em>None</em> {% else %}
1010

@@ -15,9 +15,7 @@
1515
</dl> {%- endif -%} {%- if deprecated.length -%}
1616

1717
<details>
18-
<summary>
19-
<h{{level+1}}>{{ ('Deprecated '+header) | innerMD | safe }}</h{{level+1}}>
20-
</summary>
18+
<summary>{{ ('Deprecated ' + header) | mdHeading(level + 1) | safe }}</summary>
2119
<dl> {%- for method in deprecated -%}
2220
<dt><strong><code>{{ method.name }}({{ method | stringifyParams }})</code></strong></dt>
2321
<dd>

tools/pfe-tools/11ty/templates/overview.njk

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<section class="band overview">
2-
<h2>Overview</h2>
2+
3+
## Overview
34

45
<div class="example-preview">
56
{{ content | safe }}
@@ -8,7 +9,8 @@
89
</section>
910

1011
<section class="band">
11-
<h2>Installation</h2>
12+
13+
## Installation
1214

1315
```shell
1416
npm install {{ package.name }}

tools/pfe-tools/11ty/templates/properties.njk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
{# TODO: inline code highlighting for type and default: render the markdown to html and extract the `<code>` from the `<pre>` #}
55

66
<section class="api band properties api-properties">
7-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}> {% if not content and not properties.length %}
7+
{{ header | mdHeading(level) | safe }} {% if not content and not properties.length %}
88

99
<em>None</em> {% else %}
1010

@@ -22,9 +22,7 @@
2222
</dl> {% endif %} {%- if deprecated.length -%}
2323

2424
<details>
25-
<summary>
26-
<h{{level+1}}>{{ ('Deprecated ' + header) | innerMD | safe }}</h{{level+1}}>
27-
</summary>
25+
<summary>{{ ('Deprecated ' + header) | mdHeading(level + 1) | safe }}</summary>
2826
<dl> {%- for property in deprecated -%}
2927
<dt><strong><code>{{ property.name }}</code></strong></dt>
3028
<dd>

tools/pfe-tools/11ty/templates/slots.njk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{% set header = header or 'Slots' %}
33

44
<section class="api band slots api-properties">
5-
<h{{level}}>{{ header | innerMD | safe }}</h{{level}}> {% if not content and not slots.length %}
5+
{{ header | mdHeading(level) | safe }} {% if not content and not slots.length %}
66

77
<em>None</em> {%- else -%}
88

@@ -17,9 +17,7 @@
1717
</dl> {%- endif -%} {%- if deprecated.length -%}
1818

1919
<details>
20-
<summary>
21-
<h{{level+1}}>{{ ('Deprecated ' + header) | innerMD | safe }}</h{{level+1}}>
22-
</summary>
20+
<summary>{{ ('Deprecated ' + header) | mdHeading(level + 1) | safe }}</summary>
2321
<dl> {% for slot in deprecated -%}
2422
<dt> {%- if slot.name -%}
2523
<strong><code>{{ slot.name }}</code></strong> {%- else -%}

0 commit comments

Comments
 (0)