Move FootnoteDefinition, FootnoteReference to GFM section · syntax-tree/mdast@6759e41 (original) (raw)

`@@ -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, their definitions were moved to the

`

``

1324

`+

GFM 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

`+

`

``

1630

+

``

1631

`+

`

``

1632

+

1631

1633

`[list-of-utilities]: #list-of-utilities

`

1632

1634

``

1633

1635

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

`