func (tm *TagMap) Len() int {
	return len(tm.Tags)
}
Len returns the number of tags in the map
package pages
import (
	"sort"
)
type TagMap struct {
	Tags map[string][]*Tag
}
func NewTagMap(pageSet []*Page) *TagMap {
	tm := &TagMap{
		Tags: make(map[string][]*Tag),
	}
	tm.BuildFromPages(pageSet)
	return tm
}
func (tm *TagMap) Add(tag *Tag) {
	if !tag.IsValid() {
		return
	}
	tm.Tags[tag.Name] = append(tm.Tags[tag.Name], tag)
}
func (tm *TagMap) BuildFromPages(pages []*Page) {
	for _, page := range pages {
		for _, tag := range page.Tags() {
			tm.Add(tag)
		}
	}
}
func (tm *TagMap) Get(name string) []*Tag {
	return tm.Tags[name]
}