mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-16 00:50:56 +08:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
bea53f4bec
@ -52,9 +52,13 @@ func getBazaarPlugin(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
frontend := arg["frontend"].(string)
|
frontend := arg["frontend"].(string)
|
||||||
|
var keyword string
|
||||||
|
if keywordArg := arg["keyword"]; nil != keywordArg {
|
||||||
|
keyword = keywordArg.(string)
|
||||||
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarPlugins(frontend),
|
"packages": model.BazaarPlugins(frontend, keyword),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,7 +101,7 @@ func installBazaarPlugin(c *gin.Context) {
|
|||||||
|
|
||||||
util.PushMsg(model.Conf.Language(69), 3000)
|
util.PushMsg(model.Conf.Language(69), 3000)
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarPlugins(frontend),
|
"packages": model.BazaarPlugins(frontend, ""),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,7 +124,7 @@ func uninstallBazaarPlugin(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarPlugins(frontend),
|
"packages": model.BazaarPlugins(frontend, ""),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,8 +132,18 @@ func getBazaarWidget(c *gin.Context) {
|
|||||||
ret := gulu.Ret.NewResult()
|
ret := gulu.Ret.NewResult()
|
||||||
defer c.JSON(http.StatusOK, ret)
|
defer c.JSON(http.StatusOK, ret)
|
||||||
|
|
||||||
|
arg, ok := util.JsonArg(c, ret)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var keyword string
|
||||||
|
if keywordArg := arg["keyword"]; nil != keywordArg {
|
||||||
|
keyword = keywordArg.(string)
|
||||||
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarWidgets(),
|
"packages": model.BazaarWidgets(keyword),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +177,7 @@ func installBazaarWidget(c *gin.Context) {
|
|||||||
|
|
||||||
util.PushMsg(model.Conf.Language(69), 3000)
|
util.PushMsg(model.Conf.Language(69), 3000)
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarWidgets(),
|
"packages": model.BazaarWidgets(""),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +199,7 @@ func uninstallBazaarWidget(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarWidgets(),
|
"packages": model.BazaarWidgets(""),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,8 +207,18 @@ func getBazaarIcon(c *gin.Context) {
|
|||||||
ret := gulu.Ret.NewResult()
|
ret := gulu.Ret.NewResult()
|
||||||
defer c.JSON(http.StatusOK, ret)
|
defer c.JSON(http.StatusOK, ret)
|
||||||
|
|
||||||
|
arg, ok := util.JsonArg(c, ret)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var keyword string
|
||||||
|
if keywordArg := arg["keyword"]; nil != keywordArg {
|
||||||
|
keyword = keywordArg.(string)
|
||||||
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarIcons(),
|
"packages": model.BazaarIcons(keyword),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -228,7 +252,7 @@ func installBazaarIcon(c *gin.Context) {
|
|||||||
util.PushMsg(model.Conf.Language(69), 3000)
|
util.PushMsg(model.Conf.Language(69), 3000)
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarIcons(),
|
"packages": model.BazaarIcons(""),
|
||||||
"appearance": model.Conf.Appearance,
|
"appearance": model.Conf.Appearance,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -251,7 +275,7 @@ func uninstallBazaarIcon(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarIcons(),
|
"packages": model.BazaarIcons(""),
|
||||||
"appearance": model.Conf.Appearance,
|
"appearance": model.Conf.Appearance,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -260,8 +284,18 @@ func getBazaarTemplate(c *gin.Context) {
|
|||||||
ret := gulu.Ret.NewResult()
|
ret := gulu.Ret.NewResult()
|
||||||
defer c.JSON(http.StatusOK, ret)
|
defer c.JSON(http.StatusOK, ret)
|
||||||
|
|
||||||
|
arg, ok := util.JsonArg(c, ret)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var keyword string
|
||||||
|
if keywordArg := arg["keyword"]; nil != keywordArg {
|
||||||
|
keyword = keywordArg.(string)
|
||||||
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarTemplates(),
|
"packages": model.BazaarTemplates(keyword),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -294,7 +328,7 @@ func installBazaarTemplate(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarTemplates(),
|
"packages": model.BazaarTemplates(""),
|
||||||
}
|
}
|
||||||
|
|
||||||
util.PushMsg(model.Conf.Language(69), 3000)
|
util.PushMsg(model.Conf.Language(69), 3000)
|
||||||
@ -318,7 +352,7 @@ func uninstallBazaarTemplate(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarTemplates(),
|
"packages": model.BazaarTemplates(""),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -326,8 +360,18 @@ func getBazaarTheme(c *gin.Context) {
|
|||||||
ret := gulu.Ret.NewResult()
|
ret := gulu.Ret.NewResult()
|
||||||
defer c.JSON(http.StatusOK, ret)
|
defer c.JSON(http.StatusOK, ret)
|
||||||
|
|
||||||
|
arg, ok := util.JsonArg(c, ret)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var keyword string
|
||||||
|
if keywordArg := arg["keyword"]; nil != keywordArg {
|
||||||
|
keyword = keywordArg.(string)
|
||||||
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarThemes(),
|
"packages": model.BazaarThemes(keyword),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -370,7 +414,7 @@ func installBazaarTheme(c *gin.Context) {
|
|||||||
|
|
||||||
util.PushMsg(model.Conf.Language(69), 3000)
|
util.PushMsg(model.Conf.Language(69), 3000)
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarThemes(),
|
"packages": model.BazaarThemes(""),
|
||||||
"appearance": model.Conf.Appearance,
|
"appearance": model.Conf.Appearance,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -393,7 +437,7 @@ func uninstallBazaarTheme(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"packages": model.BazaarThemes(),
|
"packages": model.BazaarThemes(""),
|
||||||
"appearance": model.Conf.Appearance,
|
"appearance": model.Conf.Appearance,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/88250/gulu"
|
"github.com/88250/gulu"
|
||||||
"github.com/siyuan-note/siyuan/kernel/util"
|
"github.com/siyuan-note/siyuan/kernel/util"
|
||||||
@ -32,8 +33,9 @@ func GetPackageREADME(repoURL, repoHash, packageType string) (ret string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func BazaarPlugins(frontend string) (plugins []*bazaar.Plugin) {
|
func BazaarPlugins(frontend, keyword string) (plugins []*bazaar.Plugin) {
|
||||||
plugins = bazaar.Plugins(frontend)
|
plugins = bazaar.Plugins(frontend)
|
||||||
|
plugins = filterPlugins(plugins, keyword)
|
||||||
for _, plugin := range plugins {
|
for _, plugin := range plugins {
|
||||||
plugin.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "plugins", plugin.Name))
|
plugin.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "plugins", plugin.Name))
|
||||||
if plugin.Installed {
|
if plugin.Installed {
|
||||||
@ -49,6 +51,29 @@ func BazaarPlugins(frontend string) (plugins []*bazaar.Plugin) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func filterPlugins(packages []*bazaar.Plugin, keyword string) (ret []*bazaar.Plugin) {
|
||||||
|
ret = []*bazaar.Plugin{}
|
||||||
|
keyword = strings.TrimSpace(keyword)
|
||||||
|
if "" == keyword {
|
||||||
|
return packages
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pkg := range packages {
|
||||||
|
if strings.Contains(pkg.DisplayName.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.EnUS, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.EnUS, keyword) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ret = append(ret, pkg)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func InstalledPlugins(frontend string) (plugins []*bazaar.Plugin) {
|
func InstalledPlugins(frontend string) (plugins []*bazaar.Plugin) {
|
||||||
plugins = bazaar.InstalledPlugins(frontend, true)
|
plugins = bazaar.InstalledPlugins(frontend, true)
|
||||||
|
|
||||||
@ -93,8 +118,9 @@ func UninstallBazaarPlugin(pluginName, frontend string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func BazaarWidgets() (widgets []*bazaar.Widget) {
|
func BazaarWidgets(keyword string) (widgets []*bazaar.Widget) {
|
||||||
widgets = bazaar.Widgets()
|
widgets = bazaar.Widgets()
|
||||||
|
widgets = filterWidgets(widgets, keyword)
|
||||||
for _, widget := range widgets {
|
for _, widget := range widgets {
|
||||||
widget.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "widgets", widget.Name))
|
widget.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "widgets", widget.Name))
|
||||||
if widget.Installed {
|
if widget.Installed {
|
||||||
@ -110,6 +136,29 @@ func BazaarWidgets() (widgets []*bazaar.Widget) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func filterWidgets(packages []*bazaar.Widget, keyword string) (ret []*bazaar.Widget) {
|
||||||
|
ret = []*bazaar.Widget{}
|
||||||
|
keyword = strings.TrimSpace(keyword)
|
||||||
|
if "" == keyword {
|
||||||
|
return packages
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pkg := range packages {
|
||||||
|
if strings.Contains(pkg.DisplayName.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.EnUS, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.EnUS, keyword) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ret = append(ret, pkg)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func InstalledWidgets() (widgets []*bazaar.Widget) {
|
func InstalledWidgets() (widgets []*bazaar.Widget) {
|
||||||
widgets = bazaar.InstalledWidgets()
|
widgets = bazaar.InstalledWidgets()
|
||||||
return
|
return
|
||||||
@ -133,8 +182,9 @@ func UninstallBazaarWidget(widgetName string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func BazaarIcons() (icons []*bazaar.Icon) {
|
func BazaarIcons(keyword string) (icons []*bazaar.Icon) {
|
||||||
icons = bazaar.Icons()
|
icons = bazaar.Icons()
|
||||||
|
icons = filterIcons(icons, keyword)
|
||||||
for _, installed := range Conf.Appearance.Icons {
|
for _, installed := range Conf.Appearance.Icons {
|
||||||
for _, icon := range icons {
|
for _, icon := range icons {
|
||||||
if installed == icon.Name {
|
if installed == icon.Name {
|
||||||
@ -151,6 +201,29 @@ func BazaarIcons() (icons []*bazaar.Icon) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func filterIcons(packages []*bazaar.Icon, keyword string) (ret []*bazaar.Icon) {
|
||||||
|
ret = []*bazaar.Icon{}
|
||||||
|
keyword = strings.TrimSpace(keyword)
|
||||||
|
if "" == keyword {
|
||||||
|
return packages
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pkg := range packages {
|
||||||
|
if strings.Contains(pkg.DisplayName.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.EnUS, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.EnUS, keyword) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ret = append(ret, pkg)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func InstalledIcons() (icons []*bazaar.Icon) {
|
func InstalledIcons() (icons []*bazaar.Icon) {
|
||||||
icons = bazaar.InstalledIcons()
|
icons = bazaar.InstalledIcons()
|
||||||
for _, icon := range icons {
|
for _, icon := range icons {
|
||||||
@ -182,8 +255,9 @@ func UninstallBazaarIcon(iconName string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func BazaarThemes() (ret []*bazaar.Theme) {
|
func BazaarThemes(keyword string) (ret []*bazaar.Theme) {
|
||||||
ret = bazaar.Themes()
|
ret = bazaar.Themes()
|
||||||
|
ret = filterThemes(ret, keyword)
|
||||||
installs := Conf.Appearance.DarkThemes
|
installs := Conf.Appearance.DarkThemes
|
||||||
installs = append(installs, Conf.Appearance.LightThemes...)
|
installs = append(installs, Conf.Appearance.LightThemes...)
|
||||||
for _, installed := range installs {
|
for _, installed := range installs {
|
||||||
@ -200,6 +274,29 @@ func BazaarThemes() (ret []*bazaar.Theme) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func filterThemes(packages []*bazaar.Theme, keyword string) (ret []*bazaar.Theme) {
|
||||||
|
ret = []*bazaar.Theme{}
|
||||||
|
keyword = strings.TrimSpace(keyword)
|
||||||
|
if "" == keyword {
|
||||||
|
return packages
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pkg := range packages {
|
||||||
|
if strings.Contains(pkg.DisplayName.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.EnUS, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.EnUS, keyword) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ret = append(ret, pkg)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func InstalledThemes() (ret []*bazaar.Theme) {
|
func InstalledThemes() (ret []*bazaar.Theme) {
|
||||||
ret = bazaar.InstalledThemes()
|
ret = bazaar.InstalledThemes()
|
||||||
for _, theme := range ret {
|
for _, theme := range ret {
|
||||||
@ -246,8 +343,9 @@ func UninstallBazaarTheme(themeName string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func BazaarTemplates() (templates []*bazaar.Template) {
|
func BazaarTemplates(keyword string) (templates []*bazaar.Template) {
|
||||||
templates = bazaar.Templates()
|
templates = bazaar.Templates()
|
||||||
|
templates = filterTemplates(templates, keyword)
|
||||||
for _, template := range templates {
|
for _, template := range templates {
|
||||||
template.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "templates", template.Name))
|
template.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "templates", template.Name))
|
||||||
if template.Installed {
|
if template.Installed {
|
||||||
@ -261,6 +359,29 @@ func BazaarTemplates() (templates []*bazaar.Template) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func filterTemplates(packages []*bazaar.Template, keyword string) (ret []*bazaar.Template) {
|
||||||
|
ret = []*bazaar.Template{}
|
||||||
|
keyword = strings.TrimSpace(keyword)
|
||||||
|
if "" == keyword {
|
||||||
|
return packages
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pkg := range packages {
|
||||||
|
if strings.Contains(pkg.DisplayName.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.DisplayName.EnUS, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.Default, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCN, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.ZhCHT, keyword) ||
|
||||||
|
strings.Contains(pkg.Description.EnUS, keyword) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ret = append(ret, pkg)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func InstalledTemplates() (templates []*bazaar.Template) {
|
func InstalledTemplates() (templates []*bazaar.Template) {
|
||||||
templates = bazaar.InstalledTemplates()
|
templates = bazaar.InstalledTemplates()
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user