mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-03 15:28:49 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
e42d6abde7
3 changed files with 21 additions and 8 deletions
|
|
@ -286,10 +286,16 @@ func buildAssetContentOrderBy(orderBy int) string {
|
|||
|
||||
var assetContentSearcher = NewAssetsSearcher()
|
||||
|
||||
func IndexAssetContent(absPath string) {
|
||||
func RemoveIndexAssetContent(absPath string) {
|
||||
defer logging.Recover()
|
||||
|
||||
assetsDir := util.GetDataAssetsAbsPath()
|
||||
p := "assets" + filepath.ToSlash(strings.TrimPrefix(absPath, assetsDir))
|
||||
sql.DeleteAssetContentsByPathQueue(p)
|
||||
}
|
||||
|
||||
func IndexAssetContent(absPath string) {
|
||||
defer logging.Recover()
|
||||
|
||||
ext := filepath.Ext(absPath)
|
||||
parser := assetContentSearcher.GetParser(ext)
|
||||
|
|
@ -308,6 +314,7 @@ func IndexAssetContent(absPath string) {
|
|||
return
|
||||
}
|
||||
|
||||
assetsDir := util.GetDataAssetsAbsPath()
|
||||
p := "assets" + filepath.ToSlash(strings.TrimPrefix(absPath, assetsDir))
|
||||
|
||||
assetContents := []*sql.AssetContent{
|
||||
|
|
|
|||
|
|
@ -74,9 +74,10 @@ func watchAssets() {
|
|||
lastEvent = event
|
||||
timer.Reset(time.Millisecond * 100)
|
||||
|
||||
if lastEvent.Op&fsnotify.Rename == fsnotify.Rename {
|
||||
// 索引资源文件内容
|
||||
if lastEvent.Op&fsnotify.Rename == fsnotify.Rename || lastEvent.Op&fsnotify.Write == fsnotify.Write {
|
||||
IndexAssetContent(lastEvent.Name)
|
||||
} else if lastEvent.Op&fsnotify.Remove == fsnotify.Remove {
|
||||
RemoveIndexAssetContent(lastEvent.Name)
|
||||
}
|
||||
case err, ok := <-assetsWatcher.Errors:
|
||||
if !ok {
|
||||
|
|
@ -86,15 +87,17 @@ func watchAssets() {
|
|||
case <-timer.C:
|
||||
//logging.LogInfof("assets changed: %s", lastEvent)
|
||||
if lastEvent.Op&fsnotify.Write == fsnotify.Write {
|
||||
// 外部修改已有资源文件后纳入云端同步 https://github.com/siyuan-note/siyuan/issues/4694
|
||||
IncSync()
|
||||
}
|
||||
|
||||
// 重新缓存资源文件,以便使用 /资源 搜索
|
||||
go cache.LoadAssets()
|
||||
|
||||
// 索引资源文件内容
|
||||
IndexAssetContent(lastEvent.Name)
|
||||
if lastEvent.Op&fsnotify.Remove == fsnotify.Remove {
|
||||
RemoveIndexAssetContent(lastEvent.Name)
|
||||
} else {
|
||||
IndexAssetContent(lastEvent.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
|
|
|||
|
|
@ -60,8 +60,11 @@ func watchAssets() {
|
|||
// 重新缓存资源文件,以便使用 /资源 搜索
|
||||
go cache.LoadAssets()
|
||||
|
||||
// 索引资源文件内容
|
||||
IndexAssetContent(event.Path)
|
||||
if watcher.Remove == event.Op {
|
||||
RemoveIndexAssetContent(event.Path)
|
||||
} else {
|
||||
IndexAssetContent(event.Path)
|
||||
}
|
||||
case err, ok := <-assetsWatcher.Error:
|
||||
if !ok {
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue