mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2024-09-19 12:18:48 -04:00
Rename markdown Header
to Heading
to avoid ambiguity and for consistency with MD/HTML standards
This commit is contained in:
parent
30b447d2ae
commit
bf0d8ab31e
4 changed files with 14 additions and 14 deletions
|
@ -89,20 +89,20 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor
|
|||
_buffer.Append(closingTag);
|
||||
}
|
||||
|
||||
protected override async ValueTask VisitHeaderAsync(
|
||||
HeaderNode header,
|
||||
protected override async ValueTask VisitHeadingAsync(
|
||||
HeadingNode heading,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
_buffer.Append(
|
||||
// lang=html
|
||||
$"<h{header.Level}>"
|
||||
$"<h{heading.Level}>"
|
||||
);
|
||||
|
||||
await VisitAsync(header.Children, cancellationToken);
|
||||
await VisitAsync(heading.Children, cancellationToken);
|
||||
|
||||
_buffer.Append(
|
||||
// lang=html
|
||||
$"</h{header.Level}>"
|
||||
$"</h{heading.Level}>"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace DiscordChatExporter.Core.Markdown;
|
||||
|
||||
internal record HeaderNode(
|
||||
internal record HeadingNode(
|
||||
int Level,
|
||||
IReadOnlyList<MarkdownNode> Children
|
||||
) : MarkdownNode, IContainerNode;
|
|
@ -95,10 +95,10 @@ internal static partial class MarkdownParser
|
|||
(s, m) => new FormattingNode(FormattingKind.Quote, Parse(s.Relocate(m.Groups[1])))
|
||||
);
|
||||
|
||||
private static readonly IMatcher<MarkdownNode> HeaderNodeMatcher = new RegexMatcher<MarkdownNode>(
|
||||
private static readonly IMatcher<MarkdownNode> HeadingNodeMatcher = new RegexMatcher<MarkdownNode>(
|
||||
// Consume the linebreak so that it's not attached to following nodes.
|
||||
new Regex(@"^(\#{1,3})\s(.+)\n", DefaultRegexOptions),
|
||||
(s, m) => new HeaderNode(m.Groups[1].Length, Parse(s.Relocate(m.Groups[2])))
|
||||
(s, m) => new HeadingNode(m.Groups[1].Length, Parse(s.Relocate(m.Groups[2])))
|
||||
);
|
||||
|
||||
private static readonly IMatcher<MarkdownNode> ListNodeMatcher = new RegexMatcher<MarkdownNode>(
|
||||
|
@ -330,7 +330,7 @@ internal static partial class MarkdownParser
|
|||
MultiLineQuoteNodeMatcher,
|
||||
RepeatedSingleLineQuoteNodeMatcher,
|
||||
SingleLineQuoteNodeMatcher,
|
||||
HeaderNodeMatcher,
|
||||
HeadingNodeMatcher,
|
||||
ListNodeMatcher,
|
||||
|
||||
// Code blocks
|
||||
|
|
|
@ -16,10 +16,10 @@ internal abstract class MarkdownVisitor
|
|||
CancellationToken cancellationToken = default) =>
|
||||
await VisitAsync(formatting.Children, cancellationToken);
|
||||
|
||||
protected virtual async ValueTask VisitHeaderAsync(
|
||||
HeaderNode header,
|
||||
protected virtual async ValueTask VisitHeadingAsync(
|
||||
HeadingNode heading,
|
||||
CancellationToken cancellationToken = default) =>
|
||||
await VisitAsync(header.Children, cancellationToken);
|
||||
await VisitAsync(heading.Children, cancellationToken);
|
||||
|
||||
protected virtual async ValueTask VisitListAsync(
|
||||
ListNode list,
|
||||
|
@ -72,9 +72,9 @@ internal abstract class MarkdownVisitor
|
|||
return;
|
||||
}
|
||||
|
||||
if (node is HeaderNode header)
|
||||
if (node is HeadingNode heading)
|
||||
{
|
||||
await VisitHeaderAsync(header, cancellationToken);
|
||||
await VisitHeadingAsync(heading, cancellationToken);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue