🎨 Improve database relation and rollup field exporting https://github.com/siyuan-note/siyuan/issues/12003
This commit is contained in:
parent
3eec016723
commit
26d3b87584
1 changed files with 59 additions and 0 deletions
|
@ -2365,6 +2365,65 @@ func exportTree(tree *parse.Tree, wysiwyg, keepFold, avHiddenCol bool,
|
|||
} else if av.KeyTypeLineNumber == cell.Value.Type {
|
||||
val = strconv.Itoa(rowNum)
|
||||
rowNum++
|
||||
} else if av.KeyTypeRelation == cell.Value.Type {
|
||||
for i, v := range cell.Value.Relation.Contents {
|
||||
if nil == v {
|
||||
continue
|
||||
}
|
||||
|
||||
if av.KeyTypeBlock == v.Type && nil != v.Block {
|
||||
val = v.Block.Content
|
||||
if !wysiwyg {
|
||||
val = string(lex.EscapeProtyleMarkers([]byte(val)))
|
||||
val = strings.ReplaceAll(val, "\\|", "|")
|
||||
val = strings.ReplaceAll(val, "|", "\\|")
|
||||
}
|
||||
|
||||
val = strings.ReplaceAll(val, "\n", " ")
|
||||
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(val)})
|
||||
}
|
||||
if i < len(cell.Value.Relation.Contents)-1 {
|
||||
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(", ")})
|
||||
}
|
||||
}
|
||||
continue
|
||||
} else if av.KeyTypeRollup == cell.Value.Type {
|
||||
for i, v := range cell.Value.Rollup.Contents {
|
||||
if nil == v {
|
||||
continue
|
||||
}
|
||||
|
||||
if av.KeyTypeBlock == v.Type {
|
||||
if nil != v.Block {
|
||||
val = v.Block.Content
|
||||
if !wysiwyg {
|
||||
val = string(lex.EscapeProtyleMarkers([]byte(val)))
|
||||
val = strings.ReplaceAll(val, "\\|", "|")
|
||||
val = strings.ReplaceAll(val, "|", "\\|")
|
||||
}
|
||||
|
||||
val = strings.ReplaceAll(val, "\n", " ")
|
||||
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(val)})
|
||||
}
|
||||
} else if av.KeyTypeText == v.Type {
|
||||
val = v.Text.Content
|
||||
if !wysiwyg {
|
||||
val = string(lex.EscapeProtyleMarkers([]byte(val)))
|
||||
val = strings.ReplaceAll(val, "\\|", "|")
|
||||
val = strings.ReplaceAll(val, "|", "\\|")
|
||||
}
|
||||
|
||||
val = strings.ReplaceAll(val, "\n", " ")
|
||||
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(val)})
|
||||
} else {
|
||||
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(v.String(true))})
|
||||
}
|
||||
|
||||
if i < len(cell.Value.Rollup.Contents)-1 {
|
||||
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(", ")})
|
||||
}
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
if "" == val {
|
||||
|
|
Loading…
Add table
Reference in a new issue