1
1
---
2
2
title: GitHub Flavored Markdown Spec
3
- version: 0.29
4
- date: '2019-04-06 '
3
+ version: 0.29.0.gfm.6
4
+ date: '2022-09-14 '
5
5
license: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)'
6
6
...
7
7
@@ -2077,7 +2077,7 @@ followed by one of the strings (case-insensitive) `address`,
2077
2077
`h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `head`, `header`, `hr`,
2078
2078
`html`, `iframe`, `legend`, `li`, `link`, `main`, `menu`, `menuitem`,
2079
2079
`nav`, `noframes`, `ol`, `optgroup`, `option`, `p`, `param`,
2080
- `section`, `summary`, `table`, `tbody`, `td`,
2080
+ `section`, `source`, ` summary`, `table`, `tbody`, `td`,
2081
2081
`tfoot`, `th`, `thead`, `title`, `tr`, `track`, `ul`, followed
2082
2082
by [whitespace], the end of the line, the string `>`, or
2083
2083
the string `/>`.\
@@ -5995,12 +5995,12 @@ Here are some nonentities:
5995
5995
5996
5996
```````````````````````````````` example
5997
5997
  &x; &#; &#x;
5998
- � ;
5998
+ � ;
5999
5999
&#abcdef0;
6000
6000
&ThisIsNotDefined; &hi?;
6001
6001
.
6002
6002
<p>&nbsp &x; &#; &#x;
6003
- &#987654321 ;
6003
+ &#87654321 ;
6004
6004
&#abcdef0;
6005
6005
&ThisIsNotDefined; &hi?;</p>
6006
6006
````````````````````````````````
@@ -7712,12 +7712,13 @@ __a<http://foo.bar/?q=__>
7712
7712
GFM enables the `strikethrough` extension, where an additional emphasis type is
7713
7713
available.
7714
7714
7715
- Strikethrough text is any text wrapped in two tildes (`~`).
7715
+ Strikethrough text is any text wrapped in a matching pair of one or two tildes
7716
+ (`~`).
7716
7717
7717
7718
```````````````````````````````` example strikethrough
7718
- ~~Hi~~ Hello, world!
7719
+ ~~Hi~~ Hello, ~there~ world!
7719
7720
.
7720
- <p><del>Hi</del> Hello, world!</p>
7721
+ <p><del>Hi</del> Hello, <del>there</del> world!</p>
7721
7722
````````````````````````````````
7722
7723
7723
7724
As with regular emphasis delimiters, a new paragraph will cause strikethrough
@@ -7732,6 +7733,14 @@ new paragraph~~.
7732
7733
<p>new paragraph~~.</p>
7733
7734
````````````````````````````````
7734
7735
7736
+ Three or more tildes do not create a strikethrough:
7737
+
7738
+ ```````````````````````````````` example strikethrough
7739
+ This will ~~~not~~~ strike.
7740
+ .
7741
+ <p>This will ~~~not~~~ strike.</p>
7742
+ ````````````````````````````````
7743
+
7735
7744
</div>
7736
7745
7737
7746
## Links
@@ -8232,9 +8241,8 @@ perform the *Unicode case fold*, strip leading and trailing
8232
8241
matching reference link definitions, the one that comes first in the
8233
8242
document is used. (It is desirable in such cases to emit a warning.)
8234
8243
8235
- The contents of the first link label are parsed as inlines, which are
8236
- used as the link's text. The link's URI and title are provided by the
8237
- matching [link reference definition].
8244
+ The link's URI and title are provided by the matching [link
8245
+ reference definition].
8238
8246
8239
8247
Here is a simple example:
8240
8248
@@ -8327,11 +8335,11 @@ emphasis grouping:
8327
8335
8328
8336
8329
8337
```````````````````````````````` example
8330
- [foo *bar][ref]
8338
+ [foo *bar][ref]*
8331
8339
8332
8340
[ref]: /uri
8333
8341
.
8334
- <p><a href="/uri">foo *bar</a></p>
8342
+ <p><a href="/uri">foo *bar</a>* </p>
8335
8343
````````````````````````````````
8336
8344
8337
8345
@@ -8379,11 +8387,11 @@ Matching is case-insensitive:
8379
8387
Unicode case fold is used:
8380
8388
8381
8389
```````````````````````````````` example
8382
- [Толпой][Толпой] is a Russian word.
8390
+ [ẞ]
8383
8391
8384
- [ТОЛПОЙ ]: /url
8392
+ [SS ]: /url
8385
8393
.
8386
- <p><a href="/url">Толпой </a> is a Russian word. </p>
8394
+ <p><a href="/url">ẞ </a></p>
8387
8395
````````````````````````````````
8388
8396
8389
8397
@@ -9295,20 +9303,17 @@ www.commonmark.org/he<lp
9295
9303
````````````````````````````````
9296
9304
9297
9305
An [extended url autolink](@) will be recognised when one of the schemes
9298
- `http://`, `https://`, or `ftp ://`, followed by a [valid domain], then zero or
9306
+ `http://`, or `https ://`, followed by a [valid domain], then zero or
9299
9307
more non-space non-`<` characters according to
9300
9308
[extended autolink path validation]:
9301
9309
9302
9310
```````````````````````````````` example autolink
9303
9311
http://commonmark.org
9304
9312
9305
9313
(Visit https://encrypted.google.com/search?q=Markup+(business))
9306
-
9307
- Anonymous FTP is available at ftp://foo.bar.baz.
9308
9314
.
9309
9315
<p><a href="http://commonmark.org">http://commonmark.org</a></p>
9310
9316
<p>(Visit <a href="https://encrypted.google.com/search?q=Markup+(business)">https://encrypted.google.com/search?q=Markup+(business)</a>)</p>
9311
- <p>Anonymous FTP is available at <a href="ftp://foo.bar.baz">ftp://foo.bar.baz</a>.</p>
9312
9317
````````````````````````````````
9313
9318
9314
9319
9358
9363
9359
9364
````````````````````````````````
9360
9365
9366
+ An [extended protocol autolink](@) will be recognised when a protocol is
9367
+ recognised within any text node. Valid protocols are:
9368
+
9369
+ * `mailto:`
9370
+ * `xmpp:`
9371
+
9372
+ The scheme of the protocol will automatically be added to the generated link.
9373
+ All the rules of email address autolinking apply.
9374
+
9375
+ ```````````````````````````````` example autolink
9376
+
9377
+
9378
+
9379
+
9380
+
9381
+
9382
+
9383
+
9384
+
9385
+
9386
+
9387
+
9388
+
9389
+
9390
+
9391
+ .
9392
+ <p><a href="mailto:
[email protected] ">mailto:
[email protected] </a></p>
9393
+ <p><a href="mailto:
[email protected] ">mailto:
[email protected] </a></p>
9394
+ <p><a href="mailto:
[email protected] ">mailto:
[email protected] </a>.</p>
9395
+ <p><a href="mailto:
[email protected] ">mailto:
[email protected] </a>/</p>
9396
+
9397
+
9398
+
9399
+
9400
+ ````````````````````````````````
9401
+
9402
+ A described in the [specification](https://datatracker.ietf.org/doc/rfc7622/)
9403
+ `xmpp` offers an optional `/` followed by a resource. The resource can contain
9404
+ all alphanumeric characters, as well as `@` and `.`.
9405
+
9406
+ ```````````````````````````````` example autolink
9407
+
9408
+
9409
+
9410
+
9411
+
9412
+ .
9413
+ <p><a href="xmpp:
[email protected] /txt">xmpp:
[email protected] /txt</a></p>
9414
+ <p><a href="xmpp:
[email protected] /txt@bin">xmpp:
[email protected] /txt@bin</a></p>
9415
+
9416
+ ````````````````````````````````
9417
+
9418
+ Further `/` characters are not considered part of the domain:
9419
+
9420
+ ```````````````````````````````` example autolink
9421
+
9422
+ .
9423
+ <p><a href="xmpp:
[email protected] /txt">xmpp:
[email protected] /txt</a>/bin</p>
9424
+ ````````````````````````````````
9425
+
9361
9426
</div>
9362
9427
9363
9428
## Raw HTML
@@ -10224,3 +10289,4 @@ closers:
10224
10289
10225
10290
After we're done, we remove all delimiters above `stack_bottom` from the
10226
10291
delimiter stack.
10292
+
0 commit comments