Skip to content

Commit 6759e41

Browse files
committed
Move FootnoteDefinition, FootnoteReference to GFM section
1 parent 6f3653a commit 6759e41

File tree

1 file changed

+95
-93
lines changed

1 file changed

+95
-93
lines changed

readme.md

Lines changed: 95 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -981,6 +981,88 @@ However, a short list of frequently used extensions are shown below.
981981

982982
The following interfaces are found in [GitHub Flavored Markdown][gfm].
983983

984+
#### `FootnoteDefinition`
985+
986+
```idl
987+
interface FootnoteDefinition <: Parent {
988+
type: "footnoteDefinition"
989+
children: [FlowContent]
990+
}
991+
992+
FootnoteDefinition includes Association
993+
```
994+
995+
**FootnoteDefinition** ([**Parent**][dfn-parent]) represents content relating
996+
to the document that is outside its flow.
997+
998+
**FootnoteDefinition** can be used where [**flow**][dfn-flow-content] content is
999+
expected.
1000+
Its content model is also [**flow**][dfn-flow-content] content.
1001+
1002+
**FootnoteDefinition** includes the mixin
1003+
[**Association**][dfn-mxn-association].
1004+
1005+
**FootnoteDefinition** should be associated with
1006+
[**FootnoteReferences**][dfn-footnote-reference].
1007+
1008+
For example, the following Markdown:
1009+
1010+
```markdown
1011+
[^alpha]: bravo and charlie.
1012+
```
1013+
1014+
Yields:
1015+
1016+
```js
1017+
{
1018+
type: 'footnoteDefinition',
1019+
identifier: 'alpha',
1020+
label: 'alpha',
1021+
children: [{
1022+
type: 'paragraph',
1023+
children: [{type: 'text', value: 'bravo and charlie.'}]
1024+
}]
1025+
}
1026+
```
1027+
1028+
#### `FootnoteReference`
1029+
1030+
```idl
1031+
interface FootnoteReference <: Node {
1032+
type: "footnoteReference"
1033+
}
1034+
1035+
FootnoteReference includes Association
1036+
```
1037+
1038+
**FootnoteReference** ([**Node**][dfn-node]) represents a marker through
1039+
association.
1040+
1041+
**FootnoteReference** can be used where [**phrasing**][dfn-phrasing-content]
1042+
content is expected.
1043+
It has no content model.
1044+
1045+
**FootnoteReference** includes the mixin [**Association**][dfn-mxn-association].
1046+
1047+
**FootnoteReference** should be associated with a
1048+
[**FootnoteDefinition**][dfn-footnote-definition].
1049+
1050+
For example, the following Markdown:
1051+
1052+
```markdown
1053+
[^alpha]
1054+
```
1055+
1056+
Yields:
1057+
1058+
```js
1059+
{
1060+
type: 'footnoteReference',
1061+
identifier: 'alpha',
1062+
label: 'alpha'
1063+
}
1064+
```
1065+
9841066
#### `Table`
9851067

9861068
```idl
@@ -1151,7 +1233,7 @@ enum alignType {
11511233
#### `FlowContent` (GFM)
11521234

11531235
```idl
1154-
type FlowContentGfm = Table | FlowContent
1236+
type FlowContentGfm = FootnoteDefinition | Table | FlowContent
11551237
```
11561238

11571239
#### `TableContent`
@@ -1179,7 +1261,8 @@ type ListContentGfm = ListItemGfm
11791261
#### `StaticPhrasingContent` (GFM)
11801262

11811263
```idl
1182-
type StaticPhrasingContentGfm = Delete | StaticPhrasingContent
1264+
type StaticPhrasingContentGfm =
1265+
FootnoteReference | Delete | StaticPhrasingContent
11831266
```
11841267

11851268
### Frontmatter
@@ -1234,51 +1317,11 @@ type FlowContentFrontmatter = FrontmatterContent | FlowContent
12341317

12351318
### Footnotes
12361319

1237-
The following interfaces are found with footnotes.
1238-
1239-
#### `FootnoteDefinition`
1240-
1241-
```idl
1242-
interface FootnoteDefinition <: Parent {
1243-
type: "footnoteDefinition"
1244-
children: [FlowContent]
1245-
}
1246-
1247-
FootnoteDefinition includes Association
1248-
```
1249-
1250-
**FootnoteDefinition** ([**Parent**][dfn-parent]) represents content relating
1251-
to the document that is outside its flow.
1252-
1253-
**FootnoteDefinition** can be used where [**flow**][dfn-flow-content] content is
1254-
expected.
1255-
Its content model is also [**flow**][dfn-flow-content] content.
1256-
1257-
**FootnoteDefinition** includes the mixin
1258-
[**Association**][dfn-mxn-association].
1259-
1260-
**FootnoteDefinition** should be associated with
1261-
[**FootnoteReferences**][dfn-footnote-reference].
1262-
1263-
For example, the following Markdown:
1264-
1265-
```markdown
1266-
[^alpha]: bravo and charlie.
1267-
```
1268-
1269-
Yields:
1270-
1271-
```js
1272-
{
1273-
type: 'footnoteDefinition',
1274-
identifier: 'alpha',
1275-
label: 'alpha',
1276-
children: [{
1277-
type: 'paragraph',
1278-
children: [{type: 'text', value: 'bravo and charlie.'}]
1279-
}]
1280-
}
1281-
```
1320+
The following interfaces are found with footnotes (pandoc).
1321+
Note that pandoc also uses [**FootnoteReference**][dfn-footnote-reference]
1322+
and [**FootnoteDefinition**][dfn-footnote-definition], but since
1323+
[GFM now supports footnotes][gfm-footnote], their definitions were moved to the
1324+
[GFM][gfm-section] section
12821325

12831326
#### `Footnote`
12841327

@@ -1311,55 +1354,10 @@ Yields:
13111354
}
13121355
```
13131356

1314-
#### `FootnoteReference`
1315-
1316-
```idl
1317-
interface FootnoteReference <: Node {
1318-
type: "footnoteReference"
1319-
}
1320-
1321-
FootnoteReference includes Association
1322-
```
1323-
1324-
**FootnoteReference** ([**Node**][dfn-node]) represents a marker through
1325-
association.
1326-
1327-
**FootnoteReference** can be used where [**phrasing**][dfn-phrasing-content]
1328-
content is expected.
1329-
It has no content model.
1330-
1331-
**FootnoteReference** includes the mixin [**Association**][dfn-mxn-association].
1332-
1333-
**FootnoteReference** should be associated with a
1334-
[**FootnoteDefinition**][dfn-footnote-definition].
1335-
1336-
For example, the following Markdown:
1337-
1338-
```markdown
1339-
[^alpha]
1340-
```
1341-
1342-
Yields:
1343-
1344-
```js
1345-
{
1346-
type: 'footnoteReference',
1347-
identifier: 'alpha',
1348-
label: 'alpha'
1349-
}
1350-
```
1351-
1352-
#### `FlowContent` (footnotes)
1353-
1354-
```idl
1355-
type FlowContentFootnotes = FootnoteDefinition | FlowContent
1356-
```
1357-
13581357
#### `StaticPhrasingContent` (footnotes)
13591358

13601359
```idl
1361-
type StaticPhrasingContentFootnotes =
1362-
Footnote | FootnoteReference | StaticPhrasingContent
1360+
type StaticPhrasingContentFootnotes = Footnote | StaticPhrasingContent
13631361
```
13641362

13651363
## Glossary
@@ -1628,6 +1626,10 @@ projects!
16281626

16291627
[dfn-transparent-content]: #transparentcontent
16301628

1629+
[gfm-section]: #gfm
1630+
1631+
[gfm-footnote]: https://github.blog/changelog/2021-09-30-footnotes-now-supported-in-markdown-fields/
1632+
16311633
[list-of-utilities]: #list-of-utilities
16321634

16331635
[unist]: https://github.com/syntax-tree/unist

0 commit comments

Comments
 (0)