mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-02-15 03:28:07 +01:00
Merge branch 'dev' into master
This commit is contained in:
commit
c3cd6e3b8a
409 changed files with 5557 additions and 1327 deletions
|
|
@ -50,6 +50,7 @@ type DisplayName struct {
|
|||
HeIL string `json:"he_IL"`
|
||||
ItIT string `json:"it_IT"`
|
||||
JaJP string `json:"ja_JP"`
|
||||
KoKR string `json:"ko_KR"`
|
||||
PlPL string `json:"pl_PL"`
|
||||
PtBR string `json:"pt_BR"`
|
||||
RuRU string `json:"ru_RU"`
|
||||
|
|
@ -68,6 +69,7 @@ type Description struct {
|
|||
HeIL string `json:"he_IL"`
|
||||
ItIT string `json:"it_IT"`
|
||||
JaJP string `json:"ja_JP"`
|
||||
KoKR string `json:"ko_KR"`
|
||||
PlPL string `json:"pl_PL"`
|
||||
PtBR string `json:"pt_BR"`
|
||||
RuRU string `json:"ru_RU"`
|
||||
|
|
@ -86,6 +88,7 @@ type Readme struct {
|
|||
HeIL string `json:"he_IL"`
|
||||
ItIT string `json:"it_IT"`
|
||||
JaJP string `json:"ja_JP"`
|
||||
KoKR string `json:"ko_KR"`
|
||||
PlPL string `json:"pl_PL"`
|
||||
PtBR string `json:"pt_BR"`
|
||||
RuRU string `json:"ru_RU"`
|
||||
|
|
@ -174,7 +177,7 @@ func getPreferredReadme(readme *Readme) string {
|
|||
return "README.md"
|
||||
}
|
||||
|
||||
ret := readme.Default
|
||||
var ret string
|
||||
switch util.Lang {
|
||||
case "ar_SA":
|
||||
if "" != readme.ArSA {
|
||||
|
|
@ -208,6 +211,10 @@ func getPreferredReadme(readme *Readme) string {
|
|||
if "" != readme.JaJP {
|
||||
ret = readme.JaJP
|
||||
}
|
||||
case "ko_KR":
|
||||
if "" != readme.KoKR {
|
||||
ret = readme.KoKR
|
||||
}
|
||||
case "pl_PL":
|
||||
if "" != readme.PlPL {
|
||||
ret = readme.PlPL
|
||||
|
|
@ -232,13 +239,14 @@ func getPreferredReadme(readme *Readme) string {
|
|||
if "" != readme.ZhCN {
|
||||
ret = readme.ZhCN
|
||||
}
|
||||
default:
|
||||
if "" != readme.EnUS {
|
||||
ret = readme.EnUS
|
||||
}
|
||||
}
|
||||
if "" == ret {
|
||||
ret = "README.md"
|
||||
if "" == strings.TrimSpace(ret) {
|
||||
defaultReadme := strings.TrimSpace(readme.Default)
|
||||
if defaultReadme != "" {
|
||||
ret = defaultReadme
|
||||
} else {
|
||||
ret = "README.md"
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
|
@ -248,7 +256,7 @@ func GetPreferredName(pkg *Package) string {
|
|||
return pkg.Name
|
||||
}
|
||||
|
||||
ret := pkg.DisplayName.Default
|
||||
var ret string
|
||||
switch util.Lang {
|
||||
case "ar_SA":
|
||||
if "" != pkg.DisplayName.ArSA {
|
||||
|
|
@ -282,6 +290,10 @@ func GetPreferredName(pkg *Package) string {
|
|||
if "" != pkg.DisplayName.JaJP {
|
||||
ret = pkg.DisplayName.JaJP
|
||||
}
|
||||
case "ko_KR":
|
||||
if "" != pkg.DisplayName.KoKR {
|
||||
ret = pkg.DisplayName.KoKR
|
||||
}
|
||||
case "pl_PL":
|
||||
if "" != pkg.DisplayName.PlPL {
|
||||
ret = pkg.DisplayName.PlPL
|
||||
|
|
@ -306,13 +318,14 @@ func GetPreferredName(pkg *Package) string {
|
|||
if "" != pkg.DisplayName.ZhCN {
|
||||
ret = pkg.DisplayName.ZhCN
|
||||
}
|
||||
default:
|
||||
if "" != pkg.DisplayName.EnUS {
|
||||
ret = pkg.DisplayName.EnUS
|
||||
}
|
||||
}
|
||||
if "" == ret {
|
||||
ret = pkg.Name
|
||||
if "" == strings.TrimSpace(ret) {
|
||||
defaultName := strings.TrimSpace(pkg.DisplayName.Default)
|
||||
if defaultName != "" {
|
||||
ret = defaultName
|
||||
} else {
|
||||
ret = pkg.Name
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
|
@ -322,7 +335,7 @@ func getPreferredDesc(desc *Description) string {
|
|||
return ""
|
||||
}
|
||||
|
||||
ret := desc.Default
|
||||
var ret string
|
||||
switch util.Lang {
|
||||
case "ar_SA":
|
||||
if "" != desc.ArSA {
|
||||
|
|
@ -356,6 +369,10 @@ func getPreferredDesc(desc *Description) string {
|
|||
if "" != desc.JaJP {
|
||||
ret = desc.JaJP
|
||||
}
|
||||
case "ko_KR":
|
||||
if "" != desc.KoKR {
|
||||
ret = desc.KoKR
|
||||
}
|
||||
case "pl_PL":
|
||||
if "" != desc.PlPL {
|
||||
ret = desc.PlPL
|
||||
|
|
@ -380,13 +397,12 @@ func getPreferredDesc(desc *Description) string {
|
|||
if "" != desc.ZhCN {
|
||||
ret = desc.ZhCN
|
||||
}
|
||||
default:
|
||||
if "" != desc.EnUS {
|
||||
ret = desc.EnUS
|
||||
}
|
||||
}
|
||||
if "" == ret {
|
||||
ret = desc.EnUS
|
||||
if "" == strings.TrimSpace(ret) {
|
||||
defaultDesc := strings.TrimSpace(desc.Default)
|
||||
if defaultDesc != "" {
|
||||
ret = defaultDesc
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
|
@ -397,12 +413,21 @@ func getPreferredFunding(funding *Funding) string {
|
|||
}
|
||||
|
||||
if "" != funding.OpenCollective {
|
||||
if strings.HasPrefix(funding.OpenCollective, "http://") || strings.HasPrefix(funding.OpenCollective, "https://") {
|
||||
return funding.OpenCollective
|
||||
}
|
||||
return "https://opencollective.com/" + funding.OpenCollective
|
||||
}
|
||||
if "" != funding.Patreon {
|
||||
if strings.HasPrefix(funding.Patreon, "http://") || strings.HasPrefix(funding.Patreon, "https://") {
|
||||
return funding.Patreon
|
||||
}
|
||||
return "https://www.patreon.com/" + funding.Patreon
|
||||
}
|
||||
if "" != funding.GitHub {
|
||||
if strings.HasPrefix(funding.GitHub, "http://") || strings.HasPrefix(funding.GitHub, "https://") {
|
||||
return funding.GitHub
|
||||
}
|
||||
return "https://github.com/sponsors/" + funding.GitHub
|
||||
}
|
||||
if 0 < len(funding.Custom) {
|
||||
|
|
@ -684,14 +709,29 @@ func GetPackageREADME(repoURL, repoHash, packageType string) (ret string) {
|
|||
|
||||
data, err := downloadPackage(repoURLHash+"/"+readme, false, "")
|
||||
if err != nil {
|
||||
ret = fmt.Sprintf("Load bazaar package's README.md(%s) failed: %s", readme, err.Error())
|
||||
if readme == repo.Package.Readme.Default || "" == strings.TrimSpace(repo.Package.Readme.Default) {
|
||||
return
|
||||
ret = fmt.Sprintf("Load bazaar package's preferred README(%s) failed: %s", readme, err.Error())
|
||||
// 回退到 Default README
|
||||
var defaultReadme string
|
||||
if nil != repo.Package.Readme {
|
||||
defaultReadme = repo.Package.Readme.Default
|
||||
}
|
||||
readme = repo.Package.Readme.Default
|
||||
data, err = downloadPackage(repoURLHash+"/"+readme, false, "")
|
||||
if err != nil {
|
||||
ret += fmt.Sprintf("<br>Load bazaar package's README.md(%s) failed: %s", readme, err.Error())
|
||||
if "" == strings.TrimSpace(defaultReadme) {
|
||||
defaultReadme = "README.md"
|
||||
}
|
||||
if readme != defaultReadme {
|
||||
data, err = downloadPackage(repoURLHash+"/"+defaultReadme, false, "")
|
||||
if err != nil {
|
||||
ret += fmt.Sprintf("<br>Load bazaar package's default README(%s) failed: %s", defaultReadme, err.Error())
|
||||
}
|
||||
}
|
||||
// 回退到 README.md
|
||||
if err != nil && readme != "README.md" && defaultReadme != "README.md" {
|
||||
data, err = downloadPackage(repoURLHash+"/README.md", false, "")
|
||||
if err != nil {
|
||||
ret += fmt.Sprintf("<br>Load bazaar package's README.md failed: %s", err.Error())
|
||||
return
|
||||
}
|
||||
} else if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
@ -708,6 +748,46 @@ func GetPackageREADME(repoURL, repoHash, packageType string) (ret string) {
|
|||
return
|
||||
}
|
||||
|
||||
func loadInstalledReadme(installPath, basePath string, readme *Readme) (ret string) {
|
||||
readmeFilename := getPreferredReadme(readme)
|
||||
readmeData, readErr := os.ReadFile(filepath.Join(installPath, readmeFilename))
|
||||
if nil == readErr {
|
||||
ret, _ = renderLocalREADME(basePath, readmeData)
|
||||
return
|
||||
}
|
||||
|
||||
logging.LogWarnf("read installed %s failed: %s", readmeFilename, readErr)
|
||||
ret = fmt.Sprintf("File %s not found", readmeFilename)
|
||||
// 回退到 Default README
|
||||
var defaultReadme string
|
||||
if nil != readme {
|
||||
defaultReadme = strings.TrimSpace(readme.Default)
|
||||
}
|
||||
if "" == defaultReadme {
|
||||
defaultReadme = "README.md"
|
||||
}
|
||||
if readmeFilename != defaultReadme {
|
||||
readmeData, readErr = os.ReadFile(filepath.Join(installPath, defaultReadme))
|
||||
if nil == readErr {
|
||||
ret, _ = renderLocalREADME(basePath, readmeData)
|
||||
return
|
||||
}
|
||||
logging.LogWarnf("read installed %s failed: %s", defaultReadme, readErr)
|
||||
ret += fmt.Sprintf("<br>File %s not found", defaultReadme)
|
||||
}
|
||||
// 回退到 README.md
|
||||
if nil != readErr && readmeFilename != "README.md" && defaultReadme != "README.md" {
|
||||
readmeData, readErr = os.ReadFile(filepath.Join(installPath, "README.md"))
|
||||
if nil == readErr {
|
||||
ret, _ = renderLocalREADME(basePath, readmeData)
|
||||
return
|
||||
}
|
||||
logging.LogWarnf("read installed README.md failed: %s", readErr)
|
||||
ret += "<br>File README.md not found"
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func renderREADME(repoURL string, mdData []byte) (ret string, err error) {
|
||||
luteEngine := lute.New()
|
||||
luteEngine.SetSoftBreak2HardBreak(false)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue