Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
91bb18203d
10 changed files with 124 additions and 108 deletions
6
.github/CONTRIBUTING.md
vendored
6
.github/CONTRIBUTING.md
vendored
|
@ -14,10 +14,10 @@ Install pnpm: `npm install -g pnpm@9.12.1`
|
|||
|
||||
Set the Electron mirror environment variable and install Electron:
|
||||
|
||||
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v32.2.0 -D`
|
||||
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v32.2.2 -D`
|
||||
* Windows:
|
||||
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
|
||||
* `pnpm install electron@v32.2.0 -D`
|
||||
* `pnpm install electron@v32.2.2 -D`
|
||||
|
||||
NPM mirror:
|
||||
|
||||
|
@ -28,7 +28,7 @@ NPM mirror:
|
|||
|
||||
On the desktop, go to the app folder to run:
|
||||
|
||||
* `pnpm install electron@v32.2.0 -D`
|
||||
* `pnpm install electron@v32.2.2 -D`
|
||||
* `pnpm run dev`
|
||||
* `pnpm run start`
|
||||
|
||||
|
|
6
.github/CONTRIBUTING_zh_CN.md
vendored
6
.github/CONTRIBUTING_zh_CN.md
vendored
|
@ -16,11 +16,11 @@
|
|||
|
||||
* macOS/Linux:
|
||||
```
|
||||
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v32.2.0 -D
|
||||
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v32.2.2 -D
|
||||
```
|
||||
* Windows:
|
||||
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
|
||||
* `pnpm install electron@v32.2.0 -D`
|
||||
* `pnpm install electron@v32.2.2 -D`
|
||||
|
||||
NPM 镜像:
|
||||
|
||||
|
@ -30,7 +30,7 @@ NPM 镜像:
|
|||
|
||||
桌面端进入 app 文件夹运行:
|
||||
|
||||
* `pnpm install electron@v32.2.0 -D`
|
||||
* `pnpm install electron@v32.2.2 -D`
|
||||
* `pnpm run dev`
|
||||
* `pnpm run start`
|
||||
|
||||
|
|
44
.github/workflows/auto_aur_release_stable.yml
vendored
44
.github/workflows/auto_aur_release_stable.yml
vendored
|
@ -45,27 +45,51 @@ jobs:
|
|||
arch=("x86_64")
|
||||
url="https://b3log.org/siyuan"
|
||||
license=("AGPL-3.0-only")
|
||||
_pkgname=siyuan-\${pkgver}-linux.AppImage
|
||||
noextract=(siyuan-\${pkgver}-linux.AppImage)
|
||||
options=("!strip" "!debug")
|
||||
depends=("fuse2")
|
||||
optdepends=('pandoc: docx export')
|
||||
source=("https://github.com/siyuan-note/siyuan/releases/download/v\${pkgver}/siyuan-\${pkgver}-linux.AppImage")
|
||||
sha256sums=('SKIP')
|
||||
|
||||
_installdir=/opt/appimages
|
||||
_pkgname=siyuan-\${pkgver}-linux.AppImage
|
||||
noextract=("\${_pkgname}")
|
||||
|
||||
prepare() {
|
||||
chmod a+x \${_pkgname}
|
||||
./\${_pkgname} --appimage-extract >/dev/null
|
||||
sed -i "s+AppRun+\${_installdir}/siyuan.AppImage+" "squashfs-root/siyuan.desktop"
|
||||
sed -i "s+^Icon=.*+Icon=siyuan-bin+" "squashfs-root/siyuan.desktop"
|
||||
chmod +x "\${_pkgname}"
|
||||
./"\${_pkgname}" --appimage-extract > /dev/null
|
||||
}
|
||||
|
||||
build() {
|
||||
# Adjust .desktop so it will work autside of AppImage container
|
||||
sed -i \\
|
||||
-e "s|Exec=AppRun|Exec=/opt/\${pkgname}/\${pkgname}.AppImage|" \\
|
||||
-e "s+^Icon=.*+Icon=siyuan-bin+" \\
|
||||
"squashfs-root/siyuan.desktop"
|
||||
|
||||
# Fix permissions; .AppImage permissions are 700 for all directories
|
||||
chmod -R a-x+rX squashfs-root/usr
|
||||
}
|
||||
|
||||
package() {
|
||||
install -Dm755 \${_pkgname} "\${pkgdir}/\${_installdir}/siyuan.AppImage"
|
||||
install -Dm644 "squashfs-root/resources/stage/icon.png" "\${pkgdir}/usr/share/icons/hicolor/512x512/apps/siyuan-bin.png"
|
||||
install -Dm644 "squashfs-root/siyuan.desktop" "\${pkgdir}/usr/share/applications/siyuan-bin.desktop"
|
||||
# AppImage
|
||||
install -Dm755 "\${srcdir}/\${_pkgname}" "\${pkgdir}/opt/\${pkgname}/\${pkgname}.AppImage"
|
||||
install -Dm644 "\${srcdir}/squashfs-root/LICENSE" "\${pkgdir}/opt/\${pkgname}/LICENSE"
|
||||
|
||||
# Desktop file
|
||||
install -Dm644 "\${srcdir}/squashfs-root/siyuan.desktop" \\
|
||||
"\${pkgdir}/usr/share/applications/siyuan.desktop"
|
||||
|
||||
# Icon images
|
||||
install -Dm644 "squashfs-root/resources/stage/icon.png" \\
|
||||
"\${pkgdir}/usr/share/icons/hicolor/512x512/apps/siyuan-bin.png"
|
||||
|
||||
# Symlink executable
|
||||
install -dm755 "\${pkgdir}/usr/bin"
|
||||
ln -s "/opt/\${pkgname}/\${pkgname}.AppImage" "\${pkgdir}/usr/bin/siyuan"
|
||||
|
||||
# Symlink license
|
||||
install -dm755 "\${pkgdir}/usr/share/licenses/\${pkgname}/"
|
||||
ln -s "/opt/\${pkgname}/LICENSE" "\${pkgdir}/usr/share/licenses/\${pkgname}"
|
||||
}
|
||||
EOF
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"id": "20200924100744-br924ar",
|
||||
"title": "Assets",
|
||||
"type": "doc",
|
||||
"updated": "20231110112758"
|
||||
"updated": "20241024163243"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -624,7 +624,7 @@
|
|||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220503122349-eacedlu",
|
||||
"updated": "20220503122357"
|
||||
"updated": "20241024163243"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -667,7 +667,7 @@
|
|||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220503122349-o26mvnq",
|
||||
"updated": "20220715105117"
|
||||
"updated": "20241024163243"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -679,7 +679,7 @@
|
|||
},
|
||||
"Properties": {
|
||||
"id": "20220503122349-192fehc",
|
||||
"updated": "20220503122616"
|
||||
"updated": "20241024163243"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -687,12 +687,12 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220503122349-ye6haas",
|
||||
"updated": "20220503122616"
|
||||
"updated": "20241024163243"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "When deleting the notebook, in order to ensure that cross-notebook asset references work properly, the assets under the notebook will be copied to the global assets in batches"
|
||||
"Data": "When deleting the doc, the assets referenced by the doc will be copied to the global assets in batches to ensure the normal operation of cross-notebook asset references"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"id": "20200915214115-42b8zma",
|
||||
"title": "资源文件",
|
||||
"type": "doc",
|
||||
"updated": "20231110112936"
|
||||
"updated": "20241024163136"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -626,7 +626,7 @@
|
|||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20210615102657-kampx8a",
|
||||
"updated": "20220503121605"
|
||||
"updated": "20241024163136"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -669,7 +669,7 @@
|
|||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220503121213-afjyt05",
|
||||
"updated": "20220715105016"
|
||||
"updated": "20241024163136"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -681,7 +681,7 @@
|
|||
},
|
||||
"Properties": {
|
||||
"id": "20220503121214-haxyvyt",
|
||||
"updated": "20220503121401"
|
||||
"updated": "20241024163136"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -689,20 +689,12 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220503121214-cmqtvby",
|
||||
"updated": "20220503121401"
|
||||
"updated": "20241024163136"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "删除该笔记本时,为保证跨笔记本资源文件引用正常工作,该笔记本下的资源文件会被批量复制到全局 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "assets"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 中"
|
||||
"Data": "删除该笔记时,为保证跨笔记本资源文件引用正常工作,该笔记引用的资源文件会被批量复制到全局 assets 中"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
"Properties": {
|
||||
"id": "20211226123038-4umgpxy",
|
||||
"title": "資料文件",
|
||||
"updated": "20231110112927"
|
||||
"type": "doc",
|
||||
"updated": "20241024163151"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -609,7 +610,7 @@
|
|||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220503122338-a69glac",
|
||||
"updated": "20220715092913"
|
||||
"updated": "20241024163151"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -652,7 +653,7 @@
|
|||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220503122338-jmr7c2k",
|
||||
"updated": "20220715105038"
|
||||
"updated": "20241024163151"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -664,7 +665,7 @@
|
|||
},
|
||||
"Properties": {
|
||||
"id": "20220503122338-4zg71qe",
|
||||
"updated": "20220715092936"
|
||||
"updated": "20241024163151"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -672,20 +673,12 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220503122338-t6apzrh",
|
||||
"updated": "20220715092936"
|
||||
"updated": "20241024163151"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "刪除該筆記本時,為保證跨筆記本資料文件引用正常工作,該筆記本下的資料文件會被批量複製到全域 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "assets"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 中"
|
||||
"Data": "刪除該筆記時,為確保跨筆記本資源檔案引用正常運作,該筆記引用的資源檔案會被批次複製到全域 assets 中"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"id": "20240530101000-1m5un7l",
|
||||
"title": "アセット",
|
||||
"type": "doc",
|
||||
"updated": "20240530101000"
|
||||
"updated": "20241024163314"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -670,7 +670,7 @@
|
|||
"Properties": {
|
||||
"ID": "20240530101000-nmkttsp",
|
||||
"id": "20240530101000-e91yggl",
|
||||
"updated": "20240530101000"
|
||||
"updated": "20241024163314"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -725,7 +725,7 @@
|
|||
"Properties": {
|
||||
"ID": "20240530101000-ycli2ph",
|
||||
"id": "20240530101000-pcecoaa",
|
||||
"updated": "20240530101000"
|
||||
"updated": "20241024163314"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -738,21 +738,20 @@
|
|||
"Properties": {
|
||||
"ID": "20240530101000-x0auq2n",
|
||||
"id": "20240530101000-of4sc87",
|
||||
"updated": "20240530101000"
|
||||
"updated": "20241024163314"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20240530101000-pu6ton7",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"ID": "20240530101000-mw4xwas",
|
||||
"id": "20240530101000-pu6ton7",
|
||||
"updated": "20240530101000"
|
||||
"updated": "20241024163314"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "ノートブックを削除する際にノートブック間のアセットファイルの参照を正常に保つため、ノートブック内のアセットファイルがすべてグローバルのアセットフォルダにコピーされます"
|
||||
"Data": "ノートが削除されると、ノートブック間のリソース ファイル参照が適切に機能するように、ノートによって参照されるリソース ファイルがバッチでグローバル アセットにコピーされます"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
"clean-webpack-plugin": "^4.0.0",
|
||||
"css-loader": "^6.7.1",
|
||||
"dayjs": "^1.11.5",
|
||||
"electron": "32.2.0",
|
||||
"electron": "32.2.2",
|
||||
"electron-builder": "24.13.3",
|
||||
"encoding": "^0.1.13",
|
||||
"esbuild-loader": "^3.0.1",
|
||||
|
|
79
app/pnpm-lock.yaml
generated
79
app/pnpm-lock.yaml
generated
|
@ -10,7 +10,7 @@ importers:
|
|||
dependencies:
|
||||
'@electron/remote':
|
||||
specifier: ^2.1.2
|
||||
version: 2.1.2(electron@32.2.0)
|
||||
version: 2.1.2(electron@32.2.2)
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^18.13.0
|
||||
|
@ -26,37 +26,37 @@ importers:
|
|||
version: 2.19.0
|
||||
clean-webpack-plugin:
|
||||
specifier: ^4.0.0
|
||||
version: 4.0.0(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 4.0.0(webpack@5.95.0)
|
||||
css-loader:
|
||||
specifier: ^6.7.1
|
||||
version: 6.7.1(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 6.7.1(webpack@5.95.0)
|
||||
dayjs:
|
||||
specifier: ^1.11.5
|
||||
version: 1.11.5
|
||||
electron:
|
||||
specifier: 32.2.0
|
||||
version: 32.2.0
|
||||
specifier: 32.2.2
|
||||
version: 32.2.2
|
||||
electron-builder:
|
||||
specifier: 24.13.3
|
||||
version: 24.13.3(electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3))
|
||||
version: 24.13.3(electron-builder-squirrel-windows@25.0.5)
|
||||
encoding:
|
||||
specifier: ^0.1.13
|
||||
version: 0.1.13
|
||||
esbuild-loader:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 3.0.1(webpack@5.95.0)
|
||||
eslint:
|
||||
specifier: ^8.19.0
|
||||
version: 8.19.0
|
||||
file-loader:
|
||||
specifier: ^6.2.0
|
||||
version: 6.2.0(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 6.2.0(webpack@5.95.0)
|
||||
html-loader:
|
||||
specifier: ^2.1.2
|
||||
version: 2.1.2(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 2.1.2(webpack@5.95.0)
|
||||
html-webpack-plugin:
|
||||
specifier: ^5.5.0
|
||||
version: 5.5.0(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 5.5.0(webpack@5.95.0)
|
||||
iconv-lite:
|
||||
specifier: ^0.6.3
|
||||
version: 0.6.3
|
||||
|
@ -65,7 +65,7 @@ importers:
|
|||
version: 2.3.2
|
||||
mini-css-extract-plugin:
|
||||
specifier: 2.7.6
|
||||
version: 2.7.6(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 2.7.6(webpack@5.95.0)
|
||||
path-browserify:
|
||||
specifier: ^1.0.1
|
||||
version: 1.0.1
|
||||
|
@ -77,7 +77,7 @@ importers:
|
|||
version: 1.53.0
|
||||
sass-loader:
|
||||
specifier: ^12.6.0
|
||||
version: 12.6.0(sass@1.53.0)(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
version: 12.6.0(sass@1.53.0)(webpack@5.95.0)
|
||||
typescript:
|
||||
specifier: ^4.7.4
|
||||
version: 4.7.4
|
||||
|
@ -762,6 +762,7 @@ packages:
|
|||
|
||||
boolean@3.2.0:
|
||||
resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==}
|
||||
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||
|
||||
brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
@ -1121,8 +1122,8 @@ packages:
|
|||
electron-to-chromium@1.5.39:
|
||||
resolution: {integrity: sha512-4xkpSR6CjuiaNyvwiWDI85N9AxsvbPawB8xc7yzLPonYTuP19BVgYweKyUMFtHEZgIcHWMt1ks5Cqx2m+6/Grg==}
|
||||
|
||||
electron@32.2.0:
|
||||
resolution: {integrity: sha512-Xy82QBQrEiQysoxsv6lnhHAcWNNe6vV6QqH3OPFXhEj/T9oAsBHEhZuuYHINSSsUE7zRSj+J9sNwJYOjisT0Vw==}
|
||||
electron@32.2.2:
|
||||
resolution: {integrity: sha512-c7TRE42JcgEmJ4elJyCdKk/2os0UX7YMkRDeXBkxFEoM34iX1/2x+c5T9PgeroKz8FEG7omRU5TvjulqVtXvdw==}
|
||||
engines: {node: '>= 12.20.55'}
|
||||
hasBin: true
|
||||
|
||||
|
@ -2812,9 +2813,9 @@ snapshots:
|
|||
- bluebird
|
||||
- supports-color
|
||||
|
||||
'@electron/remote@2.1.2(electron@32.2.0)':
|
||||
'@electron/remote@2.1.2(electron@32.2.2)':
|
||||
dependencies:
|
||||
electron: 32.2.0
|
||||
electron: 32.2.2
|
||||
|
||||
'@electron/universal@1.5.1':
|
||||
dependencies:
|
||||
|
@ -3249,17 +3250,17 @@ snapshots:
|
|||
'@webassemblyjs/ast': 1.12.1
|
||||
'@xtuc/long': 4.2.2
|
||||
|
||||
'@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0))(webpack@5.95.0(webpack-cli@4.10.0))':
|
||||
'@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.95.0)':
|
||||
dependencies:
|
||||
webpack: 5.95.0(webpack-cli@4.10.0)
|
||||
webpack-cli: 4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0)
|
||||
|
||||
'@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0))':
|
||||
'@webpack-cli/info@1.5.0(webpack-cli@4.10.0)':
|
||||
dependencies:
|
||||
envinfo: 7.8.1
|
||||
webpack-cli: 4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0)
|
||||
|
||||
'@webpack-cli/serve@1.7.0(webpack-cli@4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0))':
|
||||
'@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)':
|
||||
dependencies:
|
||||
webpack-cli: 4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0)
|
||||
|
||||
|
@ -3346,7 +3347,7 @@ snapshots:
|
|||
|
||||
app-builder-bin@5.0.0-alpha.7: {}
|
||||
|
||||
app-builder-lib@24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3)):
|
||||
app-builder-lib@24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@25.0.5):
|
||||
dependencies:
|
||||
'@develar/schema-utils': 2.6.5
|
||||
'@electron/notarize': 2.2.1
|
||||
|
@ -3380,7 +3381,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
app-builder-lib@25.0.5(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3)):
|
||||
app-builder-lib@25.0.5(dmg-builder@24.13.3)(electron-builder-squirrel-windows@25.0.5):
|
||||
dependencies:
|
||||
'@develar/schema-utils': 2.6.5
|
||||
'@electron/notarize': 2.3.2
|
||||
|
@ -3677,7 +3678,7 @@ snapshots:
|
|||
|
||||
clean-stack@2.2.0: {}
|
||||
|
||||
clean-webpack-plugin@4.0.0(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
clean-webpack-plugin@4.0.0(webpack@5.95.0):
|
||||
dependencies:
|
||||
del: 4.1.1
|
||||
webpack: 5.95.0(webpack-cli@4.10.0)
|
||||
|
@ -3779,7 +3780,7 @@ snapshots:
|
|||
shebang-command: 2.0.0
|
||||
which: 2.0.2
|
||||
|
||||
css-loader@6.7.1(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
css-loader@6.7.1(webpack@5.95.0):
|
||||
dependencies:
|
||||
icss-utils: 5.1.0(postcss@8.4.31)
|
||||
postcss: 8.4.31
|
||||
|
@ -3862,7 +3863,7 @@ snapshots:
|
|||
|
||||
dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.5):
|
||||
dependencies:
|
||||
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3))
|
||||
app-builder-lib: 24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@25.0.5)
|
||||
builder-util: 24.13.1
|
||||
builder-util-runtime: 9.2.4
|
||||
fs-extra: 10.1.0
|
||||
|
@ -3937,7 +3938,7 @@ snapshots:
|
|||
|
||||
electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3):
|
||||
dependencies:
|
||||
app-builder-lib: 25.0.5(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3))
|
||||
app-builder-lib: 25.0.5(dmg-builder@24.13.3)(electron-builder-squirrel-windows@25.0.5)
|
||||
archiver: 5.3.2
|
||||
builder-util: 25.0.3
|
||||
fs-extra: 10.1.0
|
||||
|
@ -3946,9 +3947,9 @@ snapshots:
|
|||
- dmg-builder
|
||||
- supports-color
|
||||
|
||||
electron-builder@24.13.3(electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3)):
|
||||
electron-builder@24.13.3(electron-builder-squirrel-windows@25.0.5):
|
||||
dependencies:
|
||||
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@24.13.3))
|
||||
app-builder-lib: 24.13.3(dmg-builder@24.13.3)(electron-builder-squirrel-windows@25.0.5)
|
||||
builder-util: 24.13.1
|
||||
builder-util-runtime: 9.2.4
|
||||
chalk: 4.1.2
|
||||
|
@ -3989,7 +3990,7 @@ snapshots:
|
|||
|
||||
electron-to-chromium@1.5.39: {}
|
||||
|
||||
electron@32.2.0:
|
||||
electron@32.2.2:
|
||||
dependencies:
|
||||
'@electron/get': 2.0.2
|
||||
'@types/node': 20.14.5
|
||||
|
@ -4029,7 +4030,7 @@ snapshots:
|
|||
es6-error@4.1.1:
|
||||
optional: true
|
||||
|
||||
esbuild-loader@3.0.1(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
esbuild-loader@3.0.1(webpack@5.95.0):
|
||||
dependencies:
|
||||
esbuild: 0.17.10
|
||||
get-tsconfig: 4.4.0
|
||||
|
@ -4192,7 +4193,7 @@ snapshots:
|
|||
dependencies:
|
||||
flat-cache: 3.0.4
|
||||
|
||||
file-loader@6.2.0(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
file-loader@6.2.0(webpack@5.95.0):
|
||||
dependencies:
|
||||
loader-utils: 2.0.4
|
||||
schema-utils: 3.1.1
|
||||
|
@ -4409,7 +4410,7 @@ snapshots:
|
|||
dependencies:
|
||||
lru-cache: 6.0.0
|
||||
|
||||
html-loader@2.1.2(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
html-loader@2.1.2(webpack@5.95.0):
|
||||
dependencies:
|
||||
html-minifier-terser: 5.1.1
|
||||
parse5: 6.0.1
|
||||
|
@ -4435,7 +4436,7 @@ snapshots:
|
|||
relateurl: 0.2.7
|
||||
terser: 5.14.1
|
||||
|
||||
html-webpack-plugin@5.5.0(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
html-webpack-plugin@5.5.0(webpack@5.95.0):
|
||||
dependencies:
|
||||
'@types/html-minifier-terser': 6.1.0
|
||||
html-minifier-terser: 6.1.0
|
||||
|
@ -4759,7 +4760,7 @@ snapshots:
|
|||
|
||||
mimic-response@3.1.0: {}
|
||||
|
||||
mini-css-extract-plugin@2.7.6(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
mini-css-extract-plugin@2.7.6(webpack@5.95.0):
|
||||
dependencies:
|
||||
schema-utils: 4.2.0
|
||||
webpack: 5.95.0(webpack-cli@4.10.0)
|
||||
|
@ -5212,7 +5213,7 @@ snapshots:
|
|||
dependencies:
|
||||
truncate-utf8-bytes: 1.0.2
|
||||
|
||||
sass-loader@12.6.0(sass@1.53.0)(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
sass-loader@12.6.0(sass@1.53.0)(webpack@5.95.0):
|
||||
dependencies:
|
||||
klona: 2.0.5
|
||||
neo-async: 2.6.2
|
||||
|
@ -5408,7 +5409,7 @@ snapshots:
|
|||
async-exit-hook: 2.0.1
|
||||
fs-extra: 10.1.0
|
||||
|
||||
terser-webpack-plugin@5.3.10(webpack@5.95.0(webpack-cli@4.10.0)):
|
||||
terser-webpack-plugin@5.3.10(webpack@5.95.0):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
jest-worker: 27.5.1
|
||||
|
@ -5546,9 +5547,9 @@ snapshots:
|
|||
webpack-cli@4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0):
|
||||
dependencies:
|
||||
'@discoveryjs/json-ext': 0.5.7
|
||||
'@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0))(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
'@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0))
|
||||
'@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack-bundle-analyzer@4.5.0)(webpack@5.95.0))
|
||||
'@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.95.0)
|
||||
'@webpack-cli/info': 1.5.0(webpack-cli@4.10.0)
|
||||
'@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)
|
||||
colorette: 2.0.19
|
||||
commander: 7.2.0
|
||||
cross-spawn: 7.0.3
|
||||
|
@ -5595,7 +5596,7 @@ snapshots:
|
|||
neo-async: 2.6.2
|
||||
schema-utils: 3.3.0
|
||||
tapable: 2.2.1
|
||||
terser-webpack-plugin: 5.3.10(webpack@5.95.0(webpack-cli@4.10.0))
|
||||
terser-webpack-plugin: 5.3.10(webpack@5.95.0)
|
||||
watchpack: 2.4.2
|
||||
webpack-sources: 3.2.3
|
||||
optionalDependencies:
|
||||
|
|
|
@ -1381,15 +1381,13 @@ func fullTextSearchCountByFTS(query, boxFilter, pathFilter, typeFilter, ignoreFi
|
|||
}
|
||||
|
||||
func fullTextSearchByFTSWithRoot(query, boxFilter, pathFilter, typeFilter, ignoreFilter, orderBy string, beforeLen, page, pageSize int) (ret []*Block, matchedBlockCount, matchedRootCount int) {
|
||||
start := time.Now()
|
||||
|
||||
table := "blocks_fts" // 大小写敏感
|
||||
if !Conf.Search.CaseSensitive {
|
||||
table = "blocks_fts_case_insensitive"
|
||||
}
|
||||
|
||||
mQ := stringQuery(query)
|
||||
bMatchStmt := "SELECT id FROM " + table + " WHERE (" + table + " MATCH '" + columnFilter() + ":(" + mQ + ")')"
|
||||
bMatchStmt += " AND type IN " + typeFilter + boxFilter + pathFilter + ignoreFilter
|
||||
|
||||
query = strings.ReplaceAll(query, "'", "''")
|
||||
query = strings.ReplaceAll(query, "\"", "\"\"")
|
||||
keywords := strings.Split(query, " ")
|
||||
|
@ -1400,14 +1398,20 @@ func fullTextSearchByFTSWithRoot(query, boxFilter, pathFilter, typeFilter, ignor
|
|||
likeFilter += " AND "
|
||||
}
|
||||
}
|
||||
dMatchStmt := "SELECT root_id, GROUP_CONCAT(content) AS docContent" +
|
||||
bMatchStmt := "SELECT id FROM " + table + " WHERE " + strings.ReplaceAll(likeFilter, "docContent LIKE ", "content LIKE ")
|
||||
bMatchStmt += " AND type IN " + typeFilter + boxFilter + pathFilter + ignoreFilter
|
||||
dMatchStmt := "SELECT root_id, GROUP_CONCAT(content || tag || name || alias || memo) AS docContent" +
|
||||
" FROM " + table + " WHERE type IN " + typeFilter + boxFilter + pathFilter + ignoreFilter +
|
||||
" GROUP BY root_id HAVING " + likeFilter
|
||||
cteStmt := "WITH docs AS (" + dMatchStmt + "), blocks AS (" + bMatchStmt + ")"
|
||||
cteStmt += "\nSELECT * FROM " + table + " WHERE id IN (SELECT id FROM blocks) OR id IN (SELECT root_id FROM docs)"
|
||||
countStmt := cteStmt
|
||||
cteStmt := "WITH docBlocks AS (" + dMatchStmt + "), nonDocBlocks AS (" + bMatchStmt + ")"
|
||||
wheheClause := " WHERE id IN (SELECT id FROM nonDocBlocks) OR id IN (SELECT root_id FROM docBlocks)"
|
||||
selectStmt := cteStmt + "\nSELECT * FROM " + table + wheheClause
|
||||
countStmt := cteStmt + "\nSELECT COUNT(id) AS `matches`, COUNT(DISTINCT(root_id)) AS `docs` FROM " + table + wheheClause
|
||||
cteStmt += orderBy + " LIMIT " + strconv.Itoa(pageSize) + " OFFSET " + strconv.Itoa((page-1)*pageSize)
|
||||
resultBlocks := sql.SelectBlocksRawStmtNoParse(cteStmt, -1)
|
||||
resultBlocks := sql.SelectBlocksRawStmtNoParse(selectStmt, -1)
|
||||
|
||||
logging.LogInfof("time cost [main search]: %v", time.Since(start))
|
||||
now := time.Now()
|
||||
|
||||
// FTS 高亮
|
||||
projections := "id, parent_id, root_id, hash, box, path, " +
|
||||
|
@ -1419,7 +1423,7 @@ func fullTextSearchByFTSWithRoot(query, boxFilter, pathFilter, typeFilter, ignor
|
|||
"snippet(" + table + ", 10, '" + search.SearchMarkLeft + "', '" + search.SearchMarkRight + "', '...', 64) AS tag, " +
|
||||
"snippet(" + table + ", 11, '" + search.SearchMarkLeft + "', '" + search.SearchMarkRight + "', '...', 512) AS content, " +
|
||||
"fcontent, markdown, length, type, subtype, ial, sort, created, updated"
|
||||
stmt := "SELECT " + projections + " FROM " + table + " WHERE (`" + table + "` MATCH '" + columnFilter() + ":(" + query + ")'"
|
||||
stmt := "SELECT " + projections + " FROM " + table + " WHERE (`" + table + "` MATCH '" + columnFilter() + ":(" + stringQuery(query) + ")'"
|
||||
stmt += ") AND type IN " + typeFilter + boxFilter + pathFilter + ignoreFilter + orderBy + " LIMIT " + strconv.Itoa(pageSize) + " OFFSET " + strconv.Itoa((page-1)*pageSize)
|
||||
blocks := sql.SelectBlocksRawStmt(stmt, page, pageSize)
|
||||
for i, resultBlock := range resultBlocks {
|
||||
|
@ -1438,12 +1442,15 @@ func fullTextSearchByFTSWithRoot(query, boxFilter, pathFilter, typeFilter, ignor
|
|||
ret = []*Block{}
|
||||
}
|
||||
|
||||
logging.LogInfof("time cost [highlight search]: %v", time.Since(now))
|
||||
now = time.Now()
|
||||
matchedBlockCount, matchedRootCount = fullTextSearchCountByStmt(countStmt)
|
||||
logging.LogInfof("time cost [count search]: %v", time.Since(now))
|
||||
logging.LogInfof("time cost [all]: %v", time.Since(start))
|
||||
return
|
||||
}
|
||||
|
||||
func fullTextSearchCountByStmt(stmt string) (matchedBlockCount, matchedRootCount int) {
|
||||
stmt = "SELECT COUNT(id) AS `matches`, COUNT(DISTINCT(root_id)) AS `docs` FROM (" + stmt + ")"
|
||||
result, _ := sql.QueryNoLimit(stmt)
|
||||
if 1 > len(result) {
|
||||
return
|
||||
|
|
Loading…
Add table
Reference in a new issue