");
- // Left
- var messageLeftHtml =
- messageHtml.AppendChild(HtmlNode.CreateNode("
");
+ await writer.WriteLineAsync($"
{HtmlEncode(group.Author.Name)}");
+ var timeStampFormatted = HtmlEncode(group.TimeStamp.ToString(dateFormat));
+ await writer.WriteLineAsync($"
{timeStampFormatted}");
- // Avatar
- messageLeftHtml.AppendChild(
- HtmlNode.CreateNode($"

"));
-
- // Right
- var messageRightHtml =
- messageHtml.AppendChild(HtmlNode.CreateNode("
"));
-
- // Author
- var authorName = HtmlDocument.HtmlEncode(messageGroup.Author.Name);
- messageRightHtml.AppendChild(HtmlNode.CreateNode($"
{authorName}"));
-
- // Date
- var timeStamp = HtmlDocument.HtmlEncode(messageGroup.TimeStamp.ToString(dateFormat));
- messageRightHtml.AppendChild(HtmlNode.CreateNode($"
{timeStamp}"));
-
- // Individual messages
- foreach (var message in messageGroup.Messages)
+ // Message
+ foreach (var message in group.Messages)
{
// Content
if (message.Content.IsNotBlank())
{
- var content = FormatMessageContent(message.Content);
- var contentHtml =
- messageRightHtml.AppendChild(
- HtmlNode.CreateNode($"
{content}
"));
+ await writer.WriteLineAsync("
");
+ var contentFormatted = FormatMessageContent(message.Content);
+ await writer.WriteAsync(contentFormatted);
// Edited timestamp
if (message.EditedTimeStamp != null)
{
- contentHtml.AppendChild(
- HtmlNode.CreateNode(
- $"(edited)"));
+ var editedTimeStampFormatted =
+ HtmlEncode(message.EditedTimeStamp.Value.ToString(dateFormat));
+ await writer.WriteAsync(
+ $"(edited)");
}
+
+ await writer.WriteLineAsync("
"); // msg-content
}
// Attachments
@@ -100,51 +97,37 @@ namespace DiscordChatExporter.Services
{
if (attachment.Type == AttachmentType.Image)
{
- messageRightHtml.AppendChild(
- HtmlNode.CreateNode("
"));
+ await writer.WriteLineAsync("
");
}
else
{
- messageRightHtml.AppendChild(
- HtmlNode.CreateNode("
"));
+ await writer.WriteLineAsync("
");
}
}
}
+ await writer.WriteLineAsync("