@@ -981,6 +981,88 @@ However, a short list of frequently used extensions are shown below.
981
981
982
982
The following interfaces are found in [ GitHub Flavored Markdown] [ gfm ] .
983
983
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
+
984
1066
#### ` Table `
985
1067
986
1068
``` idl
@@ -1151,7 +1233,7 @@ enum alignType {
1151
1233
#### ` FlowContent ` (GFM)
1152
1234
1153
1235
``` idl
1154
- type FlowContentGfm = Table | FlowContent
1236
+ type FlowContentGfm = FootnoteDefinition | Table | FlowContent
1155
1237
```
1156
1238
1157
1239
#### ` TableContent `
@@ -1179,7 +1261,8 @@ type ListContentGfm = ListItemGfm
1179
1261
#### ` StaticPhrasingContent ` (GFM)
1180
1262
1181
1263
``` idl
1182
- type StaticPhrasingContentGfm = Delete | StaticPhrasingContent
1264
+ type StaticPhrasingContentGfm =
1265
+ FootnoteReference | Delete | StaticPhrasingContent
1183
1266
```
1184
1267
1185
1268
### Frontmatter
@@ -1234,51 +1317,11 @@ type FlowContentFrontmatter = FrontmatterContent | FlowContent
1234
1317
1235
1318
### Footnotes
1236
1319
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
1282
1325
1283
1326
#### ` Footnote `
1284
1327
@@ -1311,55 +1354,10 @@ Yields:
1311
1354
}
1312
1355
```
1313
1356
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
-
1358
1357
#### ` StaticPhrasingContent ` (footnotes)
1359
1358
1360
1359
``` idl
1361
- type StaticPhrasingContentFootnotes =
1362
- Footnote | FootnoteReference | StaticPhrasingContent
1360
+ type StaticPhrasingContentFootnotes = Footnote | StaticPhrasingContent
1363
1361
```
1364
1362
1365
1363
## Glossary
@@ -1628,6 +1626,10 @@ projects!
1628
1626
1629
1627
[ dfn-transparent-content ] : #transparentcontent
1630
1628
1629
+ [ gfm-section ] : #gfm
1630
+
1631
+ [ gfm-footnote ] : https://github.blog/changelog/2021-09-30-footnotes-now-supported-in-markdown-fields/
1632
+
1631
1633
[ list-of-utilities ] : #list-of-utilities
1632
1634
1633
1635
[ unist ] : https://github.com/syntax-tree/unist
0 commit comments