code: func (h highlightHTMLRenderer) BlockCode(out *bytes.Buffer, text []byte, lang string) {
  	highlighted, err := syntaxhighlight.AsHTML(text)
  	if err != nil {
  		h.Renderer.BlockCode(out, text, lang)
  	} else {
  
  		if out.Len() > 0 {
  			out.WriteByte('\n')
  		}
  
  		// parse out the language names/classes
  		count := 0
  		for _, elt := range strings.Fields(lang) {
  			if elt[0] == '.' {
  				elt = elt[1:]
  			}
  			if len(elt) == 0 {
  				continue
  			}
  			if count == 0 {
  				out.WriteString("<pre><code class=\"prettyprint language-")
  			} else {
  				out.WriteByte(' ')
  			}
  			out.Write([]byte(elt)) // attrEscape(out, []byte(elt))
  			count++
  		}
  
  		if count == 0 {
  			out.WriteString("<pre><code class=\"prettyprint\">")
  		} else {
  			out.WriteString("\">")
  		}
  
  		out.Write(highlighted)
  		out.WriteString("</code></pre>\n")
  	}
  }
docs: // BlackCode overrides the standard Html Renderer to add support for prettify of source code within block
  // If highlighter fail, normal Html.BlockCode is called