Former-commit-id: 997f42a531c1a8fd4dac340129cea645f7c30fb8
This commit is contained in:
Henrique Dias
2016-12-30 16:22:26 +00:00
parent 7d9fb5995a
commit 103457f4e3
8 changed files with 260 additions and 81 deletions

View File

@@ -32,10 +32,16 @@ type Info struct {
Token string
}
// BreadcrumbMapItem ...
type BreadcrumbMapItem struct {
Name string
URL string
}
// BreadcrumbMap returns p.Path where every element is a map
// of URLs and path segment names.
func (i Info) BreadcrumbMap() map[string]string {
result := map[string]string{}
func (i Info) BreadcrumbMap() []BreadcrumbMapItem {
result := []BreadcrumbMapItem{}
if len(i.Path) == 0 {
return result
@@ -54,11 +60,17 @@ func (i Info) BreadcrumbMap() map[string]string {
}
if i == 0 && part == "" {
// Leading slash (root)
result["/"] = "/"
result = append([]BreadcrumbMapItem{{
Name: "/",
URL: "/",
}}, result...)
continue
}
result[strings.Join(parts[:i+1], "/")] = part
result = append([]BreadcrumbMapItem{{
Name: part,
URL: strings.Join(parts[:i+1], "/"),
}}, result...)
}
return result