docs: func docstring(doc string) string {
  	doc = strings.TrimSpace(doc)
  	if doc == "" {
  		return ""
  	}
  
  	doc = reNewline.ReplaceAllString(doc, "")
  	doc = reMultiSpace.ReplaceAllString(doc, " ")
  	doc = reComments.ReplaceAllString(doc, "")
  
  	var fullname string
  	parts := reFullnameBlock.FindStringSubmatch(doc)
  	if len(parts) > 1 {
  		fullname = parts[1]
  	}
  	// Remove full name block from doc string
  	doc = reFullname.ReplaceAllString(doc, "")
  
  	doc = reExamples.ReplaceAllString(doc, "")
  	doc = generateDoc(doc)
  	doc = reEndNL.ReplaceAllString(doc, "")
  	doc = html.UnescapeString(doc)
  
  	// Replace doc with full name if doc is empty.
  	doc = strings.TrimSpace(doc)
  	if len(doc) == 0 {
  		doc = fullname
  	}
  
  	return commentify(doc)
  }