code: func (e *htmlComment) WriteTo(w io.Writer) (int64, error) {
  	var bf bytes.Buffer
  
  	// Write an open tag.
  	bf.WriteString(e.opts.DelimLeft)
  	bf.WriteString(preDefinedFuncNameHTML)
  	bf.WriteString(space)
  	bf.WriteString(doubleQuote)
  	bf.WriteString(lt)
  	bf.WriteString(exclamation)
  	bf.WriteString(doubleQuote)
  	bf.WriteString(e.opts.DelimRight)
  	bf.WriteString(hyphen)
  	bf.WriteString(hyphen)
  
  	// Write the HTML comment
  	if len(e.ln.tokens) > 1 {
  		bf.WriteString(space)
  		bf.WriteString(strings.Join(e.ln.tokens[1:], space))
  	}
  
  	// Write the children's HTML.
  	if len(e.children) > 0 {
  		bf.WriteString(lf)
  
  		if i, err := e.writeChildren(&bf); err != nil {
  			return i, err
  		}
  	} else {
  		bf.WriteString(space)
  
  	}
  
  	// Write a close tag.
  	bf.WriteString(hyphen)
  	bf.WriteString(hyphen)
  	bf.WriteString(gt)
  
  	// Write the buffer.
  	i, err := w.Write(bf.Bytes())
  
  	return int64(i), err
  }
docs: // WriteTo writes data to w.