Do not generate heading IDs for headings with no content in `HeaderWithIdSyntax` (dart-lang/markdown#522)
* Fix HeaderWithIdSyntax
* Some fix
diff --git a/pkgs/markdown/CHANGELOG.md b/pkgs/markdown/CHANGELOG.md
index 701f497..c27b69e 100644
--- a/pkgs/markdown/CHANGELOG.md
+++ b/pkgs/markdown/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 7.0.2-dev
+
+* Fix an issue in `HeaderWithIdSyntax`, do not generate heading IDs for headings
+ with no content.
+
## 7.0.1
* Remove RegExp lookarounds from autolink extension patterns. (Fixes issues when
diff --git a/pkgs/markdown/lib/src/block_syntaxes/header_with_id_syntax.dart b/pkgs/markdown/lib/src/block_syntaxes/header_with_id_syntax.dart
index 15ad231..8e2c50b 100644
--- a/pkgs/markdown/lib/src/block_syntaxes/header_with_id_syntax.dart
+++ b/pkgs/markdown/lib/src/block_syntaxes/header_with_id_syntax.dart
@@ -14,7 +14,11 @@
@override
Node parse(BlockParser parser) {
final element = super.parse(parser) as Element;
- element.generatedId = BlockSyntax.generateAnchorHash(element);
+
+ if (element.children?.isNotEmpty ?? false) {
+ element.generatedId = BlockSyntax.generateAnchorHash(element);
+ }
+
return element;
}
}
diff --git a/pkgs/markdown/lib/src/version.dart b/pkgs/markdown/lib/src/version.dart
index aaef752..45fbaf7 100644
--- a/pkgs/markdown/lib/src/version.dart
+++ b/pkgs/markdown/lib/src/version.dart
@@ -1,2 +1,2 @@
// Generated code. Do not modify.
-const packageVersion = '7.0.1';
+const packageVersion = '7.0.2-dev';
diff --git a/pkgs/markdown/pubspec.yaml b/pkgs/markdown/pubspec.yaml
index 2436239..bdc3dcb 100644
--- a/pkgs/markdown/pubspec.yaml
+++ b/pkgs/markdown/pubspec.yaml
@@ -1,5 +1,5 @@
name: markdown
-version: 7.0.1
+version: 7.0.2-dev
description: >-
A portable Markdown library written in Dart that can parse Markdown into HTML.
diff --git a/pkgs/markdown/test/extensions/headers_with_ids.unit b/pkgs/markdown/test/extensions/headers_with_ids.unit
index 276b951..7bad75c 100644
--- a/pkgs/markdown/test/extensions/headers_with_ids.unit
+++ b/pkgs/markdown/test/extensions/headers_with_ids.unit
@@ -35,3 +35,7 @@
<h1 id="1234">1.2.34</h1>
<h2 id="1234-2">1.23.4</h2>
<h2 id="1234-3">1.2.3+4</h2>
+>>> no id
+# #
+<<<
+<h1></h1>