🎨 Cloud inbox support preview audio and video https://github.com/siyuan-note/siyuan/issues/9780

This commit is contained in:
Daniel 2023-11-29 22:59:50 +08:00
parent 6290c585e2
commit 6ccf76e6cd
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 32 additions and 3 deletions

View file

@ -199,7 +199,7 @@ export class Inbox extends Model {
${linkHTML}
</div>
<div class="b3-typography b3-typography--default" style="padding: 0 8px 8px">
${(Lute.New()).MarkdownStr("", data.shorthandContent)}
${data.shorthandContent}
</div>`;
/// #else
if (data.shorthandURL) {
@ -214,7 +214,7 @@ ${(Lute.New()).MarkdownStr("", data.shorthandContent)}
${linkHTML}
</div>
<div class="b3-typography b3-typography--default" style="padding: 0 8px 8px;user-select: text">
${(Lute.New()).MarkdownStr("", data.shorthandContent)}
${data.shorthandContent}
</div>`;
/// #endif
}
@ -332,7 +332,7 @@ ${(Lute.New()).MarkdownStr("", data.shorthandContent)}
notebook: toNotebook[0],
path: pathPosix().join(getDisplayName(toPath[0], false, true), Lute.NewNodeID() + ".sy"),
title: replaceFileName(response.data.shorthandTitle),
md: response.data.shorthandContent,
md: response.data.shorthandMd,
}, (docResponse) => {
this.remove(item);
fetchPost("/api/format/netAssets2LocalAssets", {id: docResponse.data.id});

View file

@ -262,6 +262,7 @@ interface ISnippet {
interface IInbox {
oId: string
shorthandContent: string
shorthandMd: string
shorthandDesc: string
shorthandFrom: number
shorthandTitle: string

View file

@ -23,11 +23,13 @@ import (
"net/http"
"os"
"path/filepath"
"regexp"
"strconv"
"strings"
"time"
"github.com/88250/gulu"
"github.com/88250/lute/parse"
"github.com/siyuan-note/httpclient"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/conf"
@ -456,6 +458,15 @@ func GetCloudShorthand(id string) (ret map[string]interface{}, err error) {
t, _ := strconv.ParseInt(id, 10, 64)
hCreated := util.Millisecond2Time(t)
ret["hCreated"] = hCreated.Format("2006-01-02 15:04")
md := ret["shorthandContent"].(string)
ret["shorthandMd"] = md
luteEngine := NewLute()
luteEngine.SetFootnotes(true)
tree := parse.Parse("", []byte(md), luteEngine.ParseOptions)
content := luteEngine.ProtylePreview(tree, luteEngine.RenderOptions)
ret["shorthandContent"] = content
return
}
@ -483,6 +494,10 @@ func GetCloudShorthands(page int) (result map[string]interface{}, err error) {
err = errors.New(result["msg"].(string))
return
}
luteEngine := NewLute()
audioRegexp := regexp.MustCompile("<audio.*>.*</audio>")
videoRegexp := regexp.MustCompile("<video.*>.*</video>")
shorthands := result["data"].(map[string]interface{})["shorthands"].([]interface{})
for _, item := range shorthands {
shorthand := item.(map[string]interface{})
@ -490,6 +505,19 @@ func GetCloudShorthands(page int) (result map[string]interface{}, err error) {
t, _ := strconv.ParseInt(id, 10, 64)
hCreated := util.Millisecond2Time(t)
shorthand["hCreated"] = hCreated.Format("2006-01-02 15:04")
desc := shorthand["shorthandDesc"].(string)
desc = audioRegexp.ReplaceAllString(desc, "语音、")
desc = videoRegexp.ReplaceAllString(desc, "视频、")
desc = strings.TrimSuffix(desc, "、")
desc = strings.ReplaceAll(desc, "\n\n", "")
shorthand["shorthandDesc"] = desc
md := shorthand["shorthandContent"].(string)
shorthand["shorthandMd"] = md
tree := parse.Parse("", []byte(md), luteEngine.ParseOptions)
content := luteEngine.ProtylePreview(tree, luteEngine.RenderOptions)
shorthand["shorthandContent"] = content
}
return
}