🎨 Improve handling of copy block ref when including images https://github.com/siyuan-note/siyuan/issues/9317

This commit is contained in:
Daniel 2023-09-30 17:56:47 +08:00
parent 82bed847e6
commit 121d33e74d
No known key found for this signature in database
GPG Key ID: 86211BA83DF03017
3 changed files with 21 additions and 0 deletions

View File

@ -279,6 +279,19 @@ func getTreeStat(c *gin.Context) {
ret.Data = model.StatTree(id)
}
func getDOMText(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
arg, ok := util.JsonArg(c, ret)
if !ok {
return
}
dom := arg["dom"].(string)
ret.Data = model.GetDOMText(dom)
}
func getRefText(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)

View File

@ -159,6 +159,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/block/getRefIDsByFileAnnotationID", model.CheckAuth, getRefIDsByFileAnnotationID)
ginServer.Handle("POST", "/api/block/getBlockDefIDsByRefText", model.CheckAuth, getBlockDefIDsByRefText)
ginServer.Handle("POST", "/api/block/getRefText", model.CheckAuth, getRefText)
ginServer.Handle("POST", "/api/block/getDOMText", model.CheckAuth, getDOMText)
ginServer.Handle("POST", "/api/block/getTreeStat", model.CheckAuth, getTreeStat)
ginServer.Handle("POST", "/api/block/getBlocksWordCount", model.CheckAuth, getBlocksWordCount)
ginServer.Handle("POST", "/api/block/getContentWordCount", model.CheckAuth, getContentWordCount)

View File

@ -117,6 +117,13 @@ func GetBlockRefText(id string) string {
return getNodeRefText(node)
}
func GetDOMText(dom string) (ret string) {
luteEngine := NewLute()
tree := luteEngine.BlockDOM2Tree(dom)
ret = renderBlockText(tree.Root, nil)
return
}
func getBlockRefText(id string, tree *parse.Tree) (ret string) {
node := treenode.GetNodeInTree(tree, id)
if nil == node {