mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
🧑💻 Add field disabledInPublish
to the marketplace package metadata to indicate whether it is disabled in the publishing service https://github.com/siyuan-note/siyuan/issues/11730
This commit is contained in:
parent
9410a70a2b
commit
6ff4439be3
4 changed files with 26 additions and 22 deletions
|
@ -35,9 +35,9 @@ func loadPetals(c *gin.Context) {
|
|||
}
|
||||
|
||||
frontend := arg["frontend"].(string)
|
||||
isPublish := model.IsReadOnlyRole(model.GetGinContextRole(c))
|
||||
|
||||
petals := model.LoadPetals(frontend)
|
||||
ret.Data = petals
|
||||
ret.Data = model.LoadPetals(frontend, isPublish)
|
||||
}
|
||||
|
||||
func setPetalEnabled(c *gin.Context) {
|
||||
|
|
|
@ -103,6 +103,7 @@ type Package struct {
|
|||
URL string `json:"url"`
|
||||
Version string `json:"version"`
|
||||
MinAppVersion string `json:"minAppVersion"`
|
||||
DisabledInPublish bool `json:"disabledInPublish"`
|
||||
Backends []string `json:"backends"`
|
||||
Frontends []string `json:"frontends"`
|
||||
DisplayName *DisplayName `json:"displayName"`
|
||||
|
|
|
@ -134,7 +134,7 @@ func Plugins(frontend string) (plugins []*Plugin) {
|
|||
return
|
||||
}
|
||||
|
||||
func ParseInstalledPlugin(name, frontend string) (found bool, displayName string, incompatible bool) {
|
||||
func ParseInstalledPlugin(name, frontend string) (found bool, displayName string, incompatible, disabledInPublish bool) {
|
||||
pluginsPath := filepath.Join(util.DataDir, "plugins")
|
||||
if !util.IsPathRegularDirOrSymlinkDir(pluginsPath) {
|
||||
return
|
||||
|
@ -163,6 +163,7 @@ func ParseInstalledPlugin(name, frontend string) (found bool, displayName string
|
|||
found = true
|
||||
displayName = GetPreferredName(plugin.Package)
|
||||
incompatible = isIncompatiblePlugin(plugin, frontend)
|
||||
disabledInPublish = plugin.DisabledInPublish
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ type Petal struct {
|
|||
DisplayName string `json:"displayName"` // Plugin display name
|
||||
Enabled bool `json:"enabled"` // Whether enabled
|
||||
Incompatible bool `json:"incompatible"` // Whether incompatible
|
||||
DisabledInPublish bool `json:"disabledInPublish"` // Whether disabled in publish mode
|
||||
|
||||
JS string `json:"js"` // JS code
|
||||
CSS string `json:"css"` // CSS code
|
||||
|
@ -44,7 +45,7 @@ type Petal struct {
|
|||
func SetPetalEnabled(name string, enabled bool, frontend string) (ret *Petal, err error) {
|
||||
petals := getPetals()
|
||||
|
||||
found, displayName, incompatible := bazaar.ParseInstalledPlugin(name, frontend)
|
||||
found, displayName, incompatible, disabledInPublish := bazaar.ParseInstalledPlugin(name, frontend)
|
||||
if !found {
|
||||
logging.LogErrorf("plugin [%s] not found", name)
|
||||
return
|
||||
|
@ -60,6 +61,7 @@ func SetPetalEnabled(name string, enabled bool, frontend string) (ret *Petal, er
|
|||
ret.DisplayName = displayName
|
||||
ret.Enabled = enabled
|
||||
ret.Incompatible = incompatible
|
||||
ret.DisabledInPublish = disabledInPublish
|
||||
|
||||
if incompatible {
|
||||
err = fmt.Errorf(Conf.Language(205))
|
||||
|
@ -72,7 +74,7 @@ func SetPetalEnabled(name string, enabled bool, frontend string) (ret *Petal, er
|
|||
return
|
||||
}
|
||||
|
||||
func LoadPetals(frontend string) (ret []*Petal) {
|
||||
func LoadPetals(frontend string, isPublish bool) (ret []*Petal) {
|
||||
ret = []*Petal{}
|
||||
|
||||
if Conf.Bazaar.PetalDisabled {
|
||||
|
@ -93,8 +95,8 @@ func LoadPetals(frontend string) (ret []*Petal) {
|
|||
continue
|
||||
}
|
||||
|
||||
_, petal.DisplayName, petal.Incompatible = bazaar.ParseInstalledPlugin(petal.Name, frontend)
|
||||
if !petal.Enabled || petal.Incompatible {
|
||||
_, petal.DisplayName, petal.Incompatible, petal.DisabledInPublish = bazaar.ParseInstalledPlugin(petal.Name, frontend)
|
||||
if !petal.Enabled || petal.Incompatible || (isPublish && petal.DisabledInPublish) {
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue