diff --git a/kernel/server/proxy/publish.go b/kernel/server/proxy/publish.go index 65d9a7666..edac7eeb6 100644 --- a/kernel/server/proxy/publish.go +++ b/kernel/server/proxy/publish.go @@ -144,6 +144,7 @@ func (PublishServiceTransport) RoundTrip(request *http.Request) (response *http. Header: http.Header{ model.BasicAuthHeaderKey: {model.BasicAuthHeaderValue}, }, + Body: http.NoBody, Close: false, ContentLength: -1, }, nil diff --git a/kernel/sql/av.go b/kernel/sql/av.go index c4a203d34..4ab79d9b2 100644 --- a/kernel/sql/av.go +++ b/kernel/sql/av.go @@ -479,6 +479,8 @@ func RenderTemplateCol(ial map[string]string, rowValues []*av.KeyValues, tplCont } } + dataModel["id"] = map[string]any{} + dataModel["id_raw"] = map[string]any{} for _, rowValue := range rowValues { if 1 > len(rowValue.Values) { continue @@ -541,6 +543,13 @@ func RenderTemplateCol(ial map[string]string, rowValues []*av.KeyValues, tplCont } else { dataModel[rowValue.Key.Name] = v.String(true) } + + // Database template fields support access to the raw value https://github.com/siyuan-note/siyuan/issues/14903 + dataModel[rowValue.Key.Name+"_raw"] = v + + // Database template fields support access by ID https://github.com/siyuan-note/siyuan/issues/11237 + dataModel["id"].(map[string]any)[rowValue.Key.ID] = dataModel[rowValue.Key.Name] + dataModel["id_raw"].(map[string]any)[rowValue.Key.ID] = v } if err = tpl.Execute(buf, dataModel); err != nil {