diff --git a/kernel/api/setting.go b/kernel/api/setting.go index adb06a756..dea84ec12 100644 --- a/kernel/api/setting.go +++ b/kernel/api/setting.go @@ -326,6 +326,7 @@ func setEditor(c *gin.Context) { model.Conf.Save() if oldGenerateHistoryInterval != model.Conf.Editor.GenerateHistoryInterval { + model.GenerateFileHistory() model.ChangeHistoryTick(editor.GenerateHistoryInterval) } diff --git a/kernel/model/file.go b/kernel/model/file.go index c53f3d5eb..30954e2f8 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -187,8 +187,8 @@ func SearchDocsByKeyword(keyword string, flashcard bool, excludeIDs []string) (r } } - if 0 < len(excludeIDs) { - condition += fmt.Sprintf(" AND root_id NOT IN ('%s')", strings.Join(excludeIDs, "', '")) + for _, excludeID := range excludeIDs { + condition += fmt.Sprintf(" AND path NOT LIKE '%%%s%%' ", excludeID) } rootBlocks = sql.QueryRootBlockByCondition(condition, Conf.Search.Limit) diff --git a/kernel/model/history.go b/kernel/model/history.go index b9e64de58..7df9f9067 100644 --- a/kernel/model/history.go +++ b/kernel/model/history.go @@ -54,11 +54,11 @@ func AutoGenerateFileHistory() { ChangeHistoryTick(Conf.Editor.GenerateHistoryInterval) for { <-historyTicker.C - task.AppendTask(task.HistoryGenerateFile, generateFileHistory) + task.AppendTask(task.HistoryGenerateFile, GenerateFileHistory) } } -func generateFileHistory() { +func GenerateFileHistory() { defer logging.Recover() if 1 > Conf.Editor.GenerateHistoryInterval {