Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
bea53f4bec
2 changed files with 185 additions and 20 deletions
|
@ -52,9 +52,13 @@ func getBazaarPlugin(c *gin.Context) {
|
|||
}
|
||||
|
||||
frontend := arg["frontend"].(string)
|
||||
var keyword string
|
||||
if keywordArg := arg["keyword"]; nil != keywordArg {
|
||||
keyword = keywordArg.(string)
|
||||
}
|
||||
|
||||
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)
|
||||
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{}{
|
||||
"packages": model.BazaarPlugins(frontend),
|
||||
"packages": model.BazaarPlugins(frontend, ""),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -128,8 +132,18 @@ func getBazaarWidget(c *gin.Context) {
|
|||
ret := gulu.Ret.NewResult()
|
||||
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{}{
|
||||
"packages": model.BazaarWidgets(),
|
||||
"packages": model.BazaarWidgets(keyword),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -163,7 +177,7 @@ func installBazaarWidget(c *gin.Context) {
|
|||
|
||||
util.PushMsg(model.Conf.Language(69), 3000)
|
||||
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{}{
|
||||
"packages": model.BazaarWidgets(),
|
||||
"packages": model.BazaarWidgets(""),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -193,8 +207,18 @@ func getBazaarIcon(c *gin.Context) {
|
|||
ret := gulu.Ret.NewResult()
|
||||
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{}{
|
||||
"packages": model.BazaarIcons(),
|
||||
"packages": model.BazaarIcons(keyword),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -228,7 +252,7 @@ func installBazaarIcon(c *gin.Context) {
|
|||
util.PushMsg(model.Conf.Language(69), 3000)
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"packages": model.BazaarIcons(),
|
||||
"packages": model.BazaarIcons(""),
|
||||
"appearance": model.Conf.Appearance,
|
||||
}
|
||||
}
|
||||
|
@ -251,7 +275,7 @@ func uninstallBazaarIcon(c *gin.Context) {
|
|||
}
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"packages": model.BazaarIcons(),
|
||||
"packages": model.BazaarIcons(""),
|
||||
"appearance": model.Conf.Appearance,
|
||||
}
|
||||
}
|
||||
|
@ -260,8 +284,18 @@ func getBazaarTemplate(c *gin.Context) {
|
|||
ret := gulu.Ret.NewResult()
|
||||
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{}{
|
||||
"packages": model.BazaarTemplates(),
|
||||
"packages": model.BazaarTemplates(keyword),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -294,7 +328,7 @@ func installBazaarTemplate(c *gin.Context) {
|
|||
}
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"packages": model.BazaarTemplates(),
|
||||
"packages": model.BazaarTemplates(""),
|
||||
}
|
||||
|
||||
util.PushMsg(model.Conf.Language(69), 3000)
|
||||
|
@ -318,7 +352,7 @@ func uninstallBazaarTemplate(c *gin.Context) {
|
|||
}
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"packages": model.BazaarTemplates(),
|
||||
"packages": model.BazaarTemplates(""),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -326,8 +360,18 @@ func getBazaarTheme(c *gin.Context) {
|
|||
ret := gulu.Ret.NewResult()
|
||||
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{}{
|
||||
"packages": model.BazaarThemes(),
|
||||
"packages": model.BazaarThemes(keyword),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -370,7 +414,7 @@ func installBazaarTheme(c *gin.Context) {
|
|||
|
||||
util.PushMsg(model.Conf.Language(69), 3000)
|
||||
ret.Data = map[string]interface{}{
|
||||
"packages": model.BazaarThemes(),
|
||||
"packages": model.BazaarThemes(""),
|
||||
"appearance": model.Conf.Appearance,
|
||||
}
|
||||
}
|
||||
|
@ -393,7 +437,7 @@ func uninstallBazaarTheme(c *gin.Context) {
|
|||
}
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"packages": model.BazaarThemes(),
|
||||
"packages": model.BazaarThemes(""),
|
||||
"appearance": model.Conf.Appearance,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/88250/gulu"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
|
@ -32,8 +33,9 @@ func GetPackageREADME(repoURL, repoHash, packageType string) (ret string) {
|
|||
return
|
||||
}
|
||||
|
||||
func BazaarPlugins(frontend string) (plugins []*bazaar.Plugin) {
|
||||
func BazaarPlugins(frontend, keyword string) (plugins []*bazaar.Plugin) {
|
||||
plugins = bazaar.Plugins(frontend)
|
||||
plugins = filterPlugins(plugins, keyword)
|
||||
for _, plugin := range plugins {
|
||||
plugin.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "plugins", plugin.Name))
|
||||
if plugin.Installed {
|
||||
|
@ -49,6 +51,29 @@ func BazaarPlugins(frontend string) (plugins []*bazaar.Plugin) {
|
|||
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) {
|
||||
plugins = bazaar.InstalledPlugins(frontend, true)
|
||||
|
||||
|
@ -93,8 +118,9 @@ func UninstallBazaarPlugin(pluginName, frontend string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func BazaarWidgets() (widgets []*bazaar.Widget) {
|
||||
func BazaarWidgets(keyword string) (widgets []*bazaar.Widget) {
|
||||
widgets = bazaar.Widgets()
|
||||
widgets = filterWidgets(widgets, keyword)
|
||||
for _, widget := range widgets {
|
||||
widget.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "widgets", widget.Name))
|
||||
if widget.Installed {
|
||||
|
@ -110,6 +136,29 @@ func BazaarWidgets() (widgets []*bazaar.Widget) {
|
|||
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) {
|
||||
widgets = bazaar.InstalledWidgets()
|
||||
return
|
||||
|
@ -133,8 +182,9 @@ func UninstallBazaarWidget(widgetName string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func BazaarIcons() (icons []*bazaar.Icon) {
|
||||
func BazaarIcons(keyword string) (icons []*bazaar.Icon) {
|
||||
icons = bazaar.Icons()
|
||||
icons = filterIcons(icons, keyword)
|
||||
for _, installed := range Conf.Appearance.Icons {
|
||||
for _, icon := range icons {
|
||||
if installed == icon.Name {
|
||||
|
@ -151,6 +201,29 @@ func BazaarIcons() (icons []*bazaar.Icon) {
|
|||
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) {
|
||||
icons = bazaar.InstalledIcons()
|
||||
for _, icon := range icons {
|
||||
|
@ -182,8 +255,9 @@ func UninstallBazaarIcon(iconName string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func BazaarThemes() (ret []*bazaar.Theme) {
|
||||
func BazaarThemes(keyword string) (ret []*bazaar.Theme) {
|
||||
ret = bazaar.Themes()
|
||||
ret = filterThemes(ret, keyword)
|
||||
installs := Conf.Appearance.DarkThemes
|
||||
installs = append(installs, Conf.Appearance.LightThemes...)
|
||||
for _, installed := range installs {
|
||||
|
@ -200,6 +274,29 @@ func BazaarThemes() (ret []*bazaar.Theme) {
|
|||
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) {
|
||||
ret = bazaar.InstalledThemes()
|
||||
for _, theme := range ret {
|
||||
|
@ -246,8 +343,9 @@ func UninstallBazaarTheme(themeName string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func BazaarTemplates() (templates []*bazaar.Template) {
|
||||
func BazaarTemplates(keyword string) (templates []*bazaar.Template) {
|
||||
templates = bazaar.Templates()
|
||||
templates = filterTemplates(templates, keyword)
|
||||
for _, template := range templates {
|
||||
template.Installed = util.IsPathRegularDirOrSymlinkDir(filepath.Join(util.DataDir, "templates", template.Name))
|
||||
if template.Installed {
|
||||
|
@ -261,6 +359,29 @@ func BazaarTemplates() (templates []*bazaar.Template) {
|
|||
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) {
|
||||
templates = bazaar.InstalledTemplates()
|
||||
return
|
||||
|
|
Loading…
Add table
Reference in a new issue