|
@@ -24,7 +24,6 @@ import (
|
|
|
|
|
|
"github.com/88250/lute/ast"
|
|
"github.com/88250/lute/ast"
|
|
"github.com/emirpasic/gods/sets/hashset"
|
|
"github.com/emirpasic/gods/sets/hashset"
|
|
- "github.com/facette/natsort"
|
|
|
|
"github.com/siyuan-note/logging"
|
|
"github.com/siyuan-note/logging"
|
|
"github.com/siyuan-note/siyuan/kernel/search"
|
|
"github.com/siyuan-note/siyuan/kernel/search"
|
|
"github.com/siyuan-note/siyuan/kernel/sql"
|
|
"github.com/siyuan-note/siyuan/kernel/sql"
|
|
@@ -216,7 +215,7 @@ func BuildTags() (ret *Tags) {
|
|
ret = &Tags{}
|
|
ret = &Tags{}
|
|
labels := labelTags()
|
|
labels := labelTags()
|
|
tags := Tags{}
|
|
tags := Tags{}
|
|
- for label, _ := range labels {
|
|
|
|
|
|
+ for label := range labels {
|
|
tags = buildTags(tags, strings.Split(label, "/"), 0)
|
|
tags = buildTags(tags, strings.Split(label, "/"), 0)
|
|
}
|
|
}
|
|
appendTagChildren(&tags, labels)
|
|
appendTagChildren(&tags, labels)
|
|
@@ -248,19 +247,19 @@ func sortTags(tags Tags) {
|
|
switch Conf.Tag.Sort {
|
|
switch Conf.Tag.Sort {
|
|
case util.SortModeNameASC:
|
|
case util.SortModeNameASC:
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
- return util.PinYinCompare(util.RemoveEmojiInvisible(tags[i].Name), util.RemoveEmojiInvisible(tags[j].Name))
|
|
|
|
|
|
+ return util.PinYinCompare(tags[i].Name, tags[j].Name)
|
|
})
|
|
})
|
|
case util.SortModeNameDESC:
|
|
case util.SortModeNameDESC:
|
|
sort.Slice(tags, func(j, i int) bool {
|
|
sort.Slice(tags, func(j, i int) bool {
|
|
- return util.PinYinCompare(util.RemoveEmojiInvisible(tags[i].Name), util.RemoveEmojiInvisible(tags[j].Name))
|
|
|
|
|
|
+ return util.PinYinCompare(tags[i].Name, tags[j].Name)
|
|
})
|
|
})
|
|
case util.SortModeAlphanumASC:
|
|
case util.SortModeAlphanumASC:
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
- return natsort.Compare(util.RemoveEmojiInvisible((tags)[i].Name), util.RemoveEmojiInvisible((tags)[j].Name))
|
|
|
|
|
|
+ return util.NaturalCompare((tags)[i].Name, (tags)[j].Name)
|
|
})
|
|
})
|
|
case util.SortModeAlphanumDESC:
|
|
case util.SortModeAlphanumDESC:
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
- return natsort.Compare(util.RemoveEmojiInvisible((tags)[j].Name), util.RemoveEmojiInvisible((tags)[i].Name))
|
|
|
|
|
|
+ return util.NaturalCompare((tags)[j].Name, (tags)[i].Name)
|
|
})
|
|
})
|
|
case util.SortModeRefCountASC:
|
|
case util.SortModeRefCountASC:
|
|
sort.Slice(tags, func(i, j int) bool { return (tags)[i].Count < (tags)[j].Count })
|
|
sort.Slice(tags, func(i, j int) bool { return (tags)[i].Count < (tags)[j].Count })
|
|
@@ -268,7 +267,7 @@ func sortTags(tags Tags) {
|
|
sort.Slice(tags, func(i, j int) bool { return (tags)[i].Count > (tags)[j].Count })
|
|
sort.Slice(tags, func(i, j int) bool { return (tags)[i].Count > (tags)[j].Count })
|
|
default:
|
|
default:
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
sort.Slice(tags, func(i, j int) bool {
|
|
- return natsort.Compare(util.RemoveEmojiInvisible((tags)[i].Name), util.RemoveEmojiInvisible((tags)[j].Name))
|
|
|
|
|
|
+ return util.NaturalCompare((tags)[i].Name, (tags)[j].Name)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -278,7 +277,7 @@ func SearchTags(keyword string) (ret []string) {
|
|
defer logging.Recover() // 定位 无法添加题头图标签 https://github.com/siyuan-note/siyuan/issues/6756
|
|
defer logging.Recover() // 定位 无法添加题头图标签 https://github.com/siyuan-note/siyuan/issues/6756
|
|
|
|
|
|
labels := labelBlocksByKeyword(keyword)
|
|
labels := labelBlocksByKeyword(keyword)
|
|
- for label, _ := range labels {
|
|
|
|
|
|
+ for label := range labels {
|
|
_, t := search.MarkText(label, keyword, 1024, Conf.Search.CaseSensitive)
|
|
_, t := search.MarkText(label, keyword, 1024, Conf.Search.CaseSensitive)
|
|
ret = append(ret, t)
|
|
ret = append(ret, t)
|
|
}
|
|
}
|