Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ChatGPTExport/Exporters/Html/HtmlExporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace ChatGPTExport.Exporters.Html
{
internal partial class HtmlExporter(IHtmlFormatter formatter) : IExporter
internal partial class HtmlExporter(IHtmlFormatter formatter, bool showHidden) : IExporter
{
private readonly string LineBreak = Environment.NewLine;

Expand All @@ -16,7 +16,7 @@ public IEnumerable<string> Export(IAssetLocator assetLocator, Conversation conve

var strings = new List<(Author Author, string Content)>();

var visitor = new MarkdownContentVisitor(assetLocator);
var visitor = new MarkdownContentVisitor(assetLocator, showHidden);

foreach (var message in messages)
{
Expand Down
64 changes: 46 additions & 18 deletions ChatGPTExport/Exporters/Markdown/MarkdownContentVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace ChatGPTExport.Exporters
{
internal partial class MarkdownContentVisitor(IAssetLocator assetLocator) : IContentVisitor<MarkdownContentResult>
internal partial class MarkdownContentVisitor(IAssetLocator assetLocator, bool showHidden) : IContentVisitor<MarkdownContentResult>
{
private readonly string LineBreak = Environment.NewLine;
private CanvasCreateModel? canvasContext = null;
Expand Down Expand Up @@ -185,6 +185,11 @@ public MarkdownContentResult Visit(ContentMultimodalText content, ContentVisitor

public MarkdownContentResult Visit(ContentCode content, ContentVisitorContext context)
{
if (showHidden == false && context.Recipient != "all")
{
return new MarkdownContentResult();
}

if (string.IsNullOrWhiteSpace(content.text))
{
return new MarkdownContentResult();
Expand Down Expand Up @@ -216,24 +221,33 @@ private string ToCodeBlock(string code, string? language = null)

public MarkdownContentResult Visit(ContentThoughts content, ContentVisitorContext context)
{
var markdownContent = new List<string>();
foreach (var thought in content.thoughts)
return GetShowAllGuardedContentResult(() =>
{
markdownContent.Add(thought.summary + " ");
markdownContent.Add(thought.content + " ");
}
return new MarkdownContentResult(markdownContent, " 💭");
var markdownContent = new List<string>();
foreach (var thought in content.thoughts)
{
markdownContent.Add(thought.summary + " ");
markdownContent.Add(thought.content + " ");
}
return new MarkdownContentResult(markdownContent, " 💭");
});
}

public MarkdownContentResult Visit(ContentExecutionOutput content, ContentVisitorContext context)
{
var code = ToCodeBlock(content.text);
return new MarkdownContentResult(code);
return GetShowAllGuardedContentResult(() =>
{
var code = ToCodeBlock(content.text);
return new MarkdownContentResult(code);
});
}

public MarkdownContentResult Visit(ContentReasoningRecap content, ContentVisitorContext context)
{
return new MarkdownContentResult(content.content);
return GetShowAllGuardedContentResult(() =>
{
return new MarkdownContentResult(content.content);
});
}

private IEnumerable<string> DecodeText(string text, ContentVisitorContext context)
Expand Down Expand Up @@ -318,18 +332,24 @@ private class PromptFormat

public MarkdownContentResult Visit(ContentUserEditableContext content, ContentVisitorContext context)
{
var markdownContent = new List<string>
return GetShowAllGuardedContentResult(() =>
{
"**User profile:** " + content.user_profile + " ",
"**User instructions:** " + content.user_instructions + " "
};
return new MarkdownContentResult(markdownContent);
var markdownContent = new List<string>
{
"**User profile:** " + content.user_profile + " ",
"**User instructions:** " + content.user_instructions + " "
};
return new MarkdownContentResult(markdownContent);
});
}

public MarkdownContentResult Visit(ContentTetherBrowsingDisplay content, ContentVisitorContext context)
{
string v = content.result.Replace("\n", " \n");
return new MarkdownContentResult([v, content.summary]);
return GetShowAllGuardedContentResult(() =>
{
string v = content.result.Replace("\n", " \n");
return new MarkdownContentResult([v, content.summary]);
});
}

public MarkdownContentResult Visit(ContentComputerOutput content, ContentVisitorContext context)
Expand All @@ -339,7 +359,15 @@ public MarkdownContentResult Visit(ContentComputerOutput content, ContentVisitor

public MarkdownContentResult Visit(ContentSystemError content, ContentVisitorContext context)
{
return new MarkdownContentResult($"🔴 {content.name}: {content.text}");
return GetShowAllGuardedContentResult(() =>
{
return new MarkdownContentResult($"🔴 {content.name}: {content.text}");
});
}

private MarkdownContentResult GetShowAllGuardedContentResult(Func<MarkdownContentResult> func)
{
return showHidden ? func() : new MarkdownContentResult();
}
}
}
4 changes: 2 additions & 2 deletions ChatGPTExport/Exporters/Markdown/MarkdownExporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace ChatGPTExport.Exporters.Markdown
{
internal class MarkdownExporter : IExporter
internal class MarkdownExporter(bool showHidden) : IExporter
{
private readonly string LineBreak = Environment.NewLine;

Expand All @@ -13,7 +13,7 @@ public IEnumerable<string> Export(IAssetLocator assetLocator, Conversation conve

var strings = new List<string>();

var visitor = new MarkdownContentVisitor(assetLocator);
var visitor = new MarkdownContentVisitor(assetLocator, showHidden);

foreach (var message in messages)
{
Expand Down
Loading
Loading