func Heading(heading atom.Atom, title string) *html.Node {
	aName := sanitized_anchor_name.Create(title)
	a := &html.Node{
		Type: html.ElementNode, Data: atom.A.String(),
		Attr: []html.Attribute{
			{Key: atom.Name.String(), Val: aName},
			{Key: atom.Class.String(), Val: "anchor"},
			{Key: atom.Href.String(), Val: "#" + aName},
			{Key: atom.Rel.String(), Val: "nofollow"},
			{Key: "aria-hidden", Val: "true"},
		},
	}
	span := &html.Node{
		Type: html.ElementNode, Data: atom.Span.String(),
		Attr:       []html.Attribute{{Key: atom.Class.String(), Val: "octicon-link"}},  
		FirstChild: octicon.Link(),
	}
	a.AppendChild(span)
	h := &html.Node{Type: html.ElementNode, Data: heading.String()}
	h.AppendChild(a)
	h.AppendChild(&html.Node{Type: html.TextNode, Data: title})
	return h
}
Heading returns a heading HTML node with title text.
The heading comes with an anchor based on the title.

heading can be one of atom.H1, atom.H2, atom.H3, atom.H4, atom.H5, atom.H6.
package github_flavored_markdown
import (
	"bytes"
	"fmt"
	"regexp"
	"sort"
	"strings"
	"text/template"
	"github.com/microcosm-cc/bluemonday"
	"github.com/russross/blackfriday"
	"github.com/shurcooL/highlight_diff"
	"github.com/shurcooL/highlight_go"
	"github.com/shurcooL/octicon"
	"github.com/shurcooL/sanitized_anchor_name"
	"github.com/sourcegraph/annotate"
	"github.com/sourcegraph/syntaxhighlight"
	"golang.org/x/net/html"
	"golang.org/x/net/html/atom"
)
func Markdown(text []byte) []byte {
	const htmlFlags = 0
	renderer := &renderer{Html: blackfriday.HtmlRenderer(htmlFlags, "", "").(*blackfriday.Html)}
	unsanitized := blackfriday.Markdown(text, renderer, extensions)
	sanitized := policy.SanitizeBytes(unsanitized)
	return sanitized
}