Improve compliance of AutoLinks No spaces, encode URIs
diff --git a/pkgs/markdown/lib/src/inline_parser.dart b/pkgs/markdown/lib/src/inline_parser.dart index cc01f73..99a9056 100644 --- a/pkgs/markdown/lib/src/inline_parser.dart +++ b/pkgs/markdown/lib/src/inline_parser.dart
@@ -244,12 +244,12 @@ /// Matches autolinks like `<http://foo.com>`. class AutolinkSyntax extends InlineSyntax { - AutolinkSyntax() : super(r'<(([a-zA-Z][a-zA-Z\-\+\.]+):(?://)?[^>]*)>'); + AutolinkSyntax() : super(r'<(([a-zA-Z][a-zA-Z\-\+\.]+):(?://)?[^\s>]*)>'); bool onMatch(InlineParser parser, Match match) { var url = match[1]; var anchor = new Element.text('a', escapeHtml(url)); - anchor.attributes['href'] = url; + anchor.attributes['href'] = Uri.encodeFull(url); parser.addNode(anchor); return true;
diff --git a/pkgs/markdown/tool/common_mark_stats.json b/pkgs/markdown/tool/common_mark_stats.json index 49ac23e..cdcda4c 100644 --- a/pkgs/markdown/tool/common_mark_stats.json +++ b/pkgs/markdown/tool/common_mark_stats.json
@@ -28,8 +28,8 @@ "570": "strict", "571": "strict", "572": "strict", - "573": "fail", - "574": "fail", + "573": "loose", + "574": "strict", "575": "fail", "576": "fail", "577": "loose", @@ -49,7 +49,7 @@ "294": "strict", "295": "strict", "296": "strict", - "297": "fail", + "297": "strict", "298": "strict", "299": "fail", "300": "fail", @@ -99,7 +99,7 @@ "324": "loose", "325": "strict", "326": "loose", - "327": "fail", + "327": "strict", "328": "fail", "329": "strict", "330": "strict" @@ -445,7 +445,7 @@ "494": "strict", "495": "strict", "496": "strict", - "497": "fail", + "497": "strict", "498": "strict", "499": "loose", "500": "strict", @@ -457,7 +457,7 @@ "506": "strict", "507": "strict", "508": "strict", - "509": "fail", + "509": "strict", "510": "strict", "511": "strict", "512": "fail",
diff --git a/pkgs/markdown/tool/common_mark_stats.txt b/pkgs/markdown/tool/common_mark_stats.txt index ca2fa06..78f591a 100644 --- a/pkgs/markdown/tool/common_mark_stats.txt +++ b/pkgs/markdown/tool/common_mark_stats.txt
@@ -1,9 +1,9 @@ 15 of 18 – 83.3% ATX headings - 15 of 19 – 78.9% Autolinks - 8 of 13 – 61.5% Backslash escapes + 17 of 19 – 89.5% Autolinks + 9 of 13 – 69.2% Backslash escapes 1 of 1 – 100.0% Blank lines 22 of 25 – 88.0% Block quotes - 15 of 17 – 88.2% Code spans + 16 of 17 – 94.1% Code spans 79 of 128 – 61.7% Emphasis and strong emphasis 10 of 12 – 83.3% Entity and numeric character references 25 of 28 – 89.3% Fenced code blocks @@ -13,7 +13,7 @@ 11 of 12 – 91.7% Indented code blocks 1 of 1 – 100.0% Inlines 20 of 23 – 87.0% Link reference definitions - 56 of 84 – 66.7% Links + 58 of 84 – 69.0% Links 44 of 48 – 91.7% List items 18 of 24 – 75.0% Lists 8 of 8 – 100.0% Paragraphs @@ -24,4 +24,4 @@ 6 of 11 – 54.5% Tabs 3 of 3 – 100.0% Textual content 17 of 19 – 89.5% Thematic breaks - 496 of 624 – 79.5% TOTAL + 502 of 624 – 80.4% TOTAL
diff --git a/pkgs/markdown/tool/gfm_stats.json b/pkgs/markdown/tool/gfm_stats.json index 9aa1271..41ae33a 100644 --- a/pkgs/markdown/tool/gfm_stats.json +++ b/pkgs/markdown/tool/gfm_stats.json
@@ -28,8 +28,8 @@ "582": "strict", "583": "strict", "584": "strict", - "585": "fail", - "586": "fail", + "585": "loose", + "586": "strict", "587": "fail", "588": "fail", "589": "loose", @@ -62,7 +62,7 @@ "303": "strict", "304": "strict", "305": "strict", - "306": "fail", + "306": "strict", "307": "strict", "308": "fail", "309": "fail", @@ -112,7 +112,7 @@ "333": "loose", "334": "strict", "335": "loose", - "336": "fail", + "336": "strict", "337": "fail", "338": "strict", "339": "strict" @@ -461,7 +461,7 @@ "506": "strict", "507": "strict", "508": "strict", - "509": "fail", + "509": "strict", "510": "strict", "511": "loose", "512": "strict", @@ -473,7 +473,7 @@ "518": "strict", "519": "strict", "520": "strict", - "521": "fail", + "521": "strict", "522": "strict", "523": "strict", "524": "fail",
diff --git a/pkgs/markdown/tool/gfm_stats.txt b/pkgs/markdown/tool/gfm_stats.txt index d7160c0..c377c61 100644 --- a/pkgs/markdown/tool/gfm_stats.txt +++ b/pkgs/markdown/tool/gfm_stats.txt
@@ -1,10 +1,10 @@ 5 of 18 – 27.8% ATX headings - 15 of 19 – 78.9% Autolinks + 17 of 19 – 89.5% Autolinks 0 of 11 – 0.0% Autolinks (extension) - 8 of 13 – 61.5% Backslash escapes + 9 of 13 – 69.2% Backslash escapes 0 of 1 – 0.0% Blank lines 18 of 25 – 72.0% Block quotes - 15 of 17 – 88.2% Code spans + 16 of 17 – 94.1% Code spans 0 of 1 – 0.0% Disallowed Raw HTML (extension) 79 of 128 – 61.7% Emphasis and strong emphasis 10 of 12 – 83.3% Entity and numeric character references @@ -15,7 +15,7 @@ 10 of 12 – 83.3% Indented code blocks 1 of 1 – 100.0% Inlines 19 of 23 – 82.6% Link reference definitions - 56 of 84 – 66.7% Links + 58 of 84 – 69.0% Links 43 of 48 – 89.6% List items 18 of 24 – 75.0% Lists 8 of 8 – 100.0% Paragraphs @@ -28,4 +28,4 @@ 5 of 11 – 45.5% Tabs 3 of 3 – 100.0% Textual content 16 of 19 – 84.2% Thematic breaks - 464 of 646 – 71.8% TOTAL + 470 of 646 – 72.8% TOTAL