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); }