🎨 Show "What's News" after upgrading https://github.com/siyuan-note/siyuan/issues/7902
This commit is contained in:
parent
76e24225ae
commit
5a7e436ba5
12 changed files with 63 additions and 12 deletions
1
CHANGELOG.md
Normal file
1
CHANGELOG.md
Normal file
|
@ -0,0 +1 @@
|
|||
Please see app/changelogs/ for details.
|
|
@ -14,6 +14,7 @@ RUN apk add --no-cache gcc musl-dev git && \
|
|||
mv /go/src/github.com/siyuan-note/siyuan/app/appearance/ /opt/siyuan/ && \
|
||||
mv /go/src/github.com/siyuan-note/siyuan/app/stage/ /opt/siyuan/ && \
|
||||
mv /go/src/github.com/siyuan-note/siyuan/app/guide/ /opt/siyuan/ && \
|
||||
mv /go/src/github.com/siyuan-note/siyuan/app/changelogs/ /opt/siyuan/ && \
|
||||
mv /go/src/github.com/siyuan-note/siyuan/kernel/kernel /opt/siyuan/ && \
|
||||
find /opt/siyuan/ -name .git | xargs rm -rf
|
||||
|
||||
|
|
|
@ -29,14 +29,16 @@ mac:
|
|||
arch: "arm64"
|
||||
|
||||
extraResources:
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "changelogs"
|
||||
to: "changelogs"
|
||||
- from: "stage"
|
||||
to: "stage"
|
||||
- from: "guide"
|
||||
to: "guide"
|
||||
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/icons"
|
||||
to: "appearance/icons"
|
||||
filter: "!**/{.DS_Store}"
|
||||
|
|
|
@ -28,14 +28,16 @@ mac:
|
|||
- target: "dmg"
|
||||
|
||||
extraResources:
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "changelogs"
|
||||
to: "changelogs"
|
||||
- from: "stage"
|
||||
to: "stage"
|
||||
- from: "guide"
|
||||
to: "guide"
|
||||
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/icons"
|
||||
to: "appearance/icons"
|
||||
filter: "!**/{.DS_Store}"
|
||||
|
|
|
@ -25,14 +25,16 @@ linux:
|
|||
- target: "AppImage"
|
||||
|
||||
extraResources:
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "changelogs"
|
||||
to: "changelogs"
|
||||
- from: "stage"
|
||||
to: "stage"
|
||||
- from: "guide"
|
||||
to: "guide"
|
||||
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/icons"
|
||||
to: "appearance/icons"
|
||||
filter: "!**/{.DS_Store}"
|
||||
|
|
|
@ -42,14 +42,16 @@ nsis:
|
|||
uninstallerSidebar: "nsis/uninstallerSidebar.bmp"
|
||||
|
||||
extraResources:
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "changelogs"
|
||||
to: "changelogs"
|
||||
- from: "stage"
|
||||
to: "stage"
|
||||
- from: "guide"
|
||||
to: "guide"
|
||||
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
|
||||
- from: "appearance/boot"
|
||||
to: "appearance/boot"
|
||||
filter: "!**/{.DS_Store}"
|
||||
- from: "appearance/icons"
|
||||
to: "appearance/icons"
|
||||
filter: "!**/{.DS_Store}"
|
||||
|
|
|
@ -56,6 +56,7 @@ func ServeAPI(ginServer *gin.Engine) {
|
|||
ginServer.Handle("POST", "/api/system/getConf", model.CheckAuth, getConf)
|
||||
ginServer.Handle("POST", "/api/system/checkUpdate", model.CheckAuth, checkUpdate)
|
||||
ginServer.Handle("POST", "/api/system/exportLog", model.CheckAuth, exportLog)
|
||||
ginServer.Handle("POST", "/api/system/getChangelog", model.CheckAuth, getChangelog)
|
||||
|
||||
ginServer.Handle("POST", "/api/storage/setLocalStorage", model.CheckAuth, setLocalStorage)
|
||||
ginServer.Handle("POST", "/api/storage/getLocalStorage", model.CheckAuth, getLocalStorage)
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
package api
|
||||
|
||||
import (
|
||||
"github.com/88250/lute"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
@ -32,6 +33,43 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
func getChangelog(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
data := map[string]interface{}{"show": false, "html": ""}
|
||||
|
||||
ret.Data = data
|
||||
|
||||
changelogsDir := filepath.Join(util.WorkingDir, "changelogs")
|
||||
if !gulu.File.IsDir(changelogsDir) {
|
||||
return
|
||||
}
|
||||
|
||||
if !model.Conf.ShowChangelog {
|
||||
return
|
||||
}
|
||||
|
||||
changelogPath := filepath.Join(changelogsDir, "v"+util.Ver+".md")
|
||||
if !gulu.File.IsExist(changelogPath) {
|
||||
logging.LogWarnf("changelog not found: %s", changelogPath)
|
||||
return
|
||||
}
|
||||
|
||||
contentData, err := os.ReadFile(changelogPath)
|
||||
if nil != err {
|
||||
logging.LogErrorf("read changelog failed: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
luteEngine := lute.New()
|
||||
htmlContent := luteEngine.Markdown("", contentData)
|
||||
|
||||
data["show"] = true
|
||||
data["html"] = htmlContent
|
||||
ret.Data = data
|
||||
}
|
||||
|
||||
func getEmojiConf(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
|
|
@ -75,6 +75,7 @@ type AppConf struct {
|
|||
Api *conf.API `json:"api"` // API
|
||||
Repo *conf.Repo `json:"repo"` // 数据仓库
|
||||
OpenHelp bool `json:"openHelp"` // 启动后是否需要打开用户指南
|
||||
ShowChangelog bool `json:"showChangelog"` // 是否显示版本更新日志
|
||||
}
|
||||
|
||||
func InitConf() {
|
||||
|
@ -219,6 +220,7 @@ func InitConf() {
|
|||
} else {
|
||||
if 0 < semver.Compare("v"+util.Ver, "v"+Conf.System.KernelVersion) {
|
||||
logging.LogInfof("upgraded from version [%s] to [%s]", Conf.System.KernelVersion, util.Ver)
|
||||
Conf.ShowChangelog = true
|
||||
} else if 0 > semver.Compare("v"+util.Ver, "v"+Conf.System.KernelVersion) {
|
||||
logging.LogInfof("downgraded from version [%s] to [%s]", Conf.System.KernelVersion, util.Ver)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue