code: func AsHTML(src []byte, options ...Option) ([]byte, error) {
  	opt := DefaultHTMLConfig
  	for _, f := range options {
  		f(&opt)
  	}
  
  	var buf bytes.Buffer
  	if opt.AsOrderedList {
  		buf.Write([]byte("<ol>\n<li>"))
  	}
  	err := Print(NewScanner(src), &buf, HTMLPrinter(opt))
  	if opt.AsOrderedList {
  		buf.Write([]byte("</li>\n</ol>"))
  	}
  	if err != nil {
  		return nil, err
  	}
  	return buf.Bytes(), nil
  }
docs: // AsHTML converts source code into an HTML-highlighted version;
  // It accepts optional configuration parameters to control rendering
  // (see OrderedList as one example)