using ReportGeneration.Abstract;
using ReportGeneration.Interface;
using System.IO;
using System.Text;
namespace ReportGeneration.Generators;
public class MarkdownDocumentGenerator : SubItemDocumentGeneratorBase
{
///
public MarkdownDocumentGenerator() { }
///
public MarkdownDocumentGenerator(string filePath) : base(filePath) { }
///
public MarkdownDocumentGenerator(Stream stream) : base(stream) { }
///
public MarkdownDocumentGenerator(Stream stream, Encoding encoding) : base(stream, encoding) { }
#region Writing
///
public override IDocumentGenerator AppendHeading(int level, string text) =>
AppendParagraph(new string('#', level) + ' ' + text);
///
protected override ITableGenerator MakeTable(int columns, Stream stream) =>
new MarkdownTableGenerator(columns, stream);
///
public override IDocumentGenerator AppendParagraph(string? text = default)
{
AppendLine(text);
AppendLine();
return this;
}
#endregion
///
public override string FormatImage(string path, IBounds? bounds = default) =>
HtmlTools.FormatImage(path, default, bounds);
}