code: func ConvertHTML(r io.Reader, readability bool) (string, map[string]string, error) {
  	meta := make(map[string]string)
  
  	buf := new(bytes.Buffer)
  	_, err := buf.ReadFrom(r)
  	if err != nil {
  		return "", nil, err
  	}
  
  	cleanXML, err := Tidy(buf, false)
  	if err != nil {
  		log.Println("Tidy:", err)
  		// Tidy failed, so we now manually tokenize instead
  		clean := cleanHTML(buf, true)
  		cleanXML = []byte(clean)
  		// TODO: remove this log
  		log.Println("Cleaned HTML using Golang tokenizer")
  	}
  
  	if readability {
  		cleanXML = HTMLReadability(bytes.NewReader(cleanXML))
  	}
  	return HTMLToText(bytes.NewReader(cleanXML)), meta, nil
  }
docs: // ConvertHTML converts HTML into text.