mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-04 15:58:49 +01:00
🎨 Display the database title on the block superscript https://github.com/siyuan-note/siyuan/issues/10545
This commit is contained in:
parent
b4c9a028fb
commit
cc8841cc8c
2 changed files with 45 additions and 0 deletions
|
|
@ -29,6 +29,7 @@ import (
|
|||
|
||||
"github.com/88250/gulu"
|
||||
"github.com/88250/lute/ast"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/siyuan-note/filelock"
|
||||
"github.com/siyuan-note/logging"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
|
|
@ -212,6 +213,26 @@ func NewAttributeView(id string) (ret *AttributeView) {
|
|||
return
|
||||
}
|
||||
|
||||
func GetAttributeViewName(avID string) (ret string, err error) {
|
||||
avJSONPath := GetAttributeViewDataPath(avID)
|
||||
if !filelock.IsExist(avJSONPath) {
|
||||
return
|
||||
}
|
||||
|
||||
data, err := filelock.ReadFile(avJSONPath)
|
||||
if nil != err {
|
||||
logging.LogErrorf("read attribute view [%s] failed: %s", avID, err)
|
||||
return
|
||||
}
|
||||
|
||||
val := jsoniter.Get(data, "name")
|
||||
if nil == val || val.ValueType() == jsoniter.InvalidValue {
|
||||
return
|
||||
}
|
||||
ret = val.ToString()
|
||||
return
|
||||
}
|
||||
|
||||
func IsAttributeViewExist(avID string) bool {
|
||||
avJSONPath := GetAttributeViewDataPath(avID)
|
||||
return filelock.IsExist(avJSONPath)
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
package model
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
|
|
@ -40,6 +41,7 @@ import (
|
|||
"github.com/siyuan-note/filelock"
|
||||
"github.com/siyuan-note/logging"
|
||||
"github.com/siyuan-note/riff"
|
||||
"github.com/siyuan-note/siyuan/kernel/av"
|
||||
"github.com/siyuan-note/siyuan/kernel/cache"
|
||||
"github.com/siyuan-note/siyuan/kernel/filesys"
|
||||
"github.com/siyuan-note/siyuan/kernel/search"
|
||||
|
|
@ -731,6 +733,28 @@ func GetDoc(startID, endID, id string, index int, query string, queryTypes map[s
|
|||
}
|
||||
}
|
||||
|
||||
if avs := n.IALAttr(av.NodeAttrNameAvs); "" != avs {
|
||||
// 填充属性视图名称
|
||||
avNames := bytes.Buffer{}
|
||||
avIDs := strings.Split(avs, ",")
|
||||
for _, avID := range avIDs {
|
||||
avName, getErr := av.GetAttributeViewName(avID)
|
||||
if nil != getErr {
|
||||
continue
|
||||
}
|
||||
|
||||
if "" == avName {
|
||||
avName = "Untitled"
|
||||
}
|
||||
avNames.WriteString(avName)
|
||||
avNames.WriteString(",")
|
||||
}
|
||||
if 0 < avNames.Len() {
|
||||
avNames.Truncate(avNames.Len() - 1)
|
||||
n.SetIALAttr("av-names", avNames.String())
|
||||
}
|
||||
}
|
||||
|
||||
if "" != n.ID {
|
||||
// 填充块引计数
|
||||
if cnt := refCount[n.ID]; 0 < cnt {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue