Exemple #1
0
        /// <summary>
        /// Write a representation of this instance to the given <see cref="IHtmlSerializer"/>.
        /// </summary>
        /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param>
        public override void Serialize(IHtmlSerializer serializer)
        {
            base.Serialize(serializer);

            var oneLiner = _children.All(x => !x.SuggestNewlineWhenSerialized) && _children.Any(x => x is StringHtmlElement);

            if (!oneLiner)
            {
                serializer.BeginBlock(AllowIndentation);
            }

            foreach (var element in Children)
            {
                if (Verbatim && element is StringHtmlElement)
                {
                    serializer.Write(((StringHtmlElement)element).Value);
                }
                else
                {
                    element.Serialize(serializer);
                }
                if (element.SuggestNewlineWhenSerialized || Verbatim)
                {
                    serializer.SuggestNewline();
                }
            }

            if (!oneLiner)
            {
                serializer.EndBlock();
            }

            serializer.Write($"</{Name}>");
        }
Exemple #2
0
 /// <summary>
 /// Serializes the attributes in this element to the given <see cref="IHtmlSerializer"/>.
 /// </summary>
 /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param>
 protected void SerializeAttributes(IHtmlSerializer serializer)
 {
     foreach (var attribute in Attributes)
     {
         serializer.Write(" ");
         attribute.Serialize(serializer);
     }
 }
Exemple #3
0
 /// <summary>
 /// Write a representation of this instance to the given <see cref="IHtmlSerializer"/>.
 /// </summary>
 /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param>
 public void Serialize(IHtmlSerializer serializer)
 {
     serializer.Write(ToString());
 }
Exemple #4
0
 /// <summary>
 /// Write a representation of this instance to the given <see cref="IHtmlSerializer"/>.
 /// </summary>
 /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param>
 public override void Serialize(IHtmlSerializer serializer)
 {
     serializer.Write($"<{Name}");
     SerializeAttributes(serializer);
     serializer.Write(TrailingSlash ? " />" : ">");
 }