Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2022-11-14 18:39:31 +08:00
commit f749ff5fb5
4 changed files with 40 additions and 1 deletions

View File

@ -17,6 +17,7 @@
package api
import (
"io"
"net/http"
"os"
"path"
@ -25,6 +26,7 @@ import (
"github.com/88250/gulu"
"github.com/gin-gonic/gin"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/model"
"github.com/siyuan-note/siyuan/kernel/util"
)
@ -296,3 +298,37 @@ func exportPreview(c *gin.Context) {
"html": stdHTML,
}
}
func exportAsFile(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
form, err := c.MultipartForm()
if nil != err {
logging.LogErrorf("export as file failed: %s", err)
ret.Code = -1
ret.Msg = err.Error()
return
}
typ := form.Value["type"][0]
file := form.File["file"][0]
reader, err := file.Open()
if nil != err {
logging.LogErrorf("export as file failed: %s", err)
ret.Code = -1
ret.Msg = err.Error()
return
}
defer reader.Close()
data, err := io.ReadAll(reader)
if nil != err {
logging.LogErrorf("export as file failed: %s", err)
ret.Code = -1
ret.Msg = err.Error()
return
}
c.Data(http.StatusOK, typ, data)
}

View File

@ -226,6 +226,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/export/exportDocx", model.CheckAuth, exportDocx)
ginServer.Handle("POST", "/api/export/addPDFOutline", model.CheckAuth, addPDFOutline)
ginServer.Handle("POST", "/api/export/preview", model.CheckAuth, exportPreview)
ginServer.Handle("POST", "/api/export/exportAsFile", model.CheckAuth, exportAsFile)
ginServer.Handle("POST", "/api/export/exportData", model.CheckAuth, exportData)
ginServer.Handle("POST", "/api/export/exportDataInFolder", model.CheckAuth, exportDataInFolder)
ginServer.Handle("POST", "/api/export/exportTempContent", model.CheckAuth, exportTempContent)

View File

@ -33,7 +33,7 @@ func NewExport() *Export {
return &Export{
ParagraphBeginningSpace: false,
AddTitle: true,
BlockRefMode: 4,
BlockRefMode: 3,
BlockEmbedMode: 1,
BlockRefTextLeft: "",
BlockRefTextRight: "",

View File

@ -202,6 +202,8 @@ func GetDocHistoryContent(historyPath, keyword string) (id, rootID, content stri
historyTree = renderTree
}
// 禁止文档历史内容可编辑 https://github.com/siyuan-note/siyuan/issues/6580
luteEngine.RenderOptions.ProtyleContenteditable = false
if isLargeDoc {
util.PushMsg(Conf.Language(36), 5000)
formatRenderer := render.NewFormatRenderer(historyTree, luteEngine.RenderOptions)