mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-02-05 15:11:48 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
e7091c3872
8 changed files with 65 additions and 11 deletions
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
|
|
@ -52,7 +52,7 @@ Note: In the development environment, the kernel process will not be automatical
|
|||
### Android
|
||||
|
||||
* `cd kernel`
|
||||
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm,android/arm64' ./mobile/`
|
||||
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm64' ./mobile/`
|
||||
* https://github.com/siyuan-note/siyuan-android
|
||||
|
||||
For the mobile-end, please refer to the corresponding project repository.
|
||||
|
|
|
|||
2
.github/CONTRIBUTING_zh_CN.md
vendored
2
.github/CONTRIBUTING_zh_CN.md
vendored
|
|
@ -52,7 +52,7 @@ NPM 镜像:
|
|||
|
||||
### Android
|
||||
|
||||
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm,android/arm64' ./kernel/mobile/`
|
||||
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm64' ./kernel/mobile/`
|
||||
* https://github.com/siyuan-note/siyuan-android
|
||||
|
||||
移动端请参考对应项目仓库。
|
||||
|
|
|
|||
|
|
@ -29,6 +29,40 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
func getImageOCRText(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
arg, ok := util.JsonArg(c, ret)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
path := arg["path"].(string)
|
||||
force := false
|
||||
if forceArg := arg["force"]; nil != forceArg {
|
||||
force = forceArg.(bool)
|
||||
}
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"text": util.GetAssetText(path, force),
|
||||
}
|
||||
}
|
||||
|
||||
func setImageOCRText(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
arg, ok := util.JsonArg(c, ret)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
path := arg["path"].(string)
|
||||
text := arg["text"].(string)
|
||||
util.SetAssetText(path, text)
|
||||
}
|
||||
|
||||
func renameAsset(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
|
|
|||
|
|
@ -226,6 +226,8 @@ func ServeAPI(ginServer *gin.Engine) {
|
|||
ginServer.Handle("POST", "/api/asset/removeUnusedAssets", model.CheckAuth, model.CheckReadonly, removeUnusedAssets)
|
||||
ginServer.Handle("POST", "/api/asset/getDocImageAssets", model.CheckAuth, model.CheckReadonly, getDocImageAssets)
|
||||
ginServer.Handle("POST", "/api/asset/renameAsset", model.CheckAuth, model.CheckReadonly, renameAsset)
|
||||
ginServer.Handle("POST", "/api/asset/getImageOCRText", model.CheckAuth, model.CheckReadonly, getImageOCRText)
|
||||
ginServer.Handle("POST", "/api/asset/setImageOCRText", model.CheckAuth, model.CheckReadonly, setImageOCRText)
|
||||
|
||||
ginServer.Handle("POST", "/api/export/batchExportMd", model.CheckAuth, batchExportMd)
|
||||
ginServer.Handle("POST", "/api/export/exportMd", model.CheckAuth, exportMd)
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ func NodeStaticContent(node *ast.Node, excludeTypes []string, includeTextMarkATi
|
|||
var linkDestStr, ocrText string
|
||||
if nil != linkDest {
|
||||
linkDestStr = linkDest.TokensStr()
|
||||
ocrText = util.GetAssetText(linkDestStr)
|
||||
ocrText = util.GetAssetText(linkDestStr, false)
|
||||
}
|
||||
|
||||
linkText := n.ChildByType(ast.NodeLinkText)
|
||||
|
|
|
|||
|
|
@ -44,21 +44,31 @@ var (
|
|||
TesseractLangs []string
|
||||
)
|
||||
|
||||
func GetAssetText(asset string) string {
|
||||
func SetAssetText(asset, text string) {
|
||||
AssetsTextsLock.Lock()
|
||||
ret, ok := AssetsTexts[asset]
|
||||
AssetsTexts[asset] = text
|
||||
AssetsTextsLock.Unlock()
|
||||
if ok {
|
||||
return ret
|
||||
AssetsTextsChanged = true
|
||||
}
|
||||
|
||||
func GetAssetText(asset string, force bool) string {
|
||||
if !force {
|
||||
AssetsTextsLock.Lock()
|
||||
ret, ok := AssetsTexts[asset]
|
||||
AssetsTextsLock.Unlock()
|
||||
if ok {
|
||||
return ret
|
||||
}
|
||||
}
|
||||
|
||||
assetsPath := GetDataAssetsAbsPath()
|
||||
assetAbsPath := strings.TrimPrefix(asset, "assets")
|
||||
assetAbsPath = filepath.Join(assetsPath, assetAbsPath)
|
||||
ret = Tesseract(assetAbsPath)
|
||||
ret := Tesseract(assetAbsPath)
|
||||
AssetsTextsLock.Lock()
|
||||
AssetsTexts[asset] = ret
|
||||
AssetsTextsLock.Unlock()
|
||||
AssetsTextsChanged = true
|
||||
return ret
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ import re
|
|||
from argparse import ArgumentParser
|
||||
from collections import defaultdict
|
||||
|
||||
import github
|
||||
|
||||
import github # pip install PyGithub
|
||||
# ensure the milestone is open before run this
|
||||
docmap = {
|
||||
"Feature": "Feature",
|
||||
"Enhancement": "Enhancement",
|
||||
|
|
@ -35,7 +35,7 @@ def generate_msg_from_repo(repo_name, tag_name, lastestRelease):
|
|||
repo = gh.get_repo(repo_name)
|
||||
milestone = find_milestone(repo, tag_name, lastestRelease)
|
||||
|
||||
for issue in repo.get_issues(state="closed", milestone=milestone):
|
||||
for issue in repo.get_issues(state="closed", milestone=milestone): # type: ignore
|
||||
# REF https://pygithub.readthedocs.io/en/latest/github_objects/Issue.html#github.Issue.Issue
|
||||
desc_mapping[get_issue_first_label(issue)].append(
|
||||
{"title": issue.title, "url": issue.html_url}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
@echo off
|
||||
echo 'use ".\scripts\win-build.bat" instead of "win-build.bat"'
|
||||
|
||||
echo 'Building UI'
|
||||
cd app
|
||||
call pnpm install
|
||||
|
|
@ -9,16 +12,19 @@ del /S /Q /F app\build 1>nul
|
|||
del /S /Q /F app\kernel 1>nul
|
||||
|
||||
echo 'Building Kernel'
|
||||
@REM the C compiler "gcc" is necessary https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
|
||||
go version
|
||||
set GO111MODULE=on
|
||||
set GOPROXY=https://goproxy.io
|
||||
set CGO_ENABLED=1
|
||||
|
||||
cd kernel
|
||||
@REM you can use `go generate` instead (nead add something in main.go)
|
||||
goversioninfo -platform-specific=true -icon=resource/icon.ico -manifest=resource/goversioninfo.exe.manifest
|
||||
|
||||
set GOOS=windows
|
||||
set GOARCH=amd64
|
||||
@REM you can use `go mod tidy` to update kernel dependency bofore build
|
||||
go build --tags fts5 -v -o "../app/kernel/SiYuan-Kernel.exe" -ldflags "-s -w -H=windowsgui" .
|
||||
|
||||
cd ..
|
||||
|
|
@ -30,5 +36,7 @@ call pnpm run dist
|
|||
cd ..
|
||||
|
||||
echo 'Building Appx'
|
||||
echo 'Building Appx should be disabled if you do not need it. Not configured correctly will lead to build failures'
|
||||
cd . > app\build\win-unpacked\resources\ms-store
|
||||
electron-windows-store --input-directory app\build\win-unpacked --output-directory app\build\ --package-version 1.0.0.0 --package-name SiYuan --manifest app\appx\AppxManifest.xml --assets app\appx\assets\ --make-pri true
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue