🎨 Improve local image rendering in README of installed marketplace packages https://github.com/siyuan-note/siyuan/issues/14502

This commit is contained in:
Daniel 2025-04-03 13:17:54 +08:00
parent 7ab4ccf991
commit 4b27f131ca
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
6 changed files with 20 additions and 9 deletions

View file

@ -190,7 +190,7 @@ func InstalledIcons() (ret []*Icon) {
continue continue
} }
icon.PreferredReadme, _ = renderREADME(icon.URL, readme) icon.PreferredReadme, _ = renderLocalREADME("/appearance/icons/"+dirName+"/", readme)
icon.Outdated = isOutdatedIcon(icon, bazaarIcons) icon.Outdated = isOutdatedIcon(icon, bazaarIcons)
ret = append(ret, icon) ret = append(ret, icon)
} }

View file

@ -42,7 +42,7 @@ import (
type DisplayName struct { type DisplayName struct {
Default string `json:"default"` Default string `json:"default"`
ArSA string `json:"ar_SA"` ArSA string `json:"ar_SA"`
DeDE string `json:"de_DE"` DeDE string `json:"de_DE"`
EnUS string `json:"en_US"` EnUS string `json:"en_US"`
EsES string `json:"es_ES"` EsES string `json:"es_ES"`
@ -58,7 +58,7 @@ type DisplayName struct {
type Description struct { type Description struct {
Default string `json:"default"` Default string `json:"default"`
ArSA string `json:"ar_SA"` ArSA string `json:"ar_SA"`
DeDE string `json:"de_DE"` DeDE string `json:"de_DE"`
EnUS string `json:"en_US"` EnUS string `json:"en_US"`
EsES string `json:"es_ES"` EsES string `json:"es_ES"`
@ -74,7 +74,7 @@ type Description struct {
type Readme struct { type Readme struct {
Default string `json:"default"` Default string `json:"default"`
ArSA string `json:"ar_SA"` ArSA string `json:"ar_SA"`
DeDE string `json:"de_DE"` DeDE string `json:"de_DE"`
EnUS string `json:"en_US"` EnUS string `json:"en_US"`
EsES string `json:"es_ES"` EsES string `json:"es_ES"`
@ -172,7 +172,7 @@ func getPreferredReadme(readme *Readme) string {
case "ar_SA": case "ar_SA":
if "" != readme.ArSA { if "" != readme.ArSA {
ret = readme.ArSA ret = readme.ArSA
} }
case "de_DE": case "de_DE":
if "" != readme.DeDE { if "" != readme.DeDE {
ret = readme.DeDE ret = readme.DeDE
@ -688,6 +688,17 @@ func renderREADME(repoURL string, mdData []byte) (ret string, err error) {
return return
} }
func renderLocalREADME(basePath string, mdData []byte) (ret string, err error) {
luteEngine := lute.New()
luteEngine.SetSoftBreak2HardBreak(false)
luteEngine.SetCodeSyntaxHighlight(false)
linkBase := basePath
luteEngine.SetLinkBase(linkBase)
ret = luteEngine.Md2HTML(string(mdData))
ret = util.LinkTarget(ret, linkBase)
return
}
var ( var (
packageLocks = map[string]*sync.Mutex{} packageLocks = map[string]*sync.Mutex{}
packageLocksLock = sync.Mutex{} packageLocksLock = sync.Mutex{}

View file

@ -227,7 +227,7 @@ func InstalledPlugins(frontend string, checkUpdate bool) (ret []*Plugin) {
continue continue
} }
plugin.PreferredReadme, _ = renderREADME(plugin.URL, readme) plugin.PreferredReadme, _ = renderLocalREADME("/plugins/"+dirName+"/", readme)
plugin.Outdated = isOutdatedPlugin(plugin, bazaarPlugins) plugin.Outdated = isOutdatedPlugin(plugin, bazaarPlugins)
plugin.Incompatible = isIncompatiblePlugin(plugin, frontend) plugin.Incompatible = isIncompatiblePlugin(plugin, frontend)
ret = append(ret, plugin) ret = append(ret, plugin)

View file

@ -191,7 +191,7 @@ func InstalledTemplates() (ret []*Template) {
continue continue
} }
template.PreferredReadme, _ = renderREADME(template.URL, readme) template.PreferredReadme, _ = renderLocalREADME("/templates/"+dirName+"/", readme)
template.Outdated = isOutdatedTemplate(template, bazaarTemplates) template.Outdated = isOutdatedTemplate(template, bazaarTemplates)
ret = append(ret, template) ret = append(ret, template)
} }

View file

@ -192,7 +192,7 @@ func InstalledThemes() (ret []*Theme) {
continue continue
} }
theme.PreferredReadme, _ = renderREADME(theme.URL, readme) theme.PreferredReadme, _ = renderLocalREADME("/appearance/themes/"+dirName+"/", readme)
theme.Outdated = isOutdatedTheme(theme, bazaarThemes) theme.Outdated = isOutdatedTheme(theme, bazaarThemes)
ret = append(ret, theme) ret = append(ret, theme)
} }

View file

@ -188,7 +188,7 @@ func InstalledWidgets() (ret []*Widget) {
continue continue
} }
widget.PreferredReadme, _ = renderREADME(widget.URL, readme) widget.PreferredReadme, _ = renderLocalREADME("/widgets/"+dirName+"/", readme)
widget.Outdated = isOutdatedWidget(widget, bazaarWidgets) widget.Outdated = isOutdatedWidget(widget, bazaarWidgets)
ret = append(ret, widget) ret = append(ret, widget)
} }