mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-07 01:08:49 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
566c90cbba
20 changed files with 1860 additions and 923 deletions
6
.github/CONTRIBUTING.md
vendored
6
.github/CONTRIBUTING.md
vendored
|
|
@ -42,9 +42,11 @@ Note: In the development environment, the kernel process will not be automatical
|
|||
### Desktop
|
||||
|
||||
* `cd kernel`
|
||||
* `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel.exe"`
|
||||
* Windows: `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel.exe"`
|
||||
* Linux/macOS: `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel"`
|
||||
* `cd ../app/kernel`
|
||||
* `./SiYuan-Kernel.exe --wd=.. --mode=dev`
|
||||
* Windows: `./SiYuan-Kernel.exe --wd=.. --mode=dev`
|
||||
* Linux/macOS: `./SiYuan-Kernel --wd=.. --mode=dev`
|
||||
|
||||
### iOS
|
||||
|
||||
|
|
|
|||
6
.github/CONTRIBUTING_zh_CN.md
vendored
6
.github/CONTRIBUTING_zh_CN.md
vendored
|
|
@ -44,9 +44,11 @@ NPM 镜像:
|
|||
### 桌面端
|
||||
|
||||
* `cd kernel`
|
||||
* `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel.exe"`
|
||||
* Windows: `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel.exe"`
|
||||
* Linux/macOS: `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel"`
|
||||
* `cd ../app/kernel`
|
||||
* `./SiYuan-Kernel.exe --wd=.. --mode=dev`
|
||||
* Windows: `./SiYuan-Kernel.exe --wd=.. --mode=dev`
|
||||
* Linux/macOS: `./SiYuan-Kernel --wd=.. --mode=dev`
|
||||
|
||||
### iOS
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,4 @@
|
|||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="#660e7a">
|
||||
<title>SQL</title>
|
||||
<path d="M17.6 14.4h-14.4c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h14.4v11.2zM3.2 11.2h11.2v-4.8h-11.2v4.8zM20.8 28.8h-17.6c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h17.6v11.2zM3.2 25.6h14.4v-4.8h-14.4v4.8zM32 11.2h-3.2l3.2-8h-11.2v11.2h3.2v14.4l8-17.6zM4.4 24.4h2.4v-2.4h-2.4v2.4zM4.4 10h2.4v-2.4h-2.4v2.4z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 481 B |
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,4 @@
|
|||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="#660e7a">
|
||||
<title>SQL</title>
|
||||
<path d="M17.6 14.4h-14.4c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h14.4v11.2zM3.2 11.2h11.2v-4.8h-11.2v4.8zM20.8 28.8h-17.6c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h17.6v11.2zM3.2 25.6h14.4v-4.8h-14.4v4.8zM32 11.2h-3.2l3.2-8h-11.2v11.2h3.2v14.4l8-17.6zM4.4 24.4h2.4v-2.4h-2.4v2.4zM4.4 10h2.4v-2.4h-2.4v2.4z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 481 B |
|
|
@ -6,7 +6,7 @@
|
|||
"id": "20211226120147-ib6yy3i",
|
||||
"title": "內容塊類型",
|
||||
"type": "doc",
|
||||
"updated": "20250311195936"
|
||||
"updated": "20250330191635"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20211226120227-2s70boj",
|
||||
"updated": "20211226155749"
|
||||
"updated": "20250330191635"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
"Properties": {
|
||||
"colgroup": "||",
|
||||
"id": "20211226120227-nx8tlf5",
|
||||
"updated": "20220429115701"
|
||||
"updated": "20250330191635"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -105,6 +105,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -117,7 +121,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "paragraph.svg"
|
||||
"Data": "paragraph"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -133,6 +137,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -166,6 +174,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -178,7 +190,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "heading.svg"
|
||||
"Data": "heading"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -194,6 +206,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -227,6 +243,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -239,7 +259,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "math-block.svg"
|
||||
"Data": "math-block"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -255,6 +275,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -288,6 +312,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -300,7 +328,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "code-block.svg"
|
||||
"Data": "code-block"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -316,6 +344,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -349,6 +381,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -361,7 +397,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "table.svg"
|
||||
"Data": "table"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -377,6 +413,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -410,6 +450,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -422,7 +466,76 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "html-block.svg"
|
||||
"Data": "embed-block"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
},
|
||||
{
|
||||
"Type": "NodeOpenParen"
|
||||
},
|
||||
{
|
||||
"Type": "NodeLinkDest",
|
||||
"Data": "assets/embed-block-20250330183922-6b1vv78.svg"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "嵌入塊"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "葉子塊"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeTableRow",
|
||||
"Data": "tr",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeBang"
|
||||
},
|
||||
{
|
||||
"Type": "NodeOpenBracket"
|
||||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "html-block"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -438,6 +551,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -471,6 +588,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -483,7 +604,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "unordered-list.svg"
|
||||
"Data": "unordered-list"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -499,6 +620,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -532,6 +657,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -544,7 +673,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "ordered-list.svg"
|
||||
"Data": "ordered-list"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -560,6 +689,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -593,6 +726,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -605,7 +742,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "task-list.svg"
|
||||
"Data": "task-list"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -621,6 +758,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -654,6 +795,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -666,7 +811,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "list-item.svg"
|
||||
"Data": "list-item"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -682,6 +827,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -715,6 +864,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -727,7 +880,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "blockquote.svg"
|
||||
"Data": "blockquote"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -743,6 +896,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -776,6 +933,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -788,7 +949,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "super-block.svg"
|
||||
"Data": "super-block"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -804,6 +965,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -837,6 +1002,10 @@
|
|||
"Type": "NodeTableCell",
|
||||
"Data": "td",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -849,7 +1018,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "doc.svg"
|
||||
"Data": "doc"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -865,6 +1034,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1155,7 +1328,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-qntcfuy",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184019"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -1169,9 +1342,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-ln4rtso",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184019"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -1200,6 +1377,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1233,7 +1414,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-qnm1gay",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184017"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -1247,9 +1428,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-c7j0o02",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184017"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -1278,6 +1463,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1318,7 +1507,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-fe8klj7",
|
||||
"updated": "20250311195936"
|
||||
"updated": "20250330184021"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -1332,9 +1521,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-gciuaqv",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184021"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -1363,6 +1556,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1537,13 +1734,100 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20250330183637-4bl34no",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20250330183637-4bl34no",
|
||||
"updated": "20250330184030"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "嵌入塊"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20250330183922-zacs8tt",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20250330183922-zacs8tt",
|
||||
"updated": "20250330184023"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeBang"
|
||||
},
|
||||
{
|
||||
"Type": "NodeOpenBracket"
|
||||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "embed-block"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
},
|
||||
{
|
||||
"Type": "NodeOpenParen"
|
||||
},
|
||||
{
|
||||
"Type": "NodeLinkDest",
|
||||
"Data": "assets/embed-block-20250330183922-6b1vv78.svg"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20250330183622-7rrv78a",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20250330183622-7rrv78a",
|
||||
"updated": "20250330183634"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "請參考"
|
||||
},
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "block-ref",
|
||||
"TextMarkBlockRefID": "20211226120508-yzh70eh",
|
||||
"TextMarkBlockRefSubtype": "s",
|
||||
"TextMarkTextContent": "嵌入內容塊"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220429114938-37kksd9",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220429114938-37kksd9",
|
||||
"updated": "20241018105334"
|
||||
"updated": "20250330184030"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -1557,9 +1841,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220429115607-b30z0nq",
|
||||
"updated": "20220429115637"
|
||||
"updated": "20250330184030"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -1572,7 +1860,7 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeLinkText",
|
||||
"Data": "html-block.svg"
|
||||
"Data": "html-block"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCloseBracket"
|
||||
|
|
@ -1588,6 +1876,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1732,7 +2024,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-icf8aai",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184033"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -1746,9 +2038,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-7rphv3n",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184033"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -1777,6 +2073,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1888,7 +2188,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-h6hyct1",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184035"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -1902,9 +2202,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-b8bp15h",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184035"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -1933,6 +2237,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -2050,7 +2358,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-16ew3ez",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184037"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -2064,9 +2372,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-9410rmp",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184037"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -2095,6 +2407,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -2219,7 +2535,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-ot6klof",
|
||||
"updated": "20250311195925"
|
||||
"updated": "20250330184040"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -2233,9 +2549,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-mf2t0un",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184040"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -2264,6 +2584,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -2344,7 +2668,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-7tg2ytf",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184042"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -2358,9 +2682,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-y7hsz2x",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184042"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -2389,6 +2717,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -2451,7 +2783,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-hqosjsi",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184043"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -2465,9 +2797,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-aqlpu1r",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184043"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -2496,6 +2832,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -2530,7 +2870,7 @@
|
|||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20211226120227-ub34qwj",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184045"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
|
@ -2544,9 +2884,13 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226120227-0v9y1vt",
|
||||
"updated": "20211225225419"
|
||||
"updated": "20250330184045"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
},
|
||||
{
|
||||
"Type": "NodeImage",
|
||||
"Data": "span",
|
||||
|
|
@ -2575,6 +2919,10 @@
|
|||
"Type": "NodeCloseParen"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="#660e7a">
|
||||
<title>SQL</title>
|
||||
<path d="M17.6 14.4h-14.4c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h14.4v11.2zM3.2 11.2h11.2v-4.8h-11.2v4.8zM20.8 28.8h-17.6c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h17.6v11.2zM3.2 25.6h14.4v-4.8h-14.4v4.8zM32 11.2h-3.2l3.2-8h-11.2v11.2h3.2v14.4l8-17.6zM4.4 24.4h2.4v-2.4h-2.4v2.4zM4.4 10h2.4v-2.4h-2.4v2.4z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 481 B |
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,4 @@
|
|||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="#660e7a">
|
||||
<title>SQL</title>
|
||||
<path d="M17.6 14.4h-14.4c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h14.4v11.2zM3.2 11.2h11.2v-4.8h-11.2v4.8zM20.8 28.8h-17.6c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h17.6v11.2zM3.2 25.6h14.4v-4.8h-14.4v4.8zM32 11.2h-3.2l3.2-8h-11.2v11.2h3.2v14.4l8-17.6zM4.4 24.4h2.4v-2.4h-2.4v2.4zM4.4 10h2.4v-2.4h-2.4v2.4z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 481 B |
2
app/stage/protyle/js/lute/lute.min.js
vendored
2
app/stage/protyle/js/lute/lute.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -361,14 +361,14 @@ func setNotebookConf(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
boxConf.RefCreateSavePath = strings.TrimSpace(boxConf.RefCreateSavePath)
|
||||
boxConf.RefCreateSavePath = util.TrimSpaceInPath(boxConf.RefCreateSavePath)
|
||||
if "" != boxConf.RefCreateSavePath {
|
||||
if !strings.HasSuffix(boxConf.RefCreateSavePath, "/") {
|
||||
boxConf.RefCreateSavePath += "/"
|
||||
}
|
||||
}
|
||||
|
||||
boxConf.DailyNoteSavePath = strings.TrimSpace(boxConf.DailyNoteSavePath)
|
||||
boxConf.DailyNoteSavePath = util.TrimSpaceInPath(boxConf.DailyNoteSavePath)
|
||||
if "" != boxConf.DailyNoteSavePath {
|
||||
if !strings.HasPrefix(boxConf.DailyNoteSavePath, "/") {
|
||||
boxConf.DailyNoteSavePath = "/" + boxConf.DailyNoteSavePath
|
||||
|
|
@ -380,7 +380,7 @@ func setNotebookConf(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
boxConf.DailyNoteTemplatePath = strings.TrimSpace(boxConf.DailyNoteTemplatePath)
|
||||
boxConf.DailyNoteTemplatePath = util.TrimSpaceInPath(boxConf.DailyNoteTemplatePath)
|
||||
if "" != boxConf.DailyNoteTemplatePath {
|
||||
if !strings.HasSuffix(boxConf.DailyNoteTemplatePath, ".md") {
|
||||
boxConf.DailyNoteTemplatePath += ".md"
|
||||
|
|
@ -390,7 +390,7 @@ func setNotebookConf(c *gin.Context) {
|
|||
}
|
||||
}
|
||||
|
||||
boxConf.DocCreateSavePath = strings.TrimSpace(boxConf.DocCreateSavePath)
|
||||
boxConf.DocCreateSavePath = util.TrimSpaceInPath(boxConf.DocCreateSavePath)
|
||||
|
||||
box.SaveConf(boxConf)
|
||||
ret.Data = boxConf
|
||||
|
|
|
|||
|
|
@ -399,14 +399,14 @@ func setFiletree(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
fileTree.RefCreateSavePath = strings.TrimSpace(fileTree.RefCreateSavePath)
|
||||
fileTree.RefCreateSavePath = util.TrimSpaceInPath(fileTree.RefCreateSavePath)
|
||||
if "" != fileTree.RefCreateSavePath {
|
||||
if !strings.HasSuffix(fileTree.RefCreateSavePath, "/") {
|
||||
fileTree.RefCreateSavePath += "/"
|
||||
}
|
||||
}
|
||||
|
||||
fileTree.DocCreateSavePath = strings.TrimSpace(fileTree.DocCreateSavePath)
|
||||
fileTree.DocCreateSavePath = util.TrimSpaceInPath(fileTree.DocCreateSavePath)
|
||||
|
||||
if 1 > fileTree.MaxOpenTabCount {
|
||||
fileTree.MaxOpenTabCount = 8
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ require (
|
|||
github.com/88250/epub v0.0.0-20230830085737-c19055cd1f48
|
||||
github.com/88250/go-humanize v0.0.0-20240424102817-4f78fac47ea7
|
||||
github.com/88250/gulu v1.2.3-0.20250227144607-7f4570b0d689
|
||||
github.com/88250/lute v1.7.7-0.20250330095458-caf77dd414fa
|
||||
github.com/88250/lute v1.7.7-0.20250331075443-216bec0344f4
|
||||
github.com/88250/vitess-sqlparser v0.0.0-20210205111146-56a2ded2aba1
|
||||
github.com/ClarkThan/ahocorasick v0.0.0-20231011042242-30d1ef1347f4
|
||||
github.com/ConradIrwin/font v0.2.1
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ github.com/88250/go-sqlite3 v1.14.13-0.20231214121541-e7f54c482950 h1:Pa5hMiBceT
|
|||
github.com/88250/go-sqlite3 v1.14.13-0.20231214121541-e7f54c482950/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||
github.com/88250/gulu v1.2.3-0.20250227144607-7f4570b0d689 h1:39y5g7vnFAIcXhTN3IXPk7h2xBhC4a9hBTykDhHJqRY=
|
||||
github.com/88250/gulu v1.2.3-0.20250227144607-7f4570b0d689/go.mod h1:c8uVw25vW2W4dhJ/j4iYsX5H1hc19spim266jO5x2hU=
|
||||
github.com/88250/lute v1.7.7-0.20250330095458-caf77dd414fa h1:RS7KlvKWy961STJjoXfQB08hkt9IwLKSsJDgCyoEyMQ=
|
||||
github.com/88250/lute v1.7.7-0.20250330095458-caf77dd414fa/go.mod h1:WYyUw//5yVw9BJnoVjx7rI/3szsISxNZCYGOqTIrV0o=
|
||||
github.com/88250/lute v1.7.7-0.20250331075443-216bec0344f4 h1:gOapF5zuRVlmygSw4/fml2I6Z03RLYHoxA2gLaogrWI=
|
||||
github.com/88250/lute v1.7.7-0.20250331075443-216bec0344f4/go.mod h1:WYyUw//5yVw9BJnoVjx7rI/3szsISxNZCYGOqTIrV0o=
|
||||
github.com/88250/pdfcpu v0.3.14-0.20241201033812-5a93b7586a01 h1:AcFe63RXjIh1XtX/dc4Es3U8bYKjlEkvavHd1nFBOHM=
|
||||
github.com/88250/pdfcpu v0.3.14-0.20241201033812-5a93b7586a01/go.mod h1:fVfOloBzs2+W2VJCCbq60XIxc3yJHAZ0Gahv1oO0gyI=
|
||||
github.com/88250/vitess-sqlparser v0.0.0-20210205111146-56a2ded2aba1 h1:48T899JQDwyyRu9yXHePYlPdHtpJfrJEUGBMH3SMBWY=
|
||||
|
|
|
|||
|
|
@ -1785,6 +1785,7 @@ func removeInvisibleCharsInTitle(title string) string {
|
|||
title = strings.ReplaceAll(title, string(gulu.ZWJ), "__@ZWJ@__")
|
||||
title = util.RemoveInvalid(title)
|
||||
title = strings.ReplaceAll(title, "__@ZWJ@__", string(gulu.ZWJ))
|
||||
title = strings.TrimSpace(title)
|
||||
return title
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -592,8 +592,12 @@ func FindReplace(keyword, replacement string, replaceTypes map[string]bool, ids
|
|||
unlinks = append(unlinks, n.Parent)
|
||||
|
||||
prev, next := n.Parent.Previous, n.Parent.Next
|
||||
for ; prev != nil && ast.NodeText == prev.Type && prev.Tokens == nil; prev = prev.Previous {
|
||||
// Tokens 为空的节点是之前处理过的节点,需要跳过
|
||||
}
|
||||
if nil != prev && ast.NodeText == prev.Type && nil != next && ast.NodeText == next.Type {
|
||||
prev.Tokens = append(prev.Tokens, next.Tokens...)
|
||||
next.Tokens = nil // 将 Tokens 设置为空,表示该节点已经被处理过
|
||||
unlinks = append(unlinks, next)
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -355,7 +355,6 @@ func RenderTemplate(p, id string, preview bool) (tree *parse.Tree, dom string, e
|
|||
nodesNeedAppendChild = append(nodesNeedAppendChild, n)
|
||||
}
|
||||
|
||||
// 块引缺失锚文本情况下自动补全 https://github.com/siyuan-note/siyuan/issues/6087
|
||||
if n.IsTextMarkType("block-ref") {
|
||||
if refText := n.Text(); "" == refText {
|
||||
refText = strings.TrimSpace(sql.GetRefText(n.TextMarkBlockRefID))
|
||||
|
|
@ -365,6 +364,17 @@ func RenderTemplate(p, id string, preview bool) (tree *parse.Tree, dom string, e
|
|||
unlinks = append(unlinks, n)
|
||||
}
|
||||
}
|
||||
} else if ast.NodeBlockRef == n.Type {
|
||||
if refText := n.Text(); "" == refText {
|
||||
if refID := n.ChildByType(ast.NodeBlockRefID); nil != refID {
|
||||
refText = strings.TrimSpace(sql.GetRefText(refID.TokensStr()))
|
||||
if "" != refText {
|
||||
treenode.SetDynamicBlockRefText(n, refText)
|
||||
} else {
|
||||
unlinks = append(unlinks, n)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if n.IsTextMarkType("inline-math") {
|
||||
if n.ParentIs(ast.NodeTableCell) {
|
||||
// 表格中的公式中带有管道符时使用 HTML 实体替换管道符 Improve the handling of inline-math containing `|` in the table https://github.com/siyuan-note/siyuan/issues/9227
|
||||
|
|
|
|||
|
|
@ -469,6 +469,14 @@ func SetDynamicBlockRefText(blockRef *ast.Node, refText string) {
|
|||
return
|
||||
}
|
||||
|
||||
if ast.NodeBlockRef == blockRef.Type {
|
||||
if refID := blockRef.ChildByType(ast.NodeBlockRefID); nil != refID {
|
||||
refID.InsertAfter(&ast.Node{Type: ast.NodeBlockRefDynamicText, Tokens: []byte(refText)})
|
||||
refID.InsertAfter(&ast.Node{Type: ast.NodeBlockRefSpace})
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
refText = strings.TrimSpace(refText)
|
||||
if "" == refText {
|
||||
refText = blockRef.TextMarkBlockRefID
|
||||
|
|
|
|||
|
|
@ -38,6 +38,15 @@ var (
|
|||
UserAgent = "SiYuan/" + Ver
|
||||
)
|
||||
|
||||
func TrimSpaceInPath(p string) string {
|
||||
p = strings.ReplaceAll(p, "\\", "/")
|
||||
parts := strings.Split(p, "/")
|
||||
for i, part := range parts {
|
||||
parts[i] = strings.TrimSpace(part)
|
||||
}
|
||||
return strings.Join(parts, "/")
|
||||
}
|
||||
|
||||
func GetTreeID(treePath string) string {
|
||||
if strings.Contains(treePath, "\\") {
|
||||
return strings.TrimSuffix(filepath.Base(treePath), ".sy")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue