@@ -981,6 +981,88 @@ However, a short list of frequently used extensions are shown below.
981981
982982The 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