🎨 Brand new marketplace UI https://github.com/siyuan-note/siyuan/issues/8181
This commit is contained in:
parent
a219cf52f5
commit
2d559a943d
4 changed files with 49 additions and 6 deletions
|
@ -376,6 +376,7 @@ export const bazaar = {
|
|||
fetchPost("/api/bazaar/getBazaarPackageREAME", {
|
||||
repoURL: data.repoURL,
|
||||
repoHash: data.repoHash,
|
||||
packageType: bazaarType
|
||||
}, response => {
|
||||
const mdElement = readmeElement.querySelector(".item__readme");
|
||||
mdElement.innerHTML = response.data.html;
|
||||
|
|
|
@ -36,8 +36,9 @@ func getBazaarPackageREAME(c *gin.Context) {
|
|||
|
||||
repoURL := arg["repoURL"].(string)
|
||||
repoHash := arg["repoHash"].(string)
|
||||
packageType := arg["packageType"].(string)
|
||||
ret.Data = map[string]interface{}{
|
||||
"html": model.GetPackageREADME(repoURL, repoHash),
|
||||
"html": model.GetPackageREADME(repoURL, repoHash, packageType),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -117,6 +117,29 @@ type StageIndex struct {
|
|||
Repos []*StageRepo `json:"repos"`
|
||||
}
|
||||
|
||||
func getPreferredReadme(readme *Readme) string {
|
||||
if nil == readme {
|
||||
return "README.md"
|
||||
}
|
||||
|
||||
ret := readme.Default
|
||||
switch util.Lang {
|
||||
case "zh_CN":
|
||||
if "" != readme.ZhCN {
|
||||
ret = readme.ZhCN
|
||||
}
|
||||
case "en_US":
|
||||
if "" != readme.EnUS {
|
||||
ret = readme.EnUS
|
||||
}
|
||||
default:
|
||||
if "" != readme.EnUS {
|
||||
ret = readme.EnUS
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func getPreferredDesc(desc *Description) string {
|
||||
if nil == desc {
|
||||
return ""
|
||||
|
@ -400,10 +423,28 @@ func isOutdatedTemplate(template *Template, bazaarTemplates []*Template) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func GetPackageREADME(repoURL, repoHash string, systemID string) (ret string) {
|
||||
func GetPackageREADME(repoURL, repoHash, packageType string) (ret string) {
|
||||
repoURLHash := repoURL + "@" + repoHash
|
||||
|
||||
data, err := downloadPackage(repoURLHash+"/README.md", false, systemID)
|
||||
stageIndex := cachedStageIndex[packageType]
|
||||
if nil == stageIndex {
|
||||
return
|
||||
}
|
||||
|
||||
var repo *StageRepo
|
||||
for _, r := range stageIndex.Repos {
|
||||
if r.URL == repoURLHash {
|
||||
repo = r
|
||||
break
|
||||
}
|
||||
}
|
||||
if nil == repo {
|
||||
return
|
||||
}
|
||||
|
||||
readme := getPreferredReadme(repo.Package.Readme)
|
||||
|
||||
data, err := downloadPackage(repoURLHash+"/"+readme, false, "")
|
||||
if nil != err {
|
||||
ret = "Load bazaar package's README.md failed: " + err.Error()
|
||||
return
|
||||
|
@ -472,7 +513,7 @@ func downloadPackage(repoURLHash string, pushProgress bool, systemID string) (da
|
|||
}
|
||||
|
||||
func incPackageDownloads(repoURLHash, systemID string) {
|
||||
if strings.Contains(repoURLHash, ".md") {
|
||||
if strings.Contains(repoURLHash, ".md") || "" == systemID {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/bazaar"
|
||||
)
|
||||
|
||||
func GetPackageREADME(repoURL, repoHash string) (ret string) {
|
||||
ret = bazaar.GetPackageREADME(repoURL, repoHash, Conf.System.ID)
|
||||
func GetPackageREADME(repoURL, repoHash, packageType string) (ret string) {
|
||||
ret = bazaar.GetPackageREADME(repoURL, repoHash, packageType)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue