mirror of https://github.com/jlelse/GoBlog
Sort blogroll again
This commit is contained in:
parent
1ef34889ae
commit
026ae9469a
23
blogroll.go
23
blogroll.go
|
@ -4,6 +4,8 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/kaorimatz/go-opml"
|
"github.com/kaorimatz/go-opml"
|
||||||
|
@ -104,12 +106,33 @@ func getBlogrollOutlines(config *configBlogroll) ([]*opml.Outline, error) {
|
||||||
if outline, ok := funk.Find(outlines, func(outline *opml.Outline) bool {
|
if outline, ok := funk.Find(outlines, func(outline *opml.Outline) bool {
|
||||||
return outline.Title == category || outline.Text == category
|
return outline.Title == category || outline.Text == category
|
||||||
}).(*opml.Outline); ok && outline != nil {
|
}).(*opml.Outline); ok && outline != nil {
|
||||||
|
outline.Outlines = sortOutlines(outline.Outlines)
|
||||||
filtered = append(filtered, outline)
|
filtered = append(filtered, outline)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
outlines = filtered
|
outlines = filtered
|
||||||
|
} else {
|
||||||
|
outlines = sortOutlines(outlines)
|
||||||
}
|
}
|
||||||
config.cachedOutlines = outlines
|
config.cachedOutlines = outlines
|
||||||
config.lastCache = time.Now()
|
config.lastCache = time.Now()
|
||||||
return outlines, nil
|
return outlines, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func sortOutlines(outlines []*opml.Outline) []*opml.Outline {
|
||||||
|
sort.Slice(outlines, func(i, j int) bool {
|
||||||
|
name1 := outlines[i].Title
|
||||||
|
if name1 == "" {
|
||||||
|
name1 = outlines[i].Text
|
||||||
|
}
|
||||||
|
name2 := outlines[j].Title
|
||||||
|
if name2 == "" {
|
||||||
|
name2 = outlines[j].Text
|
||||||
|
}
|
||||||
|
return strings.ToLower(name1) < strings.ToLower(name2)
|
||||||
|
})
|
||||||
|
for _, outline := range outlines {
|
||||||
|
outline.Outlines = sortOutlines(outline.Outlines)
|
||||||
|
}
|
||||||
|
return outlines
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue