diff --git a/kernel/model/backlink.go b/kernel/model/backlink.go index c2f5e647f..017cdb93e 100644 --- a/kernel/model/backlink.go +++ b/kernel/model/backlink.go @@ -317,6 +317,7 @@ func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode linkRefs, linkRefsCount, excludeBacklinkIDs := buildLinkRefs(rootID, refs) tmpBacklinks := toFlatTree(linkRefs, 0, "backlink") + var boxIDs []string for _, l := range tmpBacklinks { l.Blocks = nil if "" != keyword { @@ -325,6 +326,14 @@ func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode } } backlinks = append(backlinks, l) + boxIDs = append(boxIDs, l.Box) + } + boxIDs = gulu.Str.RemoveDuplicatedElem(boxIDs) + + boxNames := Conf.BoxNames(boxIDs) + for _, l := range backlinks { + name := boxNames[l.Box] + l.HPath = name + "/" + l.HPath } sort.Slice(backlinks, func(i, j int) bool { @@ -361,6 +370,11 @@ func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode backmentions = append(backmentions, l) } + for _, l := range backmentions { + name := boxNames[l.Box] + l.HPath = name + "/" + l.HPath + } + sort.Slice(backmentions, func(i, j int) bool { switch mentionSortMode { case util.SortModeUpdatedDESC: diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 3cb2d567b..57d663a66 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -467,6 +467,21 @@ func (conf *AppConf) Box(boxID string) *Box { return nil } +func (conf *AppConf) BoxNames(boxIDs []string) (ret map[string]string) { + ret = map[string]string{} + + boxes := conf.GetOpenedBoxes() + for _, boxID := range boxIDs { + for _, box := range boxes { + if box.ID == boxID { + ret[boxID] = box.Name + break + } + } + } + return +} + func (conf *AppConf) GetBoxes() (ret []*Box) { ret = []*Box{} notebooks, err := ListNotebooks()