From 9134d6c0370b104406683332c2b945c2f1f41559 Mon Sep 17 00:00:00 2001 From: Yufei Huang Date: Fri, 7 Jul 2023 12:39:44 +0800 Subject: [PATCH] fix: remove tab group hash function (#8942) --- .../Aggregator/TabGroupAggregator.cs | 9 ----- .../TabGroup/HtmlTabGroupBlockRenderer.cs | 2 +- .../TabGroup/TabGroupBlock.cs | 5 +-- .../TabGroup/TabGroupIdRewriter.cs | 19 +-------- .../GeneralTest.cs | 32 +++++++-------- .../TabGroupTest.cs | 39 +++++++++---------- .../articles/markdown.html.view.verified.json | 2 +- ...pescript-markdown-extensions.verified.html | 32 +++++++-------- 8 files changed, 55 insertions(+), 85 deletions(-) diff --git a/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/Aggregator/TabGroupAggregator.cs b/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/Aggregator/TabGroupAggregator.cs index 32f7d138f7c..8237bb36134 100644 --- a/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/Aggregator/TabGroupAggregator.cs +++ b/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/Aggregator/TabGroupAggregator.cs @@ -66,10 +66,7 @@ private static void AggregateCore( int offset ) { - var groupId = GetHashString(items[0]?.Content?.ToString() ?? string.Empty).Replace("/", "-").Remove(10); - context.AggregateTo(new TabGroupBlock( - groupId, items.ToImmutableArray(), startLine, startSpan, @@ -77,12 +74,6 @@ int offset offset); } - private static string GetHashString(string content) - { - using var sha256 = SHA256.Create(); - return Convert.ToBase64String(sha256.ComputeHash(Encoding.UTF8.GetBytes(content))); - } - private static TabItemBlock CreateTabItem( HeadingBlock headBlock, Tuple pair, diff --git a/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/HtmlTabGroupBlockRenderer.cs b/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/HtmlTabGroupBlockRenderer.cs index 1fd10cf0af6..c6ecc967e4d 100644 --- a/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/HtmlTabGroupBlockRenderer.cs +++ b/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/HtmlTabGroupBlockRenderer.cs @@ -11,7 +11,7 @@ public class HtmlTabGroupBlockRenderer : HtmlObjectRenderer protected override void Write(HtmlRenderer renderer, TabGroupBlock block) { renderer.Write(@"
Items { get; set; } - public TabGroupBlock(string id, ImmutableArray blocks, int startLine, int startSpan, int activeTabIndex) : base(null) + public TabGroupBlock(ImmutableArray blocks, int startLine, int startSpan, int activeTabIndex) : base(null) { - Id = id; ActiveTabIndex = activeTabIndex; Items = blocks; Line = startLine; diff --git a/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/TabGroupIdRewriter.cs b/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/TabGroupIdRewriter.cs index 5557ebe36d6..7d37c93adbe 100644 --- a/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/TabGroupIdRewriter.cs +++ b/src/Microsoft.DocAsCode.MarkdigEngine.Extensions/TabGroup/TabGroupIdRewriter.cs @@ -8,7 +8,7 @@ namespace Microsoft.DocAsCode.MarkdigEngine; public class TabGroupIdRewriter : IMarkdownObjectRewriter { - private Dictionary _dict = new(); + private int _id; public void PostProcess(IMarkdownObject markdownObject) { @@ -22,22 +22,7 @@ public IMarkdownObject Rewrite(IMarkdownObject markdownObject) { if (markdownObject is TabGroupBlock block) { - var groupId = block.Id; - while (true) - { - if (_dict.TryGetValue(groupId, out int index)) - { - _dict[groupId] += 1; - groupId = $"{groupId}-{index}"; - block.Id = groupId; - return block; - } - else - { - _dict.Add(groupId, 1); - return markdownObject; - } - } + block.Id = ++_id; } return markdownObject; diff --git a/test/Microsoft.DocAsCode.MarkdigEngine.Extensions.Tests/GeneralTest.cs b/test/Microsoft.DocAsCode.MarkdigEngine.Extensions.Tests/GeneralTest.cs index 8f7402361be..0818b06f74b 100644 --- a/test/Microsoft.DocAsCode.MarkdigEngine.Extensions.Tests/GeneralTest.cs +++ b/test/Microsoft.DocAsCode.MarkdigEngine.Extensions.Tests/GeneralTest.cs @@ -234,20 +234,19 @@ public void TestTabGroup() # [title-b](#tab/b/c) content-b - - -"; - var groupId = "bHGHmlrG6S"; - var expected = $@"
+ var expected = $@"
-
+

content-a

-
@@ -269,37 +268,36 @@ public void TestTabGroup_2() # [title-b](#tab/b/a) content-b - - -"; - var groupId = "bHGHmlrG6S"; - var expected = $@"
+ var expected = $@"
-
+

content-a

-
-
+
-
+

content-a

-