Skip to content

Commit 5114cb4

Browse files
author
ArthurHub
committed
fix generated html adding spaces because of too many new lines and indents
1 parent f81bf98 commit 5114cb4

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

Source/HtmlRenderer/Utils/DomUtils.cs

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
using System;
1414
using System.Collections.Generic;
1515
using System.Drawing;
16-
using System.Drawing.Imaging;
17-
using System.IO;
1816
using System.Text;
1917
using HtmlRenderer.Dom;
2018
using HtmlRenderer.Entities;
@@ -616,17 +614,16 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
616614

617615
if (styleGen == HtmlGenerationStyle.InHeader && box.HtmlTag.Name == "html" && box.HtmlContainer.CssData != null)
618616
{
619-
sb.Append(new string(' ', indent * 4));
617+
sb.Append(new string(' ', indent * 2));
620618
sb.AppendLine("<head>");
621619
WriteStylesheet(sb, box.HtmlContainer.CssData, indent + 1);
622-
sb.Append(new string(' ', indent * 4));
620+
sb.Append(new string(' ', indent * 2));
623621
sb.AppendLine("</head>");
624622
}
625623
}
626624

627625
if (box.Words.Count > 0)
628626
{
629-
sb.Append(new string(' ', indent * 4));
630627
foreach (var word in box.Words)
631628
{
632629
if (selectedTags == null || word.Selected)
@@ -635,7 +632,6 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
635632
sb.Append(HtmlUtils.EncodeHtml(wordText));
636633
}
637634
}
638-
sb.AppendLine();
639635
}
640636

641637
foreach (var childBox in box.Boxes)
@@ -645,9 +641,9 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
645641

646642
if (box.HtmlTag != null && !box.HtmlTag.IsSingle)
647643
{
648-
sb.Append(new string(' ', Math.Max((indent - 1) * 4, 0)));
649644
sb.AppendFormat("</{0}>", box.HtmlTag.Name);
650-
sb.AppendLine();
645+
if (!box.IsInline && !box.IsBrElement)
646+
sb.AppendLine();
651647
}
652648
}
653649
}
@@ -661,7 +657,8 @@ private static void WriteHtml(StringBuilder sb, CssBox box, int indent, HtmlGene
661657
/// <param name="styleGen">Controls the way styles are generated when html is generated</param>
662658
private static void WriteHtmlTag(StringBuilder sb, CssBox box, int indent, HtmlGenerationStyle styleGen)
663659
{
664-
sb.Append(new string(' ', indent * 4));
660+
if (!box.IsInline && !box.IsBrElement)
661+
sb.Append(new string(' ', indent * 2));
665662
sb.AppendFormat("<{0}", box.HtmlTag.Name);
666663

667664
// collect all element style properties including from stylesheet
@@ -725,7 +722,8 @@ private static void WriteHtmlTag(StringBuilder sb, CssBox box, int indent, HtmlG
725722
}
726723

727724
sb.AppendFormat("{0}>", box.HtmlTag.IsSingle ? "/" : "");
728-
sb.AppendLine();
725+
if (!box.IsInline && !box.IsBrElement)
726+
sb.AppendLine();
729727
}
730728

731729
/// <summary>
@@ -768,11 +766,11 @@ private static Dictionary<string, string> StripDefaultStyles(CssBox box, Diction
768766
/// <param name="indent">the indent to use for nice formatting</param>
769767
private static void WriteStylesheet(StringBuilder sb, CssData cssData, int indent)
770768
{
771-
sb.Append(new string(' ', indent * 4));
769+
sb.Append(new string(' ', indent * 2));
772770
sb.AppendLine("<style type=\"text/css\">");
773771
foreach (var cssBlocks in cssData.MediaBlocks["all"])
774772
{
775-
sb.Append(new string(' ', (indent + 1) * 4));
773+
sb.Append(new string(' ', (indent + 1) * 2));
776774
sb.Append(cssBlocks.Key);
777775
sb.Append(" { ");
778776
foreach (var cssBlock in cssBlocks.Value)
@@ -786,7 +784,7 @@ private static void WriteStylesheet(StringBuilder sb, CssData cssData, int inden
786784
sb.Append(" }");
787785
sb.AppendLine();
788786
}
789-
sb.Append(new string(' ', indent * 4));
787+
sb.Append(new string(' ', indent * 2));
790788
sb.AppendLine("</style>");
791789
}
792790

0 commit comments

Comments
 (0)