/// <summary> /// Convert parsed HTML to markdown /// </summary> /// <param name="reader">A stream of <see cref="HtmlNode"/></param> /// <param name="settings">Settings controlling how the markdown is rendered</param> /// <returns>A markdown representation of the HTML</returns> public static string ToMarkdown(this IEnumerable <HtmlNode> reader, MarkdownWriterSettings settings) { using (var sw = new StringWriter()) { ToMarkdown(reader, sw, settings); return(sw.ToString()); } }
/// <summary> /// Convert parsed HTML to markdown /// </summary> /// <param name="html">The HTML content to minify. A <see cref="string"/> or <see cref="Stream"/> can also be used.</param> /// <param name="settings">Settings controlling how the markdown is rendered</param> /// <returns>A markdown representation of the HTML</returns> public static string ToMarkdown(TextSource html, MarkdownWriterSettings settings = null) { var sb = Pool.NewStringBuilder(); sb.EnsureCapacity(html.Length); using (var sw = new StringWriter(sb)) using (var reader = new HtmlReader(html, false)) { reader.ToMarkdown(sw, settings); sw.Flush(); return(sb.ToPool()); } }
/// <summary> /// Convert parsed HTML to markdown /// </summary> /// <param name="reader">A stream of <see cref="HtmlNode"/></param> /// <param name="writer">Writer to which the markdown is written</param> /// <param name="settings">Settings controlling how the markdown is rendered</param> public static void ToMarkdown(this IEnumerable <HtmlNode> reader, TextWriter writer, MarkdownWriterSettings settings = null) { using (var w = new MarkdownWriter(writer, settings)) { ToHtml(reader, w); w.Flush(); } }
/// <summary> /// Initializes a new instance of the <see cref="MarkdownWriter"/> class. /// </summary> /// <param name="writer">The writer to output markdown to.</param> /// <param name="settings">The settings.</param> public MarkdownWriter(TextWriter writer, MarkdownWriterSettings settings) { _writer = writer; _settings = settings ?? new MarkdownWriterSettings(); }