Compare commits

...

911 commits

Author SHA1 Message Date
Daniel
f1c91863b9
🔖 Release v3.3.2
Some checks failed
Release Docker Image / build (push) Has been cancelled
Signed-off-by: Daniel <845765@qq.com>
2025-09-09 18:15:27 +08:00
Daniel
8a9e746891
🎨 Clean code
Signed-off-by: Daniel <845765@qq.com>
2025-09-09 18:11:49 +08:00
Jeffrey Chen
517f5c8453
🎨 Hide the separator line in the top bar plugin menu in publish service (#15809) 2025-09-09 18:08:21 +08:00
Vanessa
88431279bf 🎨 https://github.com/siyuan-note/siyuan/issues/15806 2025-09-09 17:32:35 +08:00
Vanessa
dc656d83a2 🎨 https://github.com/siyuan-note/siyuan/issues/15806 2025-09-09 16:43:39 +08:00
Vanessa
b69fd04137 🎨 https://github.com/siyuan-note/siyuan/issues/15806 2025-09-09 10:18:44 +08:00
Vanessa
ff909fa149 🎨 https://github.com/siyuan-note/siyuan/issues/15805 2025-09-09 10:02:51 +08:00
Vanessa
bfe50d9009 🚨 2025-09-09 09:29:00 +08:00
Daniel
93422c134d
🎨 Add field disabledInPublish to the code snippet to indicate whether it is disabled in the publish service https://github.com/siyuan-note/siyuan/issues/15806
Signed-off-by: Daniel <845765@qq.com>
2025-09-09 09:18:12 +08:00
Daniel
2f70ef43a1
🎨 Clean code
Signed-off-by: Daniel <845765@qq.com>
2025-09-09 09:07:23 +08:00
Daniel
5f6ddb4655
📝 Update changelogs
Signed-off-by: Daniel <845765@qq.com>
2025-09-08 19:41:02 +08:00
Daniel
39c4b3325e
🧑‍💻 Improve kernel API appendBlock, insertBlock and prependBlock https://github.com/siyuan-note/siyuan/issues/15798
Signed-off-by: Daniel <845765@qq.com>
2025-09-08 19:24:41 +08:00
Vanessa
393c53941a
🎨 https://github.com/siyuan-note/siyuan/issues/15801
Signed-off-by: Daniel <845765@qq.com>
2025-09-08 17:39:03 +08:00
Daniel
a4f03191fa
🎨 https://github.com/siyuan-note/siyuan/issues/15777 2025-09-08 10:58:58 +08:00
Vanessa
de9e648e9e 🎨 https://github.com/siyuan-note/siyuan/issues/15782 2025-09-08 10:52:40 +08:00
Vanessa
c1f14a33d9 🎨 https://github.com/siyuan-note/siyuan/pull/15731 2025-09-08 10:06:52 +08:00
Jeffrey Chen
adca241ed5
🎨 Improve slash menu (#15731)
fix https://github.com/siyuan-note/siyuan/issues/12518
2025-09-08 09:57:36 +08:00
Vanessa
006da6bc90 🎨 https://github.com/siyuan-note/siyuan/issues/15782 2025-09-08 09:48:36 +08:00
Vanessa
490234caab 🚨 2025-09-08 09:44:52 +08:00
Daniel
80c357564d
🎨 Regen pnpm-lock.yaml 2025-09-07 21:47:41 +08:00
Daniel
6852a49620
🎨 Improve build script 2025-09-07 21:40:17 +08:00
Daniel
93591ad44e
🐛 Fix NPE https://github.com/siyuan-note/siyuan/issues/15796 2025-09-07 21:05:54 +08:00
Daniel
6510d7dbf0
🧑‍💻 Improve kernel API appendBlock and insertBlock https://github.com/siyuan-note/siyuan/issues/15798 2025-09-07 20:58:38 +08:00
Daniel
29244a1f8c
🧑‍💻 https://github.com/siyuan-note/siyuan/issues/15798 2025-09-07 19:20:44 +08:00
Daniel
a85467751f
⬆️ Upgrade lute 2025-09-07 19:02:52 +08:00
Vanessa
14251d8dae 🎨 https://github.com/siyuan-note/siyuan/pull/15772 2025-09-07 18:40:12 +08:00
Jeffrey Chen
52a4815419
🐛 Improve database date field (#15772)
fix https://github.com/siyuan-note/siyuan/issues/13252 , https://github.com/siyuan-note/siyuan/issues/15747
2025-09-07 18:37:33 +08:00
Vanessa
45a6a190d0 🎨 https://github.com/siyuan-note/siyuan/issues/15185 2025-09-07 18:14:46 +08:00
Vanessa
c1a4aa3128 🐛 https://github.com/siyuan-note/siyuan/issues/15791 2025-09-07 11:01:11 +08:00
Vanessa
0fce405a05 Merge remote-tracking branch 'origin/dev' into dev 2025-09-07 09:59:48 +08:00
Vanessa
fe143bcb12 🎨 https://github.com/siyuan-note/siyuan/issues/8019 2025-09-07 09:59:35 +08:00
Daniel
0ad7c4cf23
🎨 Improve open the user guide https://github.com/siyuan-note/siyuan/issues/15792 2025-09-07 09:35:48 +08:00
Vanessa
c326989391 🎨 https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 22:47:16 +08:00
Vanessa
468b670bcc 🎨 https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 22:33:31 +08:00
Vanessa
4e4398ef47 🎨 https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 18:31:38 +08:00
Vanessa
fc1cbf46aa Merge remote-tracking branch 'origin/dev' into dev 2025-09-06 18:02:31 +08:00
Vanessa
80cccd41b5 🎨 https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 18:02:18 +08:00
Daniel
68991a6aef
🎨 Copy/Cut folded heading changed to copy/cut Headings and Bottom Blocks and support multiple headings copy/cut https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 17:30:35 +08:00
Daniel
2a8b47b518
🎨 Copy/Cut folded heading changed to copy/cut Headings and Bottom Blocks and support multiple headings copy/cut https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 17:15:42 +08:00
Daniel
8ad3cb00ad
🎨 Copy/Cut folded heading changed to copy/cut Headings and Bottom Blocks and support multiple headings copy/cut https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 17:11:21 +08:00
Daniel
c55c413365
🎨 Copy/Cut folded heading changed to copy/cut Headings and Bottom Blocks and support multiple headings copy/cut https://github.com/siyuan-note/siyuan/issues/8019 2025-09-06 17:10:43 +08:00
Vanessa
4767e399e2 Merge remote-tracking branch 'origin/dev' into dev 2025-09-06 10:22:29 +08:00
Vanessa
5ade06a3b6 🎨 https://github.com/siyuan-note/siyuan/issues/15609 2025-09-06 10:22:16 +08:00
Daniel
8ebb617072
📝 Database rollup field filtering rules support "Any", "All", and "None" https://github.com/siyuan-note/siyuan/issues/15609 2025-09-06 08:43:59 +08:00
Daniel
305bd9dfb0
🎨 Improve duplicating doc/av https://github.com/siyuan-note/siyuan/issues/15786 2025-09-06 08:28:54 +08:00
Vanessa
d2f990a830 🎨 https://github.com/siyuan-note/siyuan/issues/15609 2025-09-05 23:44:46 +08:00
Vanessa
5775aa9734 Merge remote-tracking branch 'origin/dev' into dev 2025-09-05 23:38:13 +08:00
Vanessa
80f1c6c3ec 🎨 https://github.com/siyuan-note/siyuan/issues/15609 2025-09-05 23:37:58 +08:00
Daniel
f220e3627f
📝 Database rollup field filtering rules support "Any", "All", and "None" https://github.com/siyuan-note/siyuan/issues/15609 2025-09-05 23:15:20 +08:00
Daniel
1fb4ed980b
⬆️ Upgrade lute 2025-09-05 22:51:41 +08:00
Daniel
04bf9e9848
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15775 2025-09-05 17:44:03 +08:00
Daniel
9447f1c5a8
🎨 Clean code 2025-09-05 17:38:46 +08:00
Vanessa
afa74ebb4b 🎨 https://github.com/siyuan-note/siyuan/issues/15771 2025-09-05 17:16:48 +08:00
Jeffrey Chen
17a96ee1b1
🎨 Dragging multiple files into the editor will cause them to be opened by the default program (#15773) 2025-09-05 12:10:44 +08:00
Vanessa
647204eee1 🎨 https://github.com/siyuan-note/siyuan/issues/15733 2025-09-05 12:01:46 +08:00
Vanessa
4eb91f2e40 Merge remote-tracking branch 'origin/dev' into dev 2025-09-05 11:26:31 +08:00
Vanessa
d48e3d5211 🎨 https://github.com/siyuan-note/siyuan/issues/15771 2025-09-05 11:26:18 +08:00
Jeffrey Chen
59265bfc94
📝 Improve text (#15774) 2025-09-05 10:27:07 +08:00
Daniel
16913fb065
⬆️ Upgrade pnpm 2025-09-05 10:16:25 +08:00
Vanessa
65b52a2bc6 🎨 https://github.com/siyuan-note/siyuan/issues/15771 2025-09-05 08:59:52 +08:00
Vanessa
ac6b1d6689 🎨 https://github.com/siyuan-note/siyuan/issues/15768 2025-09-04 21:45:25 +08:00
Vanessa
7ae90058c3 🎨 https://github.com/siyuan-note/siyuan/issues/15771 2025-09-04 20:48:40 +08:00
Daniel
fdfd453e2b
🎨 https://github.com/siyuan-note/siyuan/issues/15748 2025-09-04 19:53:53 +08:00
Vanessa
0aa5624495 Merge remote-tracking branch 'origin/dev' into dev 2025-09-04 19:48:31 +08:00
Vanessa
0b3cef8964 🎨 https://github.com/siyuan-note/siyuan/issues/15748 2025-09-04 19:48:18 +08:00
Daniel
2c5d4d47a4
🎨 https://github.com/siyuan-note/siyuan/issues/15749 2025-09-04 19:38:49 +08:00
Vanessa
3379d29e67 Merge remote-tracking branch 'origin/dev' into dev 2025-09-04 18:24:04 +08:00
Vanessa
ba95f45b92 🎨 https://github.com/siyuan-note/siyuan/issues/15751 2025-09-04 18:23:51 +08:00
Daniel
ed78e67af2
🎨 Clean code 2025-09-04 18:08:45 +08:00
Daniel
ba10d96a10
Revert "🎨 Add tags to the database when binding blocks to the database https://github.com/siyuan-note/siyuan/issues/15757"
This reverts commit 4d8bc1672c.
2025-09-04 18:00:47 +08:00
Daniel
4d8bc1672c
🎨 Add tags to the database when binding blocks to the database https://github.com/siyuan-note/siyuan/issues/15757 2025-09-04 17:43:18 +08:00
Vanessa
e91a37a98b 🎨 https://github.com/siyuan-note/siyuan/issues/15760 2025-09-04 16:38:07 +08:00
Vanessa
f6bd240a85 Merge remote-tracking branch 'origin/dev' into dev 2025-09-04 16:31:24 +08:00
Vanessa
c08f88156f 🎨 https://github.com/siyuan-note/siyuan/issues/15750 2025-09-04 16:31:12 +08:00
Daniel
74826fc0ce
🎨 Improve database performance https://github.com/siyuan-note/siyuan/issues/15764 2025-09-04 16:17:39 +08:00
Daniel
e1bb9874be
🎨 Clean code 2025-09-04 16:15:03 +08:00
Daniel
2b85cb1b6c
🎨 Improve database performance https://github.com/siyuan-note/siyuan/issues/15764 2025-09-04 16:14:38 +08:00
Daniel
cd8c3a41e6
🎨 Clean code 2025-09-04 15:40:23 +08:00
Jeffrey Chen
bdace41d97
📝 Improve User Guide (#15767)
https://github.com/siyuan-note/siyuan/issues/14430
2025-09-04 15:40:06 +08:00
Vanessa
ea2294e901 🎨 https://github.com/siyuan-note/siyuan/issues/15761 2025-09-04 12:11:22 +08:00
Vanessa
868c9d980a Merge remote-tracking branch 'origin/dev' into dev 2025-09-04 10:30:18 +08:00
Vanessa
2d53c81026 Merge remote-tracking branch 'origin/dev' into dev 2025-09-04 10:30:06 +08:00
Daniel
6ff4439be3
🧑‍💻 Add field disabledInPublish to the marketplace package metadata to indicate whether it is disabled in the publishing service https://github.com/siyuan-note/siyuan/issues/11730 2025-09-04 10:29:58 +08:00
Vanessa
d47a8ffe02 🎨 https://github.com/siyuan-note/siyuan/issues/15639 2025-09-04 10:29:54 +08:00
Daniel
9410a70a2b
🎨 Add marketplace package config item minAppVersion https://github.com/siyuan-note/siyuan/issues/8330 2025-09-04 10:22:57 +08:00
Daniel
3c3f34442f
🎨 Improve bazaar package 2025-09-04 10:14:41 +08:00
Daniel
9dc6f56bff
🎨 Improve bazaar package 2025-09-04 10:14:21 +08:00
Vanessa
22fdaa71ef 🎨 https://github.com/siyuan-note/siyuan/issues/15759 2025-09-03 23:44:04 +08:00
Daniel
fd7dba5ed4
🎨 Update text https://github.com/siyuan-note/siyuan/issues/15759 2025-09-03 23:26:43 +08:00
Daniel
d6a33c8c02
⬆️ Upgrade kernel deps 2025-09-03 22:10:26 +08:00
Daniel
6f2b8e47ae
⬆️ Upgrade lute 2025-09-03 21:50:57 +08:00
Vanessa
aa47a93501 Merge remote-tracking branch 'origin/dev' into dev 2025-09-03 21:36:30 +08:00
Vanessa
0b33edd213 🐛 https://github.com/siyuan-note/siyuan/issues/15741 2025-09-03 21:36:17 +08:00
Daniel
fe3ee14417
🎨 After dragging database entries across groups, groups in other views need to be updated https://github.com/siyuan-note/siyuan/issues/15755 2025-09-03 21:30:50 +08:00
Daniel
543ea20686
⬆️ Upgrade lute 2025-09-03 21:15:50 +08:00
Vanessa
f3358cc8b6 🐛 https://github.com/siyuan-note/siyuan/issues/15756 2025-09-03 21:12:56 +08:00
Vanessa
356356d888 🎨 https://github.com/siyuan-note/siyuan/issues/15226 2025-09-03 20:49:12 +08:00
Vanessa
78a7491173 Merge remote-tracking branch 'origin/dev' into dev 2025-09-03 18:28:26 +08:00
Vanessa
042768550d 🎨 https://github.com/siyuan-note/siyuan/issues/15699 2025-09-03 18:26:53 +08:00
Daniel
cfb976eb89
🐛 PDF files with too long file names cannot generate annotated images https://github.com/siyuan-note/siyuan/issues/15739 https://github.com/siyuan-note/siyuan/issues/10666 2025-09-03 17:37:27 +08:00
Jeffrey Chen
1e95b68df6
📝 Improve User Guide (#15753)
fix https://github.com/siyuan-note/siyuan/issues/14983
2025-09-03 16:40:29 +08:00
Daniel
f35a7f8892
🐛 PDF files with too long file names cannot generate annotated images https://github.com/siyuan-note/siyuan/issues/15739 https://github.com/siyuan-note/siyuan/issues/10666 2025-09-03 11:54:42 +08:00
Daniel
2f64492ee7
⬆️ Upgrade lute 2025-09-03 11:54:42 +08:00
Vanessa
125d18a0e1 🎨 https://github.com/siyuan-note/siyuan/issues/15699 1&3 2025-09-03 11:41:55 +08:00
Vanessa
2738b9adb0 🐛 https://github.com/siyuan-note/siyuan/issues/15742 2025-09-03 10:19:04 +08:00
Vanessa
d8bb794437 Merge remote-tracking branch 'origin/dev' into dev 2025-09-03 09:41:54 +08:00
Vanessa
91626c8fb5 🎨 https://github.com/siyuan-note/siyuan/issues/15639 2025-09-03 09:41:42 +08:00
Daniel
a5d268665d
🎨 Improve database date field filtering https://github.com/siyuan-note/siyuan/issues/15744 2025-09-03 08:56:30 +08:00
Daniel
a26c72d293
🎨 Database rollup field filtering rules support "Any", "All", and "None" https://github.com/siyuan-note/siyuan/issues/15609 2025-09-02 22:04:29 +08:00
Daniel
8cefe5ce47
♻️ Improve cache ds 2025-09-02 18:59:53 +08:00
Daniel
04c46b3a56
🎨 Improve database rollup field filtering https://github.com/siyuan-note/siyuan/issues/15740 2025-09-02 18:37:42 +08:00
Vanessa
7b2e48d54e 🎨 https://github.com/siyuan-note/siyuan/issues/15740 2025-09-02 18:36:38 +08:00
Vanessa
8d2e3bfd20 🎨 https://github.com/siyuan-note/siyuan/issues/15737 2025-09-02 17:16:56 +08:00
Vanessa
7f1f354d4e 🎨 https://github.com/siyuan-note/siyuan/issues/15728 2025-09-02 17:01:35 +08:00
Daniel
b699675b97
🔖 Release v3.3.1
Some checks failed
Release Docker Image / build (push) Has been cancelled
2025-09-02 09:31:45 +08:00
Daniel
74dd8c631c
🔖 Release v3.3.1 2025-09-02 09:24:41 +08:00
Daniel
deb7c5c4fe
🎨 Clean code 2025-09-02 09:24:31 +08:00
Vanessa
216308a511 Merge remote-tracking branch 'origin/dev' into dev 2025-09-01 22:43:45 +08:00
Vanessa
4b29bbcaf8 🎨 https://github.com/siyuan-note/siyuan/issues/15736 2025-09-01 22:43:31 +08:00
Daniel
56085829dd
📝 Update changelogs 2025-09-01 22:26:54 +08:00
Daniel
c202671085
📝 Move changelogs v3.2.x 2025-09-01 22:26:53 +08:00
Vanessa
ba2f7272ca Merge remote-tracking branch 'origin/dev' into dev 2025-09-01 22:19:37 +08:00
Vanessa
b371583899 🎨 https://github.com/siyuan-note/siyuan/pull/15610 2025-09-01 22:19:15 +08:00
Daniel
2de55d2e63
🎨 Improve database template field grouping https://github.com/siyuan-note/siyuan/issues/15687 2025-09-01 17:36:32 +08:00
Daniel
afdd605dd1
🎨 Improve database rollup template rendering https://github.com/siyuan-note/siyuan/issues/15722 2025-09-01 17:10:36 +08:00
Vanessa
aeb478a6b8 Merge remote-tracking branch 'origin/dev' into dev 2025-09-01 12:47:27 +08:00
Vanessa
5c60e8d567 🎨 反链面板移除元素后,文档分屏且为空会重复添加空块 2025-09-01 12:47:14 +08:00
Daniel
7952fec7cb
🎨 Improve database rollup template rendering https://github.com/siyuan-note/siyuan/issues/15722 2025-09-01 12:44:36 +08:00
Daniel
50956851c8
🎨 Improve av 2025-09-01 12:15:40 +08:00
Vanessa
e015f72945 https://github.com/siyuan-note/siyuan/issues/15734 2025-09-01 11:13:53 +08:00
Vanessa
22d34c755b Merge remote-tracking branch 'origin/dev' into dev 2025-09-01 11:12:01 +08:00
Vanessa
8a9a8e4548 🐛 https://github.com/siyuan-note/siyuan/issues/14269 2025-09-01 11:10:16 +08:00
Daniel
16d5055b09
🎨 Improve av 2025-09-01 10:36:42 +08:00
Daniel
1cac4ae55b
🎨 Block ref search and global search results display reference counts https://github.com/siyuan-note/siyuan/issues/15721 2025-08-31 13:07:50 +08:00
Vanessa
b8bcf76f75 🎨 https://github.com/siyuan-note/siyuan/pull/15693 2025-08-31 11:47:04 +08:00
Vanessa
be58df4d45 🚨 2025-08-31 11:44:12 +08:00
Vanessa
3404395cfa 🚨 2025-08-31 11:42:49 +08:00
Achuan-2
c8a3ec52d7
dynamic icon use current date as default (#15693)
*  dynamic icon use current date  as default

* 💄add dynamicIconDateEmptyInfo
2025-08-31 11:41:03 +08:00
Vanessa
698586bd4d 🎨 https://github.com/siyuan-note/siyuan/issues/14269 2025-08-31 11:38:30 +08:00
Daniel
c287dd080b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15708#issuecomment-3239639795 2025-08-31 10:44:56 +08:00
Daniel
4744429550
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15708#issuecomment-3239370576 2025-08-31 08:44:38 +08:00
Daniel
ef0e29a6fd
🎨 Improve av 2025-08-31 08:44:26 +08:00
Vanessa
cd65fa9d44 Merge remote-tracking branch 'origin/dev' into dev 2025-08-31 01:07:27 +08:00
Vanessa
d1f95b7df5 🎨 https://github.com/siyuan-note/siyuan/issues/14269 2025-08-31 01:07:13 +08:00
Daniel
74304e9cba
🎨 Block ref search and global search results display reference counts https://github.com/siyuan-note/siyuan/issues/15721 2025-08-30 21:09:16 +08:00
Daniel
ab66716178
🧑‍💻 Add internal kernel API /api/av/getAttributeViewBoundBlockIDs and getAttributeViewItemIDs https://github.com/siyuan-note/siyuan/issues/15708 2025-08-30 19:09:09 +08:00
Daniel
3c8c096d83
🐛 When searching for document tags, keyword highlighting will have extra pound signs https://github.com/siyuan-note/siyuan/issues/15690 2025-08-30 18:41:56 +08:00
Daniel
e4b2ffb188
🎨 Improve av 2025-08-30 17:38:09 +08:00
Daniel
7a2e5782d8
🐛 The update time of the database checkbox field keeps changing https://github.com/siyuan-note/siyuan/issues/15707 2025-08-30 17:26:23 +08:00
Daniel
b51f283e35
🐛 The update time of the database checkbox field keeps changing https://github.com/siyuan-note/siyuan/issues/15707 2025-08-30 17:26:23 +08:00
Jeffrey Chen
d60553983a
📝 Improve the confirmation popup text when deleting bidirectional relation fields in the database (#15720)
fix https://github.com/siyuan-note/siyuan/issues/15702
2025-08-30 09:36:03 +08:00
Daniel
ee34905f13
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15708 2025-08-29 22:21:24 +08:00
Daniel
0c295a9177
♻️ Upgrade to Electron v37.4.0 https://github.com/siyuan-note/siyuan/issues/15704 2025-08-29 22:17:58 +08:00
Daniel
6c1156afc8
🎨 Improve document tree custom sorting stability when creating a notebook or doc https://github.com/siyuan-note/siyuan/issues/15716 2025-08-29 16:20:53 +08:00
Daniel
c17a09d37e
🎨 Clean code 2025-08-29 16:00:39 +08:00
Daniel
a154ead980
🎨 Improve synchronization of database bound blocks when list blocks change https://github.com/siyuan-note/siyuan/issues/15697 2025-08-29 11:12:47 +08:00
Jeffrey Chen
15f116f344
💄 The height of the dividing line adjusts with font size (#15701) 2025-08-29 10:50:34 +08:00
Daniel
1c57d0b696
🐛 The folded state of the block under the folded heading is incorrect in some cases https://github.com/siyuan-note/siyuan/issues/15717 2025-08-29 10:47:29 +08:00
Vanessa
0a079a39ca 🎨 https://github.com/siyuan-note/siyuan/pull/15714 2025-08-29 10:45:36 +08:00
Jeffrey Chen
bf722a142a
🎨 The title of the plugin settings dialog displays the plugin name (#15714) 2025-08-29 10:43:24 +08:00
Vanessa
3ba4985126 Merge remote-tracking branch 'origin/dev' into dev 2025-08-28 17:47:16 +08:00
Vanessa
c4770d4f88 🎨 https://github.com/siyuan-note/siyuan/pull/15610 2025-08-28 17:47:01 +08:00
Daniel
4fd57efd68
🐛 When "Default fill created time" is enabled for database date fields, the automatically filled time value is incorrect https://github.com/siyuan-note/siyuan/issues/15684 2025-08-28 17:02:55 +08:00
Jeffrey Chen
f0f15673f0
Add plugin event bus code-languages-prepare and code-languages-change (#15610) 2025-08-28 16:37:54 +08:00
Yingyi / 颖逸
ff4d215f78
🎨 Add cookie-based auth in publish proxy (#15692)
* chore(publish-auth): Add TODO for cookie-based auth in publish proxy

A TODO comment was added to indicate future implementation of authentication using cookies in the PublishServiceTransport RoundTrip method.

* 🎨 Add session-based authentication for publish proxy

Introduces session management using cookies for the publish reverse proxy server. Adds session ID generation, storage, and validation in kernel/model/auth.go, and updates the proxy transport to check for valid sessions before falling back to basic authentication. Sets a session cookie upon successful basic auth login.

* 🐛 Fixed the issue of repeatedly setting cookies

* 🎨 Dynamically remove invalid session IDs

* ♻️ Revert changes in pnpm-lock.yaml
2025-08-28 16:20:12 +08:00
Daniel
2a4adf089f
🐛 The update time of the database checkbox field keeps changing https://github.com/siyuan-note/siyuan/issues/15707 2025-08-28 16:18:35 +08:00
Daniel
810ea23bfd
📝 New template functions ISOYear, ISOMonth and ISOWeekDate https://github.com/siyuan-note/siyuan/issues/15679 2025-08-28 15:54:31 +08:00
Daniel
0f087bf1e4
🐛 Database relative date filtering is incorrect https://github.com/siyuan-note/siyuan/issues/15710 2025-08-28 15:35:09 +08:00
Daniel
c2ef8de766
⬆️ Upgrade lute 2025-08-28 11:10:38 +08:00
Daniel
ca7e4ef503
🎨 New template functions ISOYear, ISOMonth and ISOWeekDate https://github.com/siyuan-note/siyuan/issues/15679 2025-08-28 09:21:18 +08:00
Achuan-2
029a6bd78d
🎨 Improve template syntax highlight (#15694)
* Improve Template Syntax highlight

- 去除缩进识别为代码块高亮规则
- 内置函数新增ISOYear和ISOMonth

* Add ISOWeekDate to built-in functions regex
2025-08-28 00:36:22 +08:00
Daniel
85a894a74d
⬆️ Upgrade lute 2025-08-27 22:07:36 +08:00
Daniel
138d6f57ee
🐛 Database rollup template calculations are incorrect https://github.com/siyuan-note/siyuan/issues/15695 2025-08-27 20:15:48 +08:00
Vanessa
23ed5c8627 Merge remote-tracking branch 'origin/dev' into dev 2025-08-27 16:59:49 +08:00
Daniel
6e985a5013
🎨 New template functions ISOYear, ISOMonth and ISOWeekDate https://github.com/siyuan-note/siyuan/issues/15679 2025-08-27 16:51:25 +08:00
Vanessa
42633061fc 🎨 https://github.com/siyuan-note/siyuan/issues/15682 2025-08-27 12:03:32 +08:00
Daniel
174a7befbe
🎨 Support opening assets through other apps on HarmonyOS NEXT https://github.com/siyuan-note/siyuan/issues/15691 2025-08-27 11:25:20 +08:00
Daniel
1bc68efd3a
🎨 New template functions ISOYear and ISOMonth https://github.com/siyuan-note/siyuan/issues/15679 2025-08-27 10:17:50 +08:00
Daniel
dcefed26eb
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-26 22:41:27 +08:00
Daniel
d684bb41b1
🎨 New template functions ISOYear and ISOMonth https://github.com/siyuan-note/siyuan/issues/15679 2025-08-26 21:16:34 +08:00
Daniel
d445163b2f
🎨 Clean code 2025-08-26 21:16:15 +08:00
Achuan-2
b5d47b9600
♻️ Refactor week number calculation to include ISO year (#15680) 2025-08-26 21:04:29 +08:00
Vanessa
2570a971a2 🚨
Some checks failed
Release Docker Image / build (push) Has been cancelled
2025-08-26 11:07:19 +08:00
Daniel
a4f025a2c2
🔖 Release v3.3.0 2025-08-26 11:05:10 +08:00
Vanessa
4d07212fee 🚨 2025-08-26 11:04:40 +08:00
Vanessa
877e2c4334 🎨 https://github.com/siyuan-note/siyuan/issues/10659 2025-08-26 11:03:21 +08:00
Vanessa
1017610ec8 Merge remote-tracking branch 'origin/dev' into dev 2025-08-26 10:47:21 +08:00
Vanessa
92447342b6 🎨 https://github.com/siyuan-note/siyuan/issues/10659 2025-08-26 10:47:08 +08:00
Daniel
7b995fd16c
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-26 10:46:41 +08:00
Daniel
b332574217
🎨 Improve av 2025-08-26 10:38:26 +08:00
Daniel
3182f7abb8
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-26 10:01:22 +08:00
Vanessa
ca9427cc82 🎨 https://github.com/siyuan-note/siyuan/issues/10659 2025-08-26 00:51:02 +08:00
Vanessa
e775d0b5f8 🎨 https://github.com/siyuan-note/siyuan/issues/10659 2025-08-26 00:36:07 +08:00
Vanessa
2535a64ff1 Merge remote-tracking branch 'origin/dev' into dev 2025-08-25 22:50:40 +08:00
Vanessa
b2ad366da3 🎨 https://github.com/siyuan-note/siyuan/issues/10659 2025-08-25 22:50:19 +08:00
Daniel
bc08148dab
📝 Update changelogs 2025-08-25 17:59:16 +08:00
Vanessa
79a7f4e8e9 🐛 数据库分页 2025-08-25 17:35:36 +08:00
Vanessa
838f3977db Merge remote-tracking branch 'origin/dev' into dev 2025-08-25 17:21:32 +08:00
Vanessa
210e44ec12 🎨 https://github.com/siyuan-note/siyuan/issues/15669 2025-08-25 17:21:19 +08:00
Daniel
0a729d7c1b
🧑‍💻 Improve kernel API /api/filetree/moveDocsByID https://github.com/siyuan-note/siyuan/issues/15616 2025-08-25 16:33:38 +08:00
Daniel
29ac895046
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 16:24:16 +08:00
Daniel
55541f62b0
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 16:17:52 +08:00
Daniel
8ccb1e4143
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 16:13:43 +08:00
Daniel
662aaa6458
🎨 https://github.com/siyuan-note/siyuan/issues/15669 2025-08-25 16:12:23 +08:00
Daniel
86018c5f49
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 11:51:28 +08:00
Daniel
e4f0e02177
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 11:39:22 +08:00
Daniel
34360fb9e3
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 11:23:42 +08:00
Daniel
8895613f8b
🎨 https://github.com/siyuan-note/siyuan/issues/15669 2025-08-25 10:58:45 +08:00
Daniel
d0f350d215
🎨 https://github.com/siyuan-note/siyuan/issues/15669 2025-08-25 10:43:50 +08:00
Daniel
7e6752a8fb
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 10:40:28 +08:00
Daniel
1f3c3a53b4
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 10:40:27 +08:00
Daniel
f92074f386
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 10:40:26 +08:00
Daniel
58585356d6
🎨 Manually optimize the data index to reduce space usage and improve performance https://github.com/siyuan-note/siyuan/issues/15663 2025-08-25 10:40:25 +08:00
Vanessa
568cdb2f1b 🎨 https://github.com/siyuan-note/siyuan/issues/15669 2025-08-25 10:39:11 +08:00
Vanessa
7c23daab06 💄 https://github.com/siyuan-note/siyuan/issues/15451 2025-08-24 23:12:19 +08:00
Vanessa
e2d9010fca Revert "🎨 https://github.com/siyuan-note/siyuan/issues/15451"
This reverts commit 72c98874
2025-08-24 22:54:54 +08:00
Vanessa
39f965dca0 🎨 https://github.com/siyuan-note/siyuan/issues/15451 2025-08-24 15:46:45 +08:00
Vanessa
b3ea067792 Merge remote-tracking branch 'origin/dev' into dev 2025-08-24 15:44:39 +08:00
Vanessa
72c9887439 🎨 https://github.com/siyuan-note/siyuan/issues/15451 2025-08-24 15:44:25 +08:00
Daniel
a26dc51b21
🎨 Improve av 2025-08-24 15:27:04 +08:00
Daniel
202ccfa5cf
🎨 Limit the database title to 512 characters https://github.com/siyuan-note/siyuan/issues/15459 2025-08-24 15:16:10 +08:00
Daniel
014ecca54c
🎨 Alert users when .sy file or database .json exceed 8MB https://github.com/siyuan-note/siyuan/issues/15451 2025-08-24 11:39:31 +08:00
Daniel
af3220f241
🎨 Limit the database title to 512 characters https://github.com/siyuan-note/siyuan/issues/15459 2025-08-24 11:30:04 +08:00
Vanessa
4a5237dbd0 🎨 https://github.com/siyuan-note/siyuan/issues/15670 2025-08-24 11:28:15 +08:00
Vanessa
9457d55d14 Merge remote-tracking branch 'origin/dev' into dev 2025-08-24 11:18:11 +08:00
Vanessa
8889235bea 🎨 https://github.com/siyuan-note/siyuan/issues/15670 2025-08-24 11:17:57 +08:00
Daniel
eb13c34fe5
🎨 Alert users when .sy file or database .json exceed 8MB https://github.com/siyuan-note/siyuan/issues/15451 2025-08-24 10:50:03 +08:00
Vanessa
f3cc641005 🎨 https://github.com/siyuan-note/siyuan/issues/15669 2025-08-24 10:46:16 +08:00
Daniel
be5bf8978d
🎨 Improve av 2025-08-24 10:27:47 +08:00
Vanessa
7300a4849c 🎨 https://github.com/siyuan-note/siyuan/issues/15664 2025-08-24 10:14:58 +08:00
Vanessa
7206fc107d 🎨 https://github.com/siyuan-note/siyuan/issues/15664 2025-08-23 23:05:56 +08:00
Vanessa
b715625d89 Merge remote-tracking branch 'origin/dev' into dev 2025-08-23 22:28:04 +08:00
Vanessa
28067deffa 🎨 https://github.com/siyuan-note/siyuan/issues/15595 2025-08-23 22:27:42 +08:00
Daniel
ef5236e0b1
🎨 Improve av 2025-08-23 22:16:05 +08:00
Vanessa
161dd7eb2a Merge remote-tracking branch 'origin/dev' into dev 2025-08-23 22:09:41 +08:00
Vanessa
04fc8cfa97 🎨 https://github.com/siyuan-note/siyuan/issues/15668 2025-08-23 22:09:21 +08:00
Daniel
e98bb0a2d4
🎨 https://github.com/siyuan-note/siyuan/issues/15666 2025-08-23 21:54:27 +08:00
Daniel
1503363a7c
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15661 2025-08-23 21:49:57 +08:00
Daniel
17924377ec
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15661 2025-08-23 21:43:05 +08:00
Vanessa
eb578a3d9d Merge remote-tracking branch 'origin/dev' into dev 2025-08-23 21:03:19 +08:00
Vanessa
3fafe0a1b6 🎨 https://github.com/siyuan-note/siyuan/issues/15667 2025-08-23 21:03:02 +08:00
Daniel
a5ca8efcae
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15665 2025-08-23 20:09:16 +08:00
Daniel
77c1aa49b3
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15665 2025-08-23 19:57:40 +08:00
Daniel
e7eb62e660
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15665 2025-08-23 19:53:38 +08:00
Daniel
fb9f0f9a35
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15659 2025-08-23 19:42:39 +08:00
Daniel
91a9b27789
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15528 2025-08-23 18:48:54 +08:00
Daniel
9eec8510b7
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15528 2025-08-23 18:44:26 +08:00
Vanessa
6b8bd6e8f2 Merge remote-tracking branch 'origin/dev' into dev 2025-08-23 18:36:12 +08:00
Vanessa
7d9c120a86 🎨 https://github.com/siyuan-note/siyuan/issues/15603 2025-08-23 18:35:58 +08:00
Daniel
920291d52b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15659 2025-08-23 18:31:54 +08:00
Vanessa
39e2b7adf6 Merge remote-tracking branch 'origin/dev' into dev 2025-08-23 18:18:27 +08:00
Vanessa
e91b8e97f7 🎨 https://github.com/siyuan-note/siyuan/issues/15528 2025-08-23 18:18:14 +08:00
Daniel
d3e86ffcaa
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15659 2025-08-23 18:08:07 +08:00
Daniel
ef643e60d7
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15661 2025-08-23 17:58:52 +08:00
Daniel
1b3e1b4efe
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15661 2025-08-23 17:45:26 +08:00
Daniel
0a680d7d81
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15659 2025-08-23 17:34:39 +08:00
Daniel
8c9efebbe3
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15659 2025-08-23 17:34:20 +08:00
Daniel
73dce6c5c4
🧑‍💻 /api/block/getBlockKramdown link/image URLs are no longer encoded with spaces https://github.com/siyuan-note/siyuan/issues/15611 2025-08-23 17:17:11 +08:00
Daniel
fefb674fc0
🧑‍💻 /api/block/getBlockKramdown link/image URLs are no longer encoded with spaces https://github.com/siyuan-note/siyuan/issues/15611 2025-08-23 17:16:47 +08:00
Daniel
94f8fc5b71
🎨 Improve av 2025-08-23 16:52:10 +08:00
Vanessa
52fe742a8c Merge remote-tracking branch 'origin/dev' into dev 2025-08-23 12:17:57 +08:00
Vanessa
a475a77a3b 🎨 https://github.com/siyuan-note/siyuan/issues/15180 2025-08-23 12:17:43 +08:00
Daniel
005ae241e9
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-23 11:55:56 +08:00
Daniel
8aa8ad65f8
🎨 The database rollup field supports using the updated/created field https://github.com/siyuan-note/siyuan/issues/15662 2025-08-23 11:24:53 +08:00
Daniel
c521a0f985
🎨 Improve parsing <img> tags when importing https://github.com/siyuan-note/siyuan/issues/15638 2025-08-23 11:24:53 +08:00
Jeffrey Chen
cd7734ba91
🎨 Improve protyle slash (#15648)
fix https://github.com/siyuan-note/siyuan/issues/15647
2025-08-23 11:23:34 +08:00
Vanessa
1e5f514225 🎨 https://github.com/siyuan-note/siyuan/issues/15662 2025-08-23 11:19:11 +08:00
Vanessa
9d4ed40acd Merge remote-tracking branch 'origin/dev' into dev 2025-08-23 10:25:43 +08:00
Vanessa
ab32bb9027 🎨 属性面板数据库关联设置 2025-08-23 10:25:31 +08:00
Jeffrey Chen
9993c2db4c
📝 Improve text (#15613) 2025-08-23 09:57:54 +08:00
Daniel
aa9e6fdf4c
🎨 The database rollup field supports using the updated/created field https://github.com/siyuan-note/siyuan/issues/15662 2025-08-23 09:53:16 +08:00
Daniel
c2075e6387
🎨 The database rollup field supports using the updated/created field https://github.com/siyuan-note/siyuan/issues/15662 2025-08-22 21:45:15 +08:00
Daniel
9bb6f4d134
🎨 The database rollup field supports using the updated/created field https://github.com/siyuan-note/siyuan/issues/15662 2025-08-22 21:30:59 +08:00
Daniel
ee95f9bf6f
🎨 https://github.com/siyuan-note/siyuan/issues/15662 2025-08-22 21:00:43 +08:00
Daniel
eea13b713d
🎨 https://github.com/siyuan-note/siyuan/issues/15661 2025-08-22 20:35:33 +08:00
Vanessa
4beccf5b93 Merge remote-tracking branch 'origin/dev' into dev 2025-08-22 19:32:50 +08:00
Vanessa
ddec6c0820 🎨 https://github.com/siyuan-note/siyuan/issues/15528 2025-08-22 19:32:33 +08:00
Daniel
73300c8408
🎨 https://github.com/siyuan-note/siyuan/issues/15660 2025-08-22 19:25:12 +08:00
Daniel
b14f057a76
🎨 https://github.com/siyuan-note/siyuan/issues/15659 2025-08-22 19:10:52 +08:00
Vanessa
8a6922b56f 🎨 https://github.com/siyuan-note/siyuan/issues/15614 2025-08-22 19:05:17 +08:00
Vanessa
c92240a085 🎨 https://github.com/siyuan-note/siyuan/issues/15658 2025-08-22 18:11:12 +08:00
Vanessa
691ef04f62 🎨 https://github.com/siyuan-note/siyuan/issues/15656 2025-08-22 17:55:17 +08:00
Daniel
53c41561c8
🎨 https://github.com/siyuan-note/siyuan/issues/15656 2025-08-22 17:31:18 +08:00
Vanessa
6007cf00b0 Merge remote-tracking branch 'origin/dev' into dev 2025-08-22 17:30:08 +08:00
Vanessa
00d80270a1 🎨 https://github.com/siyuan-note/siyuan/issues/15657 2025-08-22 17:29:52 +08:00
Daniel
ace97cbcf0
🎨 https://github.com/siyuan-note/siyuan/issues/15654 2025-08-22 16:53:33 +08:00
Vanessa
0db4daf183 Merge remote-tracking branch 'origin/dev' into dev 2025-08-22 16:37:24 +08:00
Vanessa
e08004c59e 🎨 https://github.com/siyuan-note/siyuan/issues/15649 2025-08-22 16:37:11 +08:00
Daniel
61d0e5a3d6
🐛 Incorrect results for database rollup field filtering https://github.com/siyuan-note/siyuan/issues/15608 2025-08-22 16:13:51 +08:00
Daniel
312be8a019
🐛 Incorrect results for database rollup field filtering https://github.com/siyuan-note/siyuan/issues/15608 2025-08-22 16:00:43 +08:00
Vanessa
fa7ec5ab95 🎨 https://github.com/siyuan-note/siyuan/issues/15649 2025-08-22 12:16:41 +08:00
Vanessa
365c1dfb19 Merge remote-tracking branch 'origin/dev' into dev 2025-08-22 12:00:42 +08:00
Vanessa
1d7a3abf28 🎨 https://github.com/siyuan-note/siyuan/issues/15652 2025-08-22 12:00:28 +08:00
Daniel
2058061bc3
⬆️ Upgrade lute 2025-08-22 12:00:11 +08:00
Vanessa
f4d11c59a2 Merge remote-tracking branch 'origin/dev' into dev 2025-08-22 11:43:47 +08:00
Vanessa
a857aaa11e 🎨 https://github.com/siyuan-note/siyuan/issues/15424 2025-08-22 11:43:31 +08:00
Daniel
bd7e547ac0
♻️ Upgrade to Electron v37.3.1 https://github.com/siyuan-note/siyuan/issues/15410 2025-08-22 11:29:30 +08:00
Daniel
cd2b131dc9
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15653 2025-08-22 11:17:57 +08:00
Daniel
76266cac87
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15590 2025-08-22 11:06:54 +08:00
Daniel
980cf25745
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15590 2025-08-22 11:05:12 +08:00
Vanessa
85800b8085 🎨 https://github.com/siyuan-note/siyuan/issues/15424 2025-08-22 10:59:00 +08:00
Vanessa
be7ac73904 🎨 https://github.com/siyuan-note/siyuan/issues/15424 2025-08-22 10:57:53 +08:00
Daniel
1ce39eb85c
⬆️ Upgrade lute 2025-08-22 10:48:35 +08:00
Vanessa
1fa16ccb86 Merge remote-tracking branch 'origin/dev' into dev 2025-08-22 10:46:28 +08:00
Vanessa
bc27681e38 🎨 https://github.com/siyuan-note/siyuan/issues/15180 2025-08-22 10:46:14 +08:00
Daniel
5077ed3b56
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15650 2025-08-22 00:48:15 +08:00
Daniel
4f073c85cd
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15650 2025-08-22 00:34:41 +08:00
Daniel
c2ac34942b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15650 2025-08-22 00:28:37 +08:00
Daniel
e3df9ab316
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15649 2025-08-22 00:16:28 +08:00
Daniel
b6b5b20daa
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15650 2025-08-22 00:07:54 +08:00
Daniel
83af400f65
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15643 2025-08-22 00:00:38 +08:00
Daniel
f8bccc2d9f
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15593 2025-08-21 23:31:10 +08:00
Daniel
f74283f2a3
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15593 2025-08-21 23:31:09 +08:00
Daniel
9d7e0625ae
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15593 2025-08-21 23:31:09 +08:00
Vanessa
0e8d07ac4d Merge remote-tracking branch 'origin/dev' into dev 2025-08-21 23:12:44 +08:00
Vanessa
45c53b7da6 🎨 https://github.com/siyuan-note/siyuan/issues/15629 2025-08-21 23:12:26 +08:00
Daniel
4598e3237b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15593 2025-08-21 22:25:41 +08:00
Daniel
35de72f64d
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15575 2025-08-21 22:02:19 +08:00
Daniel
4210dad5b0
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15603 2025-08-21 21:56:11 +08:00
Daniel
e451c1f60a
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15603 2025-08-21 21:50:34 +08:00
Daniel
65fd1fafc9
⬆️ Upgrade lute 2025-08-21 21:50:34 +08:00
Vanessa
540fe7cfde 🎨 https://github.com/siyuan-note/siyuan/issues/15455 2025-08-21 21:29:26 +08:00
Vanessa
19c5a9952e 🎨 https://github.com/siyuan-note/siyuan/issues/15455 2025-08-21 21:25:16 +08:00
Vanessa
38e7992e1a 🎨 https://github.com/siyuan-note/siyuan/issues/15455 2025-08-21 21:12:16 +08:00
Vanessa
2c811c06d3 🎨 https://github.com/siyuan-note/siyuan/issues/15180 2025-08-21 20:40:50 +08:00
Vanessa
aee4c64006 🎨 https://github.com/siyuan-note/siyuan/issues/15453 2025-08-21 20:33:56 +08:00
Vanessa
e35b203201 🎨 https://github.com/siyuan-note/siyuan/issues/15641 2025-08-21 20:28:35 +08:00
Vanessa
128b9d1f13 🎨 https://github.com/siyuan-note/siyuan/issues/15641 2025-08-21 20:27:51 +08:00
Vanessa
3bd7c92710 🎨 https://github.com/siyuan-note/siyuan/issues/15641 2025-08-21 20:25:10 +08:00
Vanessa
7a6cd95656 Merge remote-tracking branch 'origin/dev' into dev 2025-08-21 18:05:50 +08:00
Vanessa
b6df6b2cee 🎨 https://github.com/siyuan-note/siyuan/issues/15642 2025-08-21 18:05:38 +08:00
Daniel
4a0c4506e8
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15645 2025-08-21 18:02:07 +08:00
Daniel
bbc788cfa5
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15644 2025-08-21 17:55:18 +08:00
Daniel
2899e3851d
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15644 2025-08-21 15:27:10 +08:00
Daniel
e1fca0674d
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15590 2025-08-21 14:44:34 +08:00
Daniel
8c3837deaa
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15588 2025-08-21 14:10:40 +08:00
Vanessa
bf3023ec48 Merge remote-tracking branch 'origin/dev' into dev 2025-08-21 14:10:02 +08:00
Vanessa
d1dc88c422 🎨 https://github.com/siyuan-note/siyuan/issues/15594 2025-08-21 14:09:37 +08:00
Daniel
a7ab91d509
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15586 2025-08-21 13:52:08 +08:00
Daniel
d4cc17c1c0
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15589 2025-08-21 13:49:31 +08:00
Daniel
089080c818
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15587 2025-08-21 13:42:32 +08:00
Daniel
f97dab787b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15432 https://github.com/siyuan-note/siyuan/issues/15587 2025-08-21 13:42:21 +08:00
Daniel
9ee427d567
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15591 2025-08-21 13:31:22 +08:00
Daniel
30bde33dd2
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15591 2025-08-21 13:31:21 +08:00
Daniel
93580cc27f
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15592 2025-08-21 13:31:21 +08:00
Vanessa
e746093a0f Merge remote-tracking branch 'origin/dev' into dev 2025-08-21 13:19:35 +08:00
Vanessa
8b21b8fd03 🎨 https://github.com/siyuan-note/siyuan/issues/15641 2025-08-21 13:19:13 +08:00
Daniel
c7c7bdb950
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-21 12:01:12 +08:00
Daniel
6270d55fa3
🎨 Card view supports displaying field names https://github.com/siyuan-note/siyuan/issues/15180 2025-08-21 11:25:15 +08:00
Daniel
ed4cc1faf6
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15600 2025-08-21 11:19:53 +08:00
Daniel
7d91781e8c
🎨 Card view supports displaying field names https://github.com/siyuan-note/siyuan/issues/15180 2025-08-21 11:10:26 +08:00
Daniel
599cf0cf46
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15565 2025-08-21 10:55:51 +08:00
Vanessa
6803c6483e Merge remote-tracking branch 'origin/dev' into dev 2025-08-21 10:50:56 +08:00
Vanessa
557f4866d5 🎨 https://github.com/siyuan-note/siyuan/issues/15565 2025-08-21 10:50:42 +08:00
Daniel
916c00e714
🎨 The database template field supports using other template fields https://github.com/siyuan-note/siyuan/issues/15517 2025-08-21 09:55:11 +08:00
Daniel
8934856d75
🎨 Parse <img> tags when pasting https://github.com/siyuan-note/siyuan/issues/15464 2025-08-20 19:36:08 +08:00
Daniel
752457b888
🎨 The database template field supports using other template fields https://github.com/siyuan-note/siyuan/issues/15517 2025-08-20 19:34:19 +08:00
Daniel
aabb85d895
🎨 Parse <img> tags when pasting https://github.com/siyuan-note/siyuan/issues/15464 2025-08-20 19:02:55 +08:00
Daniel
6e6522d56a
🎨 The database template field supports using other template fields https://github.com/siyuan-note/siyuan/issues/15517 2025-08-20 18:18:32 +08:00
Daniel
f0f5b6a824
🎨 Card view supports displaying field names https://github.com/siyuan-note/siyuan/issues/15180 2025-08-20 17:44:03 +08:00
Vanessa
1c3ebf7f75 🎨 https://github.com/siyuan-note/siyuan/issues/15453 2025-08-20 16:58:10 +08:00
Vanessa
516d9aa52a 🎨 https://github.com/siyuan-note/siyuan/issues/15415 2025-08-20 12:09:37 +08:00
Vanessa
e7c90f4709 🎨 https://github.com/siyuan-note/siyuan/issues/15415 2025-08-20 12:08:47 +08:00
Vanessa
ca59b5f64c 🎨 https://github.com/siyuan-note/siyuan/issues/15574 2025-08-20 10:54:26 +08:00
Vanessa
6e590f2733 🎨 https://github.com/siyuan-note/siyuan/issues/15565 2025-08-19 21:11:50 +08:00
Vanessa
462469c490 🎨 https://github.com/siyuan-note/siyuan/issues/15573 2025-08-19 11:28:00 +08:00
Vanessa
dc90d05086 🎨 https://github.com/siyuan-note/siyuan/issues/15576 2025-08-19 11:20:30 +08:00
Vanessa
6564f0e138 Merge remote-tracking branch 'origin/dev' into dev 2025-08-15 11:28:15 +08:00
Vanessa
4cd439b771 🎨 https://github.com/siyuan-note/siyuan/issues/15578 2025-08-15 11:28:02 +08:00
Daniel
05f48e93d1
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15581 2025-08-15 11:22:45 +08:00
Vanessa
4ec53db203 🎨 https://github.com/siyuan-note/siyuan/issues/15580 2025-08-15 11:17:41 +08:00
Vanessa
ae9f936f81 Merge remote-tracking branch 'origin/dev' into dev 2025-08-15 11:09:06 +08:00
Vanessa
5a6b764ed4 🎨 https://github.com/siyuan-note/siyuan/issues/15566 2025-08-15 11:08:53 +08:00
Daniel
6a814abeb9
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15579 2025-08-15 11:03:51 +08:00
Vanessa
eb7066ff3e 🎨 https://github.com/siyuan-note/siyuan/issues/15570 2025-08-14 17:10:08 +08:00
Vanessa
3dcda6b2e2 Merge remote-tracking branch 'origin/dev' into dev 2025-08-14 16:16:21 +08:00
Vanessa
91b12ef67f 🎨 https://github.com/siyuan-note/siyuan/issues/15561 2025-08-14 16:16:07 +08:00
Daniel
ae54b3edc0
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15572 2025-08-14 15:50:18 +08:00
Daniel
69737d6c4b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15561#issuecomment-3184746195 2025-08-14 12:42:56 +08:00
Vanessa
2b3405fcca 🎨 https://github.com/siyuan-note/siyuan/issues/15561 2025-08-14 12:13:21 +08:00
Vanessa
1a6b80b5af 🎨 https://github.com/siyuan-note/siyuan/issues/12384 2025-08-14 12:03:48 +08:00
Vanessa
2ddff2a5d3 🎨 https://github.com/siyuan-note/siyuan/issues/12384 2025-08-14 11:57:24 +08:00
Vanessa
1c6538bf97 🎨 https://github.com/siyuan-note/siyuan/issues/15553 2025-08-14 11:41:56 +08:00
Vanessa
f084f3d34f Merge remote-tracking branch 'origin/dev' into dev 2025-08-14 11:22:01 +08:00
Vanessa
1b9b7e1c83 🎨 https://github.com/siyuan-note/siyuan/issues/15553 2025-08-14 11:21:48 +08:00
Daniel
699afec920
🎨 The database template field supports using other template fields https://github.com/siyuan-note/siyuan/issues/15517 2025-08-14 11:19:47 +08:00
Vanessa
dd3f5cfacf Merge remote-tracking branch 'origin/dev' into dev 2025-08-14 10:08:43 +08:00
Vanessa
f5468fead9 🎨 https://github.com/siyuan-note/siyuan/issues/15557 2025-08-14 10:08:30 +08:00
Daniel
57ac3a6687
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15567 2025-08-14 10:07:39 +08:00
Daniel
30b5473c76
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15567 2025-08-14 10:02:33 +08:00
Daniel
91207ba529
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15571 2025-08-14 09:54:20 +08:00
Daniel
04351d74bc
🎨 The database rollup field supports using the template field https://github.com/siyuan-note/siyuan/issues/12384 2025-08-14 00:57:42 +08:00
Vanessa
b78616382b 🎨 https://github.com/siyuan-note/siyuan/issues/15562 2025-08-14 00:50:18 +08:00
Vanessa
c9a68c7b1d Merge remote-tracking branch 'origin/dev' into dev 2025-08-14 00:22:43 +08:00
Vanessa
5e74bb89b9 🎨 https://github.com/siyuan-note/siyuan/issues/15562 2025-08-14 00:22:27 +08:00
Daniel
176308d7d2
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15521 2025-08-14 00:00:57 +08:00
Daniel
b78e2edfb8
🎨 Improve av 2025-08-13 23:35:16 +08:00
Daniel
cd10072554
🎨 Improve av 2025-08-13 19:15:10 +08:00
Vanessa
1712d4be68 🎨 https://github.com/siyuan-note/siyuan/issues/15558 2025-08-13 19:07:12 +08:00
Vanessa
c2d127d8f7 Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 19:02:44 +08:00
Vanessa
8739ae5625 🎨 https://github.com/siyuan-note/siyuan/issues/15562 2025-08-13 19:02:32 +08:00
Daniel
c3a9b0f77b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15560 2025-08-13 18:20:45 +08:00
Vanessa
085c72add5 Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 18:17:30 +08:00
Vanessa
780a7decd8 🎨 https://github.com/siyuan-note/siyuan/issues/15560 2025-08-13 18:17:17 +08:00
Daniel
5efe525e3c
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15561 2025-08-13 18:15:02 +08:00
Vanessa
3e033079bd Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 18:04:04 +08:00
Vanessa
8436c07a1a 🎨 https://github.com/siyuan-note/siyuan/issues/15560 2025-08-13 18:03:48 +08:00
Daniel
3d1d0c6def
🐛 https://github.com/siyuan-note/siyuan/issues/15550 2025-08-13 17:32:03 +08:00
Daniel
e0f1f789c3
🐛 https://github.com/siyuan-note/siyuan/issues/13261 2025-08-13 17:23:27 +08:00
Daniel
7595477257
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15560 2025-08-13 17:02:00 +08:00
Daniel
6a9eb455fc
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15560 2025-08-13 17:01:59 +08:00
Vanessa
d1b2309e4a Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 16:54:46 +08:00
Vanessa
5abc9c31b0 🎨 https://github.com/siyuan-note/siyuan/issues/15557 2025-08-13 16:54:32 +08:00
Daniel
469d9e24db
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15560 2025-08-13 16:49:53 +08:00
Daniel
bce519ae99
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15560 2025-08-13 16:38:19 +08:00
Vanessa
c64214e754 Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 16:32:41 +08:00
Vanessa
8a2aafcad4 🎨 https://github.com/siyuan-note/siyuan/issues/15553 2025-08-13 16:32:23 +08:00
Daniel
e4cb124ffd
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15560#issuecomment-3182691193 2025-08-13 16:29:31 +08:00
Daniel
e51e6d5662
🎨 Improve av 2025-08-13 13:42:45 +08:00
Daniel
6a0c0f8e1e
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15559 2025-08-13 13:42:45 +08:00
Vanessa
d7c58357ea Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 12:09:01 +08:00
Vanessa
de670dfa8a 🎨 数据库分组划选 2025-08-13 12:08:46 +08:00
Daniel
6c3138b8bd
🎨 Improve av 2025-08-13 12:04:33 +08:00
Daniel
8d1693bd9b
🎨 Improve av 2025-08-13 11:48:44 +08:00
Daniel
db59bdf562
🎨 Improve av 2025-08-13 11:43:01 +08:00
Vanessa
34f1f6a3d4 Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 11:33:36 +08:00
Vanessa
17b5e9acdc 🎨 https://github.com/siyuan-note/siyuan/issues/15553 2025-08-13 11:33:22 +08:00
Daniel
418959d44a
🎨 Improve av 2025-08-13 11:21:29 +08:00
Daniel
68af39ba48
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15529 2025-08-13 11:18:26 +08:00
Daniel
dc39e18fc1
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15555 2025-08-13 11:02:25 +08:00
Vanessa
e6a88e2ad2 Merge remote-tracking branch 'origin/dev' into dev 2025-08-13 10:46:48 +08:00
Vanessa
18377d0e9f 🎨 https://github.com/siyuan-note/siyuan/issues/15554 2025-08-13 10:46:35 +08:00
Daniel
52cd7d0bfa
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15553 2025-08-13 01:02:38 +08:00
Daniel
94d37ae47e
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15553 2025-08-13 00:55:48 +08:00
Daniel
1b9013ed0e
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15553 2025-08-13 00:38:00 +08:00
Daniel
be05b324d1
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15553 2025-08-13 00:33:14 +08:00
Daniel
0f48f94704
🎨 Improve av http://github.com/siyuan-note/siyuan/issues/15544 2025-08-13 00:11:38 +08:00
Vanessa
83e6f5d664 🎨 https://github.com/siyuan-note/siyuan/issues/15533 2025-08-12 23:37:32 +08:00
Vanessa
34b44dc558 Merge remote-tracking branch 'origin/dev' into dev 2025-08-12 23:26:42 +08:00
Vanessa
97f74ea172 🎨 https://github.com/siyuan-note/siyuan/issues/15546 2025-08-12 23:26:19 +08:00
Daniel
7f004877ca
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/15550 2025-08-12 22:28:52 +08:00
Daniel
8ba02f517c
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/15549 2025-08-12 21:32:27 +08:00
Daniel
ff077158dc
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/15549 2025-08-12 21:22:10 +08:00
Vanessa
bcbd895303 Merge remote-tracking branch 'origin/dev' into dev 2025-08-12 18:20:48 +08:00
Vanessa
98a9635dd3 🎨 https://github.com/siyuan-note/siyuan/issues/15455 2025-08-12 18:20:33 +08:00
Jiangshuon
b1c0365e56
🎨 Imporve database image browsing (#15548) 2025-08-12 18:06:05 +08:00
Daniel
5becccc176
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/15543 https://github.com/siyuan-note/siyuan/issues/15540 2025-08-12 17:55:49 +08:00
Daniel
7e11be9d25
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 https://github.com/siyuan-note/siyuan/issues/15535 2025-08-12 11:59:24 +08:00
Daniel
c9530ea1c2
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 https://github.com/siyuan-note/siyuan/issues/15535 2025-08-12 11:50:43 +08:00
Daniel
1136c1c493
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-12 11:37:53 +08:00
Daniel
120b0c1e57
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-12 11:37:53 +08:00
Vanessa
e103b5c2f0 🎨 https://github.com/siyuan-note/siyuan/issues/15453 2025-08-12 11:28:22 +08:00
Vanessa
1edd35029e 🎨 https://github.com/siyuan-note/siyuan/issues/15483 2025-08-12 10:43:32 +08:00
Vanessa
ec15f672c3 🎨 https://github.com/siyuan-note/siyuan/issues/15516 2025-08-12 10:27:37 +08:00
Vanessa
a30f229ade 🎨 https://github.com/siyuan-note/siyuan/issues/15518 2025-08-12 01:23:47 +08:00
Vanessa
729fe0674f Merge remote-tracking branch 'origin/dev' into dev 2025-08-12 00:59:54 +08:00
Vanessa
9a9e3aaba3 🎨 https://github.com/siyuan-note/siyuan/issues/15518 2025-08-12 00:59:39 +08:00
Daniel
8ddac77915
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15520 2025-08-12 00:37:48 +08:00
Daniel
7b3ac79d78
🎨 Improve av 2025-08-12 00:37:48 +08:00
Vanessa
62dbc08b9a 🚨 2025-08-11 23:46:39 +08:00
Vanessa
52e748ef17 Merge remote-tracking branch 'origin/dev' into dev 2025-08-11 23:45:57 +08:00
Vanessa
135dd9889c 🎨 https://github.com/siyuan-note/siyuan/issues/15518 2025-08-11 23:45:35 +08:00
Daniel
44831e464c
🎨 Improve av 2025-08-11 23:39:23 +08:00
Vanessa
e290d2a3fc 🎨 https://github.com/siyuan-note/siyuan/issues/15518 2025-08-11 23:17:13 +08:00
Vanessa
fec603487b Merge remote-tracking branch 'origin/dev' into dev 2025-08-11 23:13:04 +08:00
Vanessa
2d774f1cef 🎨 https://github.com/siyuan-note/siyuan/issues/15525 2025-08-11 23:12:45 +08:00
Daniel
c3cd7b96a0
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15533 2025-08-11 22:50:53 +08:00
Vanessa
aeef9aef1d 💄 移除菜单 2025-08-11 22:44:08 +08:00
Vanessa
7d5ef46fd4 Merge remote-tracking branch 'origin/dev' into dev 2025-08-11 22:33:37 +08:00
Vanessa
23c6843803 🎨 https://github.com/siyuan-note/siyuan/issues/15526 2025-08-11 22:33:18 +08:00
Daniel
c7745e3092
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15536 2025-08-11 22:26:39 +08:00
Vanessa
f15aca19d7 🎨 https://github.com/siyuan-note/siyuan/issues/15538 2025-08-11 22:14:47 +08:00
Vanessa
9e46eec911 Merge remote-tracking branch 'origin/dev' into dev 2025-08-11 22:10:14 +08:00
Vanessa
9fb2f55979 🎨 https://github.com/siyuan-note/siyuan/issues/15530 2025-08-11 22:09:59 +08:00
Daniel
bbe2001366
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15540 2025-08-11 21:58:33 +08:00
Daniel
e9afbb6931
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15531 2025-08-11 21:48:19 +08:00
Daniel
93fdc69bec
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15527 2025-08-11 21:25:53 +08:00
Daniel
c3c467e3ee
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15534 2025-08-11 21:18:20 +08:00
Daniel
1479cb6c00
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15532 2025-08-11 20:51:57 +08:00
Daniel
e871f4913f
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15523 2025-08-11 09:44:38 +08:00
Daniel
31667b0964
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15524 2025-08-11 01:18:13 +08:00
Daniel
7b8d163723
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15524 2025-08-11 01:10:00 +08:00
Daniel
c640bfd91b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15524 2025-08-11 00:54:50 +08:00
Daniel
7ac0491a70
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-11 00:37:41 +08:00
Daniel
ffafbae979
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15522 2025-08-11 00:36:22 +08:00
Daniel
d47417a903
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-11 00:21:47 +08:00
Daniel
ac948ad3fb
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-10 23:50:23 +08:00
Daniel
a88d23f461
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 23:21:28 +08:00
Vanessa
93b5ca14c4 Merge remote-tracking branch 'origin/dev' into dev 2025-08-10 18:22:14 +08:00
Vanessa
ff29ab920b 🎨 https://github.com/siyuan-note/siyuan/issues/15485 2025-08-10 18:22:01 +08:00
Daniel
7bd690ecec
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 18:21:51 +08:00
Vanessa
334e80f8d5 🎨 https://github.com/siyuan-note/siyuan/issues/15509 2025-08-10 18:15:10 +08:00
Vanessa
2f847b73ba Merge remote-tracking branch 'origin/dev' into dev 2025-08-10 17:49:20 +08:00
Vanessa
62fe52fa47 🎨 https://github.com/siyuan-note/siyuan/issues/15506 2025-08-10 17:49:07 +08:00
Daniel
8bcb5de0c3
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 17:45:46 +08:00
Vanessa
2d8b6c6edb Merge remote-tracking branch 'origin/dev' into dev 2025-08-10 17:39:51 +08:00
Vanessa
5a1c885e76 🎨 https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 17:39:35 +08:00
Daniel
a664fe7f07
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 17:25:07 +08:00
Daniel
73b80d3c82
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15508 2025-08-10 16:55:36 +08:00
Vanessa
ae3f6b906f Merge remote-tracking branch 'origin/dev' into dev 2025-08-10 16:51:33 +08:00
Vanessa
2b19d903b4 🎨 https://github.com/siyuan-note/siyuan/issues/15489 2025-08-10 16:51:18 +08:00
Daniel
35813e4b2a
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15508 2025-08-10 16:40:49 +08:00
Vanessa
9df352efdb Merge remote-tracking branch 'origin/dev' into dev 2025-08-10 16:22:45 +08:00
Vanessa
3de6b66f0c 🎨 https://github.com/siyuan-note/siyuan/issues/15510 2025-08-10 16:22:32 +08:00
Daniel
1eb824ef8e
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 16:22:10 +08:00
Daniel
1247f6735b
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 16:03:41 +08:00
Daniel
548ae028cc
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 16:02:59 +08:00
Daniel
0220f38d94
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 15:54:10 +08:00
Daniel
4154fd0150
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 15:49:22 +08:00
Daniel
a0e98ea35d
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 15:37:37 +08:00
Daniel
0deda92cac
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 15:30:08 +08:00
Daniel
22ba714020
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 12:16:37 +08:00
Daniel
fcd44f41da
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 12:16:37 +08:00
Vanessa
ac37d580f6 Merge remote-tracking branch 'origin/dev' into dev 2025-08-10 12:10:56 +08:00
Vanessa
2cd76dc288 🎨 https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 12:10:39 +08:00
Daniel
7b358cfaa3
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15507 2025-08-10 11:33:59 +08:00
Daniel
de8eb72393
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511 2025-08-10 11:21:13 +08:00
Vanessa
aaf1d9896a 🎨 https://github.com/siyuan-note/siyuan/issues/15497 2025-08-10 10:41:30 +08:00
Vanessa
f2afd11a84 Merge remote-tracking branch 'origin/dev' into dev 2025-08-10 10:20:22 +08:00
Vanessa
86e4228a3c 🎨 2025-08-10 10:20:10 +08:00
Daniel
2415c7a81c
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15511 2025-08-10 10:04:14 +08:00
Daniel
f05a8b5d4e
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15512 2025-08-10 09:58:59 +08:00
Daniel
97684b411a
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15489 2025-08-09 22:43:23 +08:00
Vanessa
207eb6b086 🎨 https://github.com/siyuan-note/siyuan/issues/15494 2025-08-09 22:10:21 +08:00
Vanessa
9e72b8d91e 🎨 https://github.com/siyuan-note/siyuan/issues/15503 2025-08-09 22:02:28 +08:00
Vanessa
d75fac21aa 🎨 https://github.com/siyuan-note/siyuan/issues/15500 2025-08-09 21:48:48 +08:00
Daniel
a31e79001e
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15500 2025-08-09 21:16:38 +08:00
Vanessa
7e7acf27cf 🎨 https://github.com/siyuan-note/siyuan/issues/15388 分组行重复时块标高亮错位 2025-08-09 21:07:48 +08:00
Vanessa
f0280bc537 Merge remote-tracking branch 'origin/dev' into dev 2025-08-09 21:06:32 +08:00
Vanessa
d7aa181eb9 🎨 https://github.com/siyuan-note/siyuan/issues/15388 分组行重复时块标高亮错位 2025-08-09 21:06:16 +08:00
Daniel
087d2522fe
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15496 2025-08-09 20:46:21 +08:00
Daniel
7b1b36d3ab
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15496 2025-08-09 20:39:12 +08:00
Daniel
51766ed0c0
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15496 2025-08-09 20:25:44 +08:00
Daniel
96346a94ad
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15498 2025-08-09 17:58:48 +08:00
Daniel
c1682895ef
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15498 2025-08-09 17:58:48 +08:00
Vanessa
c6f91f09c6 🐛 https://github.com/siyuan-note/siyuan/issues/15495 2025-08-09 17:46:06 +08:00
Vanessa
8754e8e5fd Merge remote-tracking branch 'origin/dev' into dev 2025-08-09 17:37:08 +08:00
Vanessa
7d478190bb 🐛 https://github.com/siyuan-note/siyuan/issues/15495 2025-08-09 17:36:55 +08:00
Daniel
a9c2ae7351
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15499 2025-08-09 17:10:41 +08:00
Vanessa
8ca9f119d0 Merge remote-tracking branch 'origin/dev' into dev 2025-08-09 16:30:37 +08:00
Vanessa
e6decd35cc 💄 https://github.com/siyuan-note/siyuan/issues/15497 2025-08-09 16:30:22 +08:00
Jeffrey Chen
ca4a8fac64
📝 Improve text (#15502) 2025-08-09 16:28:20 +08:00
Daniel
a783a3d26e
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15501 2025-08-09 16:16:58 +08:00
Daniel
2f6b5861ec
♻️ Refactor av rendering 2025-08-09 16:16:58 +08:00
Daniel
5bd101e31b
♻️ Refactor av rendering 2025-08-09 16:16:57 +08:00
Vanessa
3f9c7db2d3 Merge remote-tracking branch 'origin/dev' into dev 2025-08-09 16:06:55 +08:00
Vanessa
362e1536ba 💄 2025-08-09 16:06:35 +08:00
Daniel
6c88dcd087
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15492 2025-08-09 13:28:56 +08:00
Daniel
eba15bb41a
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15490 2025-08-09 11:47:18 +08:00
Daniel
580ecd617d
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15491 2025-08-09 11:24:44 +08:00
Vanessa
7b3acc642c 💄 https://github.com/siyuan-note/siyuan/issues/15488 2025-08-09 11:11:23 +08:00
Vanessa
a76c29f5c9 🎨 https://github.com/siyuan-note/siyuan/issues/15487 2025-08-09 10:53:48 +08:00
Vanessa
e9b41d881c Merge remote-tracking branch 'origin/dev' into dev 2025-08-09 10:43:22 +08:00
Vanessa
02196ef3d1 🎨 https://github.com/siyuan-note/siyuan/issues/14201 2025-08-09 10:43:08 +08:00
Daniel
07bc33cac7
⬆️ Upgrade lute 2025-08-09 10:30:53 +08:00
Daniel
7b95da0740
⬆️ Upgrade lute 2025-08-08 19:46:19 +08:00
Daniel
41b8271c5d
🎨 https://github.com/siyuan-note/siyuan/issues/15458 2025-08-08 18:32:52 +08:00
Daniel
ec7ca366ba
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15472 2025-08-08 18:18:44 +08:00
Daniel
a01c44a03d
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15478 2025-08-08 18:09:33 +08:00
Daniel
eb524b2e72
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15471 2025-08-08 16:59:26 +08:00
Daniel
72373ccff9
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15469 https://github.com/siyuan-note/siyuan/issues/15468 2025-08-08 16:51:11 +08:00
Vanessa
36c7a99311 🎨 https://github.com/siyuan-note/siyuan/issues/15476 2025-08-08 16:32:23 +08:00
Vanessa
e179a0a200 Merge remote-tracking branch 'origin/dev' into dev 2025-08-08 16:24:58 +08:00
Vanessa
5ad8b148a5 🎨 https://github.com/siyuan-note/siyuan/issues/15475 2025-08-08 16:24:42 +08:00
Daniel
30802ca97f
🐛 Improve av https://github.com/siyuan-note/siyuan/issues/15476 2025-08-08 16:23:43 +08:00
Vanessa
9f5f5e128b 💄 https://github.com/siyuan-note/siyuan/issues/15475 2025-08-08 16:19:15 +08:00
Vanessa
90296016e3 🎨 https://github.com/siyuan-note/siyuan/issues/15477 2025-08-08 16:01:07 +08:00
Vanessa
8b4e53d65d 🎨 https://github.com/siyuan-note/siyuan/issues/15470 2025-08-08 15:44:24 +08:00
Vanessa
eee43ae107 🎨 https://github.com/siyuan-note/siyuan/issues/15470 2025-08-08 15:41:57 +08:00
Vanessa
694e84bcb4 Merge remote-tracking branch 'origin/dev' into dev 2025-08-08 15:22:21 +08:00
Vanessa
6f132842a7 🎨 https://github.com/siyuan-note/siyuan/issues/15468 2025-08-08 15:22:05 +08:00
Daniel
683ba32918
🎨 Limit the database title to 512 characters https://github.com/siyuan-note/siyuan/issues/15459 2025-08-08 15:12:35 +08:00
Vanessa
b40f8c898a 🎨 https://github.com/siyuan-note/siyuan/issues/15474 2025-08-08 12:59:00 +08:00
Vanessa
dae0cd0608 🎨 https://github.com/siyuan-note/siyuan/issues/15473 2025-08-08 12:54:51 +08:00
Vanessa
f5a36b9459 🎨 https://github.com/siyuan-note/siyuan/issues/15226 2025-08-08 12:15:26 +08:00
Vanessa
a5166bea39 🎨 https://github.com/siyuan-note/siyuan/issues/15443 2025-08-08 12:00:06 +08:00
Vanessa
851bc1750f Merge remote-tracking branch 'origin/dev' into dev 2025-08-08 11:48:54 +08:00
Vanessa
d3a3b5e7e4 🎨 https://github.com/siyuan-note/siyuan/issues/15459 2025-08-08 11:48:40 +08:00
Daniel
0309225ccc
⬆️ Upgrade lute 2025-08-08 09:56:54 +08:00
Daniel
634a211a7a
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-08 09:42:47 +08:00
Daniel
fc4938829f
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-08 09:40:20 +08:00
Daniel
0239128a29
♻️ Upgrade to Electron v37.2.6 https://github.com/siyuan-note/siyuan/issues/15410 2025-08-08 09:39:53 +08:00
Jeffrey Chen
2c8d9757df
🎨 Improve the style of exported PDF (#15463) 2025-08-07 21:43:12 +08:00
Vanessa
4855b522e3 Merge remote-tracking branch 'origin/dev' into dev 2025-08-07 21:31:35 +08:00
Vanessa
ffad6048fd 🎨 https://github.com/siyuan-note/siyuan/issues/15150 2025-08-07 21:31:18 +08:00
Daniel
f56ef490b1
⬆️ Upgrade lute 2025-08-07 21:29:15 +08:00
Daniel
99fca2f716
🧑‍💻 Add parameter imgTag for kernel API exportMdContent and copyStdMarkdown https://github.com/siyuan-note/siyuan/issues/15454 2025-08-07 21:29:14 +08:00
Vanessa
c2c927ecc2 Merge remote-tracking branch 'origin/dev' into dev 2025-08-07 20:04:10 +08:00
Vanessa
1d8c020aa7 🎨 https://github.com/siyuan-note/siyuan/issues/15226 2025-08-07 20:03:57 +08:00
Daniel
fe6fae1cdb
⬆️ Upgrade lute 2025-08-07 19:41:36 +08:00
Daniel
aecd230a61
🎨 Improve exporting markdown https://github.com/siyuan-note/siyuan/issues/15458 2025-08-07 19:41:23 +08:00
Daniel
2b4067df9a
⬆️ Upgrade lute 2025-08-07 17:49:46 +08:00
Daniel
a0fb8d694f
⬆️ Upgrade lute 2025-08-07 17:43:59 +08:00
Vanessa
0bea81578f 🎨 https://github.com/siyuan-note/siyuan/issues/15399 2025-08-07 12:01:20 +08:00
Vanessa
4d78010ee5 Merge remote-tracking branch 'origin/dev' into dev 2025-08-07 11:43:56 +08:00
Vanessa
ac3f7e272f ⬆️ 2025-08-07 11:43:43 +08:00
Daniel
3fda003401
🎨 Upload asset files to cloud supports focus use https://github.com/siyuan-note/siyuan/issues/15462 2025-08-07 11:09:07 +08:00
Daniel
0d3a2479cb
🎨 Limit the database title to 256 characters https://github.com/siyuan-note/siyuan/issues/15459 2025-08-07 10:35:40 +08:00
dependabot[bot]
3d9b0bfa6f
⬆️ Bump tmp from 0.2.3 to 0.2.4 in /app (#15460)
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: V <lly219@gmail.com>
2025-08-07 10:20:25 +08:00
Daniel
377f78ec66
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-06 17:04:11 +08:00
Daniel
d86f20bcdb
🎨 The database rollup field supports duplicating as a copy https://github.com/siyuan-note/siyuan/issues/15417 2025-08-06 16:58:30 +08:00
Daniel
f4ad69faa9
♻️ Upgrade to Electron v37.2.6 https://github.com/siyuan-note/siyuan/issues/15410 2025-08-06 16:47:34 +08:00
Vanessa
10f31a9274 Merge remote-tracking branch 'origin/dev' into dev 2025-08-06 16:41:49 +08:00
Vanessa
b8c10bb718 🎨 https://github.com/siyuan-note/siyuan/issues/11966 2025-08-06 16:41:33 +08:00
Daniel
4a23e40561
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/10964 2025-08-06 12:08:55 +08:00
Daniel
92265f95c9
🎨 The database rollup field supports using the template field https://github.com/siyuan-note/siyuan/issues/12384 2025-08-06 11:53:06 +08:00
Daniel
00d559f9d9
🎨 The database rollup field supports using the template field https://github.com/siyuan-note/siyuan/issues/12384 2025-08-06 11:34:29 +08:00
Daniel
f2dda8b389
🎨 The database rollup field supports using the template field https://github.com/siyuan-note/siyuan/issues/12384 2025-08-06 11:34:01 +08:00
Vanessa
bc16cd658f 🎨 https://github.com/siyuan-note/siyuan/issues/12384 2025-08-06 11:33:24 +08:00
Daniel
d67a041633
🎨 The database rollup field supports using the template field https://github.com/siyuan-note/siyuan/issues/12384 2025-08-06 11:15:00 +08:00
Daniel
f6694810e2
🎨 The database rollup field supports using the template field https://github.com/siyuan-note/siyuan/issues/12384 2025-08-06 11:08:26 +08:00
Vanessa
511c174e65 🎨 https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 10:22:08 +08:00
Vanessa
0b1cb34fea Merge remote-tracking branch 'origin/dev' into dev 2025-08-06 10:12:29 +08:00
Vanessa
05a78c7cea 🎨 https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 10:12:16 +08:00
Daniel
d01dcad956
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 10:10:52 +08:00
Vanessa
6b79e543a4 🎨 https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 10:09:29 +08:00
Vanessa
3d0068f3fb 🎨 https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 10:04:17 +08:00
Vanessa
d782689572 Merge remote-tracking branch 'origin/dev' into dev 2025-08-06 09:54:11 +08:00
Vanessa
fadd3c2120 🎨 https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 09:53:58 +08:00
Daniel
f4699c9fad
♻️ Refactor av render 2025-08-06 09:52:53 +08:00
Daniel
34647490f2
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 09:51:30 +08:00
Daniel
6c0eed5d09
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15429 2025-08-06 09:18:40 +08:00
Daniel
3c6ce60525
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15430 2025-08-06 09:14:12 +08:00
Vanessa
10f408513d 🚨 2025-08-06 00:04:26 +08:00
Vanessa
69068b0c78 🎨 https://github.com/siyuan-note/siyuan/issues/15443 2025-08-06 00:03:45 +08:00
Daniel
501f657f7c
⬆️ Upgrade lute 2025-08-05 21:07:19 +08:00
Daniel
6ce0cbb0cb
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15443 2025-08-05 21:01:05 +08:00
Vanessa
3b505a20f2 🎨 https://github.com/siyuan-note/siyuan/issues/15427 2025-08-05 20:50:50 +08:00
Vanessa
8b383d09a5 🎨 https://github.com/siyuan-note/siyuan/issues/15432 2025-08-05 19:49:18 +08:00
Vanessa
827eb214bf 🎨 https://github.com/siyuan-note/siyuan/issues/15443 2025-08-05 18:16:48 +08:00
Vanessa
e6243664a3 Merge remote-tracking branch 'origin/dev' into dev 2025-08-05 18:10:34 +08:00
Vanessa
b1f4443e5f 🎨 https://github.com/siyuan-note/siyuan/issues/15443 2025-08-05 18:10:22 +08:00
Daniel
7ac5b0010d
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15443 2025-08-05 17:42:53 +08:00
Daniel
e2114dffd8
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15443 2025-08-05 17:39:10 +08:00
Daniel
11f7ad6a70
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15443 2025-08-05 17:38:07 +08:00
Daniel
d3ec7aa4bb
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15426 2025-08-05 17:32:37 +08:00
Daniel
8d593833ab
🎨 Improve av 2025-08-05 17:24:16 +08:00
Daniel
037619368a
🎨 Improve av 2025-08-05 17:13:00 +08:00
Daniel
3afaa2551e
🎨 Improve av 2025-08-05 17:09:11 +08:00
Daniel
9098b3f874
🎨 Improve duplicate doc 2025-08-05 16:55:48 +08:00
Daniel
5d4ef9890f
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15425 2025-08-05 16:27:44 +08:00
Daniel
eeb0551230
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15432 2025-08-05 13:02:44 +08:00
Vanessa
0ab9f5c5b0 💄 https://github.com/siyuan-note/siyuan/issues/15434 2025-08-05 12:31:17 +08:00
Vanessa
3f8777be96 🎨 https://github.com/siyuan-note/siyuan/issues/15433 2025-08-05 12:28:10 +08:00
Daniel
0e5e32126b
🎨 Improve av grouping https://github.com/siyuan-note/siyuan/issues/15428 2025-08-05 11:26:25 +08:00
Daniel
5690081332
🎨 Improve data sync to avoid conflicts caused by folding block https://github.com/siyuan-note/siyuan/issues/15329#issuecomment-3152964043 2025-08-05 11:08:34 +08:00
Daniel
34e3dfe479
⬆️ Upgrade kernel deps 2025-08-05 10:53:49 +08:00
Vanessa
1549bd3f9f 🎨 https://github.com/siyuan-note/siyuan/issues/11966 2025-08-04 23:32:47 +08:00
Vanessa
83800a7ff1 🎨 https://github.com/siyuan-note/siyuan/issues/15404 2025-08-04 22:37:46 +08:00
Vanessa
ee957ff9e2 🎨 https://github.com/siyuan-note/siyuan/issues/15143 2025-08-04 19:24:11 +08:00
Vanessa
35d60162d1 Merge remote-tracking branch 'origin/dev' into dev 2025-08-04 19:22:53 +08:00
Vanessa
adfbe0b452 🎨https://github.com/siyuan-note/siyuan/issues/11966 2025-08-04 19:22:37 +08:00
Daniel
bf465e5bbf
♻️ Move .sy data parser to https://github.com/siyuan-note/dataparser 2025-08-04 18:11:33 +08:00
Daniel
3caeeaf29d
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-04 11:24:46 +08:00
Daniel
9c99c6f8ef
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-04 11:15:23 +08:00
Daniel
bb989bcb35
🐛 Improve date filter 2025-08-04 11:09:36 +08:00
Daniel
2f01f3224d
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-04 10:47:21 +08:00
Vanessa
dc765676aa 🎨 https://github.com/siyuan-note/siyuan/issues/15361 2025-08-04 09:24:22 +08:00
Vanessa
f17288d1ca Merge remote-tracking branch 'origin/dev' into dev 2025-08-04 09:12:46 +08:00
Vanessa
ae42686ad4 🎨 https://github.com/siyuan-note/siyuan/pull/15382 2025-08-04 09:12:34 +08:00
Daniel
7a80c48977
🎨 https://github.com/siyuan-note/siyuan/issues/15414 2025-08-03 23:55:50 +08:00
Jeffrey Chen
aafae43a9f
Improve the style of the snackbar (#15382)
* 💄 Improve the style of the snackbar

* 💄 Improve the style of the snackbar
2025-08-03 23:19:08 +08:00
Daniel
1c8d1871dc
🎨 https://github.com/siyuan-note/siyuan/issues/15414 2025-08-03 12:14:20 +08:00
Daniel
ed2898a942
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 11:44:06 +08:00
Daniel
8e182e803c
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 11:34:04 +08:00
Vanessa
ca6088ac36 🎨 https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 11:32:37 +08:00
Vanessa
a717029b84 🎨 https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 11:10:58 +08:00
Vanessa
d9a3d2b150 Merge remote-tracking branch 'origin/dev' into dev 2025-08-03 11:08:02 +08:00
Vanessa
5fbc57a55a 🎨 https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 11:07:47 +08:00
Daniel
564117575a
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 10:20:25 +08:00
Daniel
d115103f10
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 10:11:27 +08:00
Daniel
fedc074ade
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 10:06:59 +08:00
Vanessa
25678e401f Merge remote-tracking branch 'origin/dev' into dev 2025-08-03 10:04:48 +08:00
Vanessa
432d8547cc 🎨 https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 10:04:35 +08:00
Daniel
dba61a299c
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-03 10:02:24 +08:00
Daniel
eee6bd074c
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-02 18:22:21 +08:00
Daniel
46f81b93ed
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-02 18:17:54 +08:00
Daniel
f1bf15146a
🎨 Improve Add to Database https://github.com/siyuan-note/siyuan/issues/10659 2025-08-02 18:07:06 +08:00
Daniel
95a5b46800
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-02 17:49:30 +08:00
Daniel
ef80bbd230
♻️ Rename var 2025-08-02 17:12:25 +08:00
Vanessa
621bee1f14 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-08-02 12:21:51 +08:00
Vanessa
3b41b73367 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-08-02 11:54:35 +08:00
Daniel
f1feaf603e
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-08-02 11:36:30 +08:00
Vanessa
11d2741e68 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-08-02 11:34:55 +08:00
Vanessa
65a6145545 Merge remote-tracking branch 'origin/dev' into dev 2025-08-02 11:29:18 +08:00
Vanessa
deb781023a 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-08-02 11:29:02 +08:00
Daniel
b78ef33135
⬆️ Upgrade kernel deps 2025-08-02 11:26:43 +08:00
Daniel
8695d86cf1
🎨 Improve database field default filling https://github.com/siyuan-note/siyuan/issues/11966 2025-08-02 11:26:42 +08:00
Vanessa
141c139782 Merge remote-tracking branch 'origin/dev' into dev 2025-08-02 10:20:18 +08:00
Vanessa
75ff695dc9 🎨 https://github.com/siyuan-note/siyuan/issues/15388 2025-08-02 10:20:06 +08:00
Jeffrey Chen
2b9a2df233
📝 Improve the user guide Template snippet chapter code display (#15402)
https://github.com/siyuan-note/siyuan/pull/15345
2025-08-02 09:43:08 +08:00
Jeffrey Chen
9a89a0eb4c
🎨 Document supports copying as Markdown (#15397)
*  Document supports copying standard Markdown

*  Document supports copying as Markdown
2025-08-02 09:38:43 +08:00
Daniel
77ead023f8
recycle: Refactor getBlockDOM 2025-08-02 09:32:55 +08:00
Vanessa
30dbbf1231 🎨 https://github.com/siyuan-note/siyuan/issues/15396 2025-08-01 23:14:34 +08:00
Daniel
561d4cc891
🐛 The insertion position is wrong after converting the list to paragraph block in the floating window https://github.com/siyuan-note/siyuan/issues/15396 2025-08-01 22:52:49 +08:00
Daniel
be684aee76
🐛 The insertion position is wrong after converting the list to paragraph block in the floating window https://github.com/siyuan-note/siyuan/issues/15396 2025-08-01 22:52:49 +08:00
Vanessa
27f412658b Merge remote-tracking branch 'origin/dev' into dev 2025-08-01 22:49:19 +08:00
Vanessa
381a7b88ff 🎨 https://github.com/siyuan-note/siyuan/issues/15398 2025-08-01 22:49:04 +08:00
Daniel
d0f2fd173d
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-08-01 22:25:51 +08:00
Daniel
a90df6841c
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-08-01 22:07:35 +08:00
Vanessa
61bc821754 🎨 https://github.com/siyuan-note/siyuan/issues/15340 2025-08-01 21:56:20 +08:00
Vanessa
b126d34dde 🎨 https://github.com/siyuan-note/siyuan/issues/15330 经查看 lute 现在没有限制,因此前端也移除对其的限制 2025-08-01 21:36:29 +08:00
Vanessa
03b83d1247 Merge remote-tracking branch 'origin/dev' into dev 2025-08-01 21:05:14 +08:00
Vanessa
167cce0a05 🎨 https://github.com/siyuan-note/siyuan/issues/15407 2025-08-01 21:04:55 +08:00
Daniel
309a9995d8
♻️ Upgrade to Electron v37.2.5 https://github.com/siyuan-note/siyuan/issues/15410 2025-08-01 20:51:04 +08:00
Vanessa
a088cf8706 🎨 https://github.com/siyuan-note/siyuan/issues/15404 2025-08-01 20:14:12 +08:00
Jeffrey Chen
857a795189
Improve the line-height of the title blocks in the list (#15375)
* 💄 Improve the line-height of the title blocks in the list

fix https://github.com/siyuan-note/siyuan/issues/15003

* 💄 Improve the line-height of the title blocks in the list

fix https://github.com/siyuan-note/siyuan/issues/15003
2025-08-01 17:53:32 +08:00
Daniel
022a4e7d23
⬆️ Upgrade lute 2025-08-01 16:44:28 +08:00
Daniel
08b952f272
🐛 Find-replace incorrectly converts tags to text https://github.com/siyuan-note/siyuan/issues/15372 2025-08-01 16:12:31 +08:00
Daniel
55bc708582
🎨 Improve the status bar index creation information prompt https://github.com/siyuan-note/siyuan/issues/15390 2025-08-01 16:01:32 +08:00
Daniel
16d3b65b2a
🎨 Improve search for emojis in tags https://github.com/siyuan-note/siyuan/issues/15391 2025-08-01 10:56:08 +08:00
Daniel
211648b95e
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-08-01 10:25:56 +08:00
Vanessa
3d7191b13d 🎨 https://github.com/siyuan-note/siyuan/issues/15294 2025-07-31 19:26:56 +08:00
Vanessa
0203a482b3 Merge remote-tracking branch 'origin/dev' into dev 2025-07-30 17:39:19 +08:00
Vanessa
1b384980dc 🎨 https://github.com/siyuan-note/siyuan/pull/15386 2025-07-30 17:39:06 +08:00
Emptylight
ab92cbc184
refactor: Update highlight.js plugins (#15386) 2025-07-30 17:38:26 +08:00
Vanessa
459a35d0b3 Merge remote-tracking branch 'origin/dev' into dev 2025-07-30 17:36:15 +08:00
Vanessa
e4959774e8 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-30 17:35:53 +08:00
Daniel
de55ea9315
🎨 Improve fold heading editing https://github.com/siyuan-note/siyuan/issues/14349 Point 01 2025-07-30 17:22:55 +08:00
Jeffrey Chen
9e7426a6f4
💄 Improve the animation for opening dialog (#15383)
fix https://github.com/siyuan-note/siyuan/issues/15085
2025-07-30 17:22:40 +08:00
Daniel
2a07997ba2
🎨 Improve the status bar index creation information prompt https://github.com/siyuan-note/siyuan/issues/15390 2025-07-30 15:46:09 +08:00
Vanessa
c222e0d6f7 Merge remote-tracking branch 'origin/dev' into dev 2025-07-30 12:08:30 +08:00
Vanessa
a105227e65 🎨 https://github.com/siyuan-note/siyuan/issues/15389 2025-07-30 12:08:15 +08:00
Daniel
7569fec509
🎨 Improve status bar index creation information prompt https://github.com/siyuan-note/siyuan/issues/15390 2025-07-30 11:31:54 +08:00
Daniel
1fd3f92137
🎨 Improve status bar index creation information prompt https://github.com/siyuan-note/siyuan/issues/15390 2025-07-30 11:24:57 +08:00
Daniel
9da208ec52
🎨 Improve status bar index creation information prompt https://github.com/siyuan-note/siyuan/issues/15390 2025-07-30 11:23:26 +08:00
Daniel
2f57e57b92
🎨 Improve status bar index creation information prompt https://github.com/siyuan-note/siyuan/issues/15390 2025-07-30 11:10:26 +08:00
Daniel
b358d4b70f
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-30 10:54:33 +08:00
Daniel
f0ff16c60a
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-30 10:51:02 +08:00
Daniel
692665f100
🎨 Card view supports displaying field names https://github.com/siyuan-note/siyuan/issues/15180 2025-07-30 10:40:22 +08:00
Vanessa
78c3479fc3 🎨 https://github.com/siyuan-note/siyuan/issues/15341 2025-07-30 10:40:02 +08:00
Vanessa
789aed4aee 🎨 https://github.com/siyuan-note/siyuan/pull/15345 2025-07-30 10:05:25 +08:00
Vanessa
842dbb6863 🎨 https://github.com/siyuan-note/siyuan/pull/15110 2025-07-29 23:55:29 +08:00
Vanessa
48933e62f3 🎨 https://github.com/siyuan-note/siyuan/pull/15345 2025-07-29 21:41:49 +08:00
Achuan-2
009a68aa7e
Support code block highlighting template syntax and export code block templates as paragraphs (#15345)
*  feat: 优化模板编辑体验,支持使用代码块来存储模板语法

*  feat: 支持对template代码块进行高亮

- 渲染.action 块和{{}}块规则
- 渲染Markdown块
- 思源块属性设置语法

* Update third-languages.js

* Update third-languages.js

* Update third-languages.js

* Update third-languages.js

* Update third-languages.js:块属性支持高亮.action{}语法,调整relevance

* 支持渲染queryBlocks的sql语句和嵌入块sql语句

* Update third-languages.js

补充变量高亮:getHPathByID|getBlock|statBlock|runeCount|wordCount|toPrettyJson|

*  feat: 优化模板编辑体验,支持使用代码块来存储模板语法 #15345

导出时,增加识别`siyuan-template`代码块为模板

*  feat: 优化模板编辑体验,支持使用代码块来存储模板语法 #15345

代码块语言新增`siyuan-template`

* Update template.go

---------

Co-authored-by: D <845765@qq.com>
2025-07-29 21:36:34 +08:00
Jeffrey Chen
2994969286
Improve export preview mode CSS variable value filling (#15110)
* 改进 CSS 变量替换为实际值

* Chrome、Edge、SiYuan 桌面端不需要替换 CSS 变量

* 外观模式或主题改变之后,重新加载所有将 CSS 变量替换为实际值的导出预览

* 代码块之间没有间距

* 去掉一个空格

* 使用 ua.Mobile() 判断移动设备

* 重构
2025-07-29 21:33:40 +08:00
Daniel
449b537104
🐛 Find-replace incorrectly converts tags to text https://github.com/siyuan-note/siyuan/issues/15372 2025-07-29 20:47:12 +08:00
Vanessa
4554182d87 Merge remote-tracking branch 'origin/dev' into dev 2025-07-29 20:45:06 +08:00
Vanessa
227802b83c 🎨 https://github.com/siyuan-note/siyuan/issues/15336 2025-07-29 20:44:52 +08:00
Daniel
95dfaea666
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 15:52:30 +08:00
Daniel
f44f9dd5c0
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 15:52:04 +08:00
Daniel
feef48d624
🎨 https://github.com/siyuan-note/siyuan/issues/15377 2025-07-29 15:48:59 +08:00
Vanessa
bf9721bf40 Merge remote-tracking branch 'origin/dev' into dev 2025-07-29 15:43:13 +08:00
Vanessa
ba3bf8705e 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 15:42:57 +08:00
Daniel
8dd1585adb
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 15:38:21 +08:00
Daniel
c64d68c71d
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 14:15:50 +08:00
Daniel
548857dc4b
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 14:11:03 +08:00
Daniel
287edba74c
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 14:07:36 +08:00
Daniel
b138ff9d7f
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 14:02:54 +08:00
Daniel
1b07033cd3
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 13:54:15 +08:00
Daniel
e575324483
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 13:51:01 +08:00
Daniel
a6f5705681
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 13:44:17 +08:00
Daniel
1af2dba150
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 13:19:44 +08:00
Daniel
99a5d4c214
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 13:19:10 +08:00
Daniel
008cce474a
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 13:16:29 +08:00
Vanessa
445a738e74 Merge remote-tracking branch 'origin/dev' into dev 2025-07-29 12:03:53 +08:00
Vanessa
89f32a43f7 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 12:03:40 +08:00
Daniel
77fd025a04
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 12:01:39 +08:00
Daniel
18c6e7bcdc
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 12:01:39 +08:00
Vanessa
2ce3f00724 Merge remote-tracking branch 'origin/dev' into dev 2025-07-29 12:00:54 +08:00
Vanessa
1a918dd946 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 12:00:41 +08:00
Daniel
df73431112
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 11:05:12 +08:00
Vanessa
10364e281f Merge remote-tracking branch 'origin/dev' into dev 2025-07-29 11:01:31 +08:00
Vanessa
f91e87b953 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 11:01:18 +08:00
Daniel
62288da3d9
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 10:43:47 +08:00
Vanessa
fa2ec80cb1 Merge remote-tracking branch 'origin/dev' into dev 2025-07-29 10:31:56 +08:00
Vanessa
8dac657846 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-29 10:31:41 +08:00
Daniel
f7cb4db291
🎨 Export preview mode supports focus use https://github.com/siyuan-note/siyuan/issues/15340 2025-07-29 09:51:48 +08:00
Daniel
1812e84219
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 23:58:34 +08:00
Daniel
05e495406d
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 23:53:17 +08:00
Vanessa
446c81cf80 Merge remote-tracking branch 'origin/dev' into dev 2025-07-28 23:52:42 +08:00
Vanessa
36b2299206 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 23:52:28 +08:00
Daniel
7906e8f516
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 23:48:24 +08:00
Daniel
396450a2ec
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 23:39:00 +08:00
Daniel
155b2de260
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 23:28:57 +08:00
Daniel
99cf987465
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 23:10:11 +08:00
Daniel
f7d28dc1de
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 22:53:04 +08:00
Daniel
0816925e76
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 22:44:56 +08:00
Daniel
49d233d92a
🎨 Export preview mode supports focus use https://github.com/siyuan-note/siyuan/issues/15340 2025-07-28 22:06:09 +08:00
Vanessa
81644059ac 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 12:42:32 +08:00
Daniel
e758739116
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 11:24:42 +08:00
Daniel
4694a8c6c1
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 11:17:27 +08:00
Daniel
400153319e
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 10:54:51 +08:00
Daniel
75b2ccfe82
⬆️ Upgrade lute 2025-07-28 10:31:04 +08:00
Vanessa
4ccdd38de0 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 10:22:40 +08:00
Vanessa
425882cda0 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 10:02:06 +08:00
Vanessa
99ad5a0f77 Merge remote-tracking branch 'origin/dev' into dev 2025-07-28 09:28:55 +08:00
Vanessa
a9a453e144 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-28 09:28:42 +08:00
Daniel
0f2e044c7e
🎨 Clean code 2025-07-27 20:26:42 +08:00
Daniel
9a72ef1472
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 20:26:32 +08:00
Daniel
08af24ae9e
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 20:14:18 +08:00
Daniel
f970f5c848
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 20:10:56 +08:00
Daniel
15a17393b3
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 19:50:14 +08:00
Daniel
cf0467a7ac
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 19:36:46 +08:00
Daniel
e91a8b0619
🎨 Clean code 2025-07-27 19:34:42 +08:00
Daniel
d0662b5fde
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 19:34:17 +08:00
Daniel
ff539bab03
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 19:30:08 +08:00
Vanessa
21acf690e7 Merge remote-tracking branch 'origin/dev' into dev 2025-07-27 19:10:57 +08:00
Vanessa
6d7637850a 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 19:10:43 +08:00
Daniel
fd89e77f37
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 19:07:52 +08:00
Daniel
9e819955ef
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 19:05:29 +08:00
Daniel
cd7c6fdb17
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 18:45:52 +08:00
Daniel
48c64f98f4
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 17:08:34 +08:00
Daniel
cff71aa720
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 17:08:22 +08:00
Vanessa
759c12be06 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 14:02:21 +08:00
Vanessa
fc67bcc9e8 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 11:46:06 +08:00
Vanessa
ccbcb4b809 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 11:38:58 +08:00
Vanessa
7308536ded 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 11:23:58 +08:00
Vanessa
de8da071d0 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-27 09:56:31 +08:00
Vanessa
a9f5cac024 Merge remote-tracking branch 'origin/dev' into dev 2025-07-26 22:50:44 +08:00
Vanessa
33d25372f7 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 22:50:24 +08:00
Daniel
cf6c905930
🎨 Export preview mode supports focus use https://github.com/siyuan-note/siyuan/issues/15340 2025-07-26 21:59:05 +08:00
Daniel
3cb666d397
🎨 Clean code 2025-07-26 21:39:02 +08:00
Daniel
d555eec852
Improve pasting performance for large amounts of content https://github.com/siyuan-note/siyuan/issues/15306 2025-07-26 21:35:17 +08:00
Daniel
7c692e8273
Improve pasting performance for large amounts of content https://github.com/siyuan-note/siyuan/issues/15306 2025-07-26 21:24:28 +08:00
Daniel
9d392bd663
🎨 Improve asset search highlighting https://github.com/siyuan-note/siyuan/issues/15370 2025-07-26 16:50:46 +08:00
Daniel
7476372054
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 16:42:50 +08:00
Daniel
3e0d825437
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 16:11:52 +08:00
Vanessa
19485ca720 Merge remote-tracking branch 'origin/dev' into dev 2025-07-26 16:02:43 +08:00
Vanessa
829fc886d4 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 16:02:10 +08:00
Daniel
7136967a73
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 11:54:19 +08:00
Vanessa
ed302633f6 Merge remote-tracking branch 'origin/dev' into dev 2025-07-26 11:31:09 +08:00
Vanessa
9ea5b148c7 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 11:30:57 +08:00
Daniel
e1471ff585
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 10:45:40 +08:00
Daniel
a76a520996
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 10:11:15 +08:00
Daniel
04587ca695
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-26 09:40:39 +08:00
Vanessa
ddb20a368d Merge remote-tracking branch 'origin/dev' into dev 2025-07-25 23:18:53 +08:00
Vanessa
e492c973ac 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 23:18:38 +08:00
Daniel
f1f363d77b
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:36:02 +08:00
Daniel
3c0933beac
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:31:46 +08:00
Daniel
59d8db4f24
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:25:33 +08:00
Daniel
9cf009d9d9
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:09:03 +08:00
Daniel
2eadefed6f
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:07:38 +08:00
Vanessa
cbbca634f5 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:07:11 +08:00
Vanessa
49dd247b8a 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:04:47 +08:00
Vanessa
01a2e07dcc Merge remote-tracking branch 'origin/dev' into dev 2025-07-25 22:02:00 +08:00
Vanessa
45aee043c8 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 22:01:41 +08:00
Daniel
da5f4bb42c
🎨 Re OCR popup prompt when Tesseract is not enabled https://github.com/siyuan-note/siyuan/issues/15367 2025-07-25 21:25:38 +08:00
Daniel
382cd6a8af
⬆️ Upgrade lute 2025-07-25 19:56:26 +08:00
Daniel
70d4af6e7c
⬆️ Upgrade lute 2025-07-25 19:47:10 +08:00
Vanessa
5f91cffc4d Merge remote-tracking branch 'origin/dev' into dev 2025-07-25 19:43:26 +08:00
Vanessa
582cce1b92 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 19:43:06 +08:00
Daniel
70741fffcc
🎨 Re OCR popup prompt when Tesseract is not enabled https://github.com/siyuan-note/siyuan/issues/15367 2025-07-25 19:34:35 +08:00
Daniel
7787ac6e1d
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 19:17:58 +08:00
Daniel
b15489a4cf
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 19:06:38 +08:00
Daniel
0e8ce9ddf9
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 17:57:51 +08:00
Daniel
e7a8a9906e
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 17:01:38 +08:00
Daniel
06139eb3cc
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 16:47:17 +08:00
Daniel
33a1bedb41
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 16:34:30 +08:00
Daniel
49cc87381c
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 15:20:56 +08:00
Daniel
526bd76c4c
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 14:56:13 +08:00
Vanessa
0c0d02c6a6 Merge remote-tracking branch 'origin/dev' into dev 2025-07-25 14:55:42 +08:00
Vanessa
8cb40edce3 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 14:55:27 +08:00
Daniel
acc2ba1cea
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 14:55:16 +08:00
Daniel
9ae527c9a5
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 14:48:48 +08:00
Daniel
917a5125af
🐛 The tray is generated repeatedly after the new window is locked and then entered https://github.com/siyuan-note/siyuan/issues/15357 2025-07-25 14:37:22 +08:00
Daniel
262957d4de
🎨 Improve auth 2025-07-25 14:37:21 +08:00
Vanessa
f3427dcf5f 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 13:21:47 +08:00
Vanessa
accf89a5ca Merge remote-tracking branch 'origin/dev' into dev 2025-07-25 13:03:28 +08:00
Vanessa
c726af0494 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 13:03:08 +08:00
Daniel
94c70ae638
🎨 Improve auth 2025-07-25 12:27:45 +08:00
Daniel
ddba6b1fd8
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 12:10:39 +08:00
Daniel
cbddce4d25
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 12:05:33 +08:00
Daniel
0d5320f08b
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 11:56:57 +08:00
Vanessa
9d4c47ee87 Merge remote-tracking branch 'origin/dev' into dev 2025-07-25 11:53:10 +08:00
Vanessa
c5bfa68058 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-25 11:52:57 +08:00
Daniel
0abbe9ec21
🎨 Improve auth 2025-07-25 11:21:23 +08:00
Vanessa
61d08370dc 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-24 21:10:52 +08:00
Vanessa
2c5ea4bb45 Merge remote-tracking branch 'origin/dev' into dev 2025-07-24 18:33:19 +08:00
Vanessa
0d3978f407 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-24 18:33:07 +08:00
Daniel
546742b43c
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-24 17:56:24 +08:00
Daniel
9480403d2f
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-24 12:10:07 +08:00
Vanessa
bfc0daf6e5 Merge remote-tracking branch 'origin/dev' into dev 2025-07-24 12:04:10 +08:00
Vanessa
c339d1b9bc 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-24 12:03:57 +08:00
Daniel
10fa284a1b
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-24 11:50:28 +08:00
Daniel
10a760b97a
🐛 Dragging a file from the assets folder into the editor causes the kernel to exit https://github.com/siyuan-note/siyuan/issues/15355 2025-07-24 11:19:49 +08:00
Daniel
684286fc8a
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-24 11:05:29 +08:00
Daniel
54f2d8599e
🎨 Export preview mode supports focus use https://github.com/siyuan-note/siyuan/issues/15340 2025-07-24 10:58:48 +08:00
Vanessa
fc2e1030a5 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-23 23:26:32 +08:00
Vanessa
abcd7b3157 🎨 https://github.com/siyuan-note/siyuan/issues/10964 2025-07-23 21:46:57 +08:00
Vanessa
81b511042c Merge remote-tracking branch 'origin/dev' into dev 2025-07-23 21:42:55 +08:00
Vanessa
a89a2000f3 🎨 https://github.com/siyuan-note/siyuan/issues/15338 2025-07-23 21:42:37 +08:00
Daniel
534ad7a8cf
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 2025-07-23 21:42:15 +08:00
Jeffrey Chen
be3db79688
🎨 Add data-id attribute to the buttons (#15052)
斜杠菜单中插件添加的选项、顶栏的插件菜单、顶栏的外观模式菜单,修正块引用锚文本的右键菜单

fix https://github.com/siyuan-note/siyuan/issues/12518
2025-07-23 17:53:25 +08:00
Daniel
963cbfe15f
🎨 Export preview mode supports focus use https://github.com/siyuan-note/siyuan/issues/15340 2025-07-23 17:23:17 +08:00
Vanessa
508eb93183 ♻️ https://github.com/siyuan-note/siyuan/pull/15347 2025-07-23 13:08:38 +08:00
Jeffrey Chen
c88f99646c
Replace the deprecated isSameNode method in DOM Level 4 with the === operator (#15347) 2025-07-23 12:21:59 +08:00
dependabot[bot]
a730a575d5
⬆️ Bump form-data from 4.0.2 to 4.0.4 in /app (#15349)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.2 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.2...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 12:18:23 +08:00
Vanessa
76e1a4b169 🐛 https://github.com/siyuan-note/siyuan/pull/15324 切换是否显示行号异常 2025-07-23 12:11:33 +08:00
Jeffrey Chen
69987028ae
Improve code block line number rendering performance (#15324)
*  Improve code block line number rendering performance

fix https://github.com/siyuan-note/siyuan/issues/12715

*  Improve code block line number rendering performance

*  Improve code block line number rendering performance

* Revert " Improve code block line number rendering performance"

This reverts commit 603518f521.

* Revert " Improve code block line number rendering performance"

This reverts commit b69cef5f83.

*  Improve code block line number rendering performance
2025-07-23 11:48:09 +08:00
Daniel
76e4aad584
🎨 Improve backmention search https://github.com/siyuan-note/siyuan/issues/4699 2025-07-23 11:33:20 +08:00
Daniel
5f0f4e3ba6
🔖 Release v3.2.1 2025-07-22 16:17:54 +08:00
Vanessa
221abe81e6 🚨 2025-07-22 16:14:43 +08:00
Daniel
bcc7a5fa03
📝 Update changelogs 2025-07-22 16:05:12 +08:00
Daniel
5bee4bc29a
Improve transaction performance https://github.com/siyuan-note/siyuan/issues/15306 2025-07-21 20:14:46 +08:00
Daniel
03d27d60e4
🎨 Improve converting network assets to local assets https://github.com/siyuan-note/siyuan/issues/15320 2025-07-20 10:07:08 +08:00
Daniel
513aadb9d5
🎨 Improve converting network assets to local assets https://github.com/siyuan-note/siyuan/issues/15320 2025-07-20 10:05:13 +08:00
Daniel
5d229eb589
⬆️ Upgrade lute 2025-07-18 18:58:35 +08:00
Daniel
0394521e1f
🎨 No longer add the id attribute to block elements after setting the attribute https://github.com/siyuan-note/siyuan/issues/15327 2025-07-18 18:35:46 +08:00
Vanessa
f28ccd64b5 Merge remote-tracking branch 'origin/dev' into dev 2025-07-18 11:26:06 +08:00
Vanessa
8befb8d691 🎨 https://github.com/siyuan-note/siyuan/issues/15293 2025-07-18 11:25:51 +08:00
Daniel
b2d003aeff
🧑‍💻 Add some kernel batch insert blocks APIs https://github.com/siyuan-note/siyuan/issues/15321 2025-07-18 10:41:48 +08:00
Vanessa
b1a04d67d9 ♻️ https://github.com/siyuan-note/siyuan/pull/15325 2025-07-18 10:40:56 +08:00
Jeffrey Chen
0019a6d8d4
🎨 Improve right-click menu paste (#15325) 2025-07-18 10:33:26 +08:00
Vanessa
f61a0d6f85 🎨 https://github.com/siyuan-note/siyuan/issues/15303 2025-07-18 10:27:35 +08:00
Vanessa
28684f688b Merge remote-tracking branch 'origin/dev' into dev 2025-07-18 10:25:33 +08:00
Vanessa
385cc3b8e3 🎨 https://github.com/siyuan-note/siyuan/issues/15303 2025-07-18 10:25:14 +08:00
Daniel
7a64af1e88
🎨 Fixed mirroring database display view https://github.com/siyuan-note/siyuan/issues/15279 2025-07-18 10:01:54 +08:00
Vanessa
09f5569663 Merge remote-tracking branch 'origin/dev' into dev 2025-07-18 09:32:47 +08:00
Vanessa
6e838bb91a 🎨 https://github.com/siyuan-note/siyuan/pull/15102 2025-07-18 09:31:39 +08:00
Daniel
38a7bf03bc
🎨 Improve reference count update after moving heading blocks https://github.com/siyuan-note/siyuan/issues/15322 2025-07-17 21:02:25 +08:00
260 changed files with 14773 additions and 6257 deletions

View file

@ -7,17 +7,17 @@
## NPM dependencies
Install pnpm: `npm install -g pnpm@10.13.1`
Install pnpm: `npm install -g pnpm@10.15.1`
<details>
<summary>For China mainland</summary>
Set the Electron mirror environment variable and install Electron:
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.2.3 -D`
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.4.0 -D`
* Windows:
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
* `pnpm install electron@37.2.3 -D`
* `pnpm install electron@37.4.0 -D`
NPM mirror:
@ -27,7 +27,7 @@ NPM mirror:
Enter the app folder and execute:
* `pnpm install electron@37.2.3 -D`
* `pnpm install electron@37.4.0 -D`
* `pnpm run dev`
* `pnpm run start`

View file

@ -7,17 +7,17 @@
## NPM 依赖
安装 pnpm`npm install -g pnpm@10.13.1`
安装 pnpm`npm install -g pnpm@10.15.1`
<details>
<summary>适用于中国大陆</summary>
设置 Electron 镜像环境变量并安装 Electron
* macOS/Linux`ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.2.3 -D`
* macOS/Linux`ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@37.4.0 -D`
* Windows
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
* `pnpm install electron@37.2.3 -D`
* `pnpm install electron@37.4.0 -D`
NPM 镜像:
@ -27,7 +27,7 @@ NPM 镜像:
进入 app 文件夹执行:
* `pnpm install electron@37.2.3 -D`
* `pnpm install electron@37.4.0 -D`
* `pnpm run dev`
* `pnpm run start`

2
API.md
View file

@ -480,7 +480,7 @@ Move documents by `id`:
```
* `fromIDs`: Source docs' IDs
* `toID`: Target parent ID
* `toID`: Target parent doc's ID or notebook ID
* Return value
```json

View file

@ -478,7 +478,7 @@
```
* `fromIDs`:源文档 ID
* `toID`:目标父文档 ID
* `toID`:目标父文档 ID 或笔记本 ID
* 返回值
```json

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "تحسين الفهرس",
"vacuumDataIndexTip": "تحقق من فهرس البيانات، وحرر مساحة التخزين وحسّن أداء الفهرس",
"rebuildDataIndex": "إعادة بناء الفهرس",
"rebuildDataIndexTip": "إعادة بناء كاملة لفهرس البيانات، قد يستغرق ذلك بعض الوقت، يرجى الانتظار",
"displayFieldName": "عرض اسم الحقل",
"sortBySelectOption": "Nach Option sortieren",
"groupStep": "فاصل التجميع",
"groupRange": "نطاق التجميع",
"groupMethodDateRelative": "تاريخ نسبي",
"groupMethodDateDay": "يوم",
"groupMethodDateWeek": "أسبوع",
"groupMethodDateMonth": "شهر",
"groupMethodDateYear": "سنة",
"syncColWidth": "مزامنة عرض العمود",
"groupMethod": "طريقة التجميع",
"hideEmptyGroup": "إخفاء المجموعة الفارغة",
"hideEmptyGroup": "إخفاء المجموعات الفارغة",
"groups": "المجموعات",
"removeGroup": "إزالة المجموعة",
"contentBlock": "كتلة المحتوى",
@ -20,7 +33,7 @@
"small": "صغير",
"fitImage": "تعديل حجم الصورة تلقائيًا",
"showIcon": "عرض الأيقونة",
"showAllFieldsIcon": "عرض أيقونات الحقول",
"showAllEntriesIcons": "عرض أيقونات المدخلات",
"wrapAllFields": "التفاف الحقول تلقائيًا",
"gallery": "بطاقة",
"newTag": "علامة جديدة",
@ -28,7 +41,7 @@
"reconnectPrompt": "بعد تبديل التطبيقات، سيستغرق الأمر بعض الوقت لاستعادة تشغيل نواة SiYuan. يرجى الانتظار بضع ثوانٍ أو النقر فوق الزر \"إعادة المحاولة\"",
"relativeFontSize": "نسبة إلى حجم خط المحرر",
"localFileSystem": "نظام الملفات المحلي",
"deviceNotSupport": "الجهاز الحالي غير مدعوم",
"mobileNotSupport": "هذه الميزة غير مدعومة حاليًا على الأجهزة المحمولة (الهاتف أو الجهاز اللوحي)",
"second": "ثانية",
"syncInterval": "الفاصل الزمني للمزامنة",
"syncIntervalTip": "مزامنة البيانات تلقائياً بعد أن توقف عن التغيير",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "عدد أيام حفظ لقطة البيانات",
"dataRepoAutoPurgeRetentionIndexesDaily": "عدد لقطات البيانات في اليوم",
"fields": "حقول",
"dynamicEmoji": "أيقونة ديناميكية",
"dynamicIcon": "أيقونة ديناميكية",
"dynamicIconDateEmptyInfo": "مسح التاريخ، سيعرض رمز التقويم تاريخ اليوم ديناميكيًا",
"backlinkContainChildren": "جعل الروابط المرجعية تحتوي على كتل فرعية",
"backlinkContainChildrenTip": "عند التمكين، سيتم تضمين الكتل الفرعية في حساب الروابط المرجعية",
"entryNum": "عدد المدخلات",
"workspaceData": "بيانات مساحة العمل",
"confirmRemoveRelationField": "‫هل أنت متأكد من أنك تريد حذف الحقل المرتبط بـ <b>${x}</b>؟‬",
"removeButKeepRelationField": "احذف، لكن حفظ الحقل المرتبط",
"confirmRemoveRelationField": "‫هل أنت متأكد من أنك تريد حذف الحقل <b>${x}</b>؟ بعد حذف هذا الحقل، سيتم حذف حقل العلاقة ثنائية الاتجاه <b>${z}</b> في قاعدة البيانات <b>${y}</b> أيضًا بشكل متزامن.",
"removeBothRelationField": "حذف كلا الحقلين",
"removeButKeepRelationField": "احذف هذا الحقل فقط، احتفظ بحقل العلاقة ثنائية الاتجاه",
"exportPDFLowMemory": "‫الذاكرة المتاحة غير كافية لتصدير هذا PDF، يرجى تقليل المحتوى أو زيادة الذاكرة المتاحة ومحاولة التصدير مرة أخرى‬",
"exportConf": "إعدادات التصدير",
"exportConfTip": "‫لن يتم تصدير الحساب، رمز الإذن بالوصول، المزامنة، رمز API ومفتاح مستودع البيانات‬",
@ -116,6 +131,7 @@
"updateLayout": "تحديث التصميم",
"dndFolderTip": "‫يرجى ملاحظة أن ${x} يقوم فقط بإدراج رابط file:// ولا يقوم بنسخ الملف‬",
"removeCol": "‫هل أنت متأكد من أنك تريد حذف حقل <b>${x}</b> في قاعدة البيانات؟‬",
"removeColConfirm": "⚠️ حذف الحقل",
"video": "الفيديو",
"audio": "الصوت",
"updateAll": "تحديث الكل",
@ -129,7 +145,7 @@
"lastReviewTime": "وقت المراجعة الأخيرة",
"cardStatus": "وضع البطاقة",
"noSupportTip": "لا تدعم هذه الوظيفة استخدام طواقم البطاقات",
"insertRowTip": "تم تصفية المدخلات المضافة حديثا ويمكن مشاهدتها عن طريق إلغاء التصفية/البحث/الفرز",
"insertRowTip": "تم تصفية العنصر الجديد، قم بإلغاء التصفية أو تعديل إعدادات التجميع لعرضه",
"insertPhoto": "التقاط صورة وإدراجها",
"relativeToToday": "بالنسبة إلى اليوم",
"current": "هذا/هذه",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "بعد",
"filterOperatorIsOnOrBefore": "في أو قبل",
"filterOperatorIsOnOrAfter": "في أو بعد",
"filterQuantifierAny": "أي",
"filterQuantifierAll": "الكل",
"filterQuantifierNone": "لا شيء",
"asc": "تصاعدي",
"desc": "تنازلي",
"hideCol": "إخفاء الحقل",
@ -422,7 +441,7 @@
"apiKey": "‫مفتاح API",
"apiKeyTip": "‫من المستحسن تعيين مفتاح API لـSiYuan بشكل منفصل للإدارة اللاحقة. إذا ترك هذا البند فارغاً، سيتم تعطيل الوظائف المتصلة بـAI",
"apiTimeout": "المهلة الزمنية",
"apiTimeoutTip": "المهلة الزمنية لتقديم طلب، الوحدة: ثانية",
"apiTimeoutTip": "مهلة الطلب",
"apiProxy": "وكيل الشبكة",
"apiProxyTip": "‫وكيل الشبكة الذي يبدأ الطلب، مثل <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "الطراز",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "بعد التمكين، تم عرض شريط التنقل في الكتل المضمنة؛ تم مجاهلة هذا الخيار عند شريط التنقل للكتل المضمنة في الكتل الخارقة ولا يظهر أبداً",
"appearanceMode": "وضع المظهر",
"editReadonly": "وضع القراءة فقط",
"editReadonlyTip": "بعد التمكين، سيقوم المحرر بتحميل المستند في وضع القراءة فقط",
"editReadonlyTip": "عند التمكين، سيكون المستند للقراءة فقط افتراضيًا",
"generateConflictDoc": "توليد مستندات التعارض عند ظهور تضاربات المزامنة",
"generateConflictDocTip": "بعد التمكين، سيتم إنشاء مستندات التعارض عند حدوث تضاربات المزامنة، بحيث يمكن فتحها وعرضها مباشرة. سيتم تسجيل مستندات التعارض في [تاريخ البيانات] سواء تمكين هذا الخيار أو عدم تمكينه",
"deleteOpConfirm": "⚠️ تأكيد عملية حذف",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "سيؤدي مسح مستودع البيانات إلى حذف جميع اللقطات غير المرجعية وعناصر البيانات ذات الصلة، هل أنت متأكد من المسح؟",
"purge": "مسح",
"plsChoose": "الرجاء الاختيار أولاً",
"clearMessage": "مقروء",
"freeSub": "الاشتراك التجريبي المجاني",
"sortByUpdateTimeDesc": "تنازلياً بوقت التحديث",
"sortByUpdateTimeAsc": "تصاعدياً بوقت التحديث",
@ -1106,7 +1124,7 @@
"fileTree3": "لا يتطلب تأكيد عند حذف المستندات",
"fileTree4": "في حالة عدم التمكين، سوف يظهر مربع التأكيد في كل مرة تقوم فيها بحذف مستند",
"fileTree5": "موقع حفظ المستند الجديد المنشَأ من المرجع",
"fileTree6": "‫عند استخدام <code class='fn__code'>((</code>، مسار حفظ المستند الجديد (على سبيل المثال، <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "‫عند استخدام <code class='fn__code'>((</code> أو <code class='fn__code'>[[</code>، مسار حفظ المستند الجديد (على سبيل المثال، <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "فتح في علامة التبويب الحالية",
"fileTree8": "سيتم استبدال علامة التبويب المستند المفتوحة حديثا علامة التبويب غير المعدلة",
"fileTree9": "إغلاق جميع علامات التبويب عند بدء التشغيل",
@ -1122,6 +1140,8 @@
"fileTree19": "ولبعض نظم التشغيل قيود تقنية قد تحول دون النسخ اليدوي لبيانات مساحة العمل بعد وضع مستندات فرعية تزيد عن 7 مستويات",
"fileTree20": "حفظ بسطر واحد",
"fileTree21": "‫بعد التمكين، سيتم استخدام تنسيق JSON ذي السطر الواحد عند حفظ مستندات .sy وقاعدة بيانات .json، مما يقلل حجم الملف بحوالي 30٪ وتحسين كفاءة القراءة والكتابة بنسبة 50٪",
"fileTree22": "تنبيه ملف كبير",
"fileTree23": "إشعار عند تجاوز ملفات .sy أو قاعدة بيانات .json لهذا الحجم",
"export10": "‫على سبيل المثال <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>‬، إذا كان فارغاً، سيتم استخدام العلامة المائية من النص المخصص أو مسار ملف العلامة المائية.",
"export11": "طريقة معالجة محتوى المراجع عند التصدير",
"export12": "طريقة معالجة محتوى كتلة التضمين عند التصدير",
@ -1173,6 +1193,7 @@
"newFileTip": "الرجاء فتح دفتر الملاحظات أولاً",
"copyBlockRef": "نسخ كمرجع كتلة",
"copyBlockEmbed": "نسخ ككتلة تضمين",
"copyMarkdown": "نسخ كـ Markdown",
"linkLevel": "العمق",
"mark": "تمييز",
"splitLR": "تقسيم لليمين",
@ -1634,6 +1655,14 @@
"261": "اليوم",
"262": "غدًا",
"263": "التالي %d أيام",
"264": "الحقل [%s] فارغ"
"264": "الحقل [%s] فارغ",
"265": "خارج النطاق",
"266": "Tesseract OCR غير مثبت أو غير مهيأ، يرجى الرجوع إلى دليل المستخدم - قسم ملفات الموارد لإجراء الإعداد",
"267": "قاعدة بيانات غير مسماة",
"268": "يرجى ملاحظة أن الملف [%s] قد تجاوز بالفعل [%d MB]‎، وقد يؤدي ذلك إلى انخفاض الأداء",
"269": "تمت إضافة هذا المقطع بالفعل إلى قاعدة البيانات [%s]",
"270": "يتم تحسين فهرس البيانات، يرجى الانتظار...",
"271": "اكتملت عملية تحسين فهرس البيانات، تم تحرير [%s] من مساحة القرص",
"272": "حقل غير مسمى"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Index optimieren",
"vacuumDataIndexTip": "Datenindex prüfen, Speicherplatz freigeben und Indexleistung verbessern",
"rebuildDataIndex": "Index neu erstellen",
"rebuildDataIndexTip": "Kompletter Neuaufbau des Datenindex, dies kann einige Zeit dauern. Bitte warten",
"displayFieldName": "Feldnamen anzeigen",
"sortBySelectOption": "Nach Option sortieren",
"groupStep": "Gruppierungsintervall",
"groupRange": "Gruppierungsbereich",
"groupMethodDateRelative": "Relatives Datum",
"groupMethodDateDay": "Tag",
"groupMethodDateWeek": "Woche",
"groupMethodDateMonth": "Monat",
"groupMethodDateYear": "Jahr",
"syncColWidth": "Spaltenbreite synchronisieren",
"groupMethod": "Gruppierungsmethode",
"hideEmptyGroup": "Leere Gruppe ausblenden",
"hideEmptyGroup": "Leere Gruppen ausblenden",
"groups": "Gruppen",
"removeGroup": "Gruppe entfernen",
"contentBlock": "Inhaltsblock",
@ -20,7 +33,7 @@
"small": "Klein",
"fitImage": "Bildgröße automatisch anpassen",
"showIcon": "Symbol anzeigen",
"showAllFieldsIcon": "Feldsymbole anzeigen",
"showAllEntriesIcons": "Eintragssymbole anzeigen",
"wrapAllFields": "Felder automatisch umbrechen",
"gallery": "Karte",
"newTag": "Neuer Tag",
@ -28,7 +41,7 @@
"reconnectPrompt": "Nach dem Wechseln der Anwendungen dauert es einige Zeit, bis der Betrieb des SiYuan-Kernels wiederhergestellt ist. Bitte warten Sie einige Sekunden oder klicken Sie auf die Schaltfläche „Erneut versuchen“",
"relativeFontSize": "relativ zur Schriftgröße des Editors",
"localFileSystem": "Lokales Dateisystem",
"deviceNotSupport": "Das aktuelle Gerät wird nicht unterstützt",
"mobileNotSupport": "Diese Funktion wird derzeit auf mobilen Geräten (Telefon oder Tablet) nicht unterstützt",
"second": "Sekunde",
"syncInterval": "Synchronisierungsintervall",
"syncIntervalTip": "Automatische Datensynchronisierung, nachdem die Daten nicht mehr geändert werden",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Daten-Snapshot-Aufbewahrungstage",
"dataRepoAutoPurgeRetentionIndexesDaily": "Daten-Snapshots pro Tag",
"fields": "Attribut",
"dynamicEmoji": "Dynamisches Icon",
"dynamicIcon": "Dynamisches Icon",
"dynamicIconDateEmptyInfo": "Datum löschen, das Kalender-Symbol zeigt dynamisch das heutige Datum an",
"backlinkContainChildren": "Enthalten Rückverweise untergeordnete Blöcke",
"backlinkContainChildrenTip": "Wenn aktiviert, werden untergeordnete Blöcke in die Berechnung der Rückverweise einbezogen",
"entryNum": "Anzahl der Einträge",
"workspaceData": "Arbeitsbereichsdaten",
"confirmRemoveRelationField": "Sind Sie sicher, dass Sie das Feld, das mit <b>${x}</b> verknüpft ist, löschen möchten?",
"removeButKeepRelationField": "Entfernen, aber verknüpftes Feld behalten",
"confirmRemoveRelationField": "Sind Sie sicher, dass Sie das <b>${x}</b> Feld löschen möchten? Nach dem Löschen dieses Feldes wird das bidirektionale Beziehungsfeld <b>${z}</b> in der <b>${y}</b> Datenbank ebenfalls synchron gelöscht.",
"removeBothRelationField": "Beide Felder entfernen",
"removeButKeepRelationField": "Nur dieses Feld entfernen, bidirektionales Beziehungsfeld behalten",
"exportPDFLowMemory": "Nicht genügend verfügbarer Speicher, um dieses PDF zu exportieren, bitte reduzieren Sie den Inhalt oder erhöhen Sie den verfügbaren Speicher und versuchen Sie es erneut",
"exportConf": "Export-Einstellungen",
"exportConfTip": "Konto, Zugriffscode, Synchronisation, API-Token und Daten-Repo-Schlüssel werden nicht exportiert",
@ -116,6 +131,7 @@
"updateLayout": "Layout aktualisieren",
"dndFolderTip": "Bitte beachten Sie, dass ${x} nur den file:// Hyperlink einfügt und die Datei nicht kopiert.",
"removeCol": "Sind Sie sicher, dass Sie die <b>${x}</b> Spalte in der Datenbank löschen möchten?",
"removeColConfirm": "⚠️ Spalte löschen",
"video": "Video",
"audio": "Audio",
"updateAll": "Alle aktualisieren",
@ -129,7 +145,7 @@
"lastReviewTime": "Letzte Überprüfungszeit",
"cardStatus": "Kartenstatus",
"noSupportTip": "Diese Funktion unterstützt die Verwendung von Kartenstapeln nicht.",
"insertRowTip": "Die neu hinzugefügten Reihen wurden gefiltert und können eingesehen werden, indem das Filtern/Suchen/Sortieren aufgehoben wird.",
"insertRowTip": "Das neue Element wurde gefiltert, heben Sie die Filterung auf oder passen Sie die Gruppierungseinstellungen an, um es anzuzeigen",
"insertPhoto": "Foto aufnehmen und einfügen",
"relativeToToday": "Bezogen auf heute",
"current": "Aktuell",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "Ist nach",
"filterOperatorIsOnOrBefore": "Ist am oder vor",
"filterOperatorIsOnOrAfter": "Ist am oder nach",
"filterQuantifierAny": "Beliebig",
"filterQuantifierAll": "Alle",
"filterQuantifierNone": "Keine",
"asc": "Aufsteigend",
"desc": "Absteigend",
"hideCol": "Spalte ausblenden",
@ -422,7 +441,7 @@
"apiKey": "API-Schlüssel",
"apiKeyTip": "Es wird empfohlen, einen API-Schlüssel getrennt für SiYuan zuzuweisen, um eine spätere Verwaltung zu ermöglichen. Wenn dieses Feld leer bleibt, werden AI-bezogene Funktionen deaktiviert.",
"apiTimeout": "Timeout",
"apiTimeoutTip": "Der Timeout-Zeitraum für die Initiierung einer Anfrage, Einheit: Sekunde",
"apiTimeoutTip": "Der Timeout-Zeitraum für die Initiierung einer Anfrage",
"apiProxy": "Netzwerk-Proxy",
"apiProxyTip": "Der Netzwerkproxy, der die Anfrage initiiert, z. B. <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Modell",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "Nach der Aktivierung zeigen eingebettete Blöcke Breadcrumbs an, eingebettete Blöcke in Superblöcken ignorieren diese Option und zeigen niemals Breadcrumbs.",
"appearanceMode": "Darstellungsmodus",
"editReadonly": "Schreibgeschützter Modus",
"editReadonlyTip": "Nach der Aktivierung wird das Dokument im schreibgeschützten Modus geladen.",
"editReadonlyTip": "Nach der Aktivierung ist das Dokument standardmäßig schreibgeschützt.",
"generateConflictDoc": "Konfliktdokument generieren, wenn Synchronisationskonflikte auftreten.",
"generateConflictDocTip": "Nach der Aktivierung wird ein Konfliktdokument generiert, wenn ein Synchronisationskonflikt auftritt, sodass es direkt geöffnet und angezeigt werden kann. Egal ob aktiviert oder nicht, die [Datenhistorie] wird das Konfliktdokument aufzeichnen.",
"deleteOpConfirm": "⚠️ Bestätigung der Löschoperation",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "Das Bereinigen des Daten-Repo löscht alle nicht referenzierten Schnappschüsse und zugehörigen Datenobjekte vollständig. Sind Sie sicher, dass Sie bereinigen möchten?",
"purge": "Bereinigen",
"plsChoose": "Bitte zuerst auswählen",
"clearMessage": "Lesen",
"freeSub": "Kostenlose Testversion",
"sortByUpdateTimeDesc": "Absteigend nach Aktualisierungszeit",
"sortByUpdateTimeAsc": "Aufsteigend nach Aktualisierungszeit",
@ -1106,7 +1124,7 @@
"fileTree3": "Keine Bestätigung erforderlich beim Löschen von Dokumenten",
"fileTree4": "Wenn nicht aktiviert, wird jedes Mal ein Bestätigungsfeld angezeigt, wenn Sie ein Dokument löschen",
"fileTree5": "Referenz erstellt Doc-Speicherort",
"fileTree6": "Beim Verwenden von <code class='fn__code'>((</code> der Speicherpfad des neuen Dokuments (z.B. <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "Beim Verwenden von <code class='fn__code'>((</code> oder <code class='fn__code'>[[</code> der Speicherpfad des neuen Dokuments (z.B. <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Im aktuellen Tab öffnen",
"fileTree8": "Der neu geöffnete Dokumenten-Tab ersetzt den nicht modifizierten Tab",
"fileTree9": "Alle Tabs beim Start schließen",
@ -1122,6 +1140,8 @@
"fileTree19": "Einige Betriebssysteme haben technische Einschränkungen, die das manuelle Kopieren von Arbeitsbereichsdaten nach der Erstellung von Unterdokumenten mit mehr als 7 Ebenen verhindern können",
"fileTree20": "Speichern mit einer einzigen Zeile",
"fileTree21": "Nach der Aktivierung wird beim Speichern von .sy-Dokumenten und Datenbank-.json-Dateien das Einzeilige JSON-Format verwendet, was die Dateigröße um etwa 30 % reduzieren und die Lese- und Schreibgeschwindigkeit um 50 % verbessern kann",
"fileTree22": "Großdatei-Warnung",
"fileTree23": "Benachrichtigen, wenn .sy-Dateien oder die Datenbank .json diese Größe überschreiten",
"export10": "Beispiel <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, wenn leer, verwenden Sie Wasserzeichentext oder den Pfad zur Wasserzeichen-Datei.",
"export11": "Inhaltsbehandlungsverfahren des Inhaltsreferenzblocks beim Exportieren",
"export12": "Inhaltsbehandlungsverfahren des Inhalteinbettungsblocks beim Exportieren",
@ -1173,6 +1193,7 @@
"newFileTip": "Bitte öffnen Sie zuerst ein Notizbuch",
"copyBlockRef": "Blockreferenz kopieren",
"copyBlockEmbed": "Blockeinbettung kopieren",
"copyMarkdown": "Als Markdown kopieren",
"linkLevel": "Tiefe",
"mark": "Markieren",
"splitLR": "Rechts aufteilen",
@ -1634,6 +1655,14 @@
"261": "Heute",
"262": "Morgen",
"263": "Nächste %d Tage",
"264": "Das Feld [%s] ist leer"
"264": "Das Feld [%s] ist leer",
"265": "Außerhalb des Bereichs",
"266": "Tesseract OCR ist nicht installiert oder konfiguriert, bitte lesen Sie das Benutzerhandbuch - Abschnitt Ressourcen-Dateien zur Konfiguration",
"267": "Unbenannte Datenbank",
"268": "Bitte beachten Sie, dass die Datei [%s] bereits [%d MB] überschritten hat, was die Leistung beeinträchtigen kann",
"269": "Dieser Block wurde bereits zur Datenbank [%s] hinzugefügt",
"270": "Datenindex wird optimiert, bitte warten...",
"271": "Datenindex-Optimierung abgeschlossen, [%s] Speicherplatz freigegeben",
"272": "Unbenanntes Feld"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Optimize Index",
"vacuumDataIndexTip": "Check data index, free up storage, and improve index performance",
"rebuildDataIndex": "Rebuild Index",
"rebuildDataIndexTip": "Fully rebuild the data index, which may take some time. Please wait",
"displayFieldName": "Display field name",
"sortBySelectOption": "Sort by option",
"groupStep": "Group interval",
"groupRange": "Group range",
"groupMethodDateRelative": "Relative date",
"groupMethodDateDay": "Day",
"groupMethodDateWeek": "Week",
"groupMethodDateMonth": "Month",
"groupMethodDateYear": "Year",
"syncColWidth": "Sync column width",
"groupMethod": "Grouping method",
"hideEmptyGroup": "Hide empty group",
"hideEmptyGroup": "Hide empty groups",
"groups": "Groups",
"removeGroup": "Remove group",
"contentBlock": "Content block",
@ -20,7 +33,7 @@
"small": "Small",
"fitImage": "Auto-fit image size",
"showIcon": "Show icon",
"showAllFieldsIcon": "Show field icons",
"showAllEntriesIcons": "Show entry icons",
"wrapAllFields": "Auto-wrap fields",
"gallery": "Card",
"newTag": "New tag",
@ -28,7 +41,7 @@
"reconnectPrompt": "After switching applications, it will take some time to restore the SiYuan kernel operation. Please wait a few seconds or click the \"Retry\" button",
"relativeFontSize": "relative to the editor font size",
"localFileSystem": "Local file system",
"deviceNotSupport": "The current device is not supported",
"mobileNotSupport": "This feature is currently not supported on mobile devices (phone or tablet)",
"second": "second",
"syncInterval": "sync interval",
"syncIntervalTip": "Automatically sync data after it stops changing",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Data snapshot retention days",
"dataRepoAutoPurgeRetentionIndexesDaily": "Data snapshots per day",
"fields": "Fields",
"dynamicEmoji": "Dynamic icon",
"dynamicIcon": "Dynamic icon",
"dynamicIconDateEmptyInfo": "Clear the date, the calendar icon will dynamically display todays date",
"backlinkContainChildren": "Do backlinks contain child blocks",
"backlinkContainChildrenTip": "When enabled, child blocks will be included in the backlink calculation",
"entryNum": "Number of entries",
"workspaceData": "Workspace data",
"confirmRemoveRelationField": "Are you sure you want to delete the field associated with <b>${x}</b>?",
"removeButKeepRelationField": "Remove, but keep related field",
"confirmRemoveRelationField": "Are you sure you want to delete the <b>${x}</b> field? After deleting this field, the bidirectional relation field <b>${z}</b> in the <b>${y}</b> database will also be deleted synchronously.",
"removeBothRelationField": "Remove both fields",
"removeButKeepRelationField": "Remove only this field, keep bidirectional relation field",
"exportPDFLowMemory": "Insufficient available memory to export this PDF, please reduce the content or increase available memory and try exporting again",
"exportConf": "Export settings",
"exportConfTip": "Account, access authorization code, synchronization, API token and data repo key will not be exported",
@ -116,6 +131,7 @@
"updateLayout": "Update layout",
"dndFolderTip": "Please note that ${x} only inserts the file:// hyperlink and does not copy the file",
"removeCol": "Are you sure you want to delete the <b>${x}</b> field in the database?",
"removeColConfirm": "⚠️ Delete field",
"video": "Video",
"audio": "Audio",
"updateAll": "Update all",
@ -129,7 +145,7 @@
"lastReviewTime": "Last review time",
"cardStatus": "Card status",
"noSupportTip": "This function does not support the use of card decks",
"insertRowTip": "The newly added entries have been filtered and can be viewed by canceling filtering/searching/sorting",
"insertRowTip": "The new item has been filtered, cancel the filter or adjust the grouping settings to view it",
"insertPhoto": "Take a photo and insert it",
"relativeToToday": "Relative to today",
"current": "This",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "Is after",
"filterOperatorIsOnOrBefore": "Is on or before",
"filterOperatorIsOnOrAfter": "Is on or after",
"filterQuantifierAny": "Any",
"filterQuantifierAll": "All",
"filterQuantifierNone": "None",
"asc": "Ascending",
"desc": "Descending",
"hideCol": "Hide field",
@ -422,7 +441,7 @@
"apiKey": "API Key",
"apiKeyTip": "It is recommended to assign an API Key to SiYuan separately for subsequent management. If this item is left blank, AI-related functions will be disabled",
"apiTimeout": "Timeout",
"apiTimeoutTip": "The timeout period for initiating a request, unit: second",
"apiTimeoutTip": "The timeout period for initiating a request",
"apiProxy": "Network Proxy",
"apiProxyTip": "The network proxy that initiates the request, such as <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Model",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "When enabled, embed blocks will display breadcrumbs, embed blocks in super blocks ignore this option and never show breadcrumbs",
"appearanceMode": "Appearance Mode",
"editReadonly": "Read-only mode",
"editReadonlyTip": "When enabled, the editor will load the document in read-only mode",
"editReadonlyTip": "When enabled, the document will be read-only by default",
"generateConflictDoc": "Generate conflict documentation when syncing conflicts",
"generateConflictDocTip": "When enabled, a conflict document will be generated when a synchronization conflict occurs, so that it can be opened and viewed directly. Whether enabled or not, the [Data History] will record the conflict document",
"deleteOpConfirm": "⚠️ Delete operation confirmation",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "Purging the data repo will completely delete all unreferenced snapshots and related data objects, are you sure to purge?",
"purge": "Purge",
"plsChoose": "Please choose first",
"clearMessage": "Read",
"freeSub": "Free Trial Subscription",
"sortByUpdateTimeDesc": "Descending by update time",
"sortByUpdateTimeAsc": "Ascending by update time",
@ -1106,7 +1124,7 @@
"fileTree3": "No confirmation required when deleting documents",
"fileTree4": "If not enabled, a confirmation box will pop up every time you delete a document",
"fileTree5": "Ref create doc save location",
"fileTree6": "When using <code class='fn__code'>((</code>, the save path of the new document (for example, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "When using <code class='fn__code'>((</code> or <code class='fn__code'>[[</code>, the save path of the new document (for example, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Open in the current tab",
"fileTree8": "The newly opened document tab will replace the unmodified tab",
"fileTree9": "Close all tabs at startup",
@ -1122,6 +1140,8 @@
"fileTree19": "Some operating systems have technical limitations that may prevent manual copying of workspace data after creating sub-documents greater than 7 levels",
"fileTree20": "Save with a single line",
"fileTree21": "When enabled, the single-line JSON format will be used when saving .sy docs and database .json files, which can reduce the file size by about 30% and improve read and write efficiency by 50%",
"fileTree22": "Large File Warning",
"fileTree23": "Notify when .sy files or database .json exceed this size",
"export10": "For example <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, if empty, use watermark text or watermark file path.",
"export11": "Content handling method of content ref block when exporting",
"export12": "Content handling method of content embed block when exporting",
@ -1173,6 +1193,7 @@
"newFileTip": "Please open a notebook first",
"copyBlockRef": "Copy block ref",
"copyBlockEmbed": "Copy block embed",
"copyMarkdown": "Copy as Markdown",
"linkLevel": "Depth",
"mark": "Mark",
"splitLR": "Split Right",
@ -1634,6 +1655,14 @@
"261": "Today",
"262": "Tomorrow",
"263": "Next %d days",
"264": "Field [%s] is empty"
"264": "Field [%s] is empty",
"265": "Out of range",
"266": "Tesseract OCR is not installed or configured, please refer to the User Guide - Assets section for configuration",
"267": "Unnamed database",
"268": "Please note that the file [%s] has already exceeded [%d MB], which may cause performance degradation",
"269": "This block has already been added to the database [%s]",
"270": "Optimizing data index, please wait...",
"271": "Data index optimization completed, [%s] disk space freed",
"272": "Unnamed field"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Optimizar índice",
"vacuumDataIndexTip": "Verifique el índice de datos, libere espacio y mejore el rendimiento del índice",
"rebuildDataIndex": "Reconstruir índice",
"rebuildDataIndexTip": "Reconstrucción completa del índice de datos, puede tardar, por favor espere",
"displayFieldName": "Mostrar nombre de campo",
"sortBySelectOption": "Ordenar por opción",
"groupStep": "Intervalo de agrupación",
"groupRange": "Rango de agrupación",
"groupMethodDateRelative": "Fecha relativa",
"groupMethodDateDay": "Día",
"groupMethodDateWeek": "Semana",
"groupMethodDateMonth": "Mes",
"groupMethodDateYear": "Año",
"syncColWidth": "Sincronizar ancho de columna",
"groupMethod": "Método de agrupación",
"hideEmptyGroup": "Ocultar grupo vacío",
"hideEmptyGroup": "Ocultar grupos vacíos",
"groups": "Grupos",
"removeGroup": "Eliminar grupo",
"contentBlock": "Bloque de contenido",
@ -20,7 +33,7 @@
"small": "Pequeño",
"fitImage": "Ajustar automáticamente el tamaño de la imagen",
"showIcon": "Mostrar ícono",
"showAllFieldsIcon": "Mostrar íconos de campos",
"showAllEntriesIcons": "Mostrar íconos de entradas",
"wrapAllFields": "Ajuste automático de campos",
"gallery": "Tarjeta",
"newTag": "Nueva etiqueta",
@ -28,7 +41,7 @@
"reconnectPrompt": "Después de cambiar de aplicación, tomará algún tiempo restaurar el funcionamiento del núcleo de SiYuan. Espere unos segundos o haga clic en el botón \"Reintentar\"",
"relativeFontSize": "en relación con el tamaño de fuente del editor",
"localFileSystem": "Sistema de archivos local",
"deviceNotSupport": "El dispositivo actual no es compatible",
"mobileNotSupport": "Esta función no está disponible actualmente en dispositivos móviles (teléfono o tableta)",
"second": "segundo",
"syncInterval": "intervalo de sincronización",
"syncIntervalTip": "Sincronización automática de datos después de que los datos dejen de cambiar",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Días de retención de instantáneas de datos",
"dataRepoAutoPurgeRetentionIndexesDaily": "Número de instantáneas de datos por día",
"fields": "Atributo",
"dynamicEmoji": "Icono dinámico",
"dynamicIcon": "Icono dinámico",
"dynamicIconDateEmptyInfo": "Borrar la fecha, el icono del calendario mostrará dinámicamente la fecha actual",
"backlinkContainChildren": "¿Los enlaces inversos contienen bloques secundarios?",
"backlinkContainChildrenTip": "Una vez habilitado, los bloques secundarios se incluirán en el cálculo de los enlaces inversos",
"entryNum": "Número de entradas",
"workspaceData": "Datos del espacio de trabajo",
"confirmRemoveRelationField": "¿Está seguro de que desea eliminar el campo asociado a <b>${x}</b>?",
"removeButKeepRelationField": "Eliminar, pero mantener el campo relacionado",
"confirmRemoveRelationField": "¿Está seguro de que desea eliminar el campo <b>${x}</b>? Después de eliminar este campo, el campo de relación bidireccional <b>${z}</b> en la base de datos <b>${y}</b> también se eliminará de forma sincrónica.",
"removeBothRelationField": "Eliminar ambos campos",
"removeButKeepRelationField": "Eliminar solo este campo, mantener el campo de relación bidireccional",
"exportPDFLowMemory": "Memoria disponible insuficiente para exportar este PDF, por favor reduzca el contenido o aumente la memoria disponible y vuelva a intentar exportar",
"exportConf": "Configuración de exportación",
"exportConfTip": "Las cuentas, los códigos de acceso, la sincronización, los tokens API y las claves del almacén de datos no se exportarán",
@ -116,6 +131,7 @@
"updateLayout": "Actualizar diseño",
"dndFolderTip": "Tenga en cuenta que ${x} solo inserta el hipervínculo file:// y no copia el archivo",
"removeCol": "¿Está seguro de que desea eliminar la columna <b>${x}</b> en la base de datos?",
"removeColConfirm": "⚠️ Eliminar columna",
"vídeo": "Vídeo",
"audio": "Audio",
"updateAll": "Actualizar todo",
@ -129,7 +145,7 @@
"lastReviewTime": "Última hora de revisión",
"cardStatus": "Estado de la tarjeta",
"noSupportTip": "Esta función no admite el uso de paquetes de tarjetas",
"insertRowTip": "Las filas recién agregadas se han filtrado y se pueden ver cancelando el filtrado/búsqueda/clasificación",
"insertRowTip": "El nuevo elemento ha sido filtrado, cancele el filtro o ajuste la configuración de agrupación para verlo",
"insertPhoto": "Toma una foto e insértala",
"relativeToToday": "Relativa a hoy",
"current": "Esto",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "Es posterior a",
"filterOperatorIsOnOrBefore": "Está activado o antes",
"filterOperatorIsOnOrAfter": "Está encendido o después",
"filterQuantifierAny": "Cualquiera",
"filterQuantifierAll": "Todos",
"filterQuantifierNone": "Ninguno",
"asc": "Ascendente",
"desc": "Descendente",
"hideCol": "Ocultar columna",
@ -422,7 +441,7 @@
"apiKey": "Clave API",
"apiKeyTip": "Se recomienda asignar una clave API a SiYuan por separado para su posterior administración. Si este elemento se deja en blanco, las funciones relacionadas con la IA se desactivarán",
"apiTimeout": "Tiempo de espera",
"apiTimeoutTip": "El tiempo de espera para iniciar una solicitud, unidad: segundo",
"apiTimeoutTip": "El tiempo de espera para iniciar una solicitud",
"apiProxy": "Proxy web",
"apiProxyTip": "El proxy de red que inicia la solicitud, como <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Modelo",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "Después de habilitar los bloques incrustados, se mostrarán migas de pan, incrustar bloques en superbloques ignora esta opción y nunca muestra migas de pan",
"appearanceMode": "Modo de apariencia",
"editReadonly": "Modo de solo lectura",
"editReadonlyTip": "Después de habilitarlo, el editor cargará el documento en modo de solo lectura",
"editReadonlyTip": "Después de habilitarlo, el documento será de solo lectura por defecto",
"generateConflictDoc": "Generar documentación de conflicto al sincronizar conflictos",
"generateConflictDocTip": "Después de habilitarlo, se generará un documento de conflicto cuando ocurra un conflicto de sincronización, para que pueda abrirse y verse directamente. Ya sea que esté habilitado o no, el [Historial de datos] registrará el documento de conflicto",
"deleteOpConfirm": "⚠️ Confirmación de operación de eliminación",
@ -629,7 +648,6 @@
"purge": "Purgar",
"dataRepoPurgeTip": "Purga todas las instantáneas sin referencia y los objetos de datos relacionados",
"plsChoose": "Por favor, elija primero",
"clearMessage": "Leer",
"freeSub": "Suscripción de prueba gratuita",
"sortByUpdateTimeDesc": "Descendente por tiempo de actualización",
"sortByUpdateTimeAsc": "Ascendente por tiempo de actualización",
@ -1106,7 +1124,7 @@
"fileTree3": "No se requiere confirmación al borrar documentos",
"fileTree4": "Si no se activa, aparecerá un cuadro de confirmación cada vez que se elimine un documento",
"fileTree5": "Ref crear ubicación de guardado de documentos",
"fileTree6": "Al utilizar <code class='fn__code'>((</code>, la ruta de guardado del nuevo documento (por ejemplo, <code class='fn__code'>/carpeta1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "Al utilizar <code class='fn__code'>((</code> o <code class='fn__code'>[[</code>, la ruta de guardado del nuevo documento (por ejemplo, <code class='fn__code'>/carpeta1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Abrir en la pestaña actual",
"fileTree8": "La pestaña del documento recién abierto sustituirá a la pestaña no modificada",
"fileTree9": "Cerrar todas las pestañas al inicio",
@ -1122,6 +1140,8 @@
"fileTree19": "Algunos sistemas operativos tienen limitaciones técnicas que pueden impedir la copia manual de los datos del espacio de trabajo después de crear subdocumentos de más de 7 niveles",
"fileTree20": "Guardar con una sola línea",
"fileTree21": "Después de habilitarlo, se utilizará el formato JSON de una sola línea al guardar documentos .sy y archivos .json de bases de datos, lo que puede reducir el tamaño del archivo en aproximadamente un 30 % y mejorar la eficiencia de lectura y escritura en un 50 %.",
"fileTree22": "Aviso de archivo grande",
"fileTree23": "Notificar cuando los archivos .sy o la base de datos .json superen este tamaño",
"export10": "Por ejemplo <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, si está vacío, utilice texto de marca de agua o ruta del archivo de marca de agua.",
"export11": "Método de manejo de contenido del bloque de referencia de contenido al exportar",
"export12": "Método de manejo de contenido del bloque de incrustación de contenido al exportar",
@ -1173,6 +1193,7 @@
"newFileTip": "Por favor, abra primero un cuaderno de notas",
"copyBlockRef": "Copiar bloque referencia",
"copyBlockEmbed": "Copiar bloque incrustado",
"copyMarkdown": "Copiar como Markdown",
"linkLevel": "Profundidad",
"mark": "Marca",
"splitLR": "Dividir a la derecha",
@ -1634,6 +1655,14 @@
"261": "Hoy",
"262": "Mañana",
"263": "Próximos %d días",
"264": "El campo [%s] está vacío"
"264": "El campo [%s] está vacío",
"265": "Fuera de rango",
"266": "Tesseract OCR no está instalado o configurado, consulte la Guía del Usuario - Sección de archivos de recursos para la configuración",
"267": "Base de datos sin nombre",
"268": "Atención: el archivo [%s] ya ha superado los [%d MB], lo que puede causar una disminución del rendimiento",
"269": "Este bloque ya ha sido añadido a la base de datos [%s]",
"270": "Optimizando el índice de datos, por favor espere...",
"271": "Optimización del índice de datos completada, se liberaron [%s] de espacio en disco",
"272": "Campo sin nombre"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Optimiser l'index",
"vacuumDataIndexTip": "Vérifiez l'index des données, libérez de l'espace et améliorez les performances de l'index",
"rebuildDataIndex": "Reconstruire l'index",
"rebuildDataIndexTip": "Reconstruction complète de l'index des données, cela peut prendre du temps, veuillez patienter",
"displayFieldName": "Afficher le nom du champ",
"sortBySelectOption": "Trier par option",
"groupStep": "Intervalle de regroupement",
"groupRange": "Plage de regroupement",
"groupMethodDateRelative": "Date relative",
"groupMethodDateDay": "Jour",
"groupMethodDateWeek": "Semaine",
"groupMethodDateMonth": "Mois",
"groupMethodDateYear": "Année",
"syncColWidth": "Synchroniser la largeur de la colonne",
"groupMethod": "Méthode de regroupement",
"hideEmptyGroup": "Masquer le groupe vide",
"hideEmptyGroup": "Masquer les groupes vides",
"groups": "Groupes",
"removeGroup": "Supprimer le groupe",
"contentBlock": "Bloc de contenu",
@ -20,7 +33,7 @@
"small": "Petit",
"fitImage": "Ajuster automatiquement la taille de l'image",
"showIcon": "Afficher l'icône",
"showAllFieldsIcon": "Afficher les icônes des champs",
"showAllEntriesIcons": "Afficher les icônes des entrées",
"wrapAllFields": "Retour automatique des champs",
"gallery": "Carte",
"newTag": "Nouvelle étiquette",
@ -28,7 +41,7 @@
"reconnectPrompt": "Après avoir changé d'application, il faudra un certain temps pour rétablir le fonctionnement du noyau SiYuan. Veuillez patienter quelques secondes ou cliquer sur le bouton « Réessayer »",
"relativeFontSize": "par rapport à la taille de la police de l'éditeur",
"localFileSystem": "Système de fichiers local",
"deviceNotSupport": "L'appareil actuel n'est pas pris en charge",
"mobileNotSupport": "Cette fonctionnalité n'est pas prise en charge sur les appareils mobiles (téléphone ou tablette) pour le moment",
"second": "seconde",
"syncInterval": "intervalle de synchronisation",
"syncIntervalTip": "Synchronisation automatique des données après l'arrêt des modifications",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Jours de rétention des instantanés de données",
"dataRepoAutoPurgeRetentionIndexesDaily": "Nombre d'instantanés de données par jour",
"fields": "Attribut",
"dynamicEmoji": "Icône dynamique",
"dynamicIcon": "Icône dynamique",
"dynamicIconDateEmptyInfo": "Effacer la date, licône du calendrier affichera dynamiquement la date du jour",
"backlinkContainChildren": "Les liens retour contiennent-ils des sous-blocs",
"backlinkContainChildrenTip": "Une fois activé, les sous-blocs seront inclus dans le calcul des liens retour",
"entryNum": "Nombre d'entrées",
"workspaceData": "Données de l'espace de travail",
"confirmRemoveRelationField": "Êtes-vous sûr de vouloir supprimer le champ associé à <b>${x}</b>?",
"removeButKeepRelationField": "Supprimer, mais conserver le champ associé",
"confirmRemoveRelationField": "Êtes-vous sûr de vouloir supprimer le champ <b>${x}</b> ? Après la suppression de ce champ, le champ de relation bidirectionnelle <b>${z}</b> dans la base de données <b>${y}</b> sera également supprimé de manière synchrone.",
"removeBothRelationField": "Supprimer les deux champs",
"removeButKeepRelationField": "Supprimer seulement ce champ, conserver le champ de relation bidirectionnelle",
"exportPDFLowMemory": "Mémoire disponible insuffisante pour exporter ce PDF, veuillez réduire le contenu ou augmenter la mémoire disponible et réessayer d'exporter",
"exportConf": "Exporter les paramètres",
"exportConfTip": "Les comptes, codes d'accès, synchronisation, tokens API et clés d'entrepôt de données ne seront pas exportés",
@ -116,6 +131,7 @@
"updateLayout": "Mettre à jour la mise en page",
"dndFolderTip": "Veuillez noter que ${x} insère uniquement le lien hypertexte file:// et ne copie pas le fichier",
"removeCol": "Êtes-vous sûr de vouloir supprimer la colonne <b>${x}</b> de la base de données ?",
"removeColConfirm": "⚠️ Supprimer la colonne",
"video": "Vidéo",
"audio": "Audio",
"updateAll": "Tout mettre à jour",
@ -129,7 +145,7 @@
"lastReviewTime": "Heure de la dernière révision",
"cardStatus": "Statut de la carte",
"noSupportTip": "Cette fonction ne prend pas en charge l'utilisation de packages de cartes",
"insertRowTip": "Les lignes nouvellement ajoutées ont été filtrées et peuvent être visualisées en annulant le filtrage/recherche/tri",
"insertRowTip": "Le nouvel élément a été filtré, annulez le filtre ou ajustez les paramètres de regroupement pour le voir",
"insertPhoto": "Prendre une photo et l'insérer",
"relativeToToday": "Par rapport à aujourd'hui",
"current": "Ceci",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "Est après",
"filterOperatorIsOnOrBefore": "Est le ou avant",
"filterOperatorIsOnOrAfter": "Est allumé ou après",
"filterQuantifierAny": "N'importe lequel",
"filterQuantifierAll": "Tous",
"filterQuantifierNone": "Aucun",
"asc": "Ascendant",
"desc": "Descendant",
"hideCol": "Masquer la colonne",
@ -422,7 +441,7 @@
"apiKey": "Clé API",
"apiKeyTip": "Il est recommandé d'attribuer une clé API à SiYuan séparément pour une gestion ultérieure. Si cet élément est laissé vide, les fonctions liées à l'IA seront désactivées",
"apiTimeout": "Délai d'expiration",
"apiTimeoutTip": "Le délai d'attente pour lancer une requête, unité : seconde",
"apiTimeoutTip": "Le délai d'attente pour lancer une requête",
"apiProxy": "Proxy Web",
"apiProxyTip": "Le proxy réseau qui lance la requête, tel que <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Modelo",
@ -482,7 +501,7 @@
"workspaceList": "Espaces de travail",
"removeWorkspaceTip": "Supprimer des espaces de travail",
"new": "Nouveau",
"share2LiandiConfirmTip": "Êtes-vous sûr de vouloir <b>publier</b> ce document dans la <a href=\"${accountServer}\" target=\"_blank\">communauté</a> ?<br>Après la publication, tout le monde pourra voir ce document, assurez-vous qu'il ne contient pas d'informations sensibles",
"share2LiandiConfirmTip": "Êtes-vous sûr de vouloir <b>publier</b> ce document dans la <a href=\"${accountServer}\" target=\"_blank\">communauté</a> ?<br>Après la publication, tout le monde pourra voir ce document, assurez-vous qu'il ne contient pas d'informations sensibles",
"share2Liandi": "Partager avec communauté",
"noDueCard": "Excellent travail ! Il n'y a plus de tâches de révision pour le moment, revenez plus tard !",
"createDeck": "Créer un deck",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "Après avoir activé l'intégration, les blocs afficheront le fil d'Ariane, intégrer des blocs dans des super blocs ignorent cette option et n'affichent jamais le fil d'Ariane",
"appearanceMode": "Mode d'apparence",
"editReadonly": "Mode lecture seule",
"editReadonlyTip": "Lorsqu'il est activé, l'éditeur charge le document en mode lecture seule",
"editReadonlyTip": "Lorsqu'il est activé, le document sera en lecture seule par défaut",
"generateConflictDoc": "Générer une documentation sur les conflits lors de la synchronisation des conflits",
"generateConflictDocTip": "Lorsqu'il est activé, un document de conflit sera généré lorsqu'un conflit de synchronisation se produit, afin qu'il puisse être ouvert et visualisé directement. Qu'il soit activé ou non, l'historique des données enregistrera le document de conflit",
"deleteOpConfirm": "⚠️ Supprimer la confirmation de l'opération",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "La purge du référentiel de données supprimera complètement tous les instantanés non référencés et les objets de données associés, êtes-vous sûr de purger ?",
"purge": "Purger",
"plsChoose": "Veuillez d'abord choisir",
"clearMessage": "Lire",
"freeSub": "Abonnement d'essai gratuit",
"sortByUpdateTimeDesc": "Descendant par heure de mise à jour",
"sortByUpdateTimeAsc": "Croissant par heure de mise à jour",
@ -745,7 +763,7 @@
"findHighlight": "Tout surligner",
"findEntireWord": "Mots entiers",
"presentationMode": "Basculer en mode présentation",
"focusOutline": "Trouver lélément de plan actuel",
"focusOutline": "Trouver l'élément de plan actuel",
"previousLabel": "Précédent",
"nextLabel": "Suivant",
"pageScaleWidth": "Pleine largeur",
@ -756,12 +774,12 @@
"loading": "Chargement…",
"toggleSidebarNotification2Title": "Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques)",
"toggleSidebarTitle": "Afficher/Masquer le panneau latéral",
"loadingError": "Une erreur sest produite lors du chargement du fichier PDF.",
"loadingError": "Une erreur s'est produite lors du chargement du fichier PDF.",
"invalidFileError": "Fichier PDF invalide ou corrompu.",
"missingFileError": "Fichier PDF manquant.",
"unexpectedResponseError": "Réponse inattendue du serveur.",
"printingNotSupported": "Attention : limpression nest pas totalement prise en charge par ce navigateur.",
"printingNotReady": "Attention : le PDF nest pas entièrement chargé pour pouvoir limprimer.",
"printingNotSupported": "Attention : l'impression n'est pas totalement prise en charge par ce navigateur.",
"printingNotReady": "Attention : le PDF n'est pas entièrement chargé pour pouvoir l'imprimer.",
"unitInches": "in",
"unitMillimeters": "mm",
"additionalLayers": "Calques additionnels",
@ -1106,7 +1124,7 @@
"fileTree3": "Aucune confirmation requise lors de la suppression de documents",
"fileTree4": "Si non activé, une boîte de confirmation apparaîtra à chaque fois que vous supprimerez un document",
"fileTree5": "Référence créer doc enregistrer emplacement",
"fileTree6": "Lors de l'utilisation de <code class='fn__code'>((</code>, le chemin d'enregistrement du nouveau document (par exemple, <code class='fn__code'>/dossier1/{{now | date \"20060102150405\"}}/</code>).",
"fileTree6": "Lors de l'utilisation de <code class='fn__code'>((</code> ou <code class='fn__code'>[[</code>, le chemin d'enregistrement du nouveau document (par exemple, <code class='fn__code'>/dossier1/{{now | date \"20060102150405\"}}/</code>).",
"fileTree7": "Ouvrir dans l'Onglet actuel",
"fileTree8": "L'onglet du document nouvellement ouvert remplacera l'Onglet non modifié.",
"fileTree9": "Fermer tous les onglets au démarrage",
@ -1122,6 +1140,8 @@
"fileTree19": "Certains systèmes d'exploitation ont des limitations techniques qui peuvent empêcher la copie manuelle des données de l'espace de travail après la création de sous-documents supérieurs à 7 niveaux",
"fileTree20": "Enregistrer avec une seule ligne",
"fileTree21": "Après activation, le format JSON sur une seule ligne sera utilisé lors de l'enregistrement des documents .sy et des fichiers .json de base de données, ce qui peut réduire la taille du fichier d'environ 30 % et améliorer l'efficacité de lecture et d'écriture de 50 %",
"fileTree22": "Alerte de fichier volumineux",
"fileTree23": "Notifier lorsque les fichiers .sy ou la base de données .json dépassent cette taille",
"export10": "Par exemple <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, s'il est vide, utilisez le texte du filigrane ou le chemin du fichier du filigrane.",
"export11": "Traitement du contenu des blocs de référence lors de l'exportation",
"export12": "Gestion du contenu des blocs intégrés lors de l'exportation",
@ -1173,6 +1193,7 @@
"newFileTip": "Veuillez d'abord ouvrir un carnet de notes",
"copyBlockRef": "Copier bloc réf",
"copyBlockEmbed": "Copier le bloc en tant que bloc incorporé",
"copyMarkdown": "Copier comme Markdown",
"linkLevel": "Niveaux",
"mark": "Mark",
"splitLR": "Split Droit",
@ -1634,6 +1655,14 @@
"261": "Aujourd'hui",
"262": "Demain",
"263": "Les %d prochains jours",
"264": "Le champ [%s] est vide"
"264": "Le champ [%s] est vide",
"265": "Hors de portée",
"266": "Tesseract OCR n'est pas installé ou configuré, veuillez consulter le Guide de l'utilisateur - Section des fichiers de ressources pour la configuration",
"267": "Base de données sans nom",
"268": "Attention : le fichier [%s] a déjà dépassé [%d MB], ce qui peut entraîner une baisse des performances",
"269": "Ce bloc a déjà été ajouté à la base de données [%s]",
"270": "Optimisation de l'index des données en cours, veuillez patienter...",
"271": "Optimisation de l'index des données terminée, [%s] d'espace disque libéré",
"272": "Champ sans nom"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "אופטימיזציית אינדקס",
"vacuumDataIndexTip": "בדוק את אינדקס הנתונים, שחרר שטח אחסון ושפר את ביצועי האינדקס",
"rebuildDataIndex": "בנה מחדש את האינדקס",
"rebuildDataIndexTip": "בנייה מחדש מלאה של אינדקס הנתונים, עשוי להימשך זמן, נא להמתין",
"displayFieldName": "הצג שם שדה",
"sortBySelectOption": "מיין לפי אפשרות",
"groupStep": "מרווח קיבוץ",
"groupRange": "טווח קיבוץ",
"groupMethodDateRelative": "תאריך יחסי",
"groupMethodDateDay": "יום",
"groupMethodDateWeek": "שבוע",
"groupMethodDateMonth": "חודש",
"groupMethodDateYear": "שנה",
"syncColWidth": "סנכרון רוחב עמודה",
"groupMethod": "שיטת קיבוץ",
"hideEmptyGroup": "הסתר קבוצה ריקה",
"hideEmptyGroup": "הסתר קבוצות ריקות",
"groups": "קבוצות",
"removeGroup": "הסר קבוצה",
"contentBlock": "בלוק תוכן",
@ -20,7 +33,7 @@
"small": "קטן",
"fitImage": "התאמה אוטומטית לגודל התמונה",
"showIcon": "הצג סמל",
"showAllFieldsIcon": "הצג סמלי שדות",
"showAllEntriesIcons": "הצג סמלי כניסות",
"wrapAllFields": "עטיפת שדות אוטומטית",
"gallery": "כרטיס",
"newTag": "תג חדש",
@ -28,7 +41,7 @@
"reconnectPrompt": "לאחר מעבר בין יישומים, יידרש זמן מה כדי לשחזר את פעולת ליבת SiYuan. אנא המתן מספר שניות או לחץ על כפתור \"נסה שוב\"",
"relativeFontSize": "יחסית לגודל הגופן של העורך",
"localFileSystem": "מערכת קבצים מקומית",
"deviceNotSupport": "המכשיר הנוכחי אינו נתמך",
"mobileNotSupport": "פונקציה זו אינה נתמכת כרגע במכשירים ניידים (טלפון או טאבלט)",
"second": "שנייה",
"syncInterval": "מרווח סנכרון",
"syncIntervalTip": "סנכרון נתונים אוטומטי לאחר שהנתונים מפסיקים להשתנות",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "ימי שמירת תמונות נתונים",
"dataRepoAutoPurgeRetentionIndexesDaily": "מספר תמונות נתונים ביום",
"fields": "מאפיין",
"dynamicEmoji": "אייקון דינמי",
"dynamicIcon": "אייקון דינמי",
"dynamicIconDateEmptyInfo": "נקה את התאריך, סמל לוח השנה יציג באופן דינמי את התאריך של היום",
"backlinkContainChildren": "האם קישורים חוזרים כוללים בלוקים משניים",
"backlinkContainChildrenTip": "לאחר ההפעלה, בלוקים משניים ייכללו בחישוב הקישורים החוזרים",
"entryNum": "מספר ערכים",
"workspaceData": "נתוני סביבת עבודה",
"confirmRemoveRelationField": "האם אתה בטוח שברצונך למחוק את השדה המשויך ל-<b>${x}</b>?",
"removeButKeepRelationField": "מחק, אך שמור על שדה הקשר",
"confirmRemoveRelationField": "האם אתה בטוח שברצונך למחוק את השדה <b>${x}</b>? לאחר מחיקת שדה זה, שדה הקשר הדו-כיווני <b>${z}</b> במסד הנתונים <b>${y}</b> יימחק גם הוא באופן סינכרוני.",
"removeBothRelationField": "מחק את שני השדות",
"removeButKeepRelationField": "מחק רק שדה זה, שמור על שדה הקשר הדו-כיווני",
"exportPDFLowMemory": "אין מספיק זיכרון זמין במערכת כדי לייצא את ה-PDF הזה, נא לצמצם את התוכן או להגדיל את הזיכרון הזמין ולנסות שוב לייצא",
"exportConf": "הגדרות ייצוא",
"exportConfTip": "פרטי חשבון, קוד אישור גישה, סנכרון, אסימון API ומפתח מאגר נתונים לא ייוצאו",
@ -116,6 +131,7 @@
"updateLayout": "עדכן עימוד",
"dndFolderTip": "שים לב כי ${x} ניחש את ה-hyperlink file:// ואינו מעתיק את הקובץ",
"removeCol": "האם אתה בטוח שברצונך למחוק את העמודה <b>${x}</b> במסד הנתונים?",
"removeColConfirm": "⚠️ מחק עמודה",
"video": "וידאו",
"audio": "אודיו",
"updateAll": "עדכן הכל",
@ -129,7 +145,7 @@
"lastReviewTime": "זמן הסקירה האחרון",
"cardStatus": "סטטוס כרטיס",
"noSupportTip": "תכונה זו אינה תומכת בשימוש בערימות כרטיסים",
"insertRowTip": שורות שנוספו חדשות סוננו וניתן לראותן על ידי ביטול סינון/חיפוש/מיון",
"insertRowTip": פריט החדש סונן, בטל את הסינון או שנה את הגדרות הקיבוץ לצפייה",
"insertPhoto": "צלם תמונה והכנס אותה",
"relativeToToday": "יחסי להיום",
"current": "זה",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "היה אחרי",
"filterOperatorIsOnOrBefore": "היה על או לפני",
"filterOperatorIsOnOrAfter": "היה על או אחרי",
"filterQuantifierAny": "כל אחד",
"filterQuantifierAll": "הכל",
"filterQuantifierNone": "אין",
"asc": "עולה",
"desc": "יורד",
"hideCol": "החבא עמודה",
@ -422,7 +441,7 @@
"apiKey": "מפתח API",
"apiKeyTip": "מומלץ להקצות מפתח API לסִייוּן בנפרד לשם ניהול מאוחר יותר. אם פריט זה נשאר ריק, הפונקציות הקשורות ל-AI יידחו",
"apiTimeout": "זמן החזרה",
"apiTimeoutTip": "תקופת הזמן ליזום בקשה, יחידה: שנייה",
"apiTimeoutTip": "הבקשה פגה",
"apiProxy": "פרוקסי רשת",
"apiProxyTip": "הפרוקסי רשת המוזמן, כמו <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "מודל",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "לאחר הפעולה, בלוקים מוטמעים יראו נתיב, בלוקים מוטמעים בבלוקים עליוניים מתעלמים מהאפשרות הזו ולא יראו נתיבים",
"appearanceMode": "מצב מראה",
"editReadonly": "מצב קריאה בלבד",
"editReadonlyTip": "לאחר ההפעלה, העורך יטען את המסמך במצב קריאה בלבד",
"editReadonlyTip": "כאשר מופעל, המסמך יהיה לקריאה בלבד כברירת מחדל",
"generateConflictDoc": "צור תיעוד שהוקסם כאשר נוצרו סכסוכים",
"generateConflictDocTip": "לאחר ההפעלה, תיעוד סכסוך ייווצר כאשר מתהווה סכסוך סנכרון, כך שהוא יכול להיפתח ולהיות נצפה ישירות. בין אם מופעל ובין אם לא, היסטוריית הנתונים תקלוט את תיעוד הסכסוך",
"deleteOpConfirm": "⚠️ אישור פעולה מחיקה",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "ניקוי מאגר הנתונים ימחק לחלוטין את כל הצילומים הלא מתייחסים ואת האוביקטים הנתונים הקשורים, האם אתה בטוח לבצע ניקוי?",
"purge": "נקה",
"plsChoose": "אנא בחר קודם",
"clearMessage": "קרא",
"freeSub": "מנוי ניסיון חינם",
"sortByUpdateTimeDesc": "יורד לפי זמן עדכון",
"sortByUpdateTimeAsc": "עולה לפי זמן עדכון",
@ -1106,7 +1124,7 @@
"fileTree3": "אין צורך באישור בעת מחיקת מסמכים",
"fileTree4": "אם לא הופק, תופיע תיבת אישור בכל פעם שמחקים מסמך",
"fileTree5": "מיקום שמירת מסמך להפניה",
"fileTree6": "בעת השימוש <code class='fn__code'>((</code>, מסלול השמירה של המסמך החדש (למשל, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}</code>)",
"fileTree6": "בעת השימוש <code class='fn__code'>((</code> או <code class='fn__code'>[[</code>, מסלול השמירה של המסמך החדש (למשל, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}</code>)",
"fileTree7": "פתח בטאב הנוכחי",
"fileTree8": "טאב המסמך הנפתח החדש יחליף את הטאב הלא משתנה",
"fileTree9": "סגור את כל הטאבים בעת אתחול",
@ -1122,6 +1140,8 @@
"fileTree19": "חלק ממערכות ההפעלה יש הגבלות טכניות שעלולות למנוע העתקה ידנית של נתוני החלל העבודה לאחר יצירת תתי מסמכים גדולים מ-7 רמות",
"fileTree20": "שמור בשורה אחת",
"fileTree21": "לאחר הפעלת אפשרות זו, פורמט ה-JSON בשורה אחת ישמש בעת שמירת קבצי .sy ומסדי נתונים .json, מה שיכול להפחית את גודל הקובץ בכ-30% ולשפר את יעילות הקריאה והכתיבה ב-50%",
"fileTree22": "התראה על קובץ גדול",
"fileTree23": "הצג התראה כאשר קובץ .sy או מסד נתונים .json חורג מגודל זה",
"export10": "למשל <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, אם ריק, השתמש בטקסט סימן מים או בנתיב קובץ סימן מים.",
"export11": "שיטת טיפול תוכן של בלוק תוכן בעת הייצוא",
"export12": "שיטת טיפול תוכן של בלוק הטמעה בעת הייצוא",
@ -1173,6 +1193,7 @@
"newFileTip": "אנא פתח מחברת קודם",
"copyBlockRef": "העתק הפניה לבלוק",
"copyBlockEmbed": "העתק הטמעה לבלוק",
"copyMarkdown": "העתק כ-Markdown",
"linkLevel": "עומק",
"mark": "סמן",
"splitLR": "חלק ימינה",
@ -1615,7 +1636,7 @@
"242": "מעט מקום נותר [%s], נדרש לפחות [%s] כדי לבצע פעולה זו",
"243": "רק רשום את %d התגים הראשונים (כולל תתי תגים), אם יש צורך להתאים, אנא שנה את [הגדרות - עץ המסמכים - מספר מקסימלי לרשימה]",
"244": "אינדוקס הנתונים לא הושלם לאחר השימוש האחרון. אנא הפעל את [עץ מסמכים - שכתוב אינדקס]. אנא צא מהתוכנית לחלוטין לפני כיבוי המחשב.",
"245": "אינדוקס הנתונים לא הושלם לאחר השימוש האחרון. אנא זכור לבצע [עץ המסמכים - שחזור אינדקס]. אנא השתמש [צא מהאפליקציה] בפאנל הטורי הימני כדי לצאת על פי סדר",
"245": "אינדוקס הנתונים לא הושלם לאחר השימוש האחרון. אנא זכור לבצע [עץ המסמכים - שחזור אינדקס]. אנא השתמש [צא מהאפליקציה] בפאנל הטורי הימני כדי לצאת על פי סדר",
"246": "כותרת המסמך לא יכולה להכיל / והחלפה ב- _ ",
"247": "הקובץ [%s] גדול יותר מהמגבלה המקסימלית [%s], והוזנח להעלות בענן",
"248": "הכותרת היעד ממוקמת בבלוק המיכל ואינה יכולה לשמש כנקודת זרימה",
@ -1634,6 +1655,14 @@
"261": "היום",
"262": "מחר",
"263": "ה-%d ימים הבאים",
"264": "השדה [%s] ריק"
"264": "השדה [%s] ריק",
"265": "מחוץ לטווח",
"266": "Tesseract OCR לא הותקן או הוגדר, אנא עיין במדריך למשתמש - פרק קבצי משאבים לצורך הגדרה",
"267": "מסד נתונים ללא שם",
"268": "שים לב שהקובץ [%s] כבר חרג מ-[%d MB], דבר שעלול לגרום לירידה בביצועים",
"269": "הבלוק נוסף כבר למסד הנתונים [%s]",
"270": "מתבצעת אופטימיזציה של אינדקס הנתונים, נא להמתין...",
"271": "אופטימיזציית אינדקס הנתונים הושלמה, שוחררו [%s] שטח דיסק",
"272": "שדה ללא שם"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Ottimizza indice",
"vacuumDataIndexTip": "Verifica l'indice dei dati, libera spazio e migliora le prestazioni dell'indice",
"rebuildDataIndex": "Ricostruisci indice",
"rebuildDataIndexTip": "Ricostruzione completa dell'indice dei dati, potrebbe richiedere tempo, attendere prego",
"displayFieldName": "Mostra nome campo",
"sortBySelectOption": "Ordina per opzione",
"groupStep": "Intervallo di raggruppamento",
"groupRange": "Intervallo di gruppo",
"groupMethodDateRelative": "Data relativa",
"groupMethodDateDay": "Giorno",
"groupMethodDateWeek": "Settimana",
"groupMethodDateMonth": "Mese",
"groupMethodDateYear": "Anno",
"syncColWidth": "Sincronizza larghezza colonna",
"groupMethod": "Metodo di raggruppamento",
"hideEmptyGroup": "Nascondi gruppo vuoto",
"hideEmptyGroup": "Nascondi gruppi vuoti",
"groups": "Gruppi",
"removeGroup": "Rimuovi gruppo",
"contentBlock": "Blocco di contenuto",
@ -20,7 +33,7 @@
"small": "Piccolo",
"fitImage": "Adatta automaticamente la dimensione dell'immagine",
"showIcon": "Mostra icona",
"showAllFieldsIcon": "Mostra icone dei campi",
"showAllEntriesIcons": "Mostra icone delle voci",
"wrapAllFields": "Avvolgi automaticamente i campi",
"gallery": "Scheda",
"newTag": "Nuova etichetta",
@ -28,7 +41,7 @@
"reconnectPrompt": "Dopo aver cambiato applicazione, ci vorrà un po' di tempo per ripristinare il funzionamento del kernel SiYuan. Attendere qualche secondo o fare clic sul pulsante \"Riprova\"",
"relativeFontSize": "rispetto alla dimensione del carattere dell'editor",
"localFileSystem": "File system locale",
"deviceNotSupport": "Il dispositivo corrente non è supportato",
"mobileNotSupport": "La funzione non è attualmente supportata su dispositivi mobili (telefono o tablet)",
"second": "secondo",
"syncInterval": "intervallo di sincronizzazione",
"syncIntervalTip": "Sincronizzazione automatica dei dati dopo che non ci sono più variazioni",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Giorni di conservazione degli snapshot dei dati",
"dataRepoAutoPurgeRetentionIndexesDaily": "Numero di snapshot dei dati al giorno",
"fields": "Campi",
"dynamicEmoji": "Emoji dinamica",
"dynamicIcon": "Emoji dinamica",
"dynamicIconDateEmptyInfo": "Cancella la data, l'icona del calendario mostrerà dinamicamente la data odierna",
"backlinkContainChildren": "I backlink contengono blocchi figli",
"backlinkContainChildrenTip": "Dopo l'attivazione, i blocchi figli saranno inclusi nel calcolo dei backlink",
"entryNum": "Numero di voci",
"workspaceData": "Dati dello spazio di lavoro",
"confirmRemoveRelationField": "Sei sicuro di voler eliminare il campo associato a <b>${x}</b>?",
"removeButKeepRelationField": "Rimuovi, ma mantieni il campo correlato",
"confirmRemoveRelationField": "Sei sicuro di voler eliminare il campo <b>${x}</b>? Dopo aver eliminato questo campo, il campo di relazione bidirezionale <b>${z}</b> nel database <b>${y}</b> verrà eliminato anche in modo sincrono.",
"removeBothRelationField": "Rimuovi entrambi i campi",
"removeButKeepRelationField": "Rimuovi solo questo campo, mantieni il campo di relazione bidirezionale",
"exportPDFLowMemory": "Memoria disponibile insufficiente per esportare questo PDF, riduci il contenuto o aumenta la memoria disponibile e riprova a esportare",
"exportConf": "Impostazioni di esportazione",
"exportConfTip": "Account, codici di accesso, sincronizzazione, token API e chiavi di data warehouse non verranno esportati",
@ -116,6 +131,7 @@
"updateLayout": "Aggiorna layout",
"dndFolderTip": "Nota che ${x} inserisce solo il collegamento file:// e non copia il file",
"removeCol": "Sei sicuro di voler eliminare la colonna <b>${x}</b> nel database?",
"removeColConfirm": "⚠️ Elimina colonna",
"video": "Video",
"audio": "Audio",
"updateAll": "Aggiorna tutto",
@ -129,7 +145,7 @@
"lastReviewTime": "Ultima revisione",
"cardStatus": "Stato della carta",
"noSupportTip": "Questa funzione non supporta l'uso di mazzi di carte",
"insertRowTip": "L'elemento aggiunto è stato filtrato, è possibile annullare filtro/ricerca/ordinamento per visualizzarlo",
"insertRowTip": "Il nuovo elemento è stato filtrato, annulla il filtro o modifica le impostazioni di raggruppamento per visualizzarlo",
"insertPhoto": "Scatta una foto e inseriscila",
"relativeToToday": "Relativo a oggi",
"current": "Questo",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "È dopo",
"filterOperatorIsOnOrBefore": "È il giorno o prima di",
"filterOperatorIsOnOrAfter": "È il giorno o dopo di",
"filterQuantifierAny": "Qualsiasi",
"filterQuantifierAll": "Tutti",
"filterQuantifierNone": "Nessuno",
"asc": "Ascendente",
"desc": "Discendente",
"hideCol": "Nascondi campo",
@ -422,7 +441,7 @@
"apiKey": "Chiave API",
"apiKeyTip": "Si consiglia di assegnare una chiave API separata a SiYuan per una successiva gestione. Se questo campo è lasciato vuoto, le funzioni relative all'AI saranno disabilitate",
"apiTimeout": "Timeout",
"apiTimeoutTip": "Il periodo di timeout per l'invio di una richiesta, unità: secondi",
"apiTimeoutTip": "Il periodo di timeout per l'invio di una richiesta",
"apiProxy": "Proxy di rete",
"apiProxyTip": "Il proxy di rete che avvia la richiesta, ad esempio <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Modello",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "Dopo l'abilitazione, i blocchi incorporati mostreranno i breadcrumb. I blocchi incorporati nei super blocchi ignorano questa opzione e non mostreranno mai breadcrumb",
"appearanceMode": "Modalità aspetto",
"editReadonly": "Modalità di sola lettura",
"editReadonlyTip": "Dopo l'abilitazione, l'editor caricherà il documento in modalità di sola lettura",
"editReadonlyTip": "Quando abilitato, il documento sarà in sola lettura per impostazione predefinita",
"generateConflictDoc": "Genera documento di conflitto quando si verificano conflitti di sincronizzazione",
"generateConflictDocTip": "Dopo l'abilitazione, verrà generato un documento di conflitto quando si verifica un conflitto di sincronizzazione, in modo che possa essere aperto e visualizzato direttamente. Sia che sia abilitato o meno, la [Cronologia dati] registrerà il documento di conflitto",
"deleteOpConfirm": "⚠️ Conferma operazione di eliminazione",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "La pulizia del repository dei dati eliminerà completamente tutti gli snapshot non referenziati e gli oggetti dati correlati, sei sicuro di voler pulire?",
"purge": "Pulisci",
"plsChoose": "Si prega di scegliere prima",
"clearMessage": "Segna come letto",
"freeSub": "Prova gratuita",
"sortByUpdateTimeDesc": "Discendente per ora di aggiornamento",
"sortByUpdateTimeAsc": "Ascendente per ora di aggiornamento",
@ -1106,7 +1124,7 @@
"fileTree3": "Nessuna conferma richiesta durante l'eliminazione dei documenti",
"fileTree4": "Se non abilitato, ogni volta che elimini un documento verrà visualizzata una finestra di conferma",
"fileTree5": "Percorso di salvataggio dei nuovi documenti creati con riferimento",
"fileTree6": "Quando usi <code class='fn__code'>((</code>, il percorso di salvataggio del nuovo documento (ad esempio, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "Quando usi <code class='fn__code'>((</code> o <code class='fn__code'>[[</code>, il percorso di salvataggio del nuovo documento (ad esempio, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Apri nella scheda corrente",
"fileTree8": "La scheda del documento appena aperta sostituirà la scheda non modificata",
"fileTree9": "Chiudi tutte le schede all'avvio",
@ -1122,6 +1140,8 @@
"fileTree19": "Alcuni sistemi operativi hanno limitazioni tecniche che possono impedire la copia manuale dei dati dell'area di lavoro dopo la creazione di sotto-documenti superiori a 7 livelli",
"fileTree20": "Salva con una singola riga",
"fileTree21": "Dopo l'abilitazione, il formato JSON a riga singola verrà utilizzato quando si salvano documenti .sy e file di database .json, il che può ridurre le dimensioni del file del 30% circa e migliorare l'efficienza di lettura e scrittura del 50%",
"fileTree22": "Avviso file di grandi dimensioni",
"fileTree23": "Notifica quando i file .sy e il database .json superano questa dimensione",
"export10": "Ad esempio <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, se vuoto, utilizza il testo della filigrana o il percorso del file della filigrana.",
"export11": "Metodo di gestione del contenuto del blocco di riferimento durante l'esportazione",
"export12": "Metodo di gestione del contenuto del blocco incorporato durante l'esportazione",
@ -1173,6 +1193,7 @@
"newFileTip": "Si prega di aprire prima un taccuino",
"copyBlockRef": "Copia riferimento blocco",
"copyBlockEmbed": "Copia incorporamento blocco",
"copyMarkdown": "Copia come Markdown",
"linkLevel": "Profondità",
"mark": "Segna",
"splitLR": "Dividi a destra",
@ -1634,6 +1655,14 @@
"261": "Oggi",
"262": "Domani",
"263": "Prossimi %d giorni",
"264": "Il campo [%s] è vuoto"
"264": "Il campo [%s] è vuoto",
"265": "Fuori intervallo",
"266": "Tesseract OCR non è installato o configurato, fare riferimento alla Guida utente - Sezione file di risorse per la configurazione",
"267": "Database senza nome",
"268": "Attenzione: il file [%s] ha già superato [%d MB], il che potrebbe causare un calo delle prestazioni",
"269": "Questo blocco è già stato aggiunto al database [%s]",
"270": "Ottimizzazione dell'indice dei dati in corso, attendere prego...",
"271": "Ottimizzazione dell'indice dei dati completata, liberati [%s] di spazio su disco",
"272": "Campo senza nome"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "インデックスの最適化",
"vacuumDataIndexTip": "データインデックスを検証し、ストレージを解放してインデックス性能を向上させます",
"rebuildDataIndex": "インデックスの再構築",
"rebuildDataIndexTip": "データインデックスを完全に再構築します。時間がかかる場合がありますのでお待ちください",
"displayFieldName": "フィールド名を表示",
"sortBySelectOption": "オプションで並べ替え",
"groupStep": "グループ間隔",
"groupRange": "グループ範囲",
"groupMethodDateRelative": "相対日付",
"groupMethodDateDay": "日",
"groupMethodDateWeek": "週",
"groupMethodDateMonth": "月",
"groupMethodDateYear": "年",
"syncColWidth": "列幅を同期",
"groupMethod": "グループ方法",
"hideEmptyGroup": "空のグループを隠す",
"hideEmptyGroup": "空のグループを非表示",
"groups": "グループ",
"removeGroup": "グループを削除",
"contentBlock": "コンテンツブロック",
@ -20,7 +33,7 @@
"small": "小",
"fitImage": "画像サイズを自動調整",
"showIcon": "アイコンを表示",
"showAllFieldsIcon": "フィールドアイコンを表示",
"showAllEntriesIcons": "エントリアイコンを表示",
"wrapAllFields": "フィールドを自動折り返し",
"gallery": "カード",
"newTag": "新しいタグ",
@ -28,7 +41,7 @@
"reconnectPrompt": "アプリを切り替えた後、思源カーネルの実行を再開するには少し時間がかかります。数秒待つか、「再試行」ボタンをクリックしてください",
"relativeFontSize": "エディターのフォントサイズに対して",
"localFileSystem": "ローカルファイルシステム",
"deviceNotSupport": "現在のデバイスはサポートされていません",
"mobileNotSupport": "モバイル端末(スマートフォンまたはタブレット)では現在この機能はサポートされていません",
"second": "秒",
"syncInterval": "同期間隔",
"syncIntervalTip": "データが変動しなくなった後に自動的にデータを同期します",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "データスナップショットの保持日数",
"dataRepoAutoPurgeRetentionIndexesDaily": "データスナップショットの毎日の保持数",
"fields": "属性",
"dynamicEmoji": "動的アイコン",
"dynamicIcon": "動的アイコン",
"dynamicIconDateEmptyInfo": "日付をクリアすると、カレンダーアイコンが当日の日付を動的に表示します",
"backlinkContainChildren": "バックリンクに子ブロックを含めるかどうか",
"backlinkContainChildrenTip": "有効にすると、子ブロックがバックリンク計算に含まれます",
"entryNum": "エントリ数",
"workspaceData": "ワークスペースデータ",
"confirmRemoveRelationField": "<b>${x}</b> に関連するフィールドを同時に削除してもよろしいですか?",
"removeButKeepRelationField": "削除して関連フィールドを保持",
"confirmRemoveRelationField": "<b>${x}</b> フィールドを削除してもよろしいですか?このフィールドを削除すると、<b>${y}</b> データベースの双方向関連フィールド <b>${z}</b> も同時に削除されます。",
"removeBothRelationField": "両方のフィールドを削除",
"removeButKeepRelationField": "このフィールドのみ削除し、双方向関連フィールドを保持",
"exportPDFLowMemory": "システムの利用可能なメモリが不足しているため、この PDF をエクスポートできません。内容を減らすか、利用可能なメモリを増やしてから再試行してください",
"exportConf": "設定のエクスポート",
"exportConfTip": "アカウント、アクセスコード、同期、API トークン、データウェアハウスキーはエクスポートされません",
@ -116,6 +131,7 @@
"updateLayout": "レイアウトを更新",
"dndFolderTip": "${x} は file:// 形式のハイパーリンクを挿入するだけでファイルはコピーされないので注意してください",
"removeCol": "データベースの <b>${x}</b> 列を削除してもよろしいですか?",
"removeColConfirm": "⚠️ 列を削除",
"video": "ビデオ",
"audio": "音声",
"updateAll": "すべて更新",
@ -129,7 +145,7 @@
"lastReviewTime": "最後の復習時間",
"cardStatus": "カードの状態",
"noSupportTip": "この機能はカードデッキの使用をサポートしていません",
"insertRowTip": "新しく追加された行はフィルタリングされており、フィルタリング/検索/並べ替えを解除すると表示されます",
"insertRowTip": "新しい項目はフィルタリングされています。フィルタリングまたはグループ設定を解除して確認してください",
"insertPhoto": "画像を挿入",
"relativeToToday": "今日からの相対的な期間",
"current": "現在",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "より後",
"filterOperatorIsOnOrBefore": "以前",
"filterOperatorIsOnOrAfter": "以降",
"filterQuantifierAny": "いずれか",
"filterQuantifierAll": "すべて",
"filterQuantifierNone": "なし",
"asc": "昇順",
"desc": "降順",
"hideCol": "列を非表示",
@ -422,7 +441,7 @@
"apiKey": "API キー",
"apiKeyTip": "以降の管理のために SiYuan に API キーを個別に割り当てることをお勧めします。この項目を空白のままにすると AI 関連機能が無効になります",
"apiTimeout": "タイムアウト",
"apiTimeoutTip": "リクエストのタイムアウト時間 (単位: 秒)",
"apiTimeoutTip": "リクエストのタイムアウト時間",
"apiProxy": "ネットワークプロキシ",
"apiProxyTip": "リクエストを開始するネットワークプロキシ (例: <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>)",
"apiModel": "モデル",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "埋め込みブロックにパンくずリストを表示します<br>この設定にかかわらずスーパーブロック内の埋め込みブロックは常にパンくずリストが表示されません",
"appearanceMode": "表示モード",
"editReadonly": "読み取り専用モード",
"editReadonlyTip": "エディタが読み取り専用モードでドキュメントを読み込みます",
"editReadonlyTip": "有効にすると、ドキュメントはデフォルトで読み取り専用になります",
"generateConflictDoc": "同期の競合時に競合ドキュメントを生成する",
"generateConflictDocTip": "同期の競合が発生した場合は競合ドキュメントが生成され、直接開いて表示できます。この設定に関わらず [データ履歴] には競合ドキュメントが記録されます",
"deleteOpConfirm": "⚠️ 削除操作の確認",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "データリポジトリを消去すると、参照されていないすべてのスナップショットと関連するデータオブジェクトが完全に削除されます。消去してもよろしいですか?",
"purge": "消去",
"plsChoose": "最初にノートを選択してください",
"clearMessage": "既読",
"freeSub": "無料体験版",
"sortByUpdateTimeDesc": "更新時間 (降順)",
"sortByUpdateTimeAsc": "更新時間 (昇順)",
@ -1106,7 +1124,7 @@
"fileTree3": "ドキュメントを削除するときに確認しない",
"fileTree4": "ドキュメントを削除するときに確認ボックスを表示しません",
"fileTree5": "参照の保存場所",
"fileTree6": "<code class='fn__code'>((</code> を使用した時の参照の保存パス (例: <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "<code class='fn__code'>((</code> または <code class='fn__code'>[[</code> を使用した時の参照の保存パス (例: <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "現在のタブで開く",
"fileTree8": "新しく開いたドキュメントのタブが未変更のタブを置き換えます",
"fileTree9": "起動時にすべてのタブを閉じる",
@ -1122,6 +1140,8 @@
"fileTree19": "一部のオペレーティングシステムでは、7レベルより深いサブドキュメントにワークスペースデータの手動コピーができない場合があります",
"fileTree20": "一行で保存",
"fileTree21": "ドキュメントとデータベースファイルを保存する際に改行を行わない JSON フォーマットを使用します。これによりファイルサイズが約 30% 削減され、読み書きの効率が 50% 向上します",
"fileTree22": "大きなファイルの警告",
"fileTree23": ".sy ドキュメントやデータベース .json がこのサイズを超えると通知します",
"export10": "例: <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code><br>空の場合は透かしテキストまたは透かし画像ファイルのパスを使用します",
"export11": "エクスポート時のブロック参照コンテンツの処理方法",
"export12": "エクスポート時の埋め込みブロックコンテンツの処理方法",
@ -1173,6 +1193,7 @@
"newFileTip": "最初にノートブックを開いてください",
"copyBlockRef": "ブロック参照としてコピー",
"copyBlockEmbed": "埋め込みブロックとしてコピー",
"copyMarkdown": "Markdown としてコピー",
"linkLevel": "深さ",
"mark": "ハイライト",
"splitLR": "右に分割",
@ -1634,6 +1655,14 @@
"261": "今日",
"262": "明日",
"263": "次の %d 日間",
"264": "フィールド [%s] の値が空です"
"264": "フィールド [%s] が空です",
"265": "範囲外",
"266": "Tesseract OCR がインストールされていないか、設定されていません。ユーザーガイド - リソースファイルセクションを参照して設定してください",
"267": "未命名のデータベース",
"268": "ファイル [%s] はすでに [%d MB] を超えており、パフォーマンスが低下する可能性があります",
"269": "このブロックはすでにデータベース [%s] に追加されています",
"270": "データインデックスを最適化しています。しばらくお待ちください...",
"271": "データインデックスの最適化が完了しました。合計 [%s] のディスク容量が解放されました",
"272": "未命名フィールド"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Optymalizuj indeks",
"vacuumDataIndexTip": "Sprawdź indeks danych, zwolnij miejsce i popraw wydajność indeksu",
"rebuildDataIndex": "Odbuduj indeks",
"rebuildDataIndexTip": "Pełna odbudowa indeksu danych, może to potrwać, proszę czekać",
"displayFieldName": "Wyświetl nazwę pola",
"sortBySelectOption": "Sortuj według opcji",
"groupStep": "Odstęp grupowania",
"groupRange": "Zakres grupowania",
"groupMethodDateRelative": "Data względna",
"groupMethodDateDay": "Dzień",
"groupMethodDateWeek": "Tydzień",
"groupMethodDateMonth": "Miesiąc",
"groupMethodDateYear": "Rok",
"syncColWidth": "Synchronizuj szerokość kolumny",
"groupMethod": "Metoda grupowania",
"hideEmptyGroup": "Ukryj pustą grupę",
"hideEmptyGroup": "Ukryj puste grupy",
"groups": "Grupy",
"removeGroup": "Usuń grupę",
"contentBlock": "Blok treści",
@ -20,7 +33,7 @@
"small": "Mały",
"fitImage": "Automatyczne dopasowanie rozmiaru obrazu",
"showIcon": "Pokaż ikonę",
"showAllFieldsIcon": "Pokaż ikony pól",
"showAllEntriesIcons": "Pokaż ikony wpisów",
"wrapAllFields": "Automatyczne zawijanie pól",
"gallery": "Karta",
"newTag": "Nowy tag",
@ -28,7 +41,7 @@
"reconnectPrompt": "Po przełączeniu aplikacji ponowne uruchomienie jądra SiYuan może zająć trochę czasu. Proszę poczekać kilka sekund lub kliknąć przycisk „Ponów próbę”",
"relativeFontSize": "względem rozmiaru czcionki edytora",
"localFileSystem": "Lokalny system plików",
"deviceNotSupport": "Bieżące urządzenie nie jest obsługiwane",
"mobileNotSupport": "Funkcja nie jest obecnie obsługiwana na urządzeniach mobilnych (telefon lub tablet)",
"second": "sekunda",
"syncInterval": "interwał synchronizacji",
"syncIntervalTip": "Automatyczna synchronizacja danych po zaprzestaniu zmian",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Dni przechowywania migawek danych",
"dataRepoAutoPurgeRetentionIndexesDaily": "Liczba migawek danych dziennie",
"fields": "Atrybut",
"dynamicEmoji": "Ikona dynamiczna",
"dynamicIcon": "Ikona dynamiczna",
"dynamicIconDateEmptyInfo": "Wyczyść datę, ikona kalendarza będzie dynamicznie wyświetlać bieżącą datę",
"backlinkContainChildren": "Czy linki zwrotne zawierają bloki podrzędne",
"backlinkContainChildrenTip": "Po włączeniu bloki podrzędne zostaną uwzględnione w obliczeniach linków zwrotnych",
"entryNum": "Количество записей",
"workspaceData": "Dane przestrzeni roboczej",
"confirmRemoveRelationField": "Czy na pewno chcesz usunąć pole powiązane z <b>${x}</b>?",
"removeButKeepRelationField": "Usuń, ale zachowaj powiązane pole",
"confirmRemoveRelationField": "Czy na pewno chcesz usunąć pole <b>${x}</b>? Po usunięciu tego pola, dwukierunkowe pole relacji <b>${z}</b> w bazie danych <b>${y}</b> również zostanie usunięte synchronicznie.",
"removeBothRelationField": "Usuń oba pola",
"removeButKeepRelationField": "Usuń tylko to pole, zachowaj dwukierunkowe pole relacji",
"exportPDFLowMemory": "Za mało dostępnej pamięci, aby wyeksportować ten PDF, proszę zmniejszyć zawartość lub zwiększyć dostępną pamięć i spróbować ponownie",
"exportConf": "Ustawienia eksportu",
"exportConfTip": "Konto, kod autoryzacji dostępu, synchronizacja, token API i klucz repozytorium danych nie będą eksportowane",
@ -116,6 +131,7 @@
"updateLayout": "Zaktualizuj układ",
"dndFolderTip": "Proszę pamiętać, że ${x} tylko wstawia link file:// i nie kopiuje pliku",
"removeCol": "Czy na pewno chcesz usunąć <b>${x}</b> kolumnę w bazie danych?",
"removeColConfirm": "⚠️ Usuń kolumnę",
"video": "Wideo",
"audio": "Audio",
"updateAll": "Zaktualizuj wszystko",
@ -129,7 +145,7 @@
"lastReviewTime": "Ostatni czas przeglądu",
"cardStatus": "Status karty",
"noSupportTip": "Ta funkcja nie wspiera użycia zestawów kart",
"insertRowTip": "Nowo dodane wiersze zostały przefiltrowane i mogą być wyświetlane po anulowaniu filtrowania/szukań/sortowań",
"insertRowTip": "Nowy element został przefiltrowany, anuluj filtrowanie lub ustawienia grupowania, aby wyświetlić",
"insertPhoto": "Zrób zdjęcie i wstaw je",
"relativeToToday": "W odniesieniu do dzisiaj",
"current": "Ten",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "Jest po",
"filterOperatorIsOnOrBefore": "Jest na lub przed",
"filterOperatorIsOnOrAfter": "Jest na lub po",
"filterQuantifierAny": "Dowolny",
"filterQuantifierAll": "Wszystkie",
"filterQuantifierNone": "Brak",
"asc": "Rosnąco",
"desc": "Malejąco",
"hideCol": "Ukryj kolumnę",
@ -422,7 +441,7 @@
"apiKey": "Klucz API",
"apiKeyTip": "Zaleca się przypisanie klucza API do SiYuan oddzielnie do późniejszego zarządzania. Jeśli ten element jest pusty, funkcje związane z AI będą wyłączone",
"apiTimeout": "Limit czasu",
"apiTimeoutTip": "Okres timeoutu dla inicjowania zapytania, jednostka: sekunda",
"apiTimeoutTip": "Okres timeoutu dla inicjowania zapytania",
"apiProxy": "Proxy sieciowe",
"apiProxyTip": "Proxy sieciowe, które inicjuje zapytanie, np. <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Model",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "Po włączeniu wbudowane bloki będą wyświetlać okruszki, wbudowane bloki w super blokach ignorują tę opcję i nigdy nie pokazują okruszków",
"appearanceMode": "Tryb wyglądu",
"editReadonly": "Tryb tylko do odczytu",
"editReadonlyTip": "Po włączeniu edytor załaduje dokument w trybie tylko do odczytu",
"editReadonlyTip": "Po włączeniu dokument będzie domyślnie tylko do odczytu",
"generateConflictDoc": "Generuj dokument konfliktowy podczas synchronizacji konfliktów",
"generateConflictDocTip": "Po włączeniu, dokument konfliktowy zostanie wygenerowany, gdy wystąpi konflikt synchronizacji, aby można go było otworzyć i przeglądać bezpośrednio. Niezależnie od tego, czy włączone, [Historia danych] zarejestruje dokument konfliktowy",
"deleteOpConfirm": "⚠️ Potwierdzenie operacji usunięcia",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "Oczyszczenie repozytorium danych całkowicie usunie wszystkie nieodwołane zrzuty i powiązane obiekty danych, czy na pewno chcesz przeprowadzić oczyszczenie?",
"purge": "Oczyść",
"plsChoose": "Proszę najpierw wybrać",
"clearMessage": "Przeczytaj",
"freeSub": "Bezpłatna subskrypcja próbna",
"sortByUpdateTimeDesc": "Malejąco wg czasu aktualizacji",
"sortByUpdateTimeAsc": "Rosnąco wg czasu aktualizacji",
@ -1106,7 +1124,7 @@
"fileTree3": "Nie wymaga potwierdzenia przy usuwaniu dokumentów",
"fileTree4": "Jeśli nie jest włączone, okno potwierdzenia pojawi się za każdym razem, gdy usuniesz dokument",
"fileTree5": "Ref stworzone miejsce zapisu dokumentu",
"fileTree6": "Kiedy używasz <code class='fn__code'>((</code>, ścieżka zapisu nowego dokumentu (na przykład <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "Kiedy używasz <code class='fn__code'>((</code> lub <code class='fn__code'>[[</code>, ścieżka zapisu nowego dokumentu (na przykład <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Otwórz w bieżącej zakładce",
"fileTree8": "Nowa otwarta zakładka dokumentu zastąpi niezmodyfikowaną zakładkę",
"fileTree9": "Zamknij wszystkie zakładki przy uruchamianiu",
@ -1122,6 +1140,8 @@
"fileTree19": "Niektóre systemy operacyjne mają ograniczenia techniczne, które mogą uniemożliwić ręczne kopiowanie danych obszaru roboczego po utworzeniu poddokumentów głębszych niż 7 poziomów",
"fileTree20": "Zapisz w pojedynczej linii",
"fileTree21": "Po włączeniu, format JSON w pojedynczej linii będzie używany przy zapisywaniu .sy dokumentów i plików .json bazy danych, co może zmniejszyć rozmiar pliku o około 30% i poprawić wydajność odczytu i zapisu o 50%",
"fileTree22": "Powiadomienie o dużym pliku",
"fileTree23": "Powiadom, gdy plik .sy lub baza danych .json przekroczy ten rozmiar",
"export10": "Na przykład <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, jeśli jest puste, użyj tekstu znaków wodnych lub ścieżki pliku znaku wodnego.",
"export11": "Sposób obsługi treści bloku odniesienia podczas eksportu",
"export12": "Sposób obsługi treści bloku osadzonego podczas eksportu",
@ -1173,6 +1193,7 @@
"newFileTip": "Proszę najpierw otworzyć notes",
"copyBlockRef": "Skopiuj odniesienie do bloku",
"copyBlockEmbed": "Skopiuj blok osadzony",
"copyMarkdown": "Skopiuj jako Markdown",
"linkLevel": "Głębokość",
"mark": "Zaznacz",
"splitLR": "Podziel w prawo",
@ -1634,6 +1655,14 @@
"261": "Dzisiaj",
"262": "Jutro",
"263": "Następne %d dni",
"264": "Pole [%s] jest puste"
"264": "Pole [%s] jest puste",
"265": "Poza zakresem",
"266": "Tesseract OCR nie jest zainstalowany lub skonfigurowany, zapoznaj się z Podręcznikiem użytkownika - Sekcja plików zasobów, aby skonfigurować",
"267": "Nienazwana baza danych",
"268": "Uwaga: plik [%s] przekroczył już [%d MB], co może spowodować spadek wydajności",
"269": "Ten blok został już dodany do bazy danych [%s]",
"270": "Optymalizacja indeksu danych, proszę czekać...",
"271": "Optymalizacja indeksu danych zakończona, zwolniono [%s] miejsca na dysku",
"272": "Nienazwane pole"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Otimizar índice",
"vacuumDataIndexTip": "Verifique o índice de dados, libere espaço e melhore o desempenho do índice",
"rebuildDataIndex": "Reconstruir índice",
"rebuildDataIndexTip": "Reconstrução completa do índice de dados, pode demorar, por favor aguarde",
"displayFieldName": "Exibir nome do campo",
"sortBySelectOption": "Classificar por opção",
"groupStep": "Intervalo de agrupamento",
"groupRange": "Intervalo de grupo",
"groupMethodDateRelative": "Data relativa",
"groupMethodDateDay": "Dia",
"groupMethodDateWeek": "Semana",
"groupMethodDateMonth": "Mês",
"groupMethodDateYear": "Ano",
"syncColWidth": "Sincronizar largura da coluna",
"groupMethod": "Método de agrupamento",
"hideEmptyGroup": "Ocultar grupo vazio",
"hideEmptyGroup": "Ocultar grupos vazios",
"groups": "Grupos",
"removeGroup": "Remover grupo",
"contentBlock": "Bloco de conteúdo",
@ -20,7 +33,7 @@
"small": "Pequeno",
"fitImage": "Ajustar automaticamente o tamanho da imagem",
"showIcon": "Mostrar ícone",
"showAllFieldsIcon": "Mostrar ícones de campos",
"showAllEntriesIcons": "Mostrar ícones de entradas",
"wrapAllFields": "Quebrar automaticamente os campos",
"gallery": "Cartão",
"newTag": "Nova tag",
@ -28,7 +41,7 @@
"reconnectPrompt": "Após alternar aplicativos, levará algum tempo para restaurar a operação do kernel SiYuan. Por favor, aguarde alguns segundos ou clique no botão \"Tentar novamente\"",
"relativeFontSize": "relativo ao tamanho da fonte do editor",
"localFileSystem": "Sistema de arquivos local",
"deviceNotSupport": "O dispositivo atual não é suportado",
"mobileNotSupport": "O recurso não é suportado em dispositivos móveis (celular ou tablet) no momento,",
"second": "segundo",
"syncInterval": "intervalo de sincronização",
"syncIntervalTip": "Sincronizar dados automaticamente após parar de alterar",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Dias de retenção de instantâneos de dados",
"dataRepoAutoPurgeRetentionIndexesDaily": "Instantâneos de dados por dia",
"fields": "Campos",
"dynamicEmoji": "Ícone dinâmico",
"dynamicIcon": "Ícone dinâmico",
"dynamicIconDateEmptyInfo": "Limpar a data, o ícone do calendário exibirá dinamicamente a data atual",
"backlinkContainChildren": "Os backlinks contêm blocos filhos",
"backlinkContainChildrenTip": "Quando ativado, os blocos filhos serão incluídos no cálculo do backlink",
"entryNum": "Número de entradas",
"workspaceData": "Dados do espaço de trabalho",
"confirmRemoveRelationField": "Tem certeza que deseja excluir o campo associado a <b>${x}</b>?",
"removeButKeepRelationField": "Remover, mas manter campo relacionado",
"confirmRemoveRelationField": "Tem certeza que deseja excluir o campo <b>${x}</b>? Após excluir este campo, o campo de relação bidirecional <b>${z}</b> no banco de dados <b>${y}</b> também será excluído de forma síncrona.",
"removeBothRelationField": "Remover ambos os campos",
"removeButKeepRelationField": "Remover apenas este campo, manter campo de relação bidirecional",
"exportPDFLowMemory": "Memória disponível insuficiente para exportar este PDF, reduza o conteúdo ou aumente a memória disponível e tente exportar novamente",
"exportConf": "Configurações de exportação",
"exportConfTip": "Conta, código de autorização de acesso, sincronização, token de API e chave do repositório de dados não serão exportados",
@ -116,6 +131,7 @@
"updateLayout": "Atualizar layout",
"dndFolderTip": "Observe que ${x} apenas insere o hiperlink file:// e não copia o arquivo",
"removeCol": "Tem certeza que deseja excluir o campo <b>${x}</b> no banco de dados?",
"removeColConfirm": "⚠️ Excluir campo",
"video": "Vídeo",
"audio": "Áudio",
"updateAll": "Atualizar tudo",
@ -129,7 +145,7 @@
"lastReviewTime": "Última hora de revisão",
"cardStatus": "Status do cartão",
"noSupportTip": "Esta função não suporta o uso de baralhos de cartas",
"insertRowTip": "As entradas recém-adicionadas foram filtradas e podem ser visualizadas cancelando o filtro/pesquisa/ordenação",
"insertRowTip": "O novo item foi filtrado, cancele o filtro ou ajuste a configuração de agrupamento para visualizar",
"insertPhoto": "Tirar uma foto e inserir",
"relativeToToday": "Relativo a hoje",
"current": "Este",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "É depois de",
"filterOperatorIsOnOrBefore": "É em ou antes de",
"filterOperatorIsOnOrAfter": "É em ou depois de",
"filterQuantifierAny": "Qualquer",
"filterQuantifierAll": "Todos",
"filterQuantifierNone": "Nenhum",
"asc": "Ascendente",
"desc": "Descendente",
"hideCol": "Ocultar campo",
@ -422,7 +441,7 @@
"apiKey": "Chave API",
"apiKeyTip": "Recomenda-se atribuir uma Chave API separada ao SiYuan para gerenciamento subsequente. Se este item estiver em branco, as funções relacionadas à IA serão desativadas",
"apiTimeout": "Tempo limite",
"apiTimeoutTip": "O período de tempo limite para iniciar uma solicitação, unidade: segundo",
"apiTimeoutTip": "O período de tempo limite para iniciar uma solicitação",
"apiProxy": "Proxy de rede",
"apiProxyTip": "O proxy de rede que inicia a solicitação, como <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Modelo",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "Quando ativado, blocos incorporados exibirão navegação estrutural, blocos incorporados em super blocos ignoram esta opção e nunca mostram navegação estrutural",
"appearanceMode": "Modo de Aparência",
"editReadonly": "Modo somente leitura",
"editReadonlyTip": "Quando ativado, o editor carregará o documento em modo somente leitura",
"editReadonlyTip": "Quando ativado, o documento ficará somente leitura por padrão",
"generateConflictDoc": "Gerar documentação de conflito quando houver conflitos de sincronização",
"generateConflictDocTip": "Quando ativado, um documento de conflito será gerado quando ocorrer um conflito de sincronização, para que possa ser aberto e visualizado diretamente. Independentemente de estar ativado ou não, o [Histórico de Dados] registrará o documento de conflito",
"deleteOpConfirm": "⚠️ Confirmação de operação de exclusão",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "Limpar o repositório de dados excluirá completamente todos os instantâneos não referenciados e objetos de dados relacionados, tem certeza que deseja limpar?",
"purge": "Limpar",
"plsChoose": "Por favor, escolha primeiro",
"clearMessage": "Ler",
"freeSub": "Assinatura de Teste Gratuita",
"sortByUpdateTimeDesc": "Decrescente por hora de atualização",
"sortByUpdateTimeAsc": "Crescente por hora de atualização",
@ -1106,7 +1124,7 @@
"fileTree3": "Nenhuma confirmação necessária ao excluir documentos",
"fileTree4": "Se não estiver ativado, uma caixa de confirmação aparecerá toda vez que você excluir um documento",
"fileTree5": "Local de salvamento do documento criado por Ref",
"fileTree6": "Ao usar <code class='fn__code'>((</code>, o caminho de salvamento do novo documento (por exemplo, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "Ao usar <code class='fn__code'>((</code> ou <code class='fn__code'>[[</code>, o caminho de salvamento do novo documento (por exemplo, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Abrir na aba atual",
"fileTree8": "A nova aba de documento substituirá a aba não modificada",
"fileTree9": "Fechar todas as abas na inicialização",
@ -1122,6 +1140,8 @@
"fileTree19": "Alguns sistemas operacionais têm limitações técnicas que podem impedir a cópia manual de dados do espaço de trabalho após a criação de subdocumentos maiores que 7 níveis",
"fileTree20": "Salvar com uma única linha",
"fileTree21": "Quando ativado, o formato JSON de linha única será usado ao salvar documentos .sy e arquivos .json de banco de dados, o que pode reduzir o tamanho do arquivo em cerca de 30% e melhorar a eficiência de leitura/gravação em 50%",
"fileTree22": "Aviso de arquivo grande",
"fileTree23": "Notificar quando arquivos .sy e banco de dados .json excederem este tamanho",
"export10": "Por exemplo <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, se vazio, use texto de marca d'água ou caminho do arquivo de marca d'água.",
"export11": "Método de manipulação de conteúdo do bloco de referência ao exportar",
"export12": "Método de manipulação de conteúdo do bloco incorporado ao exportar",
@ -1173,6 +1193,7 @@
"newFileTip": "Por favor, abra um bloco de notas primeiro",
"copyBlockRef": "Copiar referência de bloco",
"copyBlockEmbed": "Copiar bloco incorporado",
"copyMarkdown": "Copiar como Markdown",
"linkLevel": "Profundidade",
"mark": "Marca",
"splitLR": "Dividir à Direita",
@ -1336,7 +1357,7 @@
"xy": "%d anos %s",
"max": "há muito tempo %s"
},
"_taskAction": {
"_taskAction": {
"task.repo.checkout": "Executar checkout do snapshot",
"task.database.index.full": "Executar reconstrução do índice",
"task.database.index": "Executar índice do banco de dados",
@ -1634,6 +1655,14 @@
"261": "Hoje",
"262": "Amanhã",
"263": "Próximos %d dias",
"264": "O campo [%s] está vazio"
"264": "O campo [%s] está vazio",
"265": "Fora do intervalo",
"266": "Tesseract OCR não está instalado ou configurado, consulte o Guia do Usuário - Seção de Arquivos de Recursos para configuração",
"267": "Banco de dados sem nome",
"268": "Atenção: o arquivo [%s] já excedeu [%d MB], o que pode causar queda de desempenho",
"269": "Este bloco já foi adicionado ao banco de dados [%s]",
"270": "Otimizando o índice de dados, por favor aguarde...",
"271": "Otimização do índice de dados concluída, [%s] de espaço liberado",
"272": "Campo sem nome"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "Оптимизация индекса",
"vacuumDataIndexTip": "Проверить индекс данных, освободить место и повысить производительность индекса",
"rebuildDataIndex": "Перестроить индекс",
"rebuildDataIndexTip": "Полная перестройка индекса данных, это может занять некоторое время, пожалуйста, подождите",
"displayFieldName": "Показать имя поля",
"sortBySelectOption": "Сортировать по опции",
"groupStep": "Интервал группировки",
"groupRange": "Диапазон группировки",
"groupMethodDateRelative": "Относительная дата",
"groupMethodDateDay": "День",
"groupMethodDateWeek": "Неделя",
"groupMethodDateMonth": "Месяц",
"groupMethodDateYear": "Год",
"syncColWidth": "Синхронизация ширины столбца",
"groupMethod": "Способ группировки",
"hideEmptyGroup": "Скрыть пустую группу",
"hideEmptyGroup": "Скрыть пустые группы",
"groups": "Группы",
"removeGroup": "Удалить группу",
"contentBlock": "Блок контента",
@ -20,7 +33,7 @@
"small": "Маленький",
"fitImage": "Автоматическая подгонка размера изображения",
"showIcon": "Показать значок",
"showAllFieldsIcon": "Показать значки полей",
"showAllEntriesIcons": "Показать значки записей",
"wrapAllFields": "Автоматический перенос полей",
"gallery": "Карточка",
"newTag": "Новый тег",
@ -28,7 +41,7 @@
"reconnectPrompt": "После переключения приложений потребуется некоторое время, чтобы восстановить работу ядра SiYuan. Пожалуйста, подождите несколько секунд или нажмите кнопку «Повторить»",
"relativeFontSize": "относительно размера шрифта редактора",
"localFileSystem": "Локальная файловая система",
"deviceNotSupport": "Текущее устройство не поддерживается",
"mobileNotSupport": "Мобильные устройства (телефон или планшет) в настоящее время не поддерживают эту функцию,",
"second": "секунда",
"syncInterval": "интервал синхронизации",
"syncIntervalTip": "Автоматическая синхронизация данных после прекращения изменений",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "Срок хранения снимков данных",
"dataRepoAutoPurgeRetentionIndexesDaily": "Количество снимков данных в день",
"fields": "Атрибут",
"dynamicEmoji": "Динамическая иконка",
"dynamicIcon": "Динамическая иконка",
"dynamicIconDateEmptyInfo": "Очистить дату, иконка календаря будет динамически отображать текущую дату",
"backlinkContainChildren": "Включать ли дочерние блоки в обратные ссылки",
"backlinkContainChildrenTip": "После включения дочерние блоки будут включены в расчет обратных ссылок",
"entryNum": "Количество записей",
"workspaceData": "Данные рабочей области",
"confirmRemoveRelationField": "Вы уверены, что хотите удалить поле, связанное с <b>${x}</b>?",
"removeButKeepRelationField": "Удалить, но сохранить связанное поле",
"confirmRemoveRelationField": "Вы уверены, что хотите удалить поле <b>${x}</b>? После удаления этого поля двунаправленное поле связи <b>${z}</b> в базе данных <b>${y}</b> также будет синхронно удалено.",
"removeBothRelationField": "Удалить оба поля",
"removeButKeepRelationField": "Удалить только это поле, сохранить двунаправленное поле связи",
"exportPDFLowMemory": "Недостаточно доступной памяти для экспорта этого PDF, пожалуйста, уменьшите содержимое или увеличьте доступную память и повторите попытку экспорта",
"exportConf": "Экспорт настроек",
"exportConfTip": "Учетная запись, код авторизации доступа, синхронизация, API токен и ключ репозитория данных не будут экспортированы",
@ -116,6 +131,7 @@
"updateLayout": "Обновить макет",
"dndFolderTip": "Пожалуйста, обратите внимание, что ${x} только вставляет файл:// гиперссылку и не копирует файл",
"removeCol": "Вы уверены, что хотите удалить колонку <b>${x}</b> в базе данных?",
"removeColConfirm": "⚠️ Удалить колонку",
"video": "Видео",
"audio": "Аудио",
"updateAll": "Обновить все",
@ -129,7 +145,7 @@
"lastReviewTime": "Время последнего обзора",
"cardStatus": "Статус карточки",
"noSupportTip": "Эта функция не поддерживает использование колод карточек",
"insertRowTip": "Новые добавленные строки отфильтрованы. Чтобы увидеть их, отмените фильтрацию/поиск/сортировку",
"insertRowTip": "Новый элемент был отфильтрован, отмените фильтрацию или настройку группировки для просмотра",
"insertPhoto": "Сделать фотографию и вставить её",
"relativeToToday": "Относительно сегодня",
"current": "Этот",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "Находится после",
"filterOperatorIsOnOrBefore": "Находится на или до",
"filterOperatorIsOnOrAfter": "Находится на или после",
"filterQuantifierAny": "Любой",
"filterQuantifierAll": "Все",
"filterQuantifierNone": "Нет",
"asc": "По возрастанию",
"desc": "По убыванию",
"hideCol": "Скрыть колонку",
@ -422,7 +441,7 @@
"apiKey": "API ключ",
"apiKeyTip": "Рекомендуется назначить отдельный API ключ для SiYuan для последующего управления. Если этот пункт оставить пустым, функции, связанные с ИИ, будут отключены",
"apiTimeout": "Тайм-аут",
"apiTimeoutTip": "Период времени для инициации запроса, единица: секунда",
"apiTimeoutTip": "Период времени для инициации запроса",
"apiProxy": "Сетевой прокси",
"apiProxyTip": "Сетевой прокси, который инициирует запрос, например, <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "Модель",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "После включения вложенные блоки будут отображать крошки, вложенные блоки в супер блоках игнорируют эту опцию и никогда не показывают крошки",
"appearanceMode": "Режим внешнего вида",
"editReadonly": "Режим только для чтения",
"editReadonlyTip": "После включения редактор загрузит документ в режиме только для чтения",
"editReadonlyTip": "После включения документ будет по умолчанию только для чтения",
"generateConflictDoc": "Создавать документацию конфликтов при возникновении конфликтов синхронизации",
"generateConflictDocTip": "После включения при возникновении конфликта синхронизации будет генерироваться документ конфликта, чтобы его можно было открывать и просматривать напрямую. Независимо от включения или нет, [История данных] зарегистрирует документ конфликта",
"deleteOpConfirm": "⚠️ Подтверждение операции удаления",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "Очистка репозитория данных полностью удалит все нереференсированные снимки и связанные объекты данных, вы уверены, что хотите очистить?",
"purge": "Очистить",
"plsChoose": "Пожалуйста, выберите сначала",
"clearMessage": "Читать",
"freeSub": "Бесплатная пробная подписка",
"sortByUpdateTimeDesc": "По убыванию времени обновления",
"sortByUpdateTimeAsc": "По возрастанию времени обновления",
@ -1106,7 +1124,7 @@
"fileTree3": "Подтверждение не требуется при удалении документов",
"fileTree4": "Если не включено, будет появляться окно подтверждения каждый раз при удалении документа",
"fileTree5": "Сохранить местоположение созданного документа с ссылкой",
"fileTree6": "При использовании <code class='fn__code'>((</code> путь для нового документа (например, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree6": "При использовании <code class='fn__code'>((</code> или <code class='fn__code'>[[</code> путь для нового документа (например, <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>)",
"fileTree7": "Открыть в текущей вкладке",
"fileTree8": "Вкладка нового открытого документа заменит неизмененную вкладку",
"fileTree9": "Закрыть все вкладки при запуске",
@ -1122,6 +1140,8 @@
"fileTree19": "Некоторые операционные системы имеют технические ограничения, которые могут препятствовать ручному копированию данных рабочего пространства после создания поддокументов глубже 7 уровней",
"fileTree20": "Сохранять в однострочном формате",
"fileTree21": "После включения однострочный формат JSON будет использоваться при сохранении .sy документов и файлов баз данных .json, что может снизить размер файла примерно на 30% и улучшить эффективность чтения и записи на 50%",
"fileTree22": "Уведомление о большом файле",
"fileTree23": "Появится уведомление, если размер файла .sy или базы данных .json превышает этот предел",
"export10": "Например <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code>, если пусто, использовать текст водяного знака или путь к файлу водяного знака.",
"export11": "Обработка блока ссылок при экспорте",
"export12": "Обработка блока встроенного контента при экспорте",
@ -1173,6 +1193,7 @@
"newFileTip": "Пожалуйста, сначала откройте блокнот",
"copyBlockRef": "Скопировать ссылку на блок",
"copyBlockEmbed": "Скопировать встроенный блок",
"copyMarkdown": "Скопировать как Markdown",
"linkLevel": "Глубина",
"mark": "Значить",
"splitLR": "Разделить направо",
@ -1634,6 +1655,14 @@
"261": "Сегодня",
"262": "Завтра",
"263": "Следующие %d дней",
"264": "Поле [%s] имеет пустое значение"
"264": "Поле [%s] пусто",
"265": "Вне диапазона",
"266": "Tesseract OCR не установлен или не настроен, пожалуйста, обратитесь к Руководству пользователя - Раздел ресурсов для настройки",
"267": "База данных не названа",
"268": "Обратите внимание, что файл [%s] уже превышает [%d МБ], это может привести к снижению производительности",
"269": "Этот блок уже добавлен в базу данных [%s]",
"270": "Оптимизация индекса данных, пожалуйста, подождите...",
"271": "Оптимизация индекса данных завершена, освобождено [%s] дискового пространства",
"272": "Неименованное поле"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "優化索引",
"vacuumDataIndexTip": "校驗資料索引,釋放儲存空間並提升索引效能",
"rebuildDataIndex": "重建索引",
"rebuildDataIndexTip": "完全重建資料索引,較為耗時,請耐心等待",
"displayFieldName": "顯示欄位名稱",
"sortBySelectOption": "按選項排序",
"groupStep": "分組間隔",
"groupRange": "分組範圍",
"groupMethodDateRelative": "相對日期",
"groupMethodDateDay": "天",
"groupMethodDateWeek": "週",
"groupMethodDateMonth": "月",
"groupMethodDateYear": "年",
"syncColWidth": "同步列寬",
"groupMethod": "分組方式",
"hideEmptyGroup": "隱藏空白分組",
"hideEmptyGroup": "隱藏無條目分組",
"groups": "分組",
"removeGroup": "移除分組",
"contentBlock": "內容塊",
@ -9,8 +22,8 @@
"insertItemAfter": "在後方插入${x}條",
"allViews": "所有視圖",
"copyAVID": "複製資料庫 ID",
"hideEmptyFields": "隱藏空字段",
"displayEmptyFields": "顯示空字段",
"hideEmptyFields": "隱藏空欄位",
"displayEmptyFields": "顯示空欄位",
"cardAspectRatio": "預覽區寬高比",
"cardPreview1": "卡片預覽",
"contentImage": "內容圖片",
@ -20,15 +33,15 @@
"small": "小",
"fitImage": "自動調整圖片大小",
"showIcon": "顯示圖標",
"showAllFieldsIcon": "顯示字段圖標",
"wrapAllFields": "字段自動換行",
"showAllEntriesIcons": "顯示條目圖標",
"wrapAllFields": "欄位自動換行",
"gallery": "卡片",
"newTag": "新建標籤",
"pleaseWait": "請稍等片刻...",
"reconnectPrompt": "切換應用後再次進入需要一些時間恢復思源內核運行,請稍等幾秒或者點擊“重試”按鈕",
"relativeFontSize": "相對於編輯器字號",
"localFileSystem": "本地檔案系統",
"deviceNotSupport": "當前設備不支援",
"mobileNotSupport": "行動裝置(手機或平板)目前不支援此功能,",
"second": "秒",
"syncInterval": "同步間隔",
"syncIntervalTip": "數據不再變動後自動進行數據同步",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "數據快照保留天數",
"dataRepoAutoPurgeRetentionIndexesDaily": "數據快照每天保留個數",
"fields": "欄位",
"dynamicEmoji": "動態圖標",
"dynamicIcon": "動態圖標",
"dynamicIconDateEmptyInfo": "清除日期,日曆圖示將動態顯示當天日期",
"backlinkContainChildren": "反向鏈接包含子塊",
"backlinkContainChildrenTip": "啟用後子塊將被納入到反向鏈接計算中",
"entryNum": "條目數",
"workspaceData": "工作空間數據",
"confirmRemoveRelationField": "確定同時刪除關聯至 <b>${x}</b> 中的字段嗎?",
"removeButKeepRelationField": "刪除,但保留關聯字段",
"confirmRemoveRelationField": "確定要刪除 <b>${x}</b> 欄位嗎?刪除本欄位後,<b>${y}</b> 數據庫中的雙向關聯欄位 <b>${z}</b> 也會同步刪除。",
"removeBothRelationField": "同時刪除兩個欄位",
"removeButKeepRelationField": "僅刪除本欄位,保留雙向關聯欄位",
"exportPDFLowMemory": "系統可用記憶體不足,無法導出該 PDF請減少內容或者增加可用記憶體後再嘗試導出",
"exportConf": "匯出設定",
"exportConfTip": "帳號、存取授權碼、同步、API token 和資料倉儲金鑰不會被匯出",
@ -116,6 +131,7 @@
"updateLayout": "更新版面配置",
"dndFolderTip": "請注意 ${x} 僅插入 file:// 超鏈接,不複製檔案",
"removeCol": "確定刪除資料庫中的 <b>${x}</b> 欄位?",
"removeColConfirm": "⚠️ 刪除欄位",
"video": "影片",
"audio": "音訊",
"updateAll": "全部更新",
@ -129,7 +145,7 @@
"lastReviewTime": "最後複習時間",
"cardStatus": "卡片狀態",
"noSupportTip": "此功能不支援卡包使用",
"insertRowTip": "新增條目已被過濾,可取消過濾/搜尋/排序進行查看",
"insertRowTip": "新增條目已被過濾,可取消過濾或分組設置後進行查看",
"insertPhoto": "拍照並插入",
"relativeToToday": "相對於今天",
"current": "當前",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "晚於",
"filterOperatorIsOnOrBefore": "早於或等於",
"filterOperatorIsOnOrAfter": "晚於或等於",
"filterQuantifierAny": "任一",
"filterQuantifierAll": "所有",
"filterQuantifierNone": "沒有",
"asc": "升序",
"desc": "降序",
"hideCol": "隱藏欄位",
@ -422,7 +441,7 @@
"apiKey": "API Key",
"apiKeyTip": "建議為思源單獨分配 API Key 以便於後續管理。該項留空則禁用 AI 相關功能",
"apiTimeout": "超時時間",
"apiTimeoutTip": "發起請求的超時時間,單位:秒",
"apiTimeoutTip": "發起請求的超時時間",
"apiProxy": "網絡代理",
"apiProxyTip": "發起請求的網絡代理,如 <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "模型",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "啟用後嵌入塊將顯示導覽路徑,在超級塊中的嵌入塊忽略該選項,始終不顯示導覽路徑",
"appearanceMode": "外觀模式",
"editReadonly": "只讀模式",
"editReadonlyTip": "啟用後編輯器將以只讀模式載入文檔",
"editReadonlyTip": "啟用後文檔將預設鎖定編輯",
"generateConflictDoc": "同步衝突時生成衝突文檔",
"generateConflictDocTip": "啟用後當同步發生衝突時會生成衝突文檔,以便直接打開查看。無論是否啟用,[資料歷史] 都會記錄衝突文檔",
"deleteOpConfirm": "⚠️ Delete operation confirmation",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "清理資料倉庫會徹底刪除所有未引用的快照和相關資料對象,確定進行清理嗎?",
"purge": "清理",
"plsChoose": "請先進行選擇",
"clearMessage": "已讀",
"freeSub": "免費試用訂閱",
"sortByUpdateTimeDesc": "更新時間降序",
"sortByUpdateTimeAsc": "更新時間升序",
@ -1106,7 +1124,7 @@
"fileTree3": "刪除文檔時不需要確認",
"fileTree4": "不啟用時每次刪除文檔都會彈出確認框",
"fileTree5": "塊引新建文檔存放位置",
"fileTree6": "使用 <code class='fn__code'>((</code> 時新建文檔的存放路徑(例如 <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>",
"fileTree6": "使用 <code class='fn__code'>((</code> 或 <code class='fn__code'>[[</code> 時新建文檔的存放路徑(例如 <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>",
"fileTree7": "在當前分頁中打開",
"fileTree8": "新打開的文檔分頁將會替換沒有修改過的分頁",
"fileTree9": "啟動時關閉所有分頁",
@ -1122,6 +1140,8 @@
"fileTree19": "一些操作系統存在技術限制導致建立大於 7 層的子文檔後可能無法正常手動複製工作空間資料",
"fileTree20": "使用單行保存",
"fileTree21": "啟用後儲存 .sy 文件和資料庫 .json 時將使用單行 JSON 格式,大約能減少 30% 檔案大小並提升 50% 讀寫效率",
"fileTree22": "超大檔案提醒",
"fileTree23": ".sy 文件和資料庫 .json 超過該大小時彈出通知提醒",
"export10": "例如 <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code> ,為空時使用水印文字或浮水印檔案路徑。",
"export11": "匯出時關於塊引用內容的處理方式",
"export12": "匯出時關於嵌入塊內容的處理方式",
@ -1173,6 +1193,7 @@
"newFileTip": "請先打開一個筆記本",
"copyBlockRef": "複製為塊引用",
"copyBlockEmbed": "複製為嵌入塊",
"copyMarkdown": "複製為 Markdown",
"linkLevel": "層級",
"mark": "標記",
"splitLR": "向右並排顯示",
@ -1634,6 +1655,14 @@
"261": "今天",
"262": "明天",
"263": "未來 %d 天",
"264": "字段 [%s] 值為空"
"264": "欄位 [%s] 為空",
"265": "不在範圍內",
"266": "Tesseract OCR 未安裝或未配置,請參考 用戶指南-資料文件 章節進行配置",
"267": "未命名資料庫",
"268": "請注意該檔案 [%s] 已經超過 [%d MB],可能會導致效能下降",
"269": "該塊已經添加到資料庫 [%s] 中",
"270": "正在優化資料索引,請稍等...",
"271": "資料索引優化完畢,共釋放 [%s] 磁碟空間",
"272": "未命名欄位"
}
}
}

View file

@ -1,7 +1,20 @@
{
"vacuumDataIndex": "优化索引",
"vacuumDataIndexTip": "校验数据索引,释放存储空间并提升索引性能",
"rebuildDataIndex": "重建索引",
"rebuildDataIndexTip": "完全重建数据索引,较为耗时,请耐心等待",
"displayFieldName": "显示字段名称",
"sortBySelectOption": "按选项排序",
"groupStep": "分组间隔",
"groupRange": "分组范围",
"groupMethodDateRelative": "相对日期",
"groupMethodDateDay": "天",
"groupMethodDateWeek": "周",
"groupMethodDateMonth": "月",
"groupMethodDateYear": "年",
"syncColWidth": "同步列宽",
"groupMethod": "分组方式",
"hideEmptyGroup": "隐藏空白分组",
"hideEmptyGroup": "隐藏无条目分组",
"groups": "分组",
"removeGroup": "移除分组",
"contentBlock": "内容块",
@ -20,7 +33,7 @@
"small": "小",
"fitImage": "自适应图片大小",
"showIcon": "显示图标",
"showAllFieldsIcon": "显示字段图标",
"showAllEntriesIcons": "显示条目图标",
"wrapAllFields": "字段自动换行",
"gallery": "卡片",
"newTag": "新建标签",
@ -28,7 +41,7 @@
"reconnectPrompt": "切换应用后再次进入需要一些时间恢复思源内核运行,请稍等几秒或者点击“重试”按钮",
"relativeFontSize": "相对于编辑器字号",
"localFileSystem": "本地文件系统",
"deviceNotSupport": "当前设备不支持",
"mobileNotSupport": "移动端(手机或平板)设备目前不支持该功能",
"second": "秒",
"syncInterval": "同步间隔",
"syncIntervalTip": "数据不再变动后自动进行数据同步",
@ -40,13 +53,15 @@
"dataRepoAutoPurgeIndexRetentionDays": "数据快照保留天数",
"dataRepoAutoPurgeRetentionIndexesDaily": "数据快照每天保留个数",
"fields": "字段",
"dynamicEmoji": "动态图标",
"dynamicIcon": "动态图标",
"dynamicIconDateEmptyInfo": "清除日期,日历图标将动态显示当天日期",
"backlinkContainChildren": "反向链接包含子块",
"backlinkContainChildrenTip": "启用后子块将被纳入到反向链接计算中",
"entryNum": "条目数",
"workspaceData": "工作空间数据",
"confirmRemoveRelationField": "确定同时删除关联至 <b>${x}</b> 中的字段吗?",
"removeButKeepRelationField": "删除,但保留关联字段",
"confirmRemoveRelationField": "确定要删除 <b>${x}</b> 字段吗?删除本字段后,<b>${y}</b> 数据库中的双向关联字段 <b>${z}</b> 也会同步删除。",
"removeBothRelationField": "同时删除两个字段",
"removeButKeepRelationField": "仅删除本字段,保留双向关联字段",
"exportPDFLowMemory": "系统可用内存不足,无法导出该 PDF请减少内容或者增加可用内存后再尝试导出",
"exportConf": "导出设置",
"exportConfTip": "账号、访问授权码、同步、API token 和数据仓库密钥不会被导出",
@ -116,6 +131,7 @@
"updateLayout": "更新布局",
"dndFolderTip": "请注意 ${x} 仅插入 file:// 超链接,不复制文件",
"removeCol": "确定删除数据库中的 <b>${x}</b> 字段?",
"removeColConfirm": "⚠️ 删除字段",
"video": "视频",
"audio": "音频",
"updateAll": "全部更新",
@ -129,7 +145,7 @@
"lastReviewTime": "最后复习时间",
"cardStatus": "卡片状态",
"noSupportTip": "该功能不支持卡包使用",
"insertRowTip": "新增条目已被过滤,可取消过滤/搜索/排序进行查看",
"insertRowTip": "新增条目已被过滤,可取消过滤或分组设置后进行查看",
"insertPhoto": "拍照并插入",
"relativeToToday": "相对于今天",
"current": "当前",
@ -324,6 +340,9 @@
"filterOperatorIsAfter": "晚于",
"filterOperatorIsOnOrBefore": "早于或等于",
"filterOperatorIsOnOrAfter": "晚于或等于",
"filterQuantifierAny": "任一",
"filterQuantifierAll": "所有",
"filterQuantifierNone": "没有",
"asc": "升序",
"desc": "降序",
"hideCol": "隐藏字段",
@ -422,7 +441,7 @@
"apiKey": "API Key",
"apiKeyTip": "建议为思源单独分配 API Key 以便于后续管理。该项留空则禁用 AI 相关功能",
"apiTimeout": "超时时间",
"apiTimeoutTip": "发起请求的超时时间,单位:秒",
"apiTimeoutTip": "发起请求的超时时间",
"apiProxy": "网络代理",
"apiProxyTip": "发起请求的网络代理,如 <code class='fn__code'>socks://user:pass@127.0.0.1:1080</code>",
"apiModel": "模型",
@ -546,7 +565,7 @@
"embedBlockBreadcrumbTip": "启用后嵌入块将显示面包屑,在超级块中的嵌入块忽略该选项,始终不显示面包屑",
"appearanceMode": "外观模式",
"editReadonly": "只读模式",
"editReadonlyTip": "启用后编辑器将以只读模式载入文档",
"editReadonlyTip": "启用后文档将默认锁定编辑",
"generateConflictDoc": "同步冲突时生成冲突文档",
"generateConflictDocTip": "启用后当同步发生冲突时会生成冲突文档,以便直接打开查看。无论是否启用,[数据历史] 都会记录冲突文档",
"deleteOpConfirm": "⚠️ 删除操作确认",
@ -629,7 +648,6 @@
"dataRepoPurgeConfirm": "清理数据仓库会彻底删除所有未引用的快照和相关数据对象,确定进行清理吗?",
"purge": "清理",
"plsChoose": "请先进行选择",
"clearMessage": "已读",
"freeSub": "免费试用订阅",
"sortByUpdateTimeDesc": "更新时间降序",
"sortByUpdateTimeAsc": "更新时间升序",
@ -1106,7 +1124,7 @@
"fileTree3": "删除文档时不需要确认",
"fileTree4": "不启用时每次删除文档都会弹出确认框",
"fileTree5": "块引新建文档存放位置",
"fileTree6": "使用 <code class='fn__code'>((</code> 时新建文档的存放路径(例如 <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>",
"fileTree6": "使用 <code class='fn__code'>((</code> 或 <code class='fn__code'>[[</code> 时新建文档的存放路径(例如 <code class='fn__code'>/folder1/{{now | date \"20060102150405\"}}/</code>",
"fileTree7": "在当前页签中打开",
"fileTree8": "新打开的文档页签将会替换没有修改过的页签",
"fileTree9": "启动时关闭所有页签",
@ -1122,6 +1140,8 @@
"fileTree19": "一些操作系统存在技术限制导致创建大于 7 层的子文档后可能无法正常手动复制工作空间数据",
"fileTree20": "使用单行保存",
"fileTree21": "启用后保存 .sy 文档和数据库 .json 时将使用单行 JSON 格式,大约能减少 30% 文件大小并提升 50% 读写效率",
"fileTree22": "超大文件提醒",
"fileTree23": ".sy 文档和数据库 .json 超过该大小时弹出通知提醒",
"export10": "例如 <code class='fn__code'>&lt;span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\"&gt;SiYuan&lt;/span&gt;</code> ,为空时使用水印文本或水印文件路径。",
"export11": "导出时关于块引用内容的处理方式",
"export12": "导出时关于嵌入块内容的处理方式",
@ -1173,6 +1193,7 @@
"newFileTip": "请先打开一个笔记本",
"copyBlockRef": "复制为块引用",
"copyBlockEmbed": "复制为嵌入块",
"copyMarkdown": "复制为 Markdown",
"linkLevel": "层级",
"mark": "标记",
"splitLR": "向右分屏",
@ -1634,6 +1655,14 @@
"261": "今天",
"262": "明天",
"263": "未来 %d 天",
"264": "字段 [%s] 值为空"
"264": "字段 [%s] 为空",
"265": "不在范围内",
"266": "Tesseract OCR 未安装或未配置,请参考 用户指南-资源文件 章节进行配置",
"267": "未命名数据库",
"268": "请注意该文件 [%s] 已经超过 [%d MB],可能会导致性能下降",
"269": "该块已经添加到数据库 [%s] 中",
"270": "正在优化数据索引,请稍等...",
"271": "数据索引优化完毕,共释放 [%s] 磁盘空间",
"272": "未命名字段"
}
}
}

View file

@ -9,7 +9,7 @@
<Identity Name="89C2A984.SiYuan"
ProcessorArchitecture="x64"
Publisher="CN=087C656E-C1D9-42D8-8807-CED45A74FC0F"
Version="3.2.0.0"/>
Version="3.3.2.0"/>
<Properties>
<DisplayName>SiYuan</DisplayName>
<PublisherDisplayName>云南链滴科技有限公司</PublisherDisplayName>

View file

@ -21,7 +21,7 @@ Below are the detailed changes in this version.
* [Database cells support vertical dragging to fill values](https://github.com/siyuan-note/siyuan/issues/12907)
* [Improve document tree movement and its animation](https://github.com/siyuan-note/siyuan/issues/12914)
* [Improve S3/WebDAV data sync config](https://github.com/siyuan-note/siyuan/issues/12923)
* [The Publishing service no longer support export](https://github.com/siyuan-note/siyuan/issues/12928)
* [The Publish service no longer support export](https://github.com/siyuan-note/siyuan/issues/12928)
* [Display document title in data history preview area](https://github.com/siyuan-note/siyuan/issues/12948)
* [Improve parsing `<img>` when importing markdown](https://github.com/siyuan-note/siyuan/issues/12956)
* [Improve parsing of YAML Front Matter when importing Markdown](https://github.com/siyuan-note/siyuan/issues/12962)

View file

@ -0,0 +1,79 @@
## Overview
This version improves some details.
## Changelogs
Below are the detailed changes in this version.
### Enhancement
* [Database table view supports synchronizing column width to other table views](https://github.com/siyuan-note/siyuan/issues/11022)
* [Database view tab supports drag sorting](https://github.com/siyuan-note/siyuan/issues/11102)
* [Improve "Use Default Column Width"](https://github.com/siyuan-note/siyuan/pull/15046)
* [Improve theme switching](https://github.com/siyuan-note/siyuan/pull/15054)
* [Improve drag performance](https://github.com/siyuan-note/siyuan/pull/15102)
* [Improve icon switching](https://github.com/siyuan-note/siyuan/pull/15123)
* [Add "Content block" option in the preview area of the database card view](https://github.com/siyuan-note/siyuan/issues/15155)
* [Improve the opening of a block ref using shortcut keys immediately after inserting it](https://github.com/siyuan-note/siyuan/issues/15208)
* [Improve database card view card right click menu](https://github.com/siyuan-note/siyuan/issues/15210)
* [Improve paging settings after creating/deleting database views](https://github.com/siyuan-note/siyuan/issues/15211)
* [Disable automatic video playback in database card view](https://github.com/siyuan-note/siyuan/issues/15212)
* [Gallery view renamed to Card view](https://github.com/siyuan-note/siyuan/issues/15215)
* [Disable drag-and-drop sorting after setting sorting rules for database view](https://github.com/siyuan-note/siyuan/issues/15228)
* [Add some currency formatting support to database number fields](https://github.com/siyuan-note/siyuan/issues/15232)
* [Improve mirror databases refresh after updating database view layout](https://github.com/siyuan-note/siyuan/issues/15233)
* [Improve the image loading performance in the database](https://github.com/siyuan-note/siyuan/issues/15245)
* [Improve assets searching](https://github.com/siyuan-note/siyuan/issues/15251)
* [Disable HTTP access to the /assets/ path](https://github.com/siyuan-note/siyuan/issues/15257)
* [Improve breadcrumb redirection on mobile](https://github.com/siyuan-note/siyuan/issues/15258)
* [The view settings menu pops up after creating a new view in the database](https://github.com/siyuan-note/siyuan/issues/15265)
* [Various charts are not rendered when the content is empty](https://github.com/siyuan-note/siyuan/issues/15274)
* [Fixed mirroring database display view](https://github.com/siyuan-note/siyuan/issues/15279)
* [Improve Markdown hyperlink input parsing](https://github.com/siyuan-note/siyuan/issues/15282)
* [Improve search result highlighting](https://github.com/siyuan-note/siyuan/issues/15284)
* [Improve right-click menu paste](https://github.com/siyuan-note/siyuan/pull/15286)
* [The bound heading block in the database card view displays the sub-blocks in the preview area](https://github.com/siyuan-note/siyuan/issues/15288)
* [Improve reference count update after moving container blocks](https://github.com/siyuan-note/siyuan/issues/15289)
* [Improve reference count update after converting heading block level](https://github.com/siyuan-note/siyuan/issues/15298)
* [Improve reference count update after document convert to heading](https://github.com/siyuan-note/siyuan/issues/15299)
* [Improve database table view fixed field copy and paste](https://github.com/siyuan-note/siyuan/issues/15300)
* [Improve HTML table clipping](https://github.com/siyuan-note/siyuan/issues/15307)
* [Improve HTML code block clipping](https://github.com/siyuan-note/siyuan/issues/15314)
* [Improve converting network assets to local assets](https://github.com/siyuan-note/siyuan/issues/15320)
* [Improve reference count update after moving heading blocks](https://github.com/siyuan-note/siyuan/issues/15322)
* [No longer add the `id` attribute to block elements after setting the attribute](https://github.com/siyuan-note/siyuan/issues/15327)
* [Exported Markdown inline code no longer contains zero-width spaces after it](https://github.com/siyuan-note/siyuan/issues/15328)
### Bugfix
* [The "Remember me" function on the auth page is invalid on the mobile](https://github.com/siyuan-note/siyuan/issues/15216)
* [AI operations are invalid after selecting a content block](https://github.com/siyuan-note/siyuan/issues/15223)
* [Markdown doc with `\\u0000` in table cannot be opened after import](https://github.com/siyuan-note/siyuan/issues/15235)
* [The font Noto Sans SC is not available](https://github.com/siyuan-note/siyuan/issues/15238)
* [Virtual reference keyword exclusion list does not work in certain cases](https://github.com/siyuan-note/siyuan/issues/15252)
* [Rendering PlantUML on HarmonyOS NEXT should not jump to the browser](https://github.com/siyuan-note/siyuan/issues/15263)
* [Copying blocks without copying attributes](https://github.com/siyuan-note/siyuan/issues/15268)
* [XSS in inline memo elements](https://github.com/siyuan-note/siyuan/issues/15280)
### Refactor
* [Update SCSS dependencies and fix warnings](https://github.com/siyuan-note/siyuan/pull/15114)
* [Upgrade to Electron v37.2.3](https://github.com/siyuan-note/siyuan/issues/15269)
### Development
* [Enable stylesheet sourceMaps in the development environment](https://github.com/siyuan-note/siyuan/pull/15113)
* [Add config.query to `input-search` event bus](https://github.com/siyuan-note/siyuan/issues/15285)
* [Improve kernel API `/api/block/updateBlock` and `/api/block/batchUpdateBlock`](https://github.com/siyuan-note/siyuan/issues/15301)
* [Add plugin option `IProtyleOptions.click.preventInsetEmptyBlock`](https://github.com/siyuan-note/siyuan/issues/15303)
* [Improve `showMessage()` function](https://github.com/siyuan-note/siyuan/pull/15305)
* [Add plugin function `saveLayout`](https://github.com/siyuan-note/siyuan/issues/15308)
* [Add kernel API `/api/av/batchSetAttributeViewBlockAttrs`](https://github.com/siyuan-note/siyuan/issues/15310)
* [Add kernel API `/api/av/batchReplaceAttributeViewBlocks`](https://github.com/siyuan-note/siyuan/issues/15313)
* [Add some kernel batch insert blocks APIs](https://github.com/siyuan-note/siyuan/issues/15321)
## Download
* [B3log](https://b3log.org/siyuan/en/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,79 @@
## 概述
該版本改進了一些細節。
## 變更記錄
以下是此版本中的詳細變更。
### 改進功能
* [資料庫表格檢視支援同步列寬到其他表格檢視](https://github.com/siyuan-note/siyuan/issues/11022)
* [資料庫檢視頁籤支援拖曳排序](https://github.com/siyuan-note/siyuan/issues/11102)
* [改進「使用預設列寬」](https://github.com/siyuan-note/siyuan/pull/15046)
* [改進主題切換](https://github.com/siyuan-note/siyuan/pull/15054)
* [改進拖曳性能](https://github.com/siyuan-note/siyuan/pull/15102)
* [改進圖示切換](https://github.com/siyuan-note/siyuan/pull/15123)
* [在資料庫卡片檢視的預覽區域中新增「內容區塊」選項](https://github.com/siyuan-note/siyuan/issues/15155)
* [改進插入區塊引用後立即使用快速鍵開啟的體驗](https://github.com/siyuan-note/siyuan/issues/15208)
* [改進資料庫卡片視圖卡片右鍵選單](https://github.com/siyuan-note/siyuan/issues/15210)
* [改進建立/刪除資料庫視圖後的分頁設定](https://github.com/siyuan-note/siyuan/issues/15211)
* [停用資料庫卡片檢視中的自動影片播放](https://github.com/siyuan-note/siyuan/issues/15212)
* [圖庫視圖重新命名為卡片視圖](https://github.com/siyuan-note/siyuan/issues/15215)
* [設定資料庫視圖排序規則後停用拖曳排序](https://github.com/siyuan-note/siyuan/issues/15228)
* [為資料庫數位欄位新增一些貨幣格式支援](https://github.com/siyuan-note/siyuan/issues/15232)
* [改進更新資料庫視圖佈局後鏡像資料庫的刷新](https://github.com/siyuan-note/siyuan/issues/15233)
* [改進資料庫中的圖片載入效能](https://github.com/siyuan-note/siyuan/issues/15245)
* [改進資源搜尋](https://github.com/siyuan-note/siyuan/issues/15251)
* [禁用對 /assets/ 路徑的 HTTP 存取](https://github.com/siyuan-note/siyuan/issues/15257)
* [改良行動端的麵包屑跳轉](https://github.com/siyuan-note/siyuan/issues/15258)
* [在資料庫中新視圖後彈出視圖設定選單](https://github.com/siyuan-note/siyuan/issues/15265)
* [當內容為空時,各種圖表不再渲染](https://github.com/siyuan-note/siyuan/issues/15274)
* [修復鏡像資料庫顯示視圖](https://github.com/siyuan-note/siyuan/issues/15279)
* [改進 Markdown 超連結輸入解析](https://github.com/siyuan-note/siyuan/issues/15282)
* [改善搜尋結果高亮](https://github.com/siyuan-note/siyuan/issues/15284)
* [改進右鍵選單貼上功能](https://github.com/siyuan-note/siyuan/pull/15286)
* [資料庫卡片檢視中綁定的標題區塊在預覽區域顯示子區塊](https://github.com/siyuan-note/siyuan/issues/15288)
* [改進移動容器區塊後引用計數的更新](https://github.com/siyuan-note/siyuan/issues/15289)
* [改進轉換標題區塊層級後引用計數的更新](https://github.com/siyuan-note/siyuan/issues/15298)
* [改進文件轉換為標題後引用計數的更新](https://github.com/siyuan-note/siyuan/issues/15299)
* [改進資料庫表格視圖固定欄位的複製貼上](https://github.com/siyuan-note/siyuan/issues/15300)
* [改進 HTML 表格剪輯](https://github.com/siyuan-note/siyuan/issues/15307)
* [改進 HTML 程式碼區塊剪輯](https://github.com/siyuan-note/siyuan/issues/15314)
* [改進將網路資源轉換為本地資源](https://github.com/siyuan-note/siyuan/issues/15320)
* [改進移動標題區塊後引用計數的更新](https://github.com/siyuan-note/siyuan/issues/15322)
* [設定屬性後不再為區塊元素新增 `id` 屬性](https://github.com/siyuan-note/siyuan/issues/15327)
* [匯出的 Markdown 行內程式碼不再包含零寬空格](https://github.com/siyuan-note/siyuan/issues/15328)
### 修復缺陷
* [行動端鑑權頁面的「記住我」功能無效](https://github.com/siyuan-note/siyuan/issues/15216)
* [選擇內容區塊後 AI 操作無效](https://github.com/siyuan-note/siyuan/issues/15223)
* [包含 `\\u0000` 的 Markdown 表格文件匯入後無法開啟](https://github.com/siyuan-note/siyuan/issues/15235)
* [字型 Noto Sans SC 不可用](https://github.com/siyuan-note/siyuan/issues/15238)
* [虛擬引用關鍵字排除清單在某些情況下不起作用](https://github.com/siyuan-note/siyuan/issues/15252)
* [HarmonyOS NEXT 上渲染 PlantUML 不應跳到瀏覽器](https://github.com/siyuan-note/siyuan/issues/15263)
* [複製區塊時未複製屬性](https://github.com/siyuan-note/siyuan/issues/15268)
* [行級備註元素中的 XSS 漏洞](https://github.com/siyuan-note/siyuan/issues/15280)
### 開發重構
* [更新 SCSS 依賴並修復警告](https://github.com/siyuan-note/siyuan/pull/15114)
* [升級至 Electron v37.2.3](https://github.com/siyuan-note/siyuan/issues/15269)
### 開發者
* [在開發環境中啟用樣式表 sourceMaps](https://github.com/siyuan-note/siyuan/pull/15113)
* [為 `input-search` 事件匯流排新增 config.query](https://github.com/siyuan-note/siyuan/issues/15285)
* [改進內核 API `/api/block/updateBlock` 和 `/api/block/batchUpdateBlock`](https://github.com/siyuan-note/siyuan/issues/15301)
* [為插件選項新增 `IProtyleOptions.click.preventInsetEmptyBlock`](https://github.com/siyuan-note/siyuan/issues/15303)
* [改進 `showMessage()` 函數](https://github.com/siyuan-note/siyuan/pull/15305)
* [新增外掛程式 `saveLayout`](https://github.com/siyuan-note/siyuan/issues/15308)
* [新增核心 API `/api/av/batchSetAttributeViewBlockAttrs`](https://github.com/siyuan-note/siyuan/issues/15310)
* [新增核心 API `/api/av/batchReplaceAttributeViewBlocks`](https://github.com/siyuan-note/siyuan/issues/15313)
* [新增一些核心批次插入區塊的 API](https://github.com/siyuan-note/siyuan/issues/15321)
## 下載
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,79 @@
## 概述
该版本改进了一些细节。
## 变更记录
以下是此版本中的详细变更。
### 改进功能
* [数据库表格视图支持同步列宽到其他表格视图](https://github.com/siyuan-note/siyuan/issues/11022)
* [数据库视图页签支持拖拽排序](https://github.com/siyuan-note/siyuan/issues/11102)
* [改进“使用默认列宽”](https://github.com/siyuan-note/siyuan/pull/15046)
* [改进主题切换](https://github.com/siyuan-note/siyuan/pull/15054)
* [改进拖拽性能](https://github.com/siyuan-note/siyuan/pull/15102)
* [改进图标切换](https://github.com/siyuan-note/siyuan/pull/15123)
* [在数据库卡片视图的预览区域添加“内容块”选项](https://github.com/siyuan-note/siyuan/issues/15155)
* [改进插入块引用后立即使用快捷键打开的体验](https://github.com/siyuan-note/siyuan/issues/15208)
* [改进数据库卡片视图卡片右键菜单](https://github.com/siyuan-note/siyuan/issues/15210)
* [改进创建/删除数据库视图后的分页设置](https://github.com/siyuan-note/siyuan/issues/15211)
* [禁用数据库卡片视图中的自动视频播放](https://github.com/siyuan-note/siyuan/issues/15212)
* [画廊视图重命名为卡片视图](https://github.com/siyuan-note/siyuan/issues/15215)
* [设置数据库视图排序规则后禁用拖拽排序](https://github.com/siyuan-note/siyuan/issues/15228)
* [为数据库数字字段添加一些货币格式支持](https://github.com/siyuan-note/siyuan/issues/15232)
* [改进更新数据库视图布局后镜像数据库的刷新](https://github.com/siyuan-note/siyuan/issues/15233)
* [改进数据库中的图片加载性能](https://github.com/siyuan-note/siyuan/issues/15245)
* [改进资源搜索](https://github.com/siyuan-note/siyuan/issues/15251)
* [禁用对 /assets/ 路径的 HTTP 访问](https://github.com/siyuan-note/siyuan/issues/15257)
* [改进移动端的面包屑跳转](https://github.com/siyuan-note/siyuan/issues/15258)
* [在数据库中新建视图后弹出视图设置菜单](https://github.com/siyuan-note/siyuan/issues/15265)
* [当内容为空时,各种图表不再渲染](https://github.com/siyuan-note/siyuan/issues/15274)
* [修复镜像数据库显示视图](https://github.com/siyuan-note/siyuan/issues/15279)
* [改进 Markdown 超链接输入解析](https://github.com/siyuan-note/siyuan/issues/15282)
* [改进搜索结果高亮](https://github.com/siyuan-note/siyuan/issues/15284)
* [改进右键菜单粘贴功能](https://github.com/siyuan-note/siyuan/pull/15286)
* [数据库卡片视图中绑定的标题块在预览区域显示子块](https://github.com/siyuan-note/siyuan/issues/15288)
* [改进移动容器块后引用计数的更新](https://github.com/siyuan-note/siyuan/issues/15289)
* [改进转换标题块级别后引用计数的更新](https://github.com/siyuan-note/siyuan/issues/15298)
* [改进文档转换为标题后引用计数的更新](https://github.com/siyuan-note/siyuan/issues/15299)
* [改进数据库表格视图固定字段的复制粘贴](https://github.com/siyuan-note/siyuan/issues/15300)
* [改进 HTML 表格剪辑](https://github.com/siyuan-note/siyuan/issues/15307)
* [改进 HTML 代码块剪辑](https://github.com/siyuan-note/siyuan/issues/15314)
* [改进将网络资源转换为本地资源](https://github.com/siyuan-note/siyuan/issues/15320)
* [改进移动标题块后引用计数的更新](https://github.com/siyuan-note/siyuan/issues/15322)
* [设置属性后不再为块元素添加 `id` 属性](https://github.com/siyuan-note/siyuan/issues/15327)
* [导出的 Markdown 行内代码不再包含零宽空格](https://github.com/siyuan-note/siyuan/issues/15328)
### 修复缺陷
* [移动端鉴权页面的“记住我”功能无效](https://github.com/siyuan-note/siyuan/issues/15216)
* [选择内容块后 AI 操作无效](https://github.com/siyuan-note/siyuan/issues/15223)
* [包含 `\\u0000` 的 Markdown 表格文档导入后无法打开](https://github.com/siyuan-note/siyuan/issues/15235)
* [字体 Noto Sans SC 不可用](https://github.com/siyuan-note/siyuan/issues/15238)
* [虚拟引用关键字排除列表在某些情况下不起作用](https://github.com/siyuan-note/siyuan/issues/15252)
* [HarmonyOS NEXT 上渲染 PlantUML 不应跳转到浏览器](https://github.com/siyuan-note/siyuan/issues/15263)
* [复制块时未复制属性](https://github.com/siyuan-note/siyuan/issues/15268)
* [行级备注元素中的 XSS 漏洞](https://github.com/siyuan-note/siyuan/issues/15280)
### 开发重构
* [更新 SCSS 依赖并修复警告](https://github.com/siyuan-note/siyuan/pull/15114)
* [升级到 Electron v37.2.3](https://github.com/siyuan-note/siyuan/issues/15269)
### 开发者
* [在开发环境中启用样式表 sourceMaps](https://github.com/siyuan-note/siyuan/pull/15113)
* [为 `input-search` 事件总线添加 config.query](https://github.com/siyuan-note/siyuan/issues/15285)
* [改进内核 API `/api/block/updateBlock` 和 `/api/block/batchUpdateBlock`](https://github.com/siyuan-note/siyuan/issues/15301)
* [为插件选项添加 `IProtyleOptions.click.preventInsetEmptyBlock`](https://github.com/siyuan-note/siyuan/issues/15303)
* [改进 `showMessage()` 函数](https://github.com/siyuan-note/siyuan/pull/15305)
* [添加插件函数 `saveLayout`](https://github.com/siyuan-note/siyuan/issues/15308)
* [添加内核 API `/api/av/batchSetAttributeViewBlockAttrs`](https://github.com/siyuan-note/siyuan/issues/15310)
* [添加内核 API `/api/av/batchReplaceAttributeViewBlocks`](https://github.com/siyuan-note/siyuan/issues/15313)
* [添加一些内核批量插入块的 API](https://github.com/siyuan-note/siyuan/issues/15321)
## 下载
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,93 @@
## Overview
This version supports database grouping by field and improves many details.
Please note:
* Old versions cannot open new version databases. If you installed the mobile version from a store, it is recommended to wait for the new version to be available in the store before updating the desktop version
* The multi-select field value of the database template has changed from a string to a string array. Please refer to [here](https://github.com/siyuan-note/siyuan/issues/15575#issuecomment-3210963948) for adaptation
## Changelogs
Below are the detailed changes in this version.
### Feature
* [Database grouping by field](https://github.com/siyuan-note/siyuan/issues/10964)
### Enhancement
* [Improve `Add to Database`](https://github.com/siyuan-note/siyuan/issues/10659)
* [Improve database field default filling](https://github.com/siyuan-note/siyuan/issues/11966)
* [The database rollup field supports using the template field](https://github.com/siyuan-note/siyuan/issues/12384)
* [Display title when flashcard is a document](https://github.com/siyuan-note/siyuan/issues/14201)
* [Improve the database block binding](https://github.com/siyuan-note/siyuan/issues/14511)
* [Improve export preview mode CSS variable value filling](https://github.com/siyuan-note/siyuan/pull/15110)
* [Card view supports displaying field names](https://github.com/siyuan-note/siyuan/issues/15180)
* [Improve document title carriage return processing](https://github.com/siyuan-note/siyuan/issues/15294)
* [Improve pasting performance for large amounts of content](https://github.com/siyuan-note/siyuan/issues/15306)
* [Improve the line number display when custom code block](https://github.com/siyuan-note/siyuan/pull/15324)
* [Improve data sync to avoid conflicts caused by folding block](https://github.com/siyuan-note/siyuan/issues/15329)
* [Deleting a block no longer adds an empty block to the beginning of the doc in some cases](https://github.com/siyuan-note/siyuan/issues/15336)
* [Improve template search highlighting](https://github.com/siyuan-note/siyuan/issues/15338)
* [Export preview mode supports focus use](https://github.com/siyuan-note/siyuan/issues/15340)
* [Code blocks retain attributes when exporting preview](https://github.com/siyuan-note/siyuan/issues/15343)
* [Support code block highlighting template syntax and export code block templates as paragraphs](https://github.com/siyuan-note/siyuan/pull/15345)
* [`Re OCR` popup prompt when Tesseract is not enabled](https://github.com/siyuan-note/siyuan/issues/15367)
* [Improve `<br>` input parsing](https://github.com/siyuan-note/siyuan/issues/15373)
* [Update plugins of highlight.js](https://github.com/siyuan-note/siyuan/pull/15386)
* [Improve card view display](https://github.com/siyuan-note/siyuan/issues/15389)
* [Improve the status bar index creation information prompt](https://github.com/siyuan-note/siyuan/issues/15390)
* [Improve search for emojis in tags](https://github.com/siyuan-note/siyuan/issues/15391)
* [Document supports copying as Markdown](https://github.com/siyuan-note/siyuan/pull/15397)
* [The database rollup field supports duplicating as a copy](https://github.com/siyuan-note/siyuan/issues/15417)
* [Improve HTML clipping](https://github.com/siyuan-note/siyuan/issues/15438)
* [Alert users when .sy file or database .json exceed 8MB](https://github.com/siyuan-note/siyuan/issues/15451)
* [Limit the database title to 512 characters](https://github.com/siyuan-note/siyuan/issues/15459)
* [`Upload asset files to cloud` supports focus use](https://github.com/siyuan-note/siyuan/issues/15462)
* [Improve the style of exporting PDF](https://github.com/siyuan-note/siyuan/pull/15463)
* [Parse `<img>` tags when pasting](https://github.com/siyuan-note/siyuan/issues/15464)
* [The database template field supports using other template fields](https://github.com/siyuan-note/siyuan/issues/15517)
* [Improve database `Drag vertically to fill value`](https://github.com/siyuan-note/siyuan/issues/15518)
* [Tab switching improvements](https://github.com/siyuan-note/siyuan/issues/15546)
* [Filter hidden columns when browsing the current view image of a database table](https://github.com/siyuan-note/siyuan/pull/15548)
* [Database drag and drop, performance and interaction optimization](https://github.com/siyuan-note/siyuan/issues/15552)
* [Remove highlighting when database filter conditions do not perform filter calculations](https://github.com/siyuan-note/siyuan/issues/15558)
* [Improve database template field to use multiple-select field](https://github.com/siyuan-note/siyuan/issues/15575)
* [Improve parsing `<img>` tags when importing](https://github.com/siyuan-note/siyuan/issues/15638)
* [The database rollup field supports using the updated/created field](https://github.com/siyuan-note/siyuan/issues/15662)
* [Manually optimize the data index to reduce space usage and improve performance](https://github.com/siyuan-note/siyuan/issues/15663)
* [Improved database attribute panel](https://github.com/siyuan-note/siyuan/issues/15664)
* [Improve focus positioning when exiting folded blocks](https://github.com/siyuan-note/siyuan/issues/15670)
### Bugfix
* [Database select fields will lose options if options are added too quickly](https://github.com/siyuan-note/siyuan/issues/13261)
* [Inline formulas are not rendered when superblock is canceled](https://github.com/siyuan-note/siyuan/issues/15341)
* [Dragging a file from the assets folder into the editor causes the kernel to exit](https://github.com/siyuan-note/siyuan/issues/15355)
* [The tray is generated repeatedly after the new window is locked and then entered](https://github.com/siyuan-note/siyuan/issues/15357)
* [Find-replace incorrectly converts tags to text](https://github.com/siyuan-note/siyuan/issues/15372)
* [The insertion position is wrong after converting the list to paragraph block in the floating window](https://github.com/siyuan-note/siyuan/issues/15396)
* [Formula-related editor status abnormal](https://github.com/siyuan-note/siyuan/issues/15554)
* [Incorrect results for database rollup field filtering](https://github.com/siyuan-note/siyuan/issues/15608)
### Refactor
* [Upgrade to Electron v37.3.1](https://github.com/siyuan-note/siyuan/issues/15410)
### Development
* [Add plugin function `IProtyleOptions.handleEmptyContent`](https://github.com/siyuan-note/siyuan/issues/15398)
* [Add plugin function `getActiveTab`](https://github.com/siyuan-note/siyuan/issues/15415)
* [Add parameter `imgTag` for kernel API `exportMdContent` and `copyStdMarkdown`](https://github.com/siyuan-note/siyuan/issues/15454)
* [Adjust `addTopBar` and `addStatusBar` from `onload` lifecycle to `onLayoutReady`](https://github.com/siyuan-note/siyuan/issues/15455)
* [Add plugin function `hideMessage`](https://github.com/siyuan-note/siyuan/issues/15485)
* [Add plugin event bus `switch-protyle-mode`](https://github.com/siyuan-note/siyuan/issues/15516)
* [`/api/block/getBlockKramdown` link/image URLs are no longer encoded with spaces](https://github.com/siyuan-note/siyuan/issues/15611)
* [Improve kernel API `/api/filetree/moveDocsByID`](https://github.com/siyuan-note/siyuan/issues/15616)
* [Add plugin function `getActiveEditor`](https://github.com/siyuan-note/siyuan/issues/15641)
## Download
* [B3log](https://b3log.org/siyuan/en/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,93 @@
## 概述
該版本支援了資料庫按字段分組並改進了大量細節。
請注意:
* 舊版無法開啟新版的資料庫,如果你使用的行動端是在商店安裝的,建議等商店上架新版本後再更新桌面端
* 資料庫範本的多選欄位值從字串變更為字串數組,請參考[這裡](https://github.com/siyuan-note/siyuan/issues/15575#issuecomment-3210963948)進行適配
## 變更記錄
以下是此版本中的詳細變更。
### 引入特性
* [資料庫依欄位分組](https://github.com/siyuan-note/siyuan/issues/10964)
### 改進功能
* [改進「加入資料庫」](https://github.com/siyuan-note/siyuan/issues/10659)
* [改進資料庫欄位預設填入](https://github.com/siyuan-note/siyuan/issues/11966)
* [資料庫匯總欄位支援使用範本欄位](https://github.com/siyuan-note/siyuan/issues/12384)
* [閃卡為文件時顯示標題](https://github.com/siyuan-note/siyuan/issues/14201)
* [改進資料庫區塊綁定](https://github.com/siyuan-note/siyuan/issues/14511)
* [改進匯出預覽模式 CSS 變數值填色](https://github.com/siyuan-note/siyuan/pull/15110)
* [卡片視圖支援顯示欄位名稱](https://github.com/siyuan-note/siyuan/issues/15180)
* [改進文件標題回車處理](https://github.com/siyuan-note/siyuan/issues/15294)
* [提升大量內容貼上效能](https://github.com/siyuan-note/siyuan/issues/15306)
* [改進自訂程式碼區塊行號顯示](https://github.com/siyuan-note/siyuan/pull/15324)
* [改善資料同步,避免因折疊塊導致的衝突](https://github.com/siyuan-note/siyuan/issues/15329)
* [刪除區塊時在某些情況下不再在文件開頭新增空區塊](https://github.com/siyuan-note/siyuan/issues/15336)
* [改進範本搜尋高亮](https://github.com/siyuan-note/siyuan/issues/15338)
* [匯出預覽模式支援聚焦使用](https://github.com/siyuan-note/siyuan/issues/15340)
* [匯出預覽時程式碼區塊保留屬性](https://github.com/siyuan-note/siyuan/issues/15343)
* [支援程式碼區塊高亮模板語法並將程式碼區塊範本匯出為段落](https://github.com/siyuan-note/siyuan/pull/15345)
* [「重新 OCR」在 Tesseract 未啟用時彈出視窗提示](https://github.com/siyuan-note/siyuan/issues/15367)
* [改進 `<br>` 輸入解析](https://github.com/siyuan-note/siyuan/issues/15373)
* [更新 highlight.js 插件](https://github.com/siyuan-note/siyuan/pull/15386)
* [改進卡片視圖顯示](https://github.com/siyuan-note/siyuan/issues/15389)
* [改進狀態列索引建立資訊提示](https://github.com/siyuan-note/siyuan/issues/15390)
* [改進標籤中表情符號的搜尋](https://github.com/siyuan-note/siyuan/issues/15391)
* [文件支援複製為 Markdown](https://github.com/siyuan-note/siyuan/pull/15397)
* [資料庫匯總欄位支援複製為副本](https://github.com/siyuan-note/siyuan/issues/15417)
* [改進 HTML 剪藏](https://github.com/siyuan-note/siyuan/issues/15438)
* [當 .sy 檔案或資料庫 .json 超過 8MB 時提醒使用者](https://github.com/siyuan-note/siyuan/issues/15451)
* [限制資料庫標題為 512 個字元](https://github.com/siyuan-note/siyuan/issues/15459)
* [「上傳資源檔案到雲端」支援聚焦使用](https://github.com/siyuan-note/siyuan/issues/15462)
* [改進匯出 PDF 樣式](https://github.com/siyuan-note/siyuan/pull/15463)
* [貼上時解析 `<img>` 標籤](https://github.com/siyuan-note/siyuan/issues/15464)
* [資料庫範本欄位支援使用其他範本欄位](https://github.com/siyuan-note/siyuan/issues/15517)
* [改進資料庫「垂直拖曳填充值」](https://github.com/siyuan-note/siyuan/issues/15518)
* [標籤頁切換改進](https://github.com/siyuan-note/siyuan/issues/15546)
* [瀏覽資料庫表格目前視圖圖片時過濾隱藏列](https://github.com/siyuan-note/siyuan/pull/15548)
* [資料庫拖曳、效能與互動最佳化](https://github.com/siyuan-note/siyuan/issues/15552)
* [資料庫篩選條件未進行篩選計算時移除高亮](https://github.com/siyuan-note/siyuan/issues/15558)
* [改進資料庫範本欄位使用多重選取欄位](https://github.com/siyuan-note/siyuan/issues/15575)
* [改進導入時 `<img>` 標籤解析](https://github.com/siyuan-note/siyuan/issues/15638)
* [資料庫匯總欄位支援使用更新時間/建立時間欄位](https://github.com/siyuan-note/siyuan/issues/15662)
* [手動最佳化資料索引以減少空間佔用並提升效能](https://github.com/siyuan-note/siyuan/issues/15663)
* [改進資料庫屬性面板](https://github.com/siyuan-note/siyuan/issues/15664)
* [退出折疊塊時改進聚焦定位](https://github.com/siyuan-note/siyuan/issues/15670)
### 修復缺陷
* [資料庫選擇欄位若新增選項過快會遺失選項](https://github.com/siyuan-note/siyuan/issues/13261)
* [取消超級區塊時行內公式未渲染](https://github.com/siyuan-note/siyuan/issues/15341)
* [從資源資料夾拖曳檔案到編輯器導致內核退出](https://github.com/siyuan-note/siyuan/issues/15355)
* [新視窗鎖定後再進入會重複產生托盤](https://github.com/siyuan-note/siyuan/issues/15357)
* [尋找替換會錯誤地將標籤轉換為文字](https://github.com/siyuan-note/siyuan/issues/15372)
* [浮窗中將清單轉為段落區塊後插入位置錯誤](https://github.com/siyuan-note/siyuan/issues/15396)
* [公式相關編輯器狀態異常](https://github.com/siyuan-note/siyuan/issues/15554)
* [資料庫匯總欄位篩選結果不正確](https://github.com/siyuan-note/siyuan/issues/15608)
### 開發重構
* [升級至 Electron v37.3.1](https://github.com/siyuan-note/siyuan/issues/15410)
### 開發者
* [新增外掛程式 `IProtyleOptions.handleEmptyContent`](https://github.com/siyuan-note/siyuan/issues/15398)
* [新增外掛程式 `getActiveTab`](https://github.com/siyuan-note/siyuan/issues/15415)
* [內核 API `exportMdContent` 和 `copyStdMarkdown` 新增參數 `imgTag`](https://github.com/siyuan-note/siyuan/issues/15454)
* [將 `addTopBar` 和 `addStatusBar` 從 `onload` 生命週期調整到 `onLayoutReady`](https://github.com/siyuan-note/siyuan/issues/15455)
* [新增外掛程式 `hideMessage`](https://github.com/siyuan-note/siyuan/issues/15485)
* [新增外掛事件匯流排 `switch-protyle-mode`](https://github.com/siyuan-note/siyuan/issues/15516)
* [`/api/block/getBlockKramdown` 連結/圖片 URL 不再用空格編碼](https://github.com/siyuan-note/siyuan/issues/15611)
* [改進內核 API `/api/filetree/moveDocsByID`](https://github.com/siyuan-note/siyuan/issues/15616)
* [新增外掛程式 `getActiveEditor`](https://github.com/siyuan-note/siyuan/issues/15641)
## 下載
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,93 @@
## 概述
该版本支持了数据库按字段分组并改进了大量细节。
请注意:
* 旧版本无法打开新版本的数据库,如果你使用的移动端是在商店安装的,建议等商店上架新版本后再更新桌面端
* 数据库模板的多选字段值从字符串变更为字符串数组,请参考[这里](https://github.com/siyuan-note/siyuan/issues/15575#issuecomment-3210963948)进行适配
## 变更记录
以下是此版本中的详细变更。
### 引入特性
* [数据库按字段分组](https://github.com/siyuan-note/siyuan/issues/10964)
### 改进功能
* [改进“添加到数据库”](https://github.com/siyuan-note/siyuan/issues/10659)
* [改进数据库字段默认填充](https://github.com/siyuan-note/siyuan/issues/11966)
* [数据库汇总字段支持使用模板字段](https://github.com/siyuan-note/siyuan/issues/12384)
* [闪卡为文档时显示标题](https://github.com/siyuan-note/siyuan/issues/14201)
* [改进数据库块绑定](https://github.com/siyuan-note/siyuan/issues/14511)
* [改进导出预览模式 CSS 变量值填充](https://github.com/siyuan-note/siyuan/pull/15110)
* [卡片视图支持显示字段名](https://github.com/siyuan-note/siyuan/issues/15180)
* [改进文档标题回车处理](https://github.com/siyuan-note/siyuan/issues/15294)
* [提升大量内容粘贴性能](https://github.com/siyuan-note/siyuan/issues/15306)
* [改进自定义代码块行号显示](https://github.com/siyuan-note/siyuan/pull/15324)
* [改进数据同步,避免因折叠块导致的冲突](https://github.com/siyuan-note/siyuan/issues/15329)
* [删除块时在某些情况下不再在文档开头添加空块](https://github.com/siyuan-note/siyuan/issues/15336)
* [改进模板搜索高亮](https://github.com/siyuan-note/siyuan/issues/15338)
* [导出预览模式支持聚焦使用](https://github.com/siyuan-note/siyuan/issues/15340)
* [导出预览时代码块保留属性](https://github.com/siyuan-note/siyuan/issues/15343)
* [支持代码块高亮模板语法并将代码块模板导出为段落](https://github.com/siyuan-note/siyuan/pull/15345)
* [“重新 OCR”在 Tesseract 未启用时弹窗提示](https://github.com/siyuan-note/siyuan/issues/15367)
* [改进 `<br>` 输入解析](https://github.com/siyuan-note/siyuan/issues/15373)
* [更新 highlight.js 插件](https://github.com/siyuan-note/siyuan/pull/15386)
* [改进卡片视图显示](https://github.com/siyuan-note/siyuan/issues/15389)
* [改进状态栏索引创建信息提示](https://github.com/siyuan-note/siyuan/issues/15390)
* [改进标签中表情符号的搜索](https://github.com/siyuan-note/siyuan/issues/15391)
* [文档支持复制为 Markdown](https://github.com/siyuan-note/siyuan/pull/15397)
* [数据库汇总字段支持复制为副本](https://github.com/siyuan-note/siyuan/issues/15417)
* [改进 HTML 剪藏](https://github.com/siyuan-note/siyuan/issues/15438)
* [当 .sy 文件或数据库 .json 超过 8MB 时提醒用户](https://github.com/siyuan-note/siyuan/issues/15451)
* [限制数据库标题为 512 个字符](https://github.com/siyuan-note/siyuan/issues/15459)
* [“上传资源文件到云端”支持聚焦使用](https://github.com/siyuan-note/siyuan/issues/15462)
* [改进导出 PDF 样式](https://github.com/siyuan-note/siyuan/pull/15463)
* [粘贴时解析 `<img>` 标签](https://github.com/siyuan-note/siyuan/issues/15464)
* [数据库模板字段支持使用其他模板字段](https://github.com/siyuan-note/siyuan/issues/15517)
* [改进数据库“垂直拖动填充值”](https://github.com/siyuan-note/siyuan/issues/15518)
* [标签页切换改进](https://github.com/siyuan-note/siyuan/issues/15546)
* [浏览数据库表当前视图图片时过滤隐藏列](https://github.com/siyuan-note/siyuan/pull/15548)
* [数据库拖拽、性能与交互优化](https://github.com/siyuan-note/siyuan/issues/15552)
* [数据库筛选条件未进行筛选计算时移除高亮](https://github.com/siyuan-note/siyuan/issues/15558)
* [改进数据库模板字段使用多选字段](https://github.com/siyuan-note/siyuan/issues/15575)
* [改进导入时 `<img>` 标签解析](https://github.com/siyuan-note/siyuan/issues/15638)
* [数据库汇总字段支持使用更新时间/创建时间字段](https://github.com/siyuan-note/siyuan/issues/15662)
* [手动优化数据索引以减少空间占用并提升性能](https://github.com/siyuan-note/siyuan/issues/15663)
* [改进数据库属性面板](https://github.com/siyuan-note/siyuan/issues/15664)
* [退出折叠块时改进聚焦定位](https://github.com/siyuan-note/siyuan/issues/15670)
### 修复缺陷
* [数据库选择字段若添加选项过快会丢失选项](https://github.com/siyuan-note/siyuan/issues/13261)
* [取消超级块时行内公式未渲染](https://github.com/siyuan-note/siyuan/issues/15341)
* [从资源文件夹拖动文件到编辑器导致内核退出](https://github.com/siyuan-note/siyuan/issues/15355)
* [新窗口锁定后再进入会重复生成托盘](https://github.com/siyuan-note/siyuan/issues/15357)
* [查找替换会错误地将标签转换为文本](https://github.com/siyuan-note/siyuan/issues/15372)
* [浮窗中将列表转为段落块后插入位置错误](https://github.com/siyuan-note/siyuan/issues/15396)
* [公式相关编辑器状态异常](https://github.com/siyuan-note/siyuan/issues/15554)
* [数据库汇总字段筛选结果不正确](https://github.com/siyuan-note/siyuan/issues/15608)
### 开发重构
* [升级至 Electron v37.3.1](https://github.com/siyuan-note/siyuan/issues/15410)
### 开发者
* [新增插件函数 `IProtyleOptions.handleEmptyContent`](https://github.com/siyuan-note/siyuan/issues/15398)
* [新增插件函数 `getActiveTab`](https://github.com/siyuan-note/siyuan/issues/15415)
* [内核 API `exportMdContent` 和 `copyStdMarkdown` 新增参数 `imgTag`](https://github.com/siyuan-note/siyuan/issues/15454)
* [将 `addTopBar` 和 `addStatusBar` 从 `onload` 生命周期调整到 `onLayoutReady`](https://github.com/siyuan-note/siyuan/issues/15455)
* [新增插件函数 `hideMessage`](https://github.com/siyuan-note/siyuan/issues/15485)
* [新增插件事件总线 `switch-protyle-mode`](https://github.com/siyuan-note/siyuan/issues/15516)
* [`/api/block/getBlockKramdown` 链接/图片 URL 不再用空格编码](https://github.com/siyuan-note/siyuan/issues/15611)
* [改进内核 API `/api/filetree/moveDocsByID`](https://github.com/siyuan-note/siyuan/issues/15616)
* [新增插件函数 `getActiveEditor`](https://github.com/siyuan-note/siyuan/issues/15641)
## 下载
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,49 @@
## Overview
This version improves some details.
## Changelogs
Below are the detailed changes in this version.
### Enhancement
* [Support reading file paths from the clipboard](https://github.com/siyuan-note/siyuan/issues/14269)
* [New template functions `ISOYear`, `ISOMonth` and `ISOWeekDate`](https://github.com/siyuan-note/siyuan/issues/15679)
* [The year is changed to ISOYear when the dynamic icon displays the week number](https://github.com/siyuan-note/siyuan/pull/15680)
* [Improve database template field grouping](https://github.com/siyuan-note/siyuan/issues/15687)
* [Support opening assets through other apps on HarmonyOS NEXT](https://github.com/siyuan-note/siyuan/issues/15691)
* [Add cookie-based auth in publish proxy](https://github.com/siyuan-note/siyuan/pull/15692)
* [Dynamic icon use current date as default](https://github.com/siyuan-note/siyuan/pull/15693)
* [Improve template syntax highlight](https://github.com/siyuan-note/siyuan/pull/15694)
* [Improve synchronization of database bound blocks when list blocks change](https://github.com/siyuan-note/siyuan/issues/15697)
* [Improve the display height of the Android keyboard toolbar](https://github.com/siyuan-note/siyuan/issues/15700)
* [The height of the dividing line adjusts with font size](https://github.com/siyuan-note/siyuan/pull/15701)
* [Improve document tree custom sorting stability when creating a notebook or doc](https://github.com/siyuan-note/siyuan/issues/15716)
* [Block ref search and global search results display reference counts](https://github.com/siyuan-note/siyuan/issues/15721)
* [Improve database rollup template rendering](https://github.com/siyuan-note/siyuan/issues/15722)
### Bugfix
* [Blockquote custom attributes are lost in some cases](https://github.com/siyuan-note/siyuan/issues/15601)
* [When "Default fill created time" is enabled for database date fields, the automatically filled time value is incorrect](https://github.com/siyuan-note/siyuan/issues/15684)
* [When searching for document tags, keyword highlighting will have extra pound signs](https://github.com/siyuan-note/siyuan/issues/15690)
* [Database rollup template calculations are incorrect](https://github.com/siyuan-note/siyuan/issues/15695)
* [The update time of the database checkbox field keeps changing](https://github.com/siyuan-note/siyuan/issues/15707)
* [Database relative date filtering is incorrect](https://github.com/siyuan-note/siyuan/issues/15710)
* [The folded state of the block under the folded heading is incorrect in some cases](https://github.com/siyuan-note/siyuan/issues/15717)
### Refactor
* [Upgrade to Electron v37.4.0](https://github.com/siyuan-note/siyuan/issues/15704)
### Development
* [Add plugin event bus `code-language-update` and `code-language-change`](https://github.com/siyuan-note/siyuan/pull/15610)
* [Add internal kernel API `/api/av/getAttributeViewBoundBlockIDs` and `getAttributeViewItemIDs`](https://github.com/siyuan-note/siyuan/issues/15708)
* [Improve the front-end compilation performance of the development environment](https://github.com/siyuan-note/siyuan/issues/15734)
## Download
* [B3log](https://b3log.org/siyuan/en/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,49 @@
## 概述
該版本改進了一些細節。
## 變更記錄
以下是此版本中的詳細變更。
### 改進功能
* [支援從剪貼簿讀取檔案路徑](https://github.com/siyuan-note/siyuan/issues/14269)
* [新增範本函數 `ISOYear`、`ISOMonth` 和 `ISOWeekDate`](https://github.com/siyuan-note/siyuan/issues/15679)
* [動態圖示顯示週數時年份改為 ISOYear](https://github.com/siyuan-note/siyuan/pull/15680)
* [改進資料庫範本欄位分組](https://github.com/siyuan-note/siyuan/issues/15687)
* [支援在 HarmonyOS NEXT 上透過其他應用程式開啟資源檔案](https://github.com/siyuan-note/siyuan/issues/15691)
* [發布代理商中增加基於 Cookie 的認證](https://github.com/siyuan-note/siyuan/pull/15692)
* [動態圖示預設使用目前日期](https://github.com/siyuan-note/siyuan/pull/15693)
* [改進模板語法高亮](https://github.com/siyuan-note/siyuan/pull/15694)
* [改進清單區塊變更時資料庫綁定區塊的同步](https://github.com/siyuan-note/siyuan/issues/15697)
* [改進 Android 鍵盤工具列的顯示高度](https://github.com/siyuan-note/siyuan/issues/15700)
* [分割線高度隨字體大小調整](https://github.com/siyuan-note/siyuan/pull/15701)
* [改進新筆記本或文件時文件樹自訂排序的穩定性](https://github.com/siyuan-note/siyuan/issues/15716)
* [區塊引用搜尋和全域搜尋結果顯示引用計數](https://github.com/siyuan-note/siyuan/issues/15721)
* [改進資料庫匯總範本渲染](https://github.com/siyuan-note/siyuan/issues/15722)
### 修復缺陷
* [某些情況下引用區塊自訂屬性遺失](https://github.com/siyuan-note/siyuan/issues/15601)
* [資料庫日期欄位啟用「預設填滿建立時間」時自動填入的時間值不正確](https://github.com/siyuan-note/siyuan/issues/15684)
* [搜尋文件標籤時,關鍵字高亮會多出井號](https://github.com/siyuan-note/siyuan/issues/15690)
* [資料庫總表範本計算不正確](https://github.com/siyuan-note/siyuan/issues/15695)
* [資料庫複選框欄位的更新時間不斷變化](https://github.com/siyuan-note/siyuan/issues/15707)
* [資料庫相對日期篩選不正確](https://github.com/siyuan-note/siyuan/issues/15710)
* [折疊標題下塊的折疊狀態在某些情況下不正確](https://github.com/siyuan-note/siyuan/issues/15717)
### 開發重構
* [升級至 Electron v37.4.0](https://github.com/siyuan-note/siyuan/issues/15704)
### 開發者
* [新增外掛事件匯流排 `code-language-update` 和 `code-language-change`](https://github.com/siyuan-note/siyuan/pull/15610)
* [新增核心介面 `/api/av/getAttributeViewBoundBlockIDs` 和 `getAttributeViewItemIDs`](https://github.com/siyuan-note/siyuan/issues/15708)
* [提升開發環境前端編譯效能](https://github.com/siyuan-note/siyuan/issues/15734)
## 下載
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,49 @@
## 概述
该版本改进了一些细节。
## 变更记录
以下是此版本中的详细变更。
### 改进功能
* [支持从剪贴板读取文件路径](https://github.com/siyuan-note/siyuan/issues/14269)
* [新增模板函数 `ISOYear`、`ISOMonth` 和 `ISOWeekDate`](https://github.com/siyuan-note/siyuan/issues/15679)
* [动态图标显示周数时年份改为 ISOYear](https://github.com/siyuan-note/siyuan/pull/15680)
* [改进数据库模板字段分组](https://github.com/siyuan-note/siyuan/issues/15687)
* [支持在 HarmonyOS NEXT 上通过其他应用打开资源文件](https://github.com/siyuan-note/siyuan/issues/15691)
* [发布代理中增加基于 Cookie 的认证](https://github.com/siyuan-note/siyuan/pull/15692)
* [动态图标默认使用当前日期](https://github.com/siyuan-note/siyuan/pull/15693)
* [改进模板语法高亮](https://github.com/siyuan-note/siyuan/pull/15694)
* [改进列表块变动时数据库绑定块的同步](https://github.com/siyuan-note/siyuan/issues/15697)
* [改进 Android 键盘工具栏的显示高度](https://github.com/siyuan-note/siyuan/issues/15700)
* [分割线高度随字体大小调整](https://github.com/siyuan-note/siyuan/pull/15701)
* [改进新建笔记本或文档时文档树自定义排序的稳定性](https://github.com/siyuan-note/siyuan/issues/15716)
* [块引用搜索和全局搜索结果显示引用计数](https://github.com/siyuan-note/siyuan/issues/15721)
* [改进数据库汇总模板渲染](https://github.com/siyuan-note/siyuan/issues/15722)
### 修复缺陷
* [某些情况下引用块自定义属性丢失](https://github.com/siyuan-note/siyuan/issues/15601)
* [数据库日期字段启用“默认填充创建时间”时自动填充的时间值不正确](https://github.com/siyuan-note/siyuan/issues/15684)
* [搜索文档标签时,关键字高亮会多出井号](https://github.com/siyuan-note/siyuan/issues/15690)
* [数据库汇总模板计算不正确](https://github.com/siyuan-note/siyuan/issues/15695)
* [数据库复选框字段的更新时间不断变化](https://github.com/siyuan-note/siyuan/issues/15707)
* [数据库相对日期筛选不正确](https://github.com/siyuan-note/siyuan/issues/15710)
* [折叠标题下块的折叠状态在某些情况下不正确](https://github.com/siyuan-note/siyuan/issues/15717)
### 开发重构
* [升级至 Electron v37.4.0](https://github.com/siyuan-note/siyuan/issues/15704)
### 开发者
* [新增插件事件总线 `code-language-update` 和 `code-language-change`](https://github.com/siyuan-note/siyuan/pull/15610)
* [新增内核接口 `/api/av/getAttributeViewBoundBlockIDs` 和 `getAttributeViewItemIDs`](https://github.com/siyuan-note/siyuan/issues/15708)
* [提升开发环境前端编译性能](https://github.com/siyuan-note/siyuan/issues/15734)
## 下载
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,48 @@
## Overview
This version improves some details.
## Changelogs
Below are the detailed changes in this version.
### Enhancement
* [Copy/Cut folded heading changed to copy/cut `Headings and Bottom Blocks` and support multiple headings copy/cut](https://github.com/siyuan-note/siyuan/issues/8019)
* [Improve database field editing menu](https://github.com/siyuan-note/siyuan/issues/15185)
* [Database rollup field filtering rules support "Any", "All", and "None"](https://github.com/siyuan-note/siyuan/issues/15609)
* [Improve flashcards](https://github.com/siyuan-note/siyuan/issues/15699)
* [If the new data created in the database is in a collapsed group, the edit box will not pop up](https://github.com/siyuan-note/siyuan/issues/15728)
* [Select Copy in the code block to copy only the plain text](https://github.com/siyuan-note/siyuan/issues/15733)
* [Use the default sorting when the search content in the code block language prompt is empty](https://github.com/siyuan-note/siyuan/issues/15737)
* [Improve database rollup field filtering](https://github.com/siyuan-note/siyuan/issues/15740)
* [Improve database date field filtering](https://github.com/siyuan-note/siyuan/issues/15744)
* [Disable editing when adding options to the database](https://github.com/siyuan-note/siyuan/issues/15751)
* [After dragging database entries across groups, groups in other views need to be updated](https://github.com/siyuan-note/siyuan/issues/15755)
* [Browser clipping extension supports clipping page to the database](https://github.com/siyuan-note/siyuan/issues/15758)
* [Hide the bottom gesture navigation bar on Android](https://github.com/siyuan-note/siyuan/issues/15763)
* [Improve database group view performance](https://github.com/siyuan-note/siyuan/issues/15764)
* [Dragging multiple files into the editor will cause them to be opened by the default program](https://github.com/siyuan-note/siyuan/pull/15773)
* [Improve HTML table clipping](https://github.com/siyuan-note/siyuan/issues/15781)
* [Automatically create a new document when clicking on a notebook without documents](https://github.com/siyuan-note/siyuan/issues/15782)
* [Add field `disabledInPublish` to the code snippet to indicate whether it is disabled in the publish service](https://github.com/siyuan-note/siyuan/issues/15806)
### Bugfix
* [PDF files with too long file names cannot generate annotated images](https://github.com/siyuan-note/siyuan/issues/15739)
* [The video block network address is incorrect](https://github.com/siyuan-note/siyuan/issues/15741)
* [The database date field cannot paste the time of 0 o'clock](https://github.com/siyuan-note/siyuan/issues/15742)
* [Read-only mode cannot be set in preview mode](https://github.com/siyuan-note/siyuan/issues/15756)
* [Exception when inserting batch files into the editor](https://github.com/siyuan-note/siyuan/issues/15768)
* [When using certain input methods, punctuation characters are inserted twice after pasting a link at the end of a block](https://github.com/siyuan-note/siyuan/issues/15801)
### Development
* [Add field `disabledInPublish` to the marketplace plugin package metadata to indicate whether it is disabled in the publish service](https://github.com/siyuan-note/siyuan/issues/11730)
* [Add plugin function `expandDocTree`](https://github.com/siyuan-note/siyuan/issues/15639)
* [Improve kernel API `appendBlock`, `insertBlock` and `prependBlock`](https://github.com/siyuan-note/siyuan/issues/15798)
## Download
* [B3log](https://b3log.org/siyuan/en/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,48 @@
## 概述
該版本改進了一些細節。
## 變更記錄
以下是此版本中的詳細變更。
### 改進功能
* [折疊標題的複製/剪切改為複製/剪切 `標題及其下方塊`,並支援多標題複製/剪切](https://github.com/siyuan-note/siyuan/issues/8019)
* [改進資料庫欄位編輯選單](https://github.com/siyuan-note/siyuan/issues/15185)
* [資料庫匯總欄位篩選規則支援「任一」、「所有」和「沒有」](https://github.com/siyuan-note/siyuan/issues/15609)
* [改良閃卡](https://github.com/siyuan-note/siyuan/issues/15699)
* [資料庫中新建資料如果在折疊分組內,不再彈出編輯框](https://github.com/siyuan-note/siyuan/issues/15728)
* [程式碼區塊選擇複製時僅複製純文字](https://github.com/siyuan-note/siyuan/issues/15733)
* [程式碼區塊語言提示搜尋內容為空時使用預設排序](https://github.com/siyuan-note/siyuan/issues/15737)
* [改進資料庫匯總欄位篩選](https://github.com/siyuan-note/siyuan/issues/15740)
* [改進資料庫日期欄位篩選](https://github.com/siyuan-note/siyuan/issues/15744)
* [資料庫新增選項時禁止編輯](https://github.com/siyuan-note/siyuan/issues/15751)
* [資料庫條目跨分組拖曳後,同步更新其他檢視中的分組](https://github.com/siyuan-note/siyuan/issues/15755)
* [瀏覽器剪藏擴充功能支援剪藏頁面到資料庫](https://github.com/siyuan-note/siyuan/issues/15758)
* [Android 隱藏底部手勢導覽列](https://github.com/siyuan-note/siyuan/issues/15763)
* [提升資料庫分組檢視效能](https://github.com/siyuan-note/siyuan/issues/15764)
* [拖入多個檔案到編輯器不再被預設程式開啟](https://github.com/siyuan-note/siyuan/pull/15773)
* [改進 HTML 表格剪藏](https://github.com/siyuan-note/siyuan/issues/15781)
* [點選無文件的筆記本時自動新建文件](https://github.com/siyuan-note/siyuan/issues/15782)
* [程式碼片段新增欄位 `disabledInPublish`,用於識別發佈服務中是否已停用](https://github.com/siyuan-note/siyuan/issues/15806)
### 修復缺陷
* [PDF 檔名過長無法產生標註圖片](https://github.com/siyuan-note/siyuan/issues/15739)
* [影片區塊網路網址不正確](https://github.com/siyuan-note/siyuan/issues/15741)
* [資料庫日期欄位無法貼上 0 點時間](https://github.com/siyuan-note/siyuan/issues/15742)
* [預覽模式下無法設定唯讀模式](https://github.com/siyuan-note/siyuan/issues/15756)
* [批次插入檔案到編輯器時異常](https://github.com/siyuan-note/siyuan/issues/15768)
* [部分輸入法在區塊末尾貼上連結後標點符號重複插入](https://github.com/siyuan-note/siyuan/issues/15801)
### 開發者
* [集市插件包元資料新增欄位 `disabledInPublish`,用於識別發布服務中是否已停用](https://github.com/siyuan-note/siyuan/issues/11730)
* [新增外掛程式 `expandDocTree`](https://github.com/siyuan-note/siyuan/issues/15639)
* [改進內核 API `appendBlock`、`insertBlock` 和 `prependBlock`](https://github.com/siyuan-note/siyuan/issues/15798)
## 下載
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,48 @@
## 概述
该版本改进了一些细节。
## 变更记录
以下是此版本中的详细变更。
### 改进功能
* [折叠标题的复制/剪切改为复制/剪切 `标题及其下方块`,并支持多标题复制/剪切](https://github.com/siyuan-note/siyuan/issues/8019)
* [改进数据库字段编辑菜单](https://github.com/siyuan-note/siyuan/issues/15185)
* [数据库汇总字段筛选规则支持“任一”、“所有”和“没有”](https://github.com/siyuan-note/siyuan/issues/15609)
* [改进闪卡](https://github.com/siyuan-note/siyuan/issues/15699)
* [数据库中新建数据如果在折叠分组内,不再弹出编辑框](https://github.com/siyuan-note/siyuan/issues/15728)
* [代码块选择复制时仅复制纯文本](https://github.com/siyuan-note/siyuan/issues/15733)
* [代码块语言提示搜索内容为空时使用默认排序](https://github.com/siyuan-note/siyuan/issues/15737)
* [改进数据库汇总字段筛选](https://github.com/siyuan-note/siyuan/issues/15740)
* [改进数据库日期字段筛选](https://github.com/siyuan-note/siyuan/issues/15744)
* [数据库添加选项时禁止编辑](https://github.com/siyuan-note/siyuan/issues/15751)
* [数据库条目跨分组拖动后,同步更新其他视图中的分组](https://github.com/siyuan-note/siyuan/issues/15755)
* [浏览器剪藏扩展支持剪藏页面到数据库](https://github.com/siyuan-note/siyuan/issues/15758)
* [Android 隐藏底部手势导航栏](https://github.com/siyuan-note/siyuan/issues/15763)
* [提升数据库分组视图性能](https://github.com/siyuan-note/siyuan/issues/15764)
* [拖入多个文件到编辑器不再被默认程序打开](https://github.com/siyuan-note/siyuan/pull/15773)
* [改进 HTML 表格剪藏](https://github.com/siyuan-note/siyuan/issues/15781)
* [点击无文档的笔记本时自动新建文档](https://github.com/siyuan-note/siyuan/issues/15782)
* [代码片段新增字段 `disabledInPublish`,用于标识发布服务中是否禁用](https://github.com/siyuan-note/siyuan/issues/15806)
### 修复缺陷
* [PDF 文件名过长无法生成标注图片](https://github.com/siyuan-note/siyuan/issues/15739)
* [视频块网络地址不正确](https://github.com/siyuan-note/siyuan/issues/15741)
* [数据库日期字段无法粘贴 0 点时间](https://github.com/siyuan-note/siyuan/issues/15742)
* [预览模式下无法设置只读模式](https://github.com/siyuan-note/siyuan/issues/15756)
* [批量插入文件到编辑器时异常](https://github.com/siyuan-note/siyuan/issues/15768)
* [部分输入法在块末尾粘贴链接后标点符号重复插入](https://github.com/siyuan-note/siyuan/issues/15801)
### 开发者
* [集市插件包元数据新增字段 `disabledInPublish`,用于标识发布服务中是否禁用](https://github.com/siyuan-note/siyuan/issues/11730)
* [新增插件函数 `expandDocTree`](https://github.com/siyuan-note/siyuan/issues/15639)
* [改进内核 API `appendBlock`、`insertBlock` 和 `prependBlock`](https://github.com/siyuan-note/siyuan/issues/15798)
## 下载
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -678,6 +678,10 @@ for (let i = argStart; i < process.argv.length; i++) {
app.whenReady().then(() => {
const resetTrayMenu = (tray, lang, mainWindow) => {
if (!mainWindow || mainWindow.isDestroyed()) {
return;
}
const trayMenuTemplate = [{
label: mainWindow.isVisible() ? lang.hideWindow : lang.showWindow, click: () => {
showHideWindow(tray, lang, mainWindow);
@ -726,6 +730,10 @@ app.whenReady().then(() => {
}
};
const showHideWindow = (tray, lang, mainWindow) => {
if (!mainWindow || mainWindow.isDestroyed()) {
return;
}
if (!mainWindow.isVisible()) {
if (mainWindow.isMinimized()) {
mainWindow.restore();
@ -1113,23 +1121,24 @@ app.whenReady().then(() => {
if (exitWS) {
return;
}
let tray;
if ("win32" === process.platform || "linux" === process.platform) {
// 系统托盘
tray = new Tray(path.join(appDir, "stage", "icon-large.png"));
tray.setToolTip(`${path.basename(data.workspaceDir)} - SiYuan v${appVer}`);
const mainWindow = getWindowByContentId(event.sender.id);
if (!mainWindow) {
return;
}
resetTrayMenu(tray, data.languages, mainWindow);
tray.on("click", () => {
showHideWindow(tray, data.languages, mainWindow);
});
}
workspaces.find(item => {
if (!item.workspaceDir) {
item.workspaceDir = data.workspaceDir;
let tray;
if ("win32" === process.platform || "linux" === process.platform) {
// 系统托盘
tray = new Tray(path.join(appDir, "stage", "icon-large.png"));
tray.setToolTip(`${path.basename(data.workspaceDir)} - SiYuan v${appVer}`);
const mainWindow = getWindowByContentId(event.sender.id);
if (!mainWindow || mainWindow.isDestroyed()) {
return;
}
resetTrayMenu(tray, data.languages, mainWindow);
tray.on("click", () => {
showHideWindow(tray, data.languages, mainWindow);
});
}
item.tray = tray;
return true;
}

View file

@ -3820,7 +3820,7 @@
"Children": [
{
"Type": "NodeText",
"Data": "In the code block, only select the content of the code block"
"Data": "Double press to select all loaded content blocks in the document; in the code block, only select the content of the code block"
}
]
}

View file

@ -6,7 +6,7 @@
"id": "20201204184532-3qm9l8n",
"title": "Template snippet",
"type": "doc",
"updated": "20250331163727"
"updated": "20250828155251"
},
"Children": [
{
@ -57,7 +57,7 @@
"HeadingLevel": 2,
"Properties": {
"id": "20210104091444-jy56z0p",
"updated": "20250331163727"
"updated": "20250828155251"
},
"Children": [
{
@ -215,7 +215,7 @@
"ListData": {},
"Properties": {
"id": "20210104091444-mwbvc9m",
"updated": "20250331163727"
"updated": "20250828155251"
},
"Children": [
{
@ -421,7 +421,7 @@
},
"Properties": {
"id": "20210121193829-wfzsf6m",
"updated": "20250331163727"
"updated": "20250801152749"
},
"Children": [
{
@ -454,7 +454,7 @@
"Properties": {
"id": "20241213215602-dk7iion",
"style": "line-height: 22px;",
"updated": "20250331163727"
"updated": "20250801152749"
},
"Children": [
{
@ -462,11 +462,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{$today := now | date \"20060102150405\"}\n.action{$blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\"}\n"
"Data": ".action{ $today := now | date \"20060102150405\" }\n.action{ $blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -485,7 +486,7 @@
},
"Properties": {
"id": "20250331163529-vixv1we",
"updated": "20250331163604"
"updated": "20250801152801"
},
"Children": [
{
@ -517,7 +518,7 @@
"IsFencedCodeBlock": true,
"Properties": {
"id": "20250331163550-2r69a54",
"updated": "20250331163604"
"updated": "20250801152801"
},
"Children": [
{
@ -525,11 +526,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{getBlock \"20250331163529-vixv1we\"}\n"
"Data": ".action{ getBlock \"20250331163529-vixv1we\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -548,7 +550,7 @@
},
"Properties": {
"id": "20210504093232-vukp34t",
"updated": "20241224162810"
"updated": "20250801152807"
},
"Children": [
{
@ -581,7 +583,7 @@
"Properties": {
"id": "20241213215606-a1mq6zf",
"style": "line-height: 22px;",
"updated": "20241224162810"
"updated": "20250801152807"
},
"Children": [
{
@ -589,11 +591,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySpans \"SELECT * FROM spans LIMIT ?\" \"3\"}\n"
"Data": ".action{ querySpans \"SELECT * FROM spans LIMIT ?\" \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -612,7 +615,7 @@
},
"Properties": {
"id": "20241213214939-he4wmcd",
"updated": "20241213214939"
"updated": "20250801152813"
},
"Children": [
{
@ -645,7 +648,7 @@
"Properties": {
"id": "20241213215554-rox3jk7",
"style": "line-height: 22px;",
"updated": "20241213215554"
"updated": "20250801152813"
},
"Children": [
{
@ -653,11 +656,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySQL \"SELECT * FROM refs LIMIT 3\"}\n"
"Data": ".action{ querySQL \"SELECT * FROM refs LIMIT 3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -676,7 +680,7 @@
},
"Properties": {
"id": "20241212102027-j293sei",
"updated": "20241213215714"
"updated": "20250801152821"
},
"Children": [
{
@ -709,7 +713,7 @@
"Properties": {
"id": "20241213215714-u0j3i4k",
"style": "line-height: 22px;",
"updated": "20241213215714"
"updated": "20250801152821"
},
"Children": [
{
@ -717,11 +721,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{ (statBlock .id).RuneCount} .action{ (statBlock .id).WordCount}\n"
"Data": ".action{ (statBlock .id).RuneCount }\n.action{ (statBlock .id).WordCount }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -1185,7 +1190,7 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20240308162632-akk8sxn",
"updated": "20240308162632"
"updated": "20250828155241"
},
"Children": [
{
@ -1199,7 +1204,136 @@
},
{
"Type": "NodeText",
"Data": ": This function is used to return the week"
"Data": ": This function returns the current week"
}
]
}
]
},
{
"ID": "20250828155216-zn0i9zg",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828155216-zn0i9zg",
"updated": "20250828155216"
},
"Children": [
{
"ID": "20250828155216-p5tgk3f",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828155216-p5tgk3f",
"updated": "20250828155232"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOMonth"
},
{
"Type": "NodeText",
"Data": ": This function returns the current month"
}
]
}
]
},
{
"ID": "20250828155242-k9x8rc7",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828155242-k9x8rc7",
"updated": "20250828155242"
},
"Children": [
{
"ID": "20250828155242-zwalrdw",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828155242-zwalrdw",
"updated": "20250828155246"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOYear"
},
{
"Type": "NodeText",
"Data": ": This function returns the current year"
}
]
}
]
},
{
"ID": "20250828155247-992wou3",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828155247-992wou3",
"updated": "20250828155251"
},
"Children": [
{
"ID": "20250828155247-ow57gpr",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828155247-ow57gpr",
"updated": "20250828155251"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOWeekDate"
},
{
"Type": "NodeText",
"Data": ": This function returns the date of a specified day of the week using "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "time.Time"
},
{
"Type": "NodeText",
"Data": ". For example, "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".action{ now | ISOWeekDate 4 | date \"2006-01-02\" }"
},
{
"Type": "NodeText",
"Data": " returns the date of this Thursday"
}
]
}
@ -1411,7 +1545,8 @@
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091444-xz57sof"
"id": "20210104091444-xz57sof",
"updated": "20250801152837"
},
"Children": [
{
@ -1428,36 +1563,26 @@
"ID": "20210104091444-cclnk66",
"Type": "NodeCodeBlock",
"IsFencedCodeBlock": true,
"CodeBlockFenceChar": 96,
"CodeBlockFenceLen": 3,
"CodeBlockOpenFence": "YGBg",
"CodeBlockInfo": "cGxhaW50ZXh0",
"CodeBlockCloseFence": "YGBg",
"Properties": {
"id": "20210104091444-cclnk66"
"id": "20210104091444-cclnk66",
"updated": "20250801152837"
},
"Children": [
{
"Type": "NodeCodeBlockFenceOpenMarker",
"Data": "```",
"CodeBlockFenceLen": 3
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "cGxhaW50ZXh0"
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"ID": "20220307092214-3y1eex2",
"Type": "NodeCodeBlockCode",
"Data": ".action{$before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24)}\n\n.action{$after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24)}\nToday is `.action{now | date \"2006-01-02\"}`.\n\n* `.action{$before}` days have passed since `2020-02-19`\n* There are `.action{$after}` days left from `2048-02-19`\n",
"Properties": {
"id": "20220307092214-3y1eex2"
}
"Data": ".action{ $before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24) }\n.action{ $after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24) }\nToday is `.action{ now | date \"2006-01-02\" }`.\n\n* `.action{ $before }` days have passed since `2020-02-19`\n* There are `.action{ $after }` days left from `2048-02-19`\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
"Data": "```",
"CodeBlockFenceLen": 3
"Data": "```"
}
]
},

View file

@ -102,7 +102,7 @@
},
{
"Type": "NodeText",
"Data": " to enter the publishing service settings panel."
"Data": " to enter the publish service settings panel."
}
]
}
@ -252,7 +252,7 @@
"Children": [
{
"Type": "NodeText",
"Data": "If access control is required for the publishing service:"
"Data": "If access control is required for the publish service:"
}
]
},
@ -333,7 +333,7 @@
"Children": [
{
"Type": "NodeText",
"Data": "When enabled, the publishing service will use the "
"Data": "When enabled, the publish service will use the "
},
{
"Type": "NodeTextMark",
@ -482,7 +482,7 @@
"Children": [
{
"Type": "NodeText",
"Data": "After enabling the publishing service, visitors can browse the content of the entire workspace."
"Data": "After enabling the publish service, visitors can browse the content of the entire workspace."
}
]
}

View file

@ -5,7 +5,8 @@
"Properties": {
"id": "20230805232134-3d6mx2k",
"title": "Search asset content",
"updated": "20231026085302"
"type": "doc",
"updated": "20250903163017"
},
"Children": [
{
@ -46,7 +47,7 @@
"ListData": {},
"Properties": {
"id": "20230818102341-ny18orr",
"updated": "20230818102341"
"updated": "20250903163017"
},
"Children": [
{
@ -58,7 +59,7 @@
},
"Properties": {
"id": "20230818102341-eg8labw",
"updated": "20230818102341"
"updated": "20250903163017"
},
"Children": [
{
@ -66,12 +67,318 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102341-izc16tp",
"updated": "20230818102426"
"updated": "20250903163017"
},
"Children": [
{
"Type": "NodeText",
"Data": "Text files (.txt, .md, .json, .log, .sql, .html, .xml, .java, .h, .c, .cpp, .go, .rs, .swift, .kt, . py, .php, .js, .css, .ts, .sh, .bat, .cmd, .ini, .yaml, .rst, .adoc, .textile, .opml, .org, .wiki)"
"Data": "Text files ("
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".txt"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".md"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".markdown"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".json"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".log"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sql"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".html"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xml"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".java"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".h"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".c"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cpp"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".go"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rs"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".swift"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".kt"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".py"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".php"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".js"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".css"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ts"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sh"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".bat"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cmd"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ini"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".yaml"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rst"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".adoc"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".textile"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".opml"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".org"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".wiki"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".epub"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cs"
},
{
"Type": "NodeText",
"Data": ")"
}
]
}
@ -85,7 +392,8 @@
"Marker": "Kg=="
},
"Properties": {
"id": "20230818102427-os9c4nm"
"id": "20230818102427-os9c4nm",
"updated": "20250903162955"
},
"Children": [
{
@ -93,12 +401,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102427-dyojs23",
"updated": "20230818102429"
"updated": "20250903162955"
},
"Children": [
{
"Type": "NodeText",
"Data": ".docx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".docx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -112,7 +429,8 @@
"Marker": "Kg=="
},
"Properties": {
"id": "20230818102430-sw9p4uf"
"id": "20230818102430-sw9p4uf",
"updated": "20250903162956"
},
"Children": [
{
@ -120,12 +438,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102430-boci4wf",
"updated": "20230818102431"
"updated": "20250903162956"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pptx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pptx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -139,7 +466,8 @@
"Marker": "Kg=="
},
"Properties": {
"id": "20230818102432-6uclx4n"
"id": "20230818102432-6uclx4n",
"updated": "20250903162957"
},
"Children": [
{
@ -147,12 +475,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102432-3n95b7k",
"updated": "20230818102433"
"updated": "20250903162957"
},
"Children": [
{
"Type": "NodeText",
"Data": ".xlsx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xlsx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -166,19 +503,30 @@
"Marker": "Kg=="
},
"Properties": {
"id": "20230818102434-9xgwy7r"
"id": "20230818102434-9xgwy7r",
"updated": "20250903162959"
},
"Children": [
{
"ID": "20230818102434-1efdkw9",
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102434-1efdkw9"
"id": "20230818102434-1efdkw9",
"updated": "20250903162959"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pdf"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pdf"
},
{
"Type": "NodeText",
"Data": ""
}
]
}

View file

@ -7,7 +7,7 @@
"id": "20230405172236-pg3l9eu",
"title": "Performance Optimization",
"type": "doc",
"updated": "20240420104851"
"updated": "20250825114750"
},
"Children": [
{
@ -379,7 +379,7 @@
"HeadingLevel": 3,
"Properties": {
"id": "20230405172238-v4hbjbe",
"updated": "20230405172238"
"updated": "20250825114750"
},
"Children": [
{
@ -637,6 +637,62 @@
]
}
]
},
{
"ID": "20250825114750-j9t49j2",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20250825114750-j9t49j2",
"updated": "20250825114750"
},
"Children": [
{
"Type": "NodeText",
"Data": "Optimizing the Index"
}
]
},
{
"ID": "20250825114750-qtm8i82",
"Type": "NodeParagraph",
"Properties": {
"id": "20250825114750-qtm8i82",
"updated": "20250825114750"
},
"Children": [
{
"Type": "NodeText",
"Data": "It is recommended to regularly optimize the index by going to "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "Settings"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "About"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "Optimize Index"
},
{
"Type": "NodeText",
"Data": "."
}
]
}
]
}

View file

@ -3818,7 +3818,7 @@
"Children": [
{
"Type": "NodeText",
"Data": "代码块中使用时仅选中代码块中的内容"
"Data": "连续按下两次以选中文档中所有已加载的内容块;代码块中使用时仅选中代码块中的内容"
}
]
}

View file

@ -6,7 +6,7 @@
"id": "20201204181006-7bkppue",
"title": "模板片段",
"type": "doc",
"updated": "20250331163228"
"updated": "20250828154937"
},
"Children": [
{
@ -69,7 +69,7 @@
"HeadingLevel": 2,
"Properties": {
"id": "20210104091309-fhb549c",
"updated": "20250331163228"
"updated": "20250828154937"
},
"Children": [
{
@ -237,7 +237,7 @@
"ListData": {},
"Properties": {
"id": "20210104091309-gjkg3u5",
"updated": "20250331163228"
"updated": "20250828154937"
},
"Children": [
{
@ -271,7 +271,15 @@
},
{
"Type": "NodeText",
"Data": "​:该变量用于插入当前文档名。比如模板内容为 "
"Data": "​:该变量用于插入当前文档名。比如"
},
{
"Type": "NodeText",
"Data": "模板"
},
{
"Type": "NodeText",
"Data": "内容为 "
},
{
"Type": "NodeTextMark",
@ -391,7 +399,11 @@
},
{
"Type": "NodeText",
"Data": "​:该变量用于插入当前文档别名"
"Data": "​:该变量用于插入当前"
},
{
"Type": "NodeText",
"Data": "文档别名"
}
]
}
@ -443,7 +455,7 @@
},
"Properties": {
"id": "20210121193601-uwo8s5h",
"updated": "20250331163052"
"updated": "20250801152331"
},
"Children": [
{
@ -465,7 +477,19 @@
},
{
"Type": "NodeText",
"Data": "​:该函数用于查询数据库,返回值为 blocks 列表"
"Data": "​:该函数用于查询"
},
{
"Type": "NodeText",
"Data": "数据库"
},
{
"Type": "NodeText",
"Data": ",返回值为 blocks "
},
{
"Type": "NodeText",
"Data": "列表"
}
]
},
@ -476,7 +500,7 @@
"Properties": {
"id": "20210604111446-p6vadfc",
"style": "line-height: 22px;",
"updated": "20250331163052"
"updated": "20250801152331"
},
"Children": [
{
@ -484,11 +508,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{$today := now | date \"20060102150405\"}\n.action{$blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\"}\n"
"Data": ".action{ $today := now | date \"20060102150405\" }\n.action{ $blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -507,7 +532,7 @@
},
"Properties": {
"id": "20250331162928-53comqi",
"updated": "20250331163228"
"updated": "20250801152339"
},
"Children": [
{
@ -529,7 +554,15 @@
},
{
"Type": "NodeText",
"Data": "​:该函数用于根据块 ID 查询数据库,返回值为 block"
"Data": "​:该函数用于根据块 ID 查询"
},
{
"Type": "NodeText",
"Data": "数据库"
},
{
"Type": "NodeText",
"Data": ",返回值为 block"
}
]
},
@ -539,7 +572,7 @@
"IsFencedCodeBlock": true,
"Properties": {
"id": "20250331163038-6j2ttlc",
"updated": "20250331163228"
"updated": "20250801152339"
},
"Children": [
{
@ -547,11 +580,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{getBlock \"20250331162928-53comqi\"}\n"
"Data": ".action{ getBlock \"20250331162928-53comqi\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -570,7 +604,7 @@
},
"Properties": {
"id": "20210504093313-4aoyxd0",
"updated": "20241224162826"
"updated": "20250801152509"
},
"Children": [
{
@ -592,7 +626,19 @@
},
{
"Type": "NodeText",
"Data": "​:该函数用于查询数据库,返回值为 spans 列表"
"Data": "​:该函数用于查询"
},
{
"Type": "NodeText",
"Data": "数据库"
},
{
"Type": "NodeText",
"Data": ",返回值为 spans "
},
{
"Type": "NodeText",
"Data": "列表"
}
]
},
@ -603,7 +649,7 @@
"Properties": {
"id": "20241213215337-rhkoc8k",
"style": "line-height: 22px;",
"updated": "20241224162826"
"updated": "20250801152509"
},
"Children": [
{
@ -611,11 +657,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySpans \"SELECT * FROM spans LIMIT ?\" \"3\"}\n"
"Data": ".action{ querySpans \"SELECT * FROM spans LIMIT ?\" \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -634,7 +681,7 @@
},
"Properties": {
"id": "20241213214733-ro4xcjm",
"updated": "20241213215421"
"updated": "20250801152510"
},
"Children": [
{
@ -656,7 +703,15 @@
},
{
"Type": "NodeText",
"Data": "​:该函数用于查询数据库,返回值为结果集"
"Data": "​:该函数用于查询"
},
{
"Type": "NodeText",
"Data": "数据库"
},
{
"Type": "NodeText",
"Data": ",返回值为结果集"
}
]
},
@ -667,7 +722,7 @@
"Properties": {
"id": "20241213215240-f33bsqs",
"style": "line-height: 22px;",
"updated": "20241213215421"
"updated": "20250801152510"
},
"Children": [
{
@ -675,11 +730,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySQL \"SELECT * FROM refs LIMIT 3\"}\n"
"Data": ".action{ querySQL \"SELECT * FROM refs LIMIT 3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -698,7 +754,7 @@
},
"Properties": {
"id": "20241212101708-0euo6is",
"updated": "20241213215655"
"updated": "20250801152415"
},
"Children": [
{
@ -731,7 +787,7 @@
"Properties": {
"id": "20241212101810-6ffociu",
"style": "line-height: 22px;",
"updated": "20241213215655"
"updated": "20250801152415"
},
"Children": [
{
@ -739,11 +795,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{ (statBlock .id).RuneCount} .action{ (statBlock .id).WordCount}\n"
"Data": ".action{ (statBlock .id).RuneCount }\n.action{ (statBlock .id).WordCount }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -1199,7 +1256,7 @@
},
"Properties": {
"id": "20240308162139-yt96e2z",
"updated": "20240308162139"
"updated": "20250828154937"
},
"Children": [
{
@ -1207,7 +1264,7 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20240308162139-x4evb04",
"updated": "20240308162153"
"updated": "20250828154937"
},
"Children": [
{
@ -1221,7 +1278,136 @@
},
{
"Type": "NodeText",
"Data": "​:该函数用于返回第几周"
"Data": "​:该函数用于返回当前周"
}
]
}
]
},
{
"ID": "20250828154237-r8vhx3a",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828154237-r8vhx3a",
"updated": "20250828154248"
},
"Children": [
{
"ID": "20250828154237-2kgeyrr",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828154237-2kgeyrr",
"updated": "20250828154248"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOMonth"
},
{
"Type": "NodeText",
"Data": "​:该函数用于返回当前月份"
}
]
}
]
},
{
"ID": "20250828154157-thdko4b",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828154157-thdko4b",
"updated": "20250828154157"
},
"Children": [
{
"ID": "20250828154157-s8wsy4j",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828154157-s8wsy4j",
"updated": "20250828154231"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOYear"
},
{
"Type": "NodeText",
"Data": "​:该函数用于返回当前年份"
}
]
}
]
},
{
"ID": "20250828154232-7ryi07m",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828154232-7ryi07m",
"updated": "20250828154731"
},
"Children": [
{
"ID": "20250828154232-97gwy4i",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828154232-97gwy4i",
"updated": "20250828154731"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOWeekDate"
},
{
"Type": "NodeText",
"Data": "​:该函数用于返回指定周几的日期 "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "time.Time"
},
{
"Type": "NodeText",
"Data": "​,例如返回本周四的日期 "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".action{ now | ISOWeekDate 4 | date \"2006-01-02\" }"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -1433,7 +1619,8 @@
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091309-2p68yju"
"id": "20210104091309-2p68yju",
"updated": "20250801152724"
},
"Children": [
{
@ -1450,36 +1637,26 @@
"ID": "20210104091309-9ppkq6j",
"Type": "NodeCodeBlock",
"IsFencedCodeBlock": true,
"CodeBlockFenceChar": 96,
"CodeBlockFenceLen": 3,
"CodeBlockOpenFence": "YGBg",
"CodeBlockInfo": "cGxhaW50ZXh0",
"CodeBlockCloseFence": "YGBg",
"Properties": {
"id": "20210104091309-9ppkq6j"
"id": "20210104091309-9ppkq6j",
"updated": "20250801152724"
},
"Children": [
{
"Type": "NodeCodeBlockFenceOpenMarker",
"Data": "```",
"CodeBlockFenceLen": 3
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "cGxhaW50ZXh0"
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"ID": "20220307091943-k77h7sb",
"Type": "NodeCodeBlockCode",
"Data": ".action{$before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24)}\n\n.action{$after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24)}\n今天是 `.action{now | date \"2006-01-02\"}`。\n\n* 距离 `2020-02-19` 已经过去 `.action{$before}` 天\n* 距离 `2048-02-19` 还剩 `.action{$after}` 天\n",
"Properties": {
"id": "20220307091943-k77h7sb"
}
"Data": ".action{ $before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24) }\n.action{ $after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24) }\n今天是 `.action{ now | date \"2006-01-02\" }`。\n\n* 距离 `2020-02-19` 已经过去 `.action{ $before }` 天\n* 距离 `2048-02-19` 还剩 `.action{ $after }` 天\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
"Data": "```",
"CodeBlockFenceLen": 3
"Data": "```"
}
]
},

View file

@ -5,7 +5,8 @@
"Properties": {
"id": "20230805230218-aea8icj",
"title": "搜索资源文件内容",
"updated": "20231026085139"
"type": "doc",
"updated": "20250903162923"
},
"Children": [
{
@ -46,7 +47,7 @@
"ListData": {},
"Properties": {
"id": "20230818101450-4a6lzdg",
"updated": "20230818101545"
"updated": "20250903162923"
},
"Children": [
{
@ -58,7 +59,7 @@
},
"Properties": {
"id": "20230818101510-rfacaaf",
"updated": "20230818101800"
"updated": "20250903162915"
},
"Children": [
{
@ -66,12 +67,318 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818101510-duzarcy",
"updated": "20230818101800"
"updated": "20250903162915"
},
"Children": [
{
"Type": "NodeText",
"Data": "文本文件(.txt、.md、.json、.log、.sql、.html、.xml、.java、.h、.c、.cpp、.go、.rs、.swift、.kt、.py、.php、.js、.css、.ts、.sh、.bat、.cmd、.ini、.yaml、.rst、.adoc、.textile、.opml、.org、.wiki"
"Data": "文本文件("
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".txt"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".md"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".markdown"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".json"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".log"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sql"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".html"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xml"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".java"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".h"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".c"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cpp"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".go"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rs"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".swift"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".kt"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".py"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".php"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".js"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".css"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ts"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sh"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".bat"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cmd"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ini"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".yaml"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rst"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".adoc"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".textile"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".opml"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".org"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".wiki"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".epub"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cs"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -85,7 +392,8 @@
"Marker": "Kg=="
},
"Properties": {
"id": "20230818101513-x5baw16"
"id": "20230818101513-x5baw16",
"updated": "20250903162918"
},
"Children": [
{
@ -93,12 +401,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818101513-558ntbl",
"updated": "20230818101520"
"updated": "20250903162918"
},
"Children": [
{
"Type": "NodeText",
"Data": ".docx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".docx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -112,7 +429,8 @@
"Marker": "Kg=="
},
"Properties": {
"id": "20230818101521-n1r8yqv"
"id": "20230818101521-n1r8yqv",
"updated": "20250903162920"
},
"Children": [
{
@ -120,12 +438,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818101521-mutuxqo",
"updated": "20230818101526"
"updated": "20250903162920"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pptx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pptx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -139,7 +466,8 @@
"Marker": "Kg=="
},
"Properties": {
"id": "20230818101526-oortrwo"
"id": "20230818101526-oortrwo",
"updated": "20250903162921"
},
"Children": [
{
@ -147,12 +475,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818101526-t4uvb3w",
"updated": "20230818101529"
"updated": "20250903162921"
},
"Children": [
{
"Type": "NodeText",
"Data": ".xlsx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xlsx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -167,7 +504,7 @@
},
"Properties": {
"id": "20230818101543-ejcoq3j",
"updated": "20230818101545"
"updated": "20250903162923"
},
"Children": [
{
@ -175,12 +512,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818101543-36waszk",
"updated": "20230818101545"
"updated": "20250903162923"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pdf"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pdf"
},
{
"Type": "NodeText",
"Data": ""
}
]
}

View file

@ -7,7 +7,7 @@
"id": "20230405155631-leo4vc6",
"title": "性能优化",
"type": "doc",
"updated": "20240420104842"
"updated": "20250825114628"
},
"Children": [
{
@ -375,7 +375,7 @@
"HeadingLevel": 3,
"Properties": {
"id": "20230405171407-ltaakx8",
"updated": "20230405171419"
"updated": "20250825114421"
},
"Children": [
{
@ -633,6 +633,62 @@
]
}
]
},
{
"ID": "20250825114421-fq73tbi",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20250825114421-fq73tbi",
"updated": "20250825114628"
},
"Children": [
{
"Type": "NodeText",
"Data": "优化索引"
}
]
},
{
"ID": "20250825114436-jm8dekc",
"Type": "NodeParagraph",
"Properties": {
"id": "20250825114436-jm8dekc",
"updated": "20250825114628"
},
"Children": [
{
"Type": "NodeText",
"Data": "建议定期执行优化索引 "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "设置"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "关于"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "优化索引"
},
{
"Type": "NodeText",
"Data": "​。"
}
]
}
]
}

View file

@ -3808,7 +3808,7 @@
"Children": [
{
"Type": "NodeText",
"Data": "代碼塊中使用時僅選中代碼塊中的內容"
"Data": "連續按下兩次以選中文檔中所有已加載的內容塊;代碼塊中使用時僅選中代碼塊中的內容"
}
]
}

View file

@ -6,7 +6,7 @@
"id": "20211226123004-dplpw0o",
"title": "範本片段",
"type": "doc",
"updated": "20250331163725"
"updated": "20250828155154"
},
"Children": [
{
@ -53,7 +53,7 @@
"HeadingLevel": 2,
"Properties": {
"id": "20211226123024-eyagqur",
"updated": "20250331163725"
"updated": "20250828155154"
},
"Children": [
{
@ -208,7 +208,7 @@
"ListData": {},
"Properties": {
"id": "20211226123024-pjvw31z",
"updated": "20250331163725"
"updated": "20250828155154"
},
"Children": [
{
@ -414,7 +414,7 @@
},
"Properties": {
"id": "20211226123024-e42d7xq",
"updated": "20250331163725"
"updated": "20250801152535"
},
"Children": [
{
@ -436,7 +436,19 @@
},
{
"Type": "NodeText",
"Data": "​:該函數用於查詢資料庫,返回值為 blocks 列表"
"Data": "​:該函數用於查詢"
},
{
"Type": "NodeText",
"Data": "資料庫"
},
{
"Type": "NodeText",
"Data": ",返回值為 blocks "
},
{
"Type": "NodeText",
"Data": "列表"
}
]
},
@ -447,7 +459,7 @@
"Properties": {
"id": "20241213215519-mfgruqs",
"style": "line-height: 22px;",
"updated": "20250331163725"
"updated": "20250801152535"
},
"Children": [
{
@ -455,11 +467,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{$today := now | date \"20060102150405\"}\n.action{$blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\"}\n"
"Data": ".action{ $today := now | date \"20060102150405\" }\n.action{ $blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -478,7 +491,7 @@
},
"Properties": {
"id": "20250331163425-s5u08ng",
"updated": "20250331163515"
"updated": "20250801152542"
},
"Children": [
{
@ -500,7 +513,15 @@
},
{
"Type": "NodeText",
"Data": "​:函數用於根據塊 ID 查詢資料庫,傳回值為 block"
"Data": "​:函數用於根據塊 ID 查詢"
},
{
"Type": "NodeText",
"Data": "資料庫"
},
{
"Type": "NodeText",
"Data": ",傳回值為 block"
}
]
},
@ -510,7 +531,7 @@
"IsFencedCodeBlock": true,
"Properties": {
"id": "20250331163435-irjmxt9",
"updated": "20250331163452"
"updated": "20250801152542"
},
"Children": [
{
@ -518,11 +539,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{getBlock \"20250331163425-s5u08ng\"}\n"
"Data": ".action{ getBlock \"20250331163425-s5u08ng\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -541,7 +563,7 @@
},
"Properties": {
"id": "20211226123024-69kddle",
"updated": "20241224162821"
"updated": "20250801152548"
},
"Children": [
{
@ -563,7 +585,19 @@
},
{
"Type": "NodeText",
"Data": "​:該函數用於查詢資料庫,返回值為 spans 列表"
"Data": "​:該函數用於查詢"
},
{
"Type": "NodeText",
"Data": "資料庫"
},
{
"Type": "NodeText",
"Data": ",返回值為 spans "
},
{
"Type": "NodeText",
"Data": "列表"
}
]
},
@ -574,7 +608,7 @@
"Properties": {
"id": "20241213215524-9an3khb",
"style": "line-height: 22px;",
"updated": "20241224162821"
"updated": "20250801152548"
},
"Children": [
{
@ -582,11 +616,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySpans \"SELECT * FROM spans LIMIT ?\" \"3\"}\n"
"Data": ".action{ querySpans \"SELECT * FROM spans LIMIT ?\" \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -605,7 +640,7 @@
},
"Properties": {
"id": "20241213214930-4votv1n",
"updated": "20241213214930"
"updated": "20250801152554"
},
"Children": [
{
@ -627,7 +662,15 @@
},
{
"Type": "NodeText",
"Data": "​:函數用於查詢資料庫,傳回值為結果集"
"Data": "​:函數用於查詢"
},
{
"Type": "NodeText",
"Data": "資料庫"
},
{
"Type": "NodeText",
"Data": ",傳回值為結果集"
}
]
},
@ -638,7 +681,7 @@
"Properties": {
"id": "20241213215530-f2iwrjz",
"style": "line-height: 22px;",
"updated": "20241213215530"
"updated": "20250801152554"
},
"Children": [
{
@ -646,11 +689,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySQL \"SELECT * FROM refs LIMIT 3\"}\n"
"Data": ".action{ querySQL \"SELECT * FROM refs LIMIT 3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -669,7 +713,7 @@
},
"Properties": {
"id": "20241212102019-gassjqt",
"updated": "20241213215707"
"updated": "20250801152602"
},
"Children": [
{
@ -702,7 +746,7 @@
"Properties": {
"id": "20241213215707-lxpmd6b",
"style": "line-height: 22px;",
"updated": "20241213215707"
"updated": "20250801152602"
},
"Children": [
{
@ -710,11 +754,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{ (statBlock .id).RuneCount} .action{ (statBlock .id).WordCount}\n"
"Data": ".action{ (statBlock .id).RuneCount }\n.action{ (statBlock .id).WordCount }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -1178,7 +1223,7 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20240308162753-tde2ifs",
"updated": "20240308162753"
"updated": "20250828154943"
},
"Children": [
{
@ -1192,7 +1237,136 @@
},
{
"Type": "NodeText",
"Data": "​:此函數用於傳回第幾週"
"Data": "​:此函數用於傳回目前週"
}
]
}
]
},
{
"ID": "20250828154909-wxnydc5",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828154909-wxnydc5",
"updated": "20250828154909"
},
"Children": [
{
"ID": "20250828154909-3grwety",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828154909-3grwety",
"updated": "20250828154910"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOMonth"
},
{
"Type": "NodeText",
"Data": "​:此函數用於傳回目前月份"
}
]
}
]
},
{
"ID": "20250828154911-8n67tvc",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828154911-8n67tvc",
"updated": "20250828154911"
},
"Children": [
{
"ID": "20250828154911-bb7z59o",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828154911-bb7z59o",
"updated": "20250828154916"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOYear"
},
{
"Type": "NodeText",
"Data": "​:此函數用於傳回目前年份"
}
]
}
]
},
{
"ID": "20250828154949-xhbwn4e",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828154949-xhbwn4e",
"updated": "20250828155154"
},
"Children": [
{
"ID": "20250828154949-5lcfpbs",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828154949-5lcfpbs",
"updated": "20250828155154"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOWeekDate"
},
{
"Type": "NodeText",
"Data": "​:此函數用於傳回指定週幾的日期 "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "time.Time"
},
{
"Type": "NodeText",
"Data": "​,例如傳回本週四的日期 "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".action{ now | ISOWeekDate 4 | date \"2006-01-02\" }"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -1401,7 +1575,7 @@
"HeadingLevel": 2,
"Properties": {
"id": "20211226123024-yrgnp4o",
"updated": "20211225221841"
"updated": "20250801152721"
},
"Children": [
{
@ -1416,7 +1590,7 @@
"IsFencedCodeBlock": true,
"Properties": {
"id": "20211226123024-s56q5uh",
"updated": "20211225221841"
"updated": "20250801152721"
},
"Children": [
{
@ -1425,15 +1599,11 @@
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "cGxhaW50ZXh0"
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"ID": "20220307092237-cf60m2o",
"Type": "NodeCodeBlockCode",
"Data": ".action{$before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24)}\n\n.action{$after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24)}\n今天是 `.action{now | date \"2006-01-02\"}`。\n\n* 距離 `2020-02-19` 已經過去 `.action{$before}` 天\n* 距離 `2048-02-19` 還剩 `.action{$after}` 天\n",
"Properties": {
"id": "20220307092237-cf60m2o"
}
"Data": ".action{ $before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24) }\n.action{ $after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24) }\n今天是 `.action{ now | date \"2006-01-02\" }`。\n\n* 距離 `2020-02-19` 已經過去 `.action{ $before }` 天\n* 距離 `2048-02-19` 還剩 `.action{ $after }` 天\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",

View file

@ -5,7 +5,8 @@
"Properties": {
"id": "20230805232920-5fdco36",
"title": "搜索資源文件內容",
"updated": "20231026085346"
"type": "doc",
"updated": "20250903162952"
},
"Children": [
{
@ -46,7 +47,7 @@
"ListData": {},
"Properties": {
"id": "20230818102501-gq9fesz",
"updated": "20230818102519"
"updated": "20250903162952"
},
"Children": [
{
@ -58,7 +59,7 @@
},
"Properties": {
"id": "20230818102501-2qu8flm",
"updated": "20230818102519"
"updated": "20250903162947"
},
"Children": [
{
@ -66,12 +67,318 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102501-p1l631d",
"updated": "20230818102519"
"updated": "20250903162947"
},
"Children": [
{
"Type": "NodeText",
"Data": "文本文件(.txt、.md、.json、.log、.sql、.html、.xml、.java、.h、.c、.cpp、.go、.rs、.swift、.kt、.py、.php、.js、.css、.ts、.sh、.bat、.cmd、.ini、.yaml、.rst、.adoc、.textile、.opml、.org、.wiki"
"Data": "文本文件("
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".txt"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".md"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".markdown"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".json"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".log"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sql"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".html"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xml"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".java"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".h"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".c"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cpp"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".go"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rs"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".swift"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".kt"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".py"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".php"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".js"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".css"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ts"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sh"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".bat"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cmd"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ini"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".yaml"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rst"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".adoc"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".textile"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".opml"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".org"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".wiki"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".epub"
},
{
"Type": "NodeText",
"Data": "​、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cs"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -86,7 +393,7 @@
},
"Properties": {
"id": "20230818102501-8jue7y8",
"updated": "20230818102501"
"updated": "20250903162949"
},
"Children": [
{
@ -94,12 +401,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102501-fom9qf4",
"updated": "20230818102501"
"updated": "20250903162949"
},
"Children": [
{
"Type": "NodeText",
"Data": ".docx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".docx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -114,7 +430,7 @@
},
"Properties": {
"id": "20230818102501-609htp0",
"updated": "20230818102501"
"updated": "20250903162950"
},
"Children": [
{
@ -122,12 +438,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102501-fu9up7s",
"updated": "20230818102501"
"updated": "20250903162950"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pptx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pptx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -142,7 +467,7 @@
},
"Properties": {
"id": "20230818102501-cjozdv1",
"updated": "20230818102501"
"updated": "20250903162951"
},
"Children": [
{
@ -150,12 +475,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102501-ewonoc2",
"updated": "20230818102501"
"updated": "20250903162951"
},
"Children": [
{
"Type": "NodeText",
"Data": ".xlsx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xlsx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -170,7 +504,7 @@
},
"Properties": {
"id": "20230818102501-ljun2c0",
"updated": "20230818102501"
"updated": "20250903162952"
},
"Children": [
{
@ -178,12 +512,21 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20230818102501-w0e68xh",
"updated": "20230818102501"
"updated": "20250903162952"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pdf"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pdf"
},
{
"Type": "NodeText",
"Data": ""
}
]
}

View file

@ -7,7 +7,7 @@
"id": "20230405172131-yb16aax",
"title": "性能最佳化",
"type": "doc",
"updated": "20240420104915"
"updated": "20250825114942"
},
"Children": [
{
@ -379,7 +379,7 @@
"HeadingLevel": 3,
"Properties": {
"id": "20230405172204-kitngfu",
"updated": "20230405172204"
"updated": "20250825114815"
},
"Children": [
{
@ -637,6 +637,62 @@
]
}
]
},
{
"ID": "20250825114815-of1bnnd",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20250825114815-of1bnnd",
"updated": "20250825114942"
},
"Children": [
{
"Type": "NodeText",
"Data": "優化索引"
}
]
},
{
"ID": "20250825114815-ck2ln4u",
"Type": "NodeParagraph",
"Properties": {
"id": "20250825114815-ck2ln4u",
"updated": "20250825114936"
},
"Children": [
{
"Type": "NodeText",
"Data": "建議定期執行最佳化索引 "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "設定"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "關於"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "優化索引"
},
{
"Type": "NodeText",
"Data": "​。"
}
]
}
]
}

View file

@ -7,7 +7,7 @@
"id": "20240530101000-5k5d5i3",
"title": "アセットの内容検索",
"type": "doc",
"updated": "20240530101000"
"updated": "20250903163024"
},
"Children": [
{
@ -50,7 +50,7 @@
"Properties": {
"ID": "20240530101000-gui4fuq",
"id": "20240530101000-dy607mr",
"updated": "20240530101000"
"updated": "20250903163024"
},
"Children": [
{
@ -63,21 +63,326 @@
"Properties": {
"ID": "20240530101000-d6fzgev",
"id": "20240530101000-423ygdo",
"updated": "20240530101000"
"updated": "20250903163024"
},
"Children": [
{
"ID": "20240530101000-5htsgo0",
"Type": "NodeParagraph",
"Properties": {
"ID": "20240530101000-lunnpt0",
"id": "20240530101000-5htsgo0",
"updated": "20240530101000"
"updated": "20250903163024"
},
"Children": [
{
"Type": "NodeText",
"Data": "テキストファイル (.txt, .md, .json, .log, .sql, .html, .xml, .java, .h, .c, .cpp, .go, .rs, .swift, .kt, . py, .php, .js, .css, .ts, .sh, .bat, .cmd, .ini, .yaml, .rst, .adoc, .textile, .opml, .org, .wiki)"
"Data": "テキストファイル ("
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".txt"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".md"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".markdown"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".json"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".log"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sql"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".html"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xml"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".java"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".h"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".c"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cpp"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".go"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rs"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".swift"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".kt"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".py"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".php"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".js"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".css"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ts"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".sh"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".bat"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cmd"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".ini"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".yaml"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".rst"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".adoc"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".textile"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".opml"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".org"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".wiki"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".epub"
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".cs"
},
{
"Type": "NodeText",
"Data": ")"
}
]
}
@ -92,21 +397,30 @@
},
"Properties": {
"ID": "20240530101000-jhc3a4i",
"id": "20240530101000-ddgjyye"
"id": "20240530101000-ddgjyye",
"updated": "20250903163001"
},
"Children": [
{
"ID": "20240530101000-alu1ygl",
"Type": "NodeParagraph",
"Properties": {
"ID": "20240530101000-cznhpu3",
"id": "20240530101000-alu1ygl",
"updated": "20240530101000"
"updated": "20250903163001"
},
"Children": [
{
"Type": "NodeText",
"Data": ".docx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".docx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -121,21 +435,30 @@
},
"Properties": {
"ID": "20240530101000-0t3jtob",
"id": "20240530101000-t8ewu5o"
"id": "20240530101000-t8ewu5o",
"updated": "20250903163002"
},
"Children": [
{
"ID": "20240530101000-afub9kt",
"Type": "NodeParagraph",
"Properties": {
"ID": "20240530101000-isl867u",
"id": "20240530101000-afub9kt",
"updated": "20240530101000"
"updated": "20250903163002"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pptx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pptx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -150,21 +473,30 @@
},
"Properties": {
"ID": "20240530101000-79w2hmi",
"id": "20240530101000-6c3or97"
"id": "20240530101000-6c3or97",
"updated": "20250903163003"
},
"Children": [
{
"ID": "20240530101000-p5qs8ir",
"Type": "NodeParagraph",
"Properties": {
"ID": "20240530101000-zo7jhc4",
"id": "20240530101000-p5qs8ir",
"updated": "20240530101000"
"updated": "20250903163003"
},
"Children": [
{
"Type": "NodeText",
"Data": ".xlsx"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".xlsx"
},
{
"Type": "NodeText",
"Data": ""
}
]
}
@ -179,20 +511,30 @@
},
"Properties": {
"ID": "20240530101000-nm831gm",
"id": "20240530101000-napqxcr"
"id": "20240530101000-napqxcr",
"updated": "20250903163004"
},
"Children": [
{
"ID": "20240530101000-vknnawk",
"Type": "NodeParagraph",
"Properties": {
"ID": "20240530101000-l05rbi9",
"id": "20240530101000-vknnawk"
"id": "20240530101000-vknnawk",
"updated": "20250903163004"
},
"Children": [
{
"Type": "NodeText",
"Data": ".pdf"
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".pdf"
},
{
"Type": "NodeText",
"Data": ""
}
]
}

View file

@ -7,7 +7,7 @@
"id": "20240530101000-6x9ivi7",
"title": "テンプレートスニペット",
"type": "doc",
"updated": "20250331163729"
"updated": "20250828155138"
},
"Children": [
{
@ -66,7 +66,7 @@
"Properties": {
"ID": "20240530101000-5nvn9ad",
"id": "20240530101000-pi05yzt",
"updated": "20250331163729"
"updated": "20250828155138"
},
"Children": [
{
@ -226,7 +226,7 @@
"ListData": {},
"Properties": {
"id": "20240530101000-by5hqnb",
"updated": "20250331163729"
"updated": "20250828155138"
},
"Children": [
{
@ -260,7 +260,15 @@
},
{
"Type": "NodeText",
"Data": ": この変数は現在のドキュメント名を挿入します。たとえば、テンプレートの内容が "
"Data": ": この変数は現在のドキュメント名を挿入します。たとえば、"
},
{
"Type": "NodeText",
"Data": "テンプレート"
},
{
"Type": "NodeText",
"Data": "の内容が "
},
{
"Type": "NodeTextMark",
@ -432,7 +440,7 @@
},
"Properties": {
"id": "20240530101000-0y2zlji",
"updated": "20250331163729"
"updated": "20250801152859"
},
"Children": [
{
@ -454,7 +462,15 @@
},
{
"Type": "NodeText",
"Data": ": この関数はデータベースをクエリしてブロックのリストを返します"
"Data": ": この関数は"
},
{
"Type": "NodeText",
"Data": "データベース"
},
{
"Type": "NodeText",
"Data": "をクエリしてブロックのリストを返します"
}
]
},
@ -465,7 +481,7 @@
"Properties": {
"id": "20241213215628-5gixpmp",
"style": "line-height: 22px;",
"updated": "20250331163729"
"updated": "20250801152859"
},
"Children": [
{
@ -473,11 +489,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{$today := now | date \"20060102150405\"}\n.action{$blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\"}\n"
"Data": ".action{ $today := now | date \"20060102150405\" }\n.action{ $blocks := queryBlocks \"SELECT * FROM blocks WHERE content LIKE '?' AND updated \u003e '?' LIMIT ?\" \"%foo%\" $today \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -496,7 +513,7 @@
},
"Properties": {
"id": "20250331163610-n3e9zft",
"updated": "20250331163642"
"updated": "20250801152903"
},
"Children": [
{
@ -518,7 +535,15 @@
},
{
"Type": "NodeText",
"Data": ": この関数はブロックIDに基づいてデータベースを照会するために使用され、戻り値はブロックです"
"Data": ": この関数はブロックIDに基づいて"
},
{
"Type": "NodeText",
"Data": "データベース"
},
{
"Type": "NodeText",
"Data": "を照会するために使用され、戻り値はブロックです"
}
]
},
@ -528,7 +553,7 @@
"IsFencedCodeBlock": true,
"Properties": {
"id": "20250331163621-j4iofxv",
"updated": "20250331163642"
"updated": "20250801152903"
},
"Children": [
{
@ -536,11 +561,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{getBlock \"20250331163610-n3e9zft\"}\n"
"Data": ".action{ getBlock \"20250331163610-n3e9zft\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -559,7 +585,7 @@
},
"Properties": {
"id": "20240530101000-238ctfi",
"updated": "20241224162728"
"updated": "20250801152909"
},
"Children": [
{
@ -581,7 +607,15 @@
},
{
"Type": "NodeText",
"Data": ": この関数はデータベースをクエリしてスパンのリストを返します"
"Data": ": この関数は"
},
{
"Type": "NodeText",
"Data": "データベース"
},
{
"Type": "NodeText",
"Data": "をクエリしてスパンのリストを返します"
}
]
},
@ -592,7 +626,7 @@
"Properties": {
"id": "20241213215619-gkqs282",
"style": "line-height: 22px;",
"updated": "20241224162728"
"updated": "20250801152909"
},
"Children": [
{
@ -600,11 +634,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySpans \"SELECT * FROM spans LIMIT ?\" \"3\"}\n"
"Data": ".action{ querySpans \"SELECT * FROM spans LIMIT ?\" \"3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -623,7 +658,7 @@
},
"Properties": {
"id": "20241213215009-qrtc56j",
"updated": "20241213215009"
"updated": "20250801152915"
},
"Children": [
{
@ -645,7 +680,15 @@
},
{
"Type": "NodeText",
"Data": ": この関数はデータベースへのクエリに使用され、戻り値は結果セットです"
"Data": ": この関数は"
},
{
"Type": "NodeText",
"Data": "データベース"
},
{
"Type": "NodeText",
"Data": "へのクエリに使用され、戻り値は結果セットです"
}
]
},
@ -656,7 +699,7 @@
"Properties": {
"id": "20241213215633-69ltmv1",
"style": "line-height: 22px;",
"updated": "20241213215633"
"updated": "20250801152915"
},
"Children": [
{
@ -664,11 +707,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": " .action{querySQL \"SELECT * FROM refs LIMIT 3\"}\n"
"Data": ".action{ querySQL \"SELECT * FROM refs LIMIT 3\" }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -687,7 +731,7 @@
},
"Properties": {
"id": "20241212102033-rn9u6t8",
"updated": "20241213215720"
"updated": "20250801152922"
},
"Children": [
{
@ -720,7 +764,7 @@
"Properties": {
"id": "20241213215720-ueqpsna",
"style": "line-height: 22px;",
"updated": "20241213215720"
"updated": "20250801152922"
},
"Children": [
{
@ -728,11 +772,12 @@
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker"
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{ (statBlock .id).RuneCount} .action{ (statBlock .id).WordCount}\n"
"Data": ".action{ (statBlock .id).RuneCount }\n.action{ (statBlock .id).WordCount }\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
@ -1216,6 +1261,135 @@
}
]
},
{
"ID": "20250828155049-69k1o8n",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828155049-69k1o8n",
"updated": "20250828155049"
},
"Children": [
{
"ID": "20250828155049-vbcmh76",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828155049-vbcmh76",
"updated": "20250828155051"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOMonth"
},
{
"Type": "NodeText",
"Data": ": この関数は現在の月を返します"
}
]
}
]
},
{
"ID": "20250828155051-8r71644",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828155051-8r71644",
"updated": "20250828155051"
},
"Children": [
{
"ID": "20250828155051-d8e3faa",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828155051-d8e3faa",
"updated": "20250828155057"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOYear"
},
{
"Type": "NodeText",
"Data": ": この関数は現在の年を返します"
}
]
}
]
},
{
"ID": "20250828155057-hqlahyc",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20250828155057-hqlahyc",
"updated": "20250828155138"
},
"Children": [
{
"ID": "20250828155057-s2ugs9d",
"Type": "NodeParagraph",
"Properties": {
"id": "20250828155057-s2ugs9d",
"updated": "20250828155138"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "ISOWeekDate"
},
{
"Type": "NodeText",
"Data": ": この関数は、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": "time.Time"
},
{
"Type": "NodeText",
"Data": " を使用して指定された曜日の日付を返します。例えば、"
},
{
"Type": "NodeTextMark",
"TextMarkType": "code",
"TextMarkTextContent": ".action{now | ISOWeekDate 4 | date \"2006-01-02\" }"
},
{
"Type": "NodeText",
"Data": " は今週の木曜日の日付を返します"
}
]
}
]
},
{
"ID": "20240530101000-q2rf0ys",
"Type": "NodeListItem",
@ -1422,7 +1596,7 @@
"Properties": {
"ID": "20240530101000-h8k78jq",
"id": "20240530101000-3jhyboz",
"updated": "20240530101000"
"updated": "20250801152939"
},
"Children": [
{
@ -1436,9 +1610,8 @@
"Type": "NodeCodeBlock",
"IsFencedCodeBlock": true,
"Properties": {
"ID": "20240530101000-3sja27a",
"id": "20240530101000-v44hxz6",
"updated": "20240530101000"
"updated": "20250801152939"
},
"Children": [
{
@ -1447,11 +1620,11 @@
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "cGxhaW50ZXh0"
"CodeBlockInfo": "dGVtcGxhdGU="
},
{
"Type": "NodeCodeBlockCode",
"Data": ".action{$before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24)}\n\n.action{$after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24)}\n今日は `.action{now | date \"2006-01-02\"}` 日です。\n\n* `2020-02-19` 日から `.action{$before}` 日経過しました\n* `2048-02-19` 日まであと `.action{$after}` 日です\n"
"Data": ".action{ $before := (div (now.Sub (toDate \"2006-01-02\" \"2020-02-19\")).Hours 24) }\n.action{ $after := (div ((toDate \"2006-01-02\" \"2048-02-19\").Sub now).Hours 24) }\n今日は `.action{ now | date \"2006-01-02\" }` 日です。\n\n* `2020-02-19` 日から `.action{ $before }` 日経過しました\n* `2048-02-19` 日まであと `.action{ $after }` 日です\n"
},
{
"Type": "NodeCodeBlockFenceCloseMarker",

View file

@ -3775,7 +3775,7 @@
"Children": [
{
"Type": "NodeText",
"Data": "コードブロックではコードのみが選択されます"
"Data": "文書内のすべてのロード済みコンテンツブロックを選択するにはダブルプレスしてください;コードブロックではコードのみが選択されます"
}
]
}

View file

@ -8,7 +8,7 @@
"id": "20240530101000-flot1gj",
"title": "パフォーマンスの最適化",
"type": "doc",
"updated": "20250115145306"
"updated": "20250825115021"
},
"Children": [
{
@ -421,7 +421,7 @@
"Properties": {
"ID": "20240530101000-utjkzhs",
"id": "20240530101000-9doivgv",
"updated": "20250115145306"
"updated": "20250825114907"
},
"Children": [
{
@ -755,12 +755,60 @@
]
},
{
"ID": "20240530101000-9swho08",
"ID": "20250825114907-tkuwv3h",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20250825114907-tkuwv3h",
"updated": "20250825115021"
},
"Children": [
{
"Type": "NodeText",
"Data": "インデックスの最適化"
}
]
},
{
"ID": "20250825114907-av6973u",
"Type": "NodeParagraph",
"Properties": {
"ID": "20240530101000-ugpv1is",
"id": "20240530101000-9swho08"
}
"id": "20250825114907-av6973u",
"updated": "20250825115021"
},
"Children": [
{
"Type": "NodeText",
"Data": ""
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "設定"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "バージョン情報"
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
"TextMarkTextContent": "インデックスの最適化"
},
{
"Type": "NodeText",
"Data": " から、定期的にインデックスを最適化することをお勧めします。"
}
]
}
]
}

View file

@ -1,10 +1,10 @@
{
"name": "SiYuan",
"version": "3.2.0",
"version": "3.3.2",
"description": "Refactor your thinking",
"homepage": "https://b3log.org/siyuan",
"main": "./electron/main.js",
"packageManager": "pnpm@10.13.1",
"packageManager": "pnpm@10.15.1",
"scripts": {
"lint": "eslint . --fix --cache",
"dev": "webpack --mode development",
@ -58,7 +58,7 @@
"clean-webpack-plugin": "^4.0.0",
"css-loader": "^7.1.2",
"dayjs": "^1.11.5",
"electron": "37.2.3",
"electron": "37.4.0",
"electron-builder": "26.0.12",
"encoding": "^0.1.13",
"esbuild-loader": "^3.0.1",

1088
app/pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -255,7 +255,7 @@ export const AIActions = (elements: Element[], protyle: IProtyle) => {
});
element.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
while (target && !target.isSameNode(element)) {
while (target && (target !== element)) {
if (target.classList.contains("b3-list-item__action")) {
const subItem = window.siyuan.storage[Constants.LOCAL_AI][target.parentElement.dataset.index];
editDialog(subItem.name, subItem.memo);

View file

@ -62,7 +62,7 @@ export const pdfResize = () => {
export const genAssetHTML = (type: string, pathString: string, imgName: string, linkName: string) => {
let html = "";
if (Constants.SIYUAN_ASSETS_AUDIO.includes(type)) {
html = `<div data-node-id="${Lute.NewNodeID()}" data-type="NodeAudio" class="iframe" updated="${dayjs().format("YYYYMMDDHHmmss")}"><div class="iframe-content"><audio controls="controls" src="${pathString}" data-src="${pathString}"></audio>${Constants.ZWSP}</div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`;
html = `<div data-node-id="${Lute.NewNodeID()}" data-type="NodeAudio" class="iframe" updated="${dayjs().format("YYYYMMDDHHmmss")}"><div class="iframe-content"><audio controls="controls" src="${pathString}"></audio>${Constants.ZWSP}</div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`;
} else if (Constants.SIYUAN_ASSETS_IMAGE.includes(type)) {
let netHTML = "";
if (!pathString.startsWith("assets/")) {
@ -70,7 +70,7 @@ export const genAssetHTML = (type: string, pathString: string, imgName: string,
}
html = `<span contenteditable="false" data-type="img" class="img"><span> </span><span><span class="protyle-action protyle-icons"><span class="protyle-icon protyle-icon--only"><svg><use xlink:href="#iconMore"></use></svg></span></span><img src="${pathString}" data-src="${pathString}" alt="${imgName}" /><span class="protyle-action__drag"></span>${netHTML}<span class="protyle-action__title"></span></span><span> </span></span>`;
} else if (Constants.SIYUAN_ASSETS_VIDEO.includes(type)) {
html = `<div data-node-id="${Lute.NewNodeID()}" data-type="NodeVideo" class="iframe" updated="${dayjs().format("YYYYMMDDHHmmss")}"><div class="iframe-content">${Constants.ZWSP}<video controls="controls" src="${pathString}" data-src="${pathString}"></video><span class="protyle-action__drag" contenteditable="false"></span></div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`;
html = `<div data-node-id="${Lute.NewNodeID()}" data-type="NodeVideo" class="iframe" updated="${dayjs().format("YYYYMMDDHHmmss")}"><div class="iframe-content">${Constants.ZWSP}<video controls="controls" src="${pathString}"></video><span class="protyle-action__drag" contenteditable="false"></span></div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`;
} else {
html = `<span data-type="a" data-href="${pathString}">${linkName}</span>`;
}

View file

@ -6,12 +6,16 @@
margin-top: 4px !important;
margin-bottom: 4px !important;
&:hover .av__views .block__icon {
opacity: 1;
&:hover {
.av__views .block__icon,
.av__group-icon--hover {
opacity: 1;
}
}
&--touch {
.av__views .block__icon,
.av__group-icon--hover,
.av__row--footer .av__calc {
opacity: 1;
}
@ -35,7 +39,7 @@
&__pulse {
width: 70%;
height: 23px;
height: 22px;
display: block;
position: relative;
overflow: hidden;
@ -56,8 +60,7 @@
}
&__header {
top: -43px;
z-index: 2;
position: relative;
.layout-tab-bar {
background-color: transparent;
@ -128,10 +131,6 @@
overflow: auto hidden;
}
&__body {
float: left;
}
&__row {
display: flex;
border-bottom: 1px solid var(--b3-theme-surface-lighter);
@ -257,6 +256,7 @@
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 16px;
width: 100%;
margin-top: 8px;
&--top {
margin-top: 16px;
@ -397,11 +397,6 @@
border-right: 0;
min-height: calc(1.625em + 4px);
&:not([data-dtype="block"])[data-empty="true"] {
padding: 0 4px;
min-height: auto;
}
&:hover {
background-color: var(--b3-list-hover);
border-radius: var(--b3-border-radius);
@ -418,26 +413,66 @@
cursor: default;
}
&[data-dtype="mAsset"],
&[data-dtype="mSelect"],
&[data-dtype="select"] {
margin-left: -2px;
&[data-dtype="mAsset"] .av__cellassetimg:first-child,
&[data-dtype="mAsset"] .b3-chip:first-child,
&[data-dtype="mSelect"] .b3-chip:first-child,
&[data-dtype="select"] .b3-chip:first-child {
margin-left: 0;
}
}
&--edit .av__cell {
padding: 2px 4px !important;
min-height: calc(1.625em + 4px) !important;
&--edit .av__gallery-field[data-empty="true"] .av__gallery-tip {
display: block;
}
&[data-dtype="mAsset"][data-empty="true"],
&[data-dtype="mSelect"][data-empty="true"],
&[data-dtype="select"][data-empty="true"] {
margin-left: 0;
}
&:not(.av__gallery-fields--edit) [data-empty="true"] {
display: none;
}
}
&[data-empty="true"] .av__gallery-tip {
display: flex;
}
&-field {
position: relative;
}
&-name {
opacity: 0.38;
padding: 2px 4px;
width: 100%;
white-space: normal;
box-sizing: border-box;
}
&-tip {
box-sizing: border-box;
display: none;
opacity: 0.38;
padding: 2px 4px;
width: 100%;
position: absolute;
top: 0;
}
&-tip,
&-name {
img:first-child, svg:first-child, svg.ariaLabel {
height: 1.625em;
width: calc(1.625em - 10px);
margin: 0 5px 0 0;
font-size: 1em;
vertical-align: bottom;
}
img:first-child {
height: calc(1.625em - 10px);
float: left;
margin-top: 5px;
}
span:first-child {
width: calc(1.9em - 10px);
margin: 0 5px 0 0;
height: 1.625em;
font-size: .85em;
}
}
@ -473,26 +508,6 @@
z-index: 2;
}
&-tip {
display: none;
align-items: center;
opacity: 0.38;
img, svg {
height: calc(1.625em - 10px);
width: calc(1.625em - 10px);
margin: 0 5px 0 0;
font-size: 1em;
}
span {
width: calc(1.9em - 10px);
margin: 0 5px 0 0;
height: 1.625em;
font-size: .85em;
}
}
&-item, &-add {
&.dragover__left::after,
&.dragover__right::after {
@ -574,23 +589,6 @@
color: var(--b3-protyle-inline-blockref-color);
}
.b3-menu__avemoji {
display: inline-block;
font-size: 1em;
line-height: 1.625;
height: auto;
margin: 0 5px 0 -4px;
vertical-align: top;
img {
height: calc(1.625em - 8px);
font-size: 1em;
width: calc(1.625em - 8px);
float: left;
margin: 4px 0;
}
}
&[data-wrap="true"] {
white-space: pre-wrap;
}
@ -599,7 +597,7 @@
white-space: nowrap;
}
&[data-block-id] > .block__icon[data-type="copy"] {
&[data-dtype="block"] > .block__icon[data-type="copy"] {
display: none;
}
@ -679,10 +677,10 @@
}
&--relation {
margin-left: 12px;
margin-right: 12px;
&:first-child {
margin-left: 0;
&:last-child {
margin-right: 0;
}
}
@ -794,8 +792,8 @@
position: relative;
.b3-menu {
min-width: 200px;
max-width: 50vw;
min-width: 290px;
max-width: 290px;
&__item .b3-chip {
max-width: 100%;
@ -835,6 +833,7 @@
&__label {
overflow: hidden;
min-height: 30px;
}
&__icon.fn__grab {
@ -911,6 +910,68 @@
}
}
}
&__group {
&-title {
position: sticky;
left: 0;
clear: both;
padding: 16px 0 8px 0;
display: flex;
align-items: center;
.b3-chip {
padding: 2px 6px;
line-height: calc(1.625em - 6px);
font-size: 87.5%;
}
& + .av__body .av__gallery {
margin-top: 0;
}
}
&-counter {
font-size: 87.5%;
color: var(--b3-theme-on-surface-light);
margin: 0 8px;
}
&-icon {
cursor: pointer;
color: var(--b3-theme-on-surface-light);
transition: var(--b3-transition), opacity 0.3s cubic-bezier(0, 0, 0.2, 1) 0ms;
border-radius: var(--b3-border-radius);
&:hover {
color: var(--b3-theme-on-background);
background-color: var(--b3-list-icon-hover);
}
svg {
padding: 5px;
float: left;
width: calc(1.625em - 12px);
height: calc(1.625em - 12px);
transition: transform 0.15s cubic-bezier(0, 0, 0.2, 1);
font-size: 87.5%;
}
&--hover {
opacity: 0;
svg {
padding: 4px;
width: calc(1.625em - 10px);
height: calc(1.625em - 10px);
}
}
}
&-arrow--open {
transform: rotate(90deg);
}
}
}
img.av__cellassetimg {
@ -922,3 +983,21 @@ img.av__cellassetimg {
font-size: inherit;
cursor: zoom-in;
}
.av__cell,
.custom-attr__avvalue {
.b3-menu__avemoji {
font-size: 1em;
line-height: 1.625;
height: auto;
margin: 0 5px 0 -4px;
vertical-align: top;
img {
height: calc(1.625em - 8px);
font-size: 1em;
width: calc(1.625em - 8px);
margin: 4px 0;
}
}
}

View file

@ -28,6 +28,14 @@
&[data-type="select"] {
padding-left: 6px;
}
span.b3-menu__avemoji {
line-height: 26px;
img {
margin-top: 6px;
}
}
}
&__avheader {

View file

@ -174,7 +174,7 @@
padding: 0 4px;
flex-shrink: 0;
border-radius: var(--b3-border-radius);
display: flex;
display: inline-flex;
align-items: center;
justify-content: center;

View file

@ -267,6 +267,10 @@
opacity: .38;
cursor: not-allowed;
}
&--hidden {
opacity: .38;
}
}
&__action {
@ -281,6 +285,10 @@
box-sizing: border-box;
translate: var(--b3-transition);
&--show {
opacity: 1;
}
&:hover {
color: var(--b3-theme-on-background);
background-color: var(--b3-list-icon-hover);
@ -296,6 +304,13 @@
min-width: 84px;
}
&__labels {
font-size: 12px;
margin-bottom: 4px;
line-height: 20px;
color: var(--b3-theme-on-surface);
}
&__icon {
align-self: center;
height: 14px;

View file

@ -1,10 +1,14 @@
.b3-snackbar {
margin-bottom: 16px;
position: relative;
transition: transform 256ms cubic-bezier(.45, .05, .55, .95) 0ms;
text-align: right;
justify-self: end;
font-size: var(--b3-font-size);
pointer-events: auto;
&:not(:first-child) {
margin-top: 16px;
}
&--hide {
transform: translate3d(calc(20vw + 48px), 0, 0);
@ -12,7 +16,7 @@
&s {
position: fixed;
right: 12px;
right: 30px;
top: 22px;
// 不能设置死否则右键菜单会被遮盖 z-index: 999999;
max-height: calc(100vh - 32px);
@ -20,22 +24,14 @@
flex-direction: column;
transform: translate3d(calc(20vw + 48px), 0, 0);
transition: transform .15s cubic-bezier(.4, 0, 1, 1) 0ms;
pointer-events: none;
&--show {
transform: translate3d(0, 0, 0) !important;
}
& > .b3-button {
align-self: flex-end;
margin-right: 18px;
}
& > .fn__flex-1 {
padding: 0 18px 0 18px;
&::-webkit-scrollbar {
display: none;
}
& > .fn__flex-1::-webkit-scrollbar {
display: none;
}
}

View file

@ -284,6 +284,22 @@ html {
overflow: hidden;
transition: var(--b3-transition);
}
&.sy__file--disablehover {
.b3-list--background .b3-list-item {
&:hover {
background-color: transparent !important;
}
&--hide-action .b3-list-item__action {
display: none;
}
> * {
pointer-events: none;
}
}
}
}
.counter {

View file

@ -29,6 +29,11 @@
&:hover {
background-color: transparent;
}
svg, img {
height: 20px;
width: 20px;
}
}
&__graphic {

View file

@ -86,16 +86,16 @@
& > div {
padding-left: 100%;
position: relative;
height: 26px;
min-height: 1.625em;
&::after {
position: absolute;
content: " ";
height: 1px;
height: calc(1em / 16);
background-color: var(--b3-theme-background-light);
width: calc(100% - 1px);
left: 0;
top: 13px;
top: calc(1.625em / 2);
}
}
}
@ -183,7 +183,29 @@
line-height: calc(1.625em + 8px);
& ~ [data-type="NodeHeading"] {
line-height: 1em;
&.h1 {
line-height: calc(1.625em / 1.75);
}
&.h2 {
line-height: calc(1.625em / 1.55);
}
&.h3 {
line-height: calc(1.625em / 1.38);
}
&.h4 {
line-height: calc(1.625em / 1.25);
}
&.h5 {
line-height: calc(1.625em / 1.13);
}
&.h6 {
line-height: 1.625em;
}
& > [spellcheck] {
min-height: 1em;
@ -783,6 +805,10 @@
opacity: 0;
}
&:hover .av__group-icon--hover {
display: none;
}
.av__row--footer .av__calc:hover,
.av__cell--header:hover {
background-color: transparent;
@ -797,7 +823,7 @@
}
}
.av__row .av__cell[data-block-id] > .block__icon[data-type="copy"] {
.av__row .av__cell[data-dtype="block"] > .block__icon[data-type="copy"] {
display: flex;
}
}

View file

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="apple-touch-icon" href="../../icon.png">
<style id="editorAttr" type="text/css"></style>

View file

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials">
<link rel="apple-touch-icon" href="../../icon.png">

View file

@ -31,7 +31,7 @@ export const initBlockPopover = (app: App) => {
if (aElement) {
let tooltipClass = "";
let tip = aElement.getAttribute("aria-label") || "";
if (aElement.classList.contains("av__cell")) {
if (aElement.classList.contains("av__cell") && !aElement.classList.contains("ariaLabel")) {
if (aElement.classList.contains("av__cell--header")) {
const textElement = aElement.querySelector(".av__celltext");
const desc = aElement.getAttribute("data-desc");
@ -49,6 +49,7 @@ export const initBlockPopover = (app: App) => {
tooltipClass = "href";
}
}
tip = "";
if (!tip && aElement.dataset.wrap !== "true" && event.target.dataset.type !== "block-more" && !hasClosestByClassName(event.target, "block__icon")) {
aElement.style.overflow = "auto";
if (aElement.scrollWidth > aElement.clientWidth + 2) {
@ -117,7 +118,7 @@ export const initBlockPopover = (app: App) => {
const boxData = response.data.boxInfo;
const tip = `${boxData.name} <small class='ft__on-surface'>${boxData.hSize}</small>${boxData.docCount !== 0 ? window.siyuan.languages.includeSubFile.replace("x", boxData.docCount) : ""}<br>${window.siyuan.languages.modifiedAt} ${boxData.hMtime}<br>${window.siyuan.languages.createdAt} ${boxData.hCtime}`;
const scopeNotebookItemElement = hasClosestByClassName(event.target, "b3-list-item__text");
if (notebookItemElement && scopeNotebookItemElement && notebookItemElement.isSameNode(scopeNotebookItemElement)) {
if (notebookItemElement && scopeNotebookItemElement && (notebookItemElement === scopeNotebookItemElement)) {
showTooltip(tip, notebookItemElement);
}
if (scopeNotebookItemElement &&
@ -242,7 +243,7 @@ const hidePopover = (event: MouseEvent & { path: HTMLElement[] }) => {
if (!popoverTargetElement && linkElement && linkElement.getAttribute("data-href")?.startsWith("siyuan://blocks")) {
popoverTargetElement = linkElement;
}
if (!popoverTargetElement || (popoverTargetElement && window.siyuan.menus.menu.data?.isSameNode(popoverTargetElement))) {
if (!popoverTargetElement || (popoverTargetElement && window.siyuan.menus.menu.data && window.siyuan.menus.menu.data === popoverTargetElement)) {
// 移动到弹窗的 loading 元素上,但经过 settimeout 后 loading 已经被移除了
// https://ld246.com/article/1673596577519/comment/1673767749885#comments
let targetElement = target;
@ -308,7 +309,7 @@ const hidePopover = (event: MouseEvent & { path: HTMLElement[] }) => {
}
});
if (hasToolbar) {
break;
break;
}
item.destroy();
}
@ -356,7 +357,7 @@ const getTarget = (event: MouseEvent & { target: HTMLElement }, aElement: false
};
export const showPopover = async (app: App, showRef = false) => {
if (!popoverTargetElement || window.siyuan.menus.menu.data?.isSameNode(popoverTargetElement)) {
if (!popoverTargetElement || (window.siyuan.menus.menu.data && window.siyuan.menus.menu.data === popoverTargetElement)) {
return;
}
let refDefs: IRefDefs[] = [];

View file

@ -10,6 +10,7 @@ import {blockRender} from "../protyle/render/blockRender";
import {fetchPost, fetchSyncPost} from "../util/fetch";
import {openFileById} from "../editor/util";
import {openMobileFileById} from "../mobile/editor";
import {mathRender} from "../protyle/render/mathRender";
export const cancelSB = async (protyle: IProtyle, nodeElement: Element, range?: Range) => {
const doOperations: IOperation[] = [];
@ -73,6 +74,7 @@ export const cancelSB = async (protyle: IProtyle, nodeElement: Element, range?:
});
previousId = item.getAttribute("data-node-id");
});
mathRender(protyle.wysiwyg.element);
// 超级块内嵌入块无面包屑,需重新渲染 https://github.com/siyuan-note/siyuan/issues/7574
doOperations.forEach(item => {
const element = protyle.wysiwyg.element.querySelector(`[data-node-id="${item.id}"]`);

View file

@ -23,6 +23,7 @@ import {globalCommand} from "./global";
import {getDisplayName, getNotebookName, getTopPaths, movePathTo, moveToPath, pathPosix} from "../../../util/pathName";
import {hintMoveBlock} from "../../../protyle/hint/extend";
import {fetchSyncPost} from "../../../util/fetch";
import {focusByRange} from "../../../protyle/util/selection";
export const commandPanel = (app: App) => {
const range = getSelection().rangeCount > 0 ? getSelection().getRangeAt(0) : undefined;
@ -41,7 +42,12 @@ export const commandPanel = (app: App) => {
<kbd>${window.siyuan.languages.enterKey}/${window.siyuan.languages.click}</kbd> ${window.siyuan.languages.confirm}
<kbd>Esc</kbd> ${window.siyuan.languages.close}
</div>
</div>`
</div>`,
destroyCallback() {
if (range) {
focusByRange(range);
}
},
});
dialog.element.setAttribute("data-key", Constants.DIALOG_COMMANDPANEL);
const listElement = dialog.element.querySelector("#commands");

View file

@ -16,7 +16,7 @@ import {
import {newFile} from "../../util/newFile";
import {Constants} from "../../constants";
import {openSetting} from "../../config";
import {getInstanceById} from "../../layout/util";
import {getInstanceById, saveLayout} from "../../layout/util";
import {getActiveTab, getDockByType, switchTabByIndex} from "../../layout/tabUtil";
import {Tab} from "../../layout/Tab";
import {Editor} from "../../editor";
@ -80,7 +80,7 @@ import {bindAVPanelKeydown} from "../../protyle/render/av/keydown";
const switchDialogEvent = (app: App, event: MouseEvent) => {
event.preventDefault();
let target = event.target as HTMLElement;
while (!target.isSameNode(switchDialog.element)) {
while (target !== switchDialog.element) {
if (target.classList.contains("b3-list-item")) {
const currentType = target.getAttribute("data-type");
if (currentType) {
@ -490,6 +490,7 @@ const editKeydown = (app: App, event: KeyboardEvent) => {
}
if (matchHotKey(window.siyuan.config.keymap.editor.general.preview.custom, event)) {
setEditMode(protyle, "preview");
saveLayout();
event.preventDefault();
return true;
}
@ -497,11 +498,16 @@ const editKeydown = (app: App, event: KeyboardEvent) => {
setEditMode(protyle, "wysiwyg");
protyle.scroll.lastScrollTop = 0;
fetchPost("/api/filetree/getDoc", {
id: protyle.block.parentID,
size: window.siyuan.config.editor.dynamicLoadBlocks,
id: protyle.block.id,
size: protyle.block.id === protyle.block.rootID ? window.siyuan.config.editor.dynamicLoadBlocks : Constants.SIZE_GET_MAX,
}, getResponse => {
onGet({data: getResponse, protyle});
onGet({
data: getResponse,
protyle,
action: protyle.block.id === protyle.block.rootID ? [Constants.CB_GET_FOCUS, Constants.CB_GET_HTML, Constants.CB_GET_UNUNDO] : [Constants.CB_GET_ALL, Constants.CB_GET_FOCUS, Constants.CB_GET_UNUNDO, Constants.CB_GET_HTML]
});
});
saveLayout();
event.preventDefault();
return true;
}

View file

@ -6,6 +6,7 @@ import {getAllTabs} from "../../layout/getAll";
import {App} from "../../index";
import {Constants} from "../../constants";
import {matchHotKey} from "../../protyle/util/hotKey";
import {isWindow} from "../../util/functions";
export const windowKeyUp = (app: App, event: KeyboardEvent) => {
window.siyuan.ctrlIsPressed = false;
@ -22,37 +23,52 @@ export const windowKeyUp = (app: App, event: KeyboardEvent) => {
let currentLiElement = switchDialog.element.querySelector(".b3-list-item--focus");
currentLiElement.classList.remove("b3-list-item--focus");
if (matchHotKey(window.siyuan.config.keymap.general.goToEditTabPrev.custom, event)) {
if (currentLiElement.previousElementSibling) {
currentLiElement.previousElementSibling.classList.add("b3-list-item--focus");
} else if (currentLiElement.getAttribute("data-original")) {
currentLiElement.parentElement.lastElementChild.classList.add("b3-list-item--focus");
currentLiElement.removeAttribute("data-original");
} else if (currentLiElement.parentElement.nextElementSibling) {
if (currentLiElement.parentElement.nextElementSibling.lastElementChild) {
currentLiElement.parentElement.nextElementSibling.lastElementChild.classList.add("b3-list-item--focus");
} else {
currentLiElement.parentElement.lastElementChild.classList.add("b3-list-item--focus");
while (true) {
if (currentLiElement.previousElementSibling) {
currentLiElement = currentLiElement.previousElementSibling;
} else if (currentLiElement.getAttribute("data-original")) {
currentLiElement.removeAttribute("data-original");
currentLiElement = currentLiElement.parentElement.lastElementChild;
} else if (currentLiElement.parentElement.nextElementSibling) {
if (currentLiElement.parentElement.nextElementSibling.lastElementChild) {
currentLiElement = currentLiElement.parentElement.nextElementSibling.lastElementChild;
} else {
currentLiElement = currentLiElement.parentElement.lastElementChild;
}
} else if (currentLiElement.parentElement.previousElementSibling) {
currentLiElement = currentLiElement.parentElement.previousElementSibling.lastElementChild;
} else if (isWindow()) {
currentLiElement = currentLiElement.parentElement.lastElementChild;
}
if (currentLiElement.getBoundingClientRect().height !== 0) {
break;
}
} else if (currentLiElement.parentElement.previousElementSibling) {
currentLiElement.parentElement.previousElementSibling.lastElementChild.classList.add("b3-list-item--focus");
}
currentLiElement.classList.add("b3-list-item--focus");
} else {
if (currentLiElement.nextElementSibling) {
currentLiElement.nextElementSibling.classList.add("b3-list-item--focus");
} else if (currentLiElement.getAttribute("data-original")) {
currentLiElement.parentElement.firstElementChild.classList.add("b3-list-item--focus");
currentLiElement.removeAttribute("data-original");
} else if (currentLiElement.parentElement.nextElementSibling) {
if (currentLiElement.parentElement.nextElementSibling.firstElementChild) {
currentLiElement.parentElement.nextElementSibling.firstElementChild.classList.add("b3-list-item--focus");
} else {
currentLiElement.parentElement.firstElementChild.classList.add("b3-list-item--focus");
while (true) {
if (currentLiElement.nextElementSibling) {
currentLiElement = currentLiElement.nextElementSibling;
} else if (currentLiElement.getAttribute("data-original")) {
currentLiElement.removeAttribute("data-original");
currentLiElement = currentLiElement.parentElement.firstElementChild;
} else if (currentLiElement.parentElement.nextElementSibling) {
if (currentLiElement.parentElement.nextElementSibling.firstElementChild) {
currentLiElement = currentLiElement.parentElement.nextElementSibling.firstElementChild;
} else {
currentLiElement = currentLiElement.parentElement.firstElementChild;
}
} else if (currentLiElement.parentElement.previousElementSibling) {
currentLiElement = currentLiElement.parentElement.previousElementSibling.firstElementChild;
} else if (isWindow()) {
currentLiElement = currentLiElement.parentElement.firstElementChild;
}
if (currentLiElement.getBoundingClientRect().height !== 0) {
break;
}
} else if (currentLiElement.parentElement.previousElementSibling) {
currentLiElement.parentElement.previousElementSibling.firstElementChild.classList.add("b3-list-item--focus");
}
currentLiElement.classList.add("b3-list-item--focus");
}
currentLiElement = switchDialog.element.querySelector(".b3-list-item--focus");
if (currentLiElement) {
const rootId = currentLiElement.getAttribute("data-node-id");
if (rootId) {

View file

@ -111,7 +111,7 @@ export const windowMouseMove = (event: MouseEvent, mouseIsEnter: boolean) => {
const allModels = getAllModels();
let findNode = false;
allModels.editor.find(item => {
if (item.editor.protyle.wysiwyg.element.isSameNode(eventPath0)) {
if (item.editor.protyle.wysiwyg.element === eventPath0) {
item.editor.protyle.gutter.render(item.editor.protyle, targetBlockElement, item.editor.protyle.wysiwyg.element, rowElement);
findNode = true;
return true;
@ -134,7 +134,7 @@ export const windowMouseMove = (event: MouseEvent, mouseIsEnter: boolean) => {
if (!findNode) {
allModels.backlink.find(item => {
item.editors.find(eItem => {
if (eItem.protyle.wysiwyg.element.isSameNode(eventPath0)) {
if (eItem.protyle.wysiwyg.element === eventPath0) {
eItem.protyle.gutter.render(eItem.protyle, targetBlockElement, eItem.protyle.wysiwyg.element, rowElement);
findNode = true;
return true;

View file

@ -71,7 +71,7 @@ export const makeCard = (app: App, ids: string[]) => {
dialog.element.setAttribute("data-key", Constants.DIALOG_MAKECARD);
dialog.element.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
while (target && !target.isSameNode(dialog.element)) {
while (target && target !== dialog.element) {
const type = target.getAttribute("data-type");
if (type === "create") {
let msgId = "";

View file

@ -150,8 +150,8 @@ export const genCardHTML = (options: {
const getEditor = (id: string, protyle: IProtyle, element: Element, currentCard: ICard) => {
fetchPost("/api/block/getDocInfo", {
id,
}, (response) => {
protyle.wysiwyg.renderCustom(response.data.ial);
}, (docResponse) => {
protyle.wysiwyg.renderCustom(docResponse.data.ial);
fetchPost("/api/filetree/getDoc", {
id,
mode: 0,
@ -163,6 +163,8 @@ const getEditor = (id: string, protyle: IProtyle, element: Element, currentCard:
protyle,
action: response.data.rootID === response.data.id ? [Constants.CB_GET_HTML] : [Constants.CB_GET_ALL, Constants.CB_GET_HTML],
afterCB: () => {
protyle.title.element.removeAttribute("data-render");
protyle.title.render(protyle, docResponse);
let hasHide = false;
if (!window.siyuan.config.flashcard.superBlock &&
!window.siyuan.config.flashcard.heading &&
@ -199,7 +201,7 @@ const getEditor = (id: string, protyle: IProtyle, element: Element, currentCard:
if (btnIndex < 2) {
return;
}
element.previousElementSibling.textContent = currentCard.nextDues[btnIndex-1];
element.previousElementSibling.textContent = currentCard.nextDues[btnIndex - 1];
});
actionElements[1].classList.remove("fn__none");
} else {
@ -250,6 +252,8 @@ export const bindCardEvent = async (options: {
background: false,
gutter: true,
breadcrumbDocName: true,
title: true,
hideTitleOnZoom: true,
},
typewriterMode: false
});
@ -418,7 +422,7 @@ export const bindCardEvent = async (options: {
if (btnIndex < 2) {
return;
}
element.previousElementSibling.textContent = currentCard.nextDues[btnIndex-1];
element.previousElementSibling.textContent = currentCard.nextDues[btnIndex - 1];
});
options.cardsData.unreviewedOldCardCount--;
options.cardsData.unreviewedNewCardCount++;
@ -650,7 +654,7 @@ export const bindCardEvent = async (options: {
if (btnIndex < 2) {
return;
}
element.previousElementSibling.textContent = currentCard.nextDues[btnIndex-1];
element.previousElementSibling.textContent = currentCard.nextDues[btnIndex - 1];
});
actionElements[1].classList.remove("fn__none");
emitEvent(options.app, currentCard, type);

View file

@ -67,10 +67,14 @@ export const viewCards = (app: App, deckID: string, title: string, deckType: "Tr
if (response.data.blocks.length > 0) {
edit = new Protyle(app, dialog.element.querySelector("#cardPreview") as HTMLElement, {
blockId: "",
action: [Constants.CB_GET_ALL],
render: {
gutter: true,
breadcrumbDocName: true
breadcrumbDocName: true,
title: true,
hideTitleOnZoom: true,
},
typewriterMode: false
});
if (window.siyuan.mobile) {
window.siyuan.mobile.popEditor = edit;
@ -115,7 +119,7 @@ export const viewCards = (app: App, deckID: string, title: string, deckType: "Tr
return;
}
let target = event.target as HTMLElement;
while (target && !dialog.element.isSameNode(target)) {
while (target && (dialog.element !== target)) {
const type = target.getAttribute("data-type");
if (type === "close") {
dialog.destroy();
@ -310,6 +314,10 @@ const getArticle = (edit: Protyle, id: string) => {
data: getResponse,
protyle: edit.protyle,
action: getResponse.data.rootID === getResponse.data.id ? [Constants.CB_GET_HTML] : [Constants.CB_GET_ALL, Constants.CB_GET_HTML],
afterCB() {
edit.protyle.title.element.removeAttribute("data-render");
edit.protyle.title.render(edit.protyle, response);
}
});
});
});

View file

@ -156,6 +156,26 @@ export const about = {
<input class="b3-text-field fn__flex-center fn__size200" min="1" type="number" id="retentionIndexesDaily" value="${window.siyuan.config.repo.retentionIndexesDaily}">
</div>
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.vacuumDataIndex}
<div class="b3-label__text">${window.siyuan.languages.vacuumDataIndexTip}</div>
</div>
<div class="fn__space"></div>
<button id="vacuumDataIndex" class="b3-button b3-button--outline fn__size200 fn__flex-center">
<svg><use xlink:href="#iconRefresh"></use></svg>${window.siyuan.languages.vacuumDataIndex}
</button>
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.rebuildDataIndex}
<div class="b3-label__text">${window.siyuan.languages.rebuildDataIndexTip}</div>
</div>
<div class="fn__space"></div>
<button id="rebuildDataIndex" class="b3-button b3-button--outline fn__size200 fn__flex-center">
<svg><use xlink:href="#iconRefresh"></use></svg>${window.siyuan.languages.rebuildDataIndex}
</button>
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.systemLog}
@ -234,6 +254,12 @@ ${checkUpdateHTML}
about.element.querySelector("#tokenTip").innerHTML = window.siyuan.languages.about14.replace("${token}", window.siyuan.config.api.token);
});
});
about.element.querySelector("#vacuumDataIndex").addEventListener("click", () => {
fetchPost("/api/system/vacuumDataIndex", {}, () => {});
});
about.element.querySelector("#rebuildDataIndex").addEventListener("click", () => {
fetchPost("/api/system/rebuildDataIndex", {}, () => {});
});
about.element.querySelector("#exportLog").addEventListener("click", () => {
fetchPost("/api/system/exportLog", {}, (response) => {
openByMobile(response.data.zip);

View file

@ -20,7 +20,11 @@ export const ai = {
<div class="b3-label">
${window.siyuan.languages.apiTimeout}
<div class="fn__hr"></div>
<input class="b3-text-field fn__flex-center fn__block" type="number" step="1" min="5" max="600" id="apiTimeout" value="${window.siyuan.config.ai.openAI.apiTimeout}"/>
<div class="fn__flex">
<input class="b3-text-field fn__flex-1" type="number" step="1" min="5" max="600" id="apiTimeout" value="${window.siyuan.config.ai.openAI.apiTimeout}"/>
<span class="fn__space"></span>
<span class="ft__on-surface fn__flex-center">s</span>
</div>
<div class="b3-label__text">${window.siyuan.languages.apiTimeoutTip}</div>
</div>
<div class="b3-label">
@ -98,7 +102,11 @@ export const ai = {
<div class="b3-label__text">${window.siyuan.languages.apiTimeoutTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" type="number" step="1" min="5" max="600" id="apiTimeout" value="${window.siyuan.config.ai.openAI.apiTimeout}"/>
<div class="fn__size200 fn__flex-center fn__flex">
<input class="b3-text-field fn__flex-1" type="number" step="1" min="5" max="600" id="apiTimeout" value="${window.siyuan.config.ai.openAI.apiTimeout}"/>
<span class="fn__space"></span>
<span class="ft__on-surface fn__flex-center">s</span>
</div>
</div>
<div class="fn__flex b3-label">
<div class="fn__flex-1">

View file

@ -263,6 +263,7 @@ export const appearance = {
});
return;
}
window.siyuan.config.appearance = data;
if (appearance.element) {
const modeElement = appearance.element.querySelector("#mode") as HTMLSelectElement;

View file

@ -52,6 +52,18 @@ export const fileTree = {
<span class="fn__space"></span>
<input class="b3-switch fn__flex-center" id="useSingleLineSave" type="checkbox"${window.siyuan.config.fileTree.useSingleLineSave ? " checked" : ""}/>
</label>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.fileTree22}
<div class="b3-label__text">${window.siyuan.languages.fileTree23}</div>
</div>
<span class="fn__space"></span>
<div class="fn__size200 fn__flex-center fn__flex">
<input class="b3-text-field fn__flex-1" id="largeFileWarningSize" type="number" min="2" max="10240" value="${window.siyuan.config.fileTree.largeFileWarningSize}">
<span class="fn__space"></span>
<span class="ft__on-surface fn__flex-center">MB</span>
</div>
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.fileTree16}
@ -113,6 +125,7 @@ export const fileTree = {
allowCreateDeeper: (fileTree.element.querySelector("#allowCreateDeeper") as HTMLInputElement).checked,
removeDocWithoutConfirm: (fileTree.element.querySelector("#removeDocWithoutConfirm") as HTMLInputElement).checked,
useSingleLineSave: (fileTree.element.querySelector("#useSingleLineSave") as HTMLInputElement).checked,
largeFileWarningSize: parseInt((fileTree.element.querySelector("#largeFileWarningSize") as HTMLInputElement).value),
maxListCount: parseInt((fileTree.element.querySelector("#maxListCount") as HTMLInputElement).value),
maxOpenTabCount: inputMaxOpenTabCount,
}, response => {

View file

@ -20,6 +20,7 @@ import {publish} from "./publish";
import {App} from "../index";
import {isHuawei, isInHarmony} from "../protyle/util/compatibility";
import {Constants} from "../constants";
import {focusByRange} from "../protyle/util/selection";
/// #endif
export const genItemPanel = (type: string, containerElement: Element, app: App) => {
@ -107,6 +108,10 @@ export const openSetting = (app: App) => {
if (exitDialog) {
return exitDialog;
}
let range: Range;
if (getSelection().rangeCount > 0) {
range = getSelection().getRangeAt(0);
}
const dialog = new Dialog({
content: `<div class="fn__flex-1 fn__flex config__panel" style="overflow: hidden;position: relative">
<ul class="b3-tab-bar b3-list b3-list--background">
@ -152,6 +157,11 @@ export const openSetting = (app: App) => {
</div>`,
width: "90vw",
height: "90vh",
destroyCallback() {
if (range) {
focusByRange(range);
}
},
});
dialog.element.setAttribute("data-key", Constants.DIALOG_SETTING);

View file

@ -475,7 +475,7 @@ export const keymap = {
hasConflict = true;
}
Array.from(keymap.element.querySelectorAll("label.b3-list-item input")).find((inputItem: HTMLElement) => {
if (!inputItem.isSameNode(this) && inputItem.getAttribute("data-value") === keymapStr) {
if ((inputItem !== this) && inputItem.getAttribute("data-value") === keymapStr) {
const inputValueList = inputItem.getAttribute("data-key").split(Constants.ZWSP);
if (inputValueList[1] === "list") {
inputValueList[1] = "list1";

View file

@ -6,7 +6,6 @@ import {processSync} from "../dialog/processSystem";
import {getCloudURL} from "./util/about";
import {openByMobile} from "../protyle/util/compatibility";
import {confirmDialog} from "../dialog/confirmDialog";
import {isKernelInMobile} from "../util/functions";
const renderProvider = (provider: number) => {
if (provider === 0) {
@ -41,7 +40,13 @@ const renderProvider = (provider: number) => {
</div>`;
}
if (!isPaidUser()) {
return `<div class="b3-label b3-label--inner">${window.siyuan.languages["_kernel"][214].replaceAll("${accountServer}", getCloudURL(""))}</div>`;
return `<div>
${window.siyuan.languages["_kernel"][214].replaceAll("${accountServer}", getCloudURL(""))}
</div>
<div class="ft__error${provider == 4 ? "" : " fn__none"}">
<div class="fn__hr--b"></div>
${window.siyuan.languages.mobileNotSupport}
</div>`;
}
if (provider === 2) {
return `<div class="b3-label b3-label--inner">
@ -180,16 +185,11 @@ const renderProvider = (provider: number) => {
</button>
</div>`;
} else if (provider === 4) {
if (isKernelInMobile()) {
return `<div class="b3-label b3-label--inner">
${window.siyuan.languages.syncThirdPartyProviderLocalIntro}
<div class="fn__hr"></div>
<em>${window.siyuan.languages.proFeature}</em>
<div class="fn__hr"></div>
${window.siyuan.languages.deviceNotSupport}
</div>`;
}
return `<div class="b3-label b3-label--inner">
<div class="ft__error">
${window.siyuan.languages.mobileNotSupport}
</div>
<div class="fn__hr"></div>
${window.siyuan.languages.syncThirdPartyProviderLocalIntro}
<div class="fn__hr"></div>
<em>${window.siyuan.languages.proFeature}</em>

View file

@ -33,7 +33,7 @@ export const initConfigSearch = (element: HTMLElement, app: App) => {
// 文档树
getLang(["selectOpen", "tabLimit", "fileTree", "fileTree2", "fileTree3", "fileTree4", "fileTree5",
"fileTree6", "fileTree7", "fileTree8", "fileTree9", "fileTree10", "fileTree12", "fileTree13", "fileTree15",
"fileTree16", "fileTree17", "fileTree21"]),
"fileTree16", "fileTree17", "fileTree18", "fileTree19", "fileTree20", "fileTree21", "fileTree22", "fileTree23"]),
// 闪卡
getLang(["riffCard", "flashcardNewCardLimit", "flashcardNewCardLimitTip", "flashcardReviewCardLimit",
@ -101,8 +101,8 @@ export const initConfigSearch = (element: HTMLElement, app: App) => {
"systemLog", "importKey", "genKey", "genKeyByPW", "copyKey", "resetRepo", "systemLogTip", "export",
"downloadLatestVer", "safeQuit", "directConnection", "siyuanNote", "key", "password", "copied", "resetRepoTip",
"autoDownloadUpdatePkg", "autoDownloadUpdatePkgTip", "networkProxy", "keyPlaceholder", "initRepoKeyTip",
"dataRepoPurge", "dataRepoPurgeTip", "dataRepoAutoPurgeIndexRetentionDays",
"dataRepoAutoPurgeRetentionIndexesDaily"]),
"dataRepoPurge", "dataRepoPurgeTip", "dataRepoAutoPurgeIndexRetentionDays", "dataRepoAutoPurgeRetentionIndexesDaily",
"vacuumDataIndex", "vacuumDataIndexTip", "rebuildDataIndex", "rebuildDataIndexTip"]),
];
const inputElement = element.querySelector(".b3-form__icon input") as HTMLInputElement;
/// #if !BROWSER

View file

@ -62,33 +62,31 @@ export const openSnippets = () => {
<div class="fn__flex-1" style="overflow:auto;padding: 16px 24px">
<div>
<div class="fn__flex">
<div class="fn__flex-1"></div>
<div class="b3-form__icon">
<div class="b3-form__icon fn__flex-1">
<svg class="b3-form__icon-icon"><use xlink:href="#iconSearch"></use></svg>
<input data-type="css" data-action="search" type="text" placeholder="${window.siyuan.languages.search}" class="b3-text-field b3-form__icon-input">
<input data-type="css" data-action="search" type="text" placeholder="${window.siyuan.languages.search}" class="b3-text-field b3-form__icon-input fn__block">
</div>
<div class="fn__space"></div>
<span aria-label="${window.siyuan.languages.addAttr} CSS" id="addCodeSnippetCSS" class="b3-tooltips b3-tooltips__sw block__icon block__icon--show">
<svg><use xlink:href="#iconAdd"></use></svg>
</span>
<div class="fn__space"></div>
<input data-action="toggleCSS" class="b3-switch b3-switch--side fn__flex-center" type="checkbox"${window.siyuan.config.snippet.enabledCSS ? " checked" : ""}>
<input data-action="toggleCSS" class="b3-switch fn__flex-center" type="checkbox"${window.siyuan.config.snippet.enabledCSS ? " checked" : ""}>
</div>
${cssHTML}
</div>
<div class="fn__none">
<div class="fn__flex">
<div class="fn__flex-1"></div>
<div class="b3-form__icon">
<div class="b3-form__icon fn__flex-1">
<svg class="b3-form__icon-icon"><use xlink:href="#iconSearch"></use></svg>
<input data-type="js" data-action="search" type="text" placeholder="${window.siyuan.languages.search}" class="b3-text-field b3-form__icon-input">
<input data-type="js" data-action="search" type="text" placeholder="${window.siyuan.languages.search}" class="b3-text-field b3-form__icon-input fn__block">
</div>
<div class="fn__space"></div>
<span aria-label="${window.siyuan.languages.addAttr} JS" id="addCodeSnippetJS" class="b3-tooltips b3-tooltips__sw block__icon block__icon--show">
<svg><use xlink:href="#iconAdd"></use></svg>
</span>
<div class="fn__space"></div>
<input data-action="toggleJS" class="b3-switch b3-switch--side fn__flex-center" type="checkbox"${window.siyuan.config.snippet.enabledJS ? " checked" : ""}>
<input data-action="toggleJS" class="b3-switch fn__flex-center" type="checkbox"${window.siyuan.config.snippet.enabledJS ? " checked" : ""}>
</div>
${jsHTML}
</div>
@ -114,13 +112,14 @@ export const openSnippets = () => {
dialog.element.setAttribute("data-key", Constants.DIALOG_SNIPPETS);
dialog.element.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
while (target && !target.isSameNode(dialog.element)) {
while (target && target !== dialog.element) {
if (target.id === "addCodeSnippetCSS" || target.id === "addCodeSnippetJS") {
target.parentElement.insertAdjacentHTML("afterend", genSnippet({
type: target.id === "addCodeSnippetCSS" ? "css" : "js",
name: "",
content: "",
enabled: false
enabled: false,
disabledInPublish: false,
}));
event.stopPropagation();
event.preventDefault();
@ -195,13 +194,19 @@ const genSnippet = (options: ISnippet) => {
<div class="fn__hr--b"></div>
<div class="fn__flex">
<input type="text" class="fn__size200 b3-text-field" placeholder="${window.siyuan.languages.title}">
<div class="fn__space"></div>
<label class="fn__flex${window.siyuan.config.publish.enable ? "" : " fn__none"}">
<input data-type="disabledInPublish" type="checkbox" class="b3-switch fn__flex-center" ${options.disabledInPublish ? "" : " checked"}>
<div class="fn__space"></div>
<span class="fn__flex-center">${window.siyuan.languages.publishService}</span>
</label>
<div class="fn__flex-1"></div>
<div class="fn__space"></div>
<span aria-label="${window.siyuan.languages.remove}" data-action="remove" class="b3-tooltips b3-tooltips__sw block__icon block__icon--show">
<svg><use xlink:href="#iconTrashcan"></use></svg>
</span>
<div class="fn__space"></div>
<input data-type="snippet" class="b3-switch b3-switch--side fn__flex-center" type="checkbox"${options.enabled ? " checked" : ""}>
<input data-type="snippet" class="b3-switch fn__flex-center" type="checkbox"${options.enabled ? " checked" : ""}>
</div>
<div class="fn__hr"></div>
<textarea class="fn__block b3-text-field" placeholder="${window.siyuan.languages.codeSnippet}" style="resize: vertical;font-family:var(--b3-font-family-code)" spellcheck="false"></textarea>
@ -229,11 +234,12 @@ const setSnippet = (dialog: Dialog, oldSnippets: ISnippet[], removeIds: string[]
const snippets: ISnippet[] = [];
dialog.element.querySelectorAll("[data-id]").forEach((item) => {
snippets.push({
disabledInPublish: !(item.querySelector('.b3-switch[data-type="disabledInPublish"]') as HTMLInputElement).checked,
id: item.getAttribute("data-id"),
name: item.querySelector("input").value,
type: item.getAttribute("data-type"),
content: item.querySelector("textarea").value,
enabled: (item.querySelector(".b3-switch") as HTMLInputElement).checked
enabled: (item.querySelector('.b3-switch[data-type="snippet"]') as HTMLInputElement).checked
});
});
if (objEquals(oldSnippets, snippets) &&

View file

@ -225,6 +225,7 @@ export abstract class Constants {
public static readonly DIALOG_SAVEWORKSPACE = "dialog-saveworkspace"; // 保存工作空间
// timeout
public static readonly TIMEOUT_OPENDIALOG = 50;
public static readonly TIMEOUT_DBLCLICK = 190;
public static readonly TIMEOUT_INPUT = 256;
public static readonly TIMEOUT_LOAD = 300;
@ -758,7 +759,7 @@ export abstract class Constants {
// common: "bash", "c", "csharp", "cpp", "css", "diff", "go", "xml", "json", "java", "javascript", "kotlin", "less", "lua", "makefile", "markdown", "objectivec", "php", "php-template", "perl", "plaintext", "python", "python-repl", "r", "ruby", "rust", "scss", "sql", "shell", "swift", "ini", "typescript", "vbnet", "yaml", "properties", "1c", "armasm", "avrasm", "actionscript", "ada", "angelscript", "accesslog", "apache", "applescript", "arcade", "arduino", "asciidoc", "aspectj", "abnf", "autohotkey", "autoit", "awk", "basic", "bnf", "dos", "brainfuck", "cal", "cmake", "csp", "cos", "capnproto", "ceylon", "clean", "clojure", "clojure-repl", "coffeescript", "coq", "crystal", "d", "dns", "dart", "delphi", "dts", "django", "dockerfile", "dust", "erb", "elixir", "elm", "erlang", "erlang-repl", "excel", "ebnf", "fsharp", "fix", "flix", "fortran", "gcode", "gams", "gauss", "glsl", "gml", "gherkin", "golo", "gradle", "groovy", "haml", "hsp", "http", "handlebars", "haskell", "haxe", "hy", "irpf90", "isbl", "inform7", "x86asm", "jboss-cli", "julia", "julia-repl", "ldif", "llvm", "lsl", "latex", "lasso", "leaf", "lisp", "livecodeserver", "livescript", "mel", "mipsasm", "matlab", "maxima", "mercury", "axapta", "routeros", "mizar", "mojolicious", "monkey", "moonscript", "n1ql", "nsis", "nestedtext", "nginx", "nim", "nix", "node-repl", "ocaml", "openscad", "ruleslanguage", "oxygene", "pf", "parser3", "pony", "pgsql", "powershell", "processing", "prolog", "protobuf", "puppet", "purebasic", "profile", "q", "qml", "reasonml", "rib", "rsl", "roboconf", "sas", "sml", "sqf", "step21", "scala", "scheme", "scilab", "smali", "smalltalk", "stan", "stata", "stylus", "subunit", "tp", "taggerscript", "tcl", "tap", "thrift", "twig", "vbscript", "vbscript-html", "vhdl", "vala", "verilog", "vim", "wasm", "mathematica", "wren", "xl", "xquery", "zephir", "crmsh", "dsconfig", "graphql",
// third: "yul", "solidity", "abap", "hlsl", "gdscript"
public static readonly ALIAS_CODE_LANGUAGES: string[] = [
"js", "ts", "html", "toml", "c#", "bat",
"js", "ts", "html", "toml", "c#", "bat"
];
public static readonly SIYUAN_RENDER_CODE_LANGUAGES: string[] = [
"abc", "plantuml", "mermaid", "flowchart", "echarts", "mindmap", "graphviz", "math"

View file

@ -25,7 +25,7 @@ export const confirmDialog = (title: string, text: string,
dialog.element.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
const isDispatch = typeof event.detail === "string";
while (target && !target.isSameNode(dialog.element) || isDispatch) {
while (target && target !== dialog.element || isDispatch) {
if (target.id === "cancelDialogConfirmBtn" || (isDispatch && event.detail=== "Escape")) {
if (cancel) {
cancel(dialog);

View file

@ -78,7 +78,7 @@ left:${left || "auto"};top:${top || "auto"}">
} else {
setTimeout(() => {
this.element.classList.add("b3-dialog--open");
});
}, Constants.TIMEOUT_OPENDIALOG);
}
/// #if !MOBILE
moveResize(this.element.querySelector(".b3-dialog__container"), options.resizeCallback);
@ -110,8 +110,9 @@ left:${left || "auto"};top:${top || "auto"}">
public bindInput(inputElement: HTMLInputElement | HTMLTextAreaElement, enterEvent?: () => void, bindEnter = true) {
inputElement.focus();
let timeStamp: number;
inputElement.addEventListener("keydown", (event: KeyboardEvent) => {
if (event.isComposing) {
if (event.isComposing || event.repeat) {
event.preventDefault();
return;
}
@ -122,6 +123,10 @@ left:${left || "auto"};top:${top || "auto"}">
return;
}
if (!event.shiftKey && isNotCtrl(event) && event.key === "Enter" && enterEvent && bindEnter) {
if (timeStamp && event.timeStamp - timeStamp < 124) {
return;
}
timeStamp = event.timeStamp;
enterEvent();
event.preventDefault();
event.stopPropagation();

View file

@ -3,8 +3,7 @@ import {Constants} from "../constants";
export const initMessage = () => {
const messageElement = document.getElementById("message");
messageElement.innerHTML = `<div class="fn__flex-1"></div>
<button class="b3-button ft__smaller fn__none">${window.siyuan.languages.clearMessage}</button>`;
messageElement.innerHTML = '<div class="fn__flex-1"></div>';
messageElement.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
while (target && !target.isEqualNode(messageElement)) {
@ -12,13 +11,6 @@ export const initMessage = () => {
hideMessage(target.parentElement.getAttribute("data-id"));
event.preventDefault();
break;
} else if (target.isSameNode(messageElement.lastElementChild)) {
target.parentElement.classList.remove("b3-snackbars--show");
setTimeout(() => {
target.parentElement.firstElementChild.innerHTML = "";
}, Constants.TIMEOUT_INPUT);
event.preventDefault();
break;
} else if (target.tagName === "A" || target.tagName === "BUTTON") {
break;
} else if (target.classList.contains("b3-snackbar")) {
@ -45,7 +37,7 @@ export const showMessage = (message: string, timeout = 6000, type = "info", mess
if (!messagesElement) {
let tempMessages = document.getElementById("tempMessage");
if (!tempMessages) {
document.body.insertAdjacentHTML("beforeend", `<div style="top: 22px;position: fixed;z-index: 100;right: 12px;line-height: 20px;word-break: break-word;display: flex;flex-direction: column;align-items: flex-end;"
document.body.insertAdjacentHTML("beforeend", `<div style="font-size: 14px;top: 22px;position: fixed;z-index: 100;right: 30px;line-height: 20px;word-break: break-word;display: flex;flex-direction: column;align-items: flex-end;"
id="tempMessage"></div>`);
tempMessages = document.getElementById("tempMessage");
}

View file

@ -386,7 +386,7 @@ export const transactionError = () => {
export const refreshFileTree = (cb?: () => void) => {
window.siyuan.storage[Constants.LOCAL_FILEPOSITION] = {};
setStorageVal(Constants.LOCAL_FILEPOSITION, window.siyuan.storage[Constants.LOCAL_FILEPOSITION]);
fetchPost("/api/filetree/refreshFiletree", {}, () => {
fetchPost("/api/system/rebuildDataIndex", {}, () => {
if (cb) {
cb();
}

View file

@ -240,7 +240,7 @@ export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", posi
const dynamicCurrentObj: IObject = {
color: "#d23f31",
lang: "",
date: "",
date: dayjs().format("YYYY-MM-DD"),
weekdayType: "1",
type: "1",
content: "SiYuan",
@ -268,7 +268,7 @@ export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", posi
<div class="emojis__tabheader">
<div data-type="tab-emoji" class="ariaLabel block__icon block__icon--show" aria-label="${window.siyuan.languages.emoji}"><svg><use xlink:href="#iconEmoji"></use></svg></div>
<div class="fn__space"></div>
<div data-type="tab-dynamic" class="ariaLabel block__icon block__icon--show" aria-label="${window.siyuan.languages.dynamicEmoji}"><svg><use xlink:href="#iconCalendar"></use></svg></div>
<div data-type="tab-dynamic" class="ariaLabel block__icon block__icon--show" aria-label="${window.siyuan.languages.dynamicIcon}"><svg><use xlink:href="#iconCalendar"></use></svg></div>
<div class="fn__flex-1"></div>
<span class="block__icon block__icon--show fn__flex-center ariaLabel" data-action="remove" aria-label="${window.siyuan.languages.remove}"><svg><use xlink:href="#iconTrashcan"></use></svg></span>
</div>
@ -334,6 +334,8 @@ export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", posi
<span class="fn__flex-center ft__on-surface" style="width: 89px">${window.siyuan.languages.date}</span>
<span class="fn__space--small"></span>
<input type="date" max="9999-12-31" class="b3-text-field fn__flex-1" value="${dynamicCurrentObj.date}"/>
<span class="fn__space--small"></span>
<span data-action="clearDate" class="ariaLabel block__icon block__icon--show" aria-label="${window.siyuan.languages.dynamicIconDateEmptyInfo}"><svg><use xlink:href="#iconTrashcan"></use></svg></span>
<span class="fn__space"></span>
</div>
<div class="fn__hr"></div>
@ -628,6 +630,10 @@ export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", posi
dynamicTextElements[0].value = target.getAttribute("style").replace("background-color:", "");
dynamicTextElements[0].dispatchEvent(new CustomEvent("input"));
break;
} else if ("clearDate" === target.dataset.action) {
dynamicDateElement.value = "";
dynamicDateElement.dispatchEvent(new CustomEvent("change"));
break;
}
target = target.parentElement;
}

View file

@ -16,7 +16,7 @@ export const historyKeydown = (event: KeyboardEvent, dialog: Dialog) => {
currentItem = items[items.length - 1];
} else {
items.find((item, index) => {
if (item.isSameNode(currentItem)) {
if (item === currentItem) {
if (event.key === "ArrowUp") {
if (index === 0) {
currentItem = items[items.length - 1];

View file

@ -128,7 +128,7 @@ export class Tab {
// 按 esc 取消的时候应该还原在 dragover 时交换的 tab
this.parent.children.forEach((item, index) => {
const currentElement = this.headElement.parentElement.children[index];
if (!item.headElement.isSameNode(currentElement)) {
if (item.headElement !== currentElement) {
if (index === 0) {
this.headElement.parentElement.firstElementChild.before(item.headElement);
} else {

View file

@ -170,7 +170,7 @@ export class Wnd {
if (!window.siyuan.currentDragOverTabHeadersElement) {
window.siyuan.currentDragOverTabHeadersElement = it;
} else {
if (!window.siyuan.currentDragOverTabHeadersElement.isSameNode(it)) {
if (window.siyuan.currentDragOverTabHeadersElement !== it) {
window.siyuan.currentDragOverTabHeadersElement.classList.remove("layout-tab-bars--drag");
window.siyuan.currentDragOverTabHeadersElement.querySelectorAll(".layout-tab-bar li[data-clone='true']").forEach(item => {
item.remove();
@ -220,7 +220,7 @@ export class Wnd {
return;
}
it.classList.remove("layout-tab-bars--drag");
if (!newTabHeaderElement.isSameNode(oldTabHeaderElement) &&
if (newTabHeaderElement !== oldTabHeaderElement &&
((oldTabHeaderElement.classList.contains("item--pin") && newTabHeaderElement.classList.contains("item--pin")) ||
(!oldTabHeaderElement.classList.contains("item--pin") && !newTabHeaderElement.classList.contains("item--pin")))) {
const rect = newTabHeaderElement.getClientRects()[0];
@ -816,7 +816,7 @@ export class Wnd {
if (item.headElement.classList.contains("item--focus")) {
let latestHeadElement: HTMLElement;
Array.from(item.headElement.parentElement.children).forEach((headItem: HTMLElement) => {
if (!headItem.isSameNode(item.headElement) &&
if (headItem !== item.headElement &&
headItem.style.maxWidth !== "0px" // 不对比已移除但还在动画效果中的元素 https://github.com/siyuan-note/siyuan/issues/7878
) {
if (!latestHeadElement) {

View file

@ -278,7 +278,7 @@ export class Backlink extends Model {
this.setFocus();
let target = event.target as HTMLElement;
while (target && !target.isEqualNode(this.element)) {
if (target.classList.contains("block__icon") && target.parentElement.parentElement.isSameNode(this.element)) {
if (target.classList.contains("block__icon") && target.parentElement.parentElement === this.element) {
const type = target.getAttribute("data-type");
switch (type) {
case "refresh":
@ -433,7 +433,7 @@ export class Backlink extends Model {
if (svgElement.classList.contains("b3-list-item__arrow--open")) {
svgElement.classList.remove("b3-list-item__arrow--open");
this.editors.find((item, index) => {
if (item.protyle.block.rootID === docId && liElement.nextElementSibling && item.protyle.element.isSameNode(liElement.nextElementSibling)) {
if (item.protyle.block.rootID === docId && liElement.nextElementSibling && item.protyle.element === liElement.nextElementSibling) {
item.destroy();
this.editors.splice(index, 1);
liElement.nextElementSibling.remove();
@ -458,6 +458,9 @@ export class Backlink extends Model {
liElement.after(editorElement);
const editor = new Protyle(this.app, editorElement, {
blockId: docId,
click: {
preventInsetEmptyBlock: true
},
backlinkData: isMention ? response.data.backmentions : response.data.backlinks,
render: {
background: false,

View file

@ -428,6 +428,7 @@ export class Files extends Model {
hideTooltip();
const liElement = hasClosestByTag(event.target, "LI");
if (liElement) {
this.parent.panelElement.classList.add("sy__file--disablehover");
let selectElements: Element[] = Array.from(this.element.querySelectorAll(".b3-list-item--focus"));
if (!liElement.classList.contains("b3-list-item--focus")) {
selectElements.forEach((item) => {
@ -464,6 +465,7 @@ export class Files extends Model {
}
});
this.element.addEventListener("dragend", () => {
this.parent.panelElement.classList.remove("sy__file--disablehover");
this.element.querySelectorAll(".b3-list-item--focus").forEach((item: HTMLElement, index) => {
item.style.opacity = "";
// https://github.com/siyuan-note/siyuan/issues/11587
@ -864,7 +866,7 @@ data-type="navigation-root" data-path="/">
}
window.siyuan.storage[Constants.LOCAL_FILESPATHS].forEach((item: IFilesPath) => {
item.openPaths.forEach((openPath) => {
this.selectItem(item.notebookId, openPath, undefined, false);
this.selectItem(item.notebookId, openPath, undefined, false, false);
});
});
if (!init) {
@ -1079,7 +1081,11 @@ data-type="navigation-root" data-path="/">
}, 2);
}
private onLsSelect(data: { files: IFile[], box: string, path: string }, filePath: string, setStorage: boolean) {
private async onLsSelect(data: {
files: IFile[],
box: string,
path: string
}, filePath: string, setStorage: boolean, isSetCurrent: boolean) {
let fileHTML = "";
data.files.forEach((item: IFile) => {
fileHTML += this.genFileHTML(item);
@ -1100,28 +1106,30 @@ data-type="navigation-root" data-path="/">
emojiElement.textContent = unicode2Emoji(window.siyuan.storage[Constants.LOCAL_IMAGES].folder);
}
liElement.insertAdjacentHTML("afterend", `<ul>${fileHTML}</ul>`);
data.files.forEach((item: IFile) => {
let newLiElement;
for (let i = 0; i < data.files.length; i++) {
const item = data.files[i];
if (filePath === item.path) {
this.selectItem(data.box, filePath, undefined, setStorage);
newLiElement = await this.selectItem(data.box, filePath, undefined, setStorage, isSetCurrent);
} else if (filePath.startsWith(item.path.replace(".sy", ""))) {
fetchPost("/api/filetree/listDocsByPath", {
const response = await fetchSyncPost("/api/filetree/listDocsByPath", {
notebook: data.box,
path: item.path
}, response => {
this.selectItem(response.data.box, filePath, response.data, setStorage);
});
newLiElement = await this.selectItem(response.data.box, filePath, response.data, setStorage, isSetCurrent);
}
});
if (setStorage) {
this.setCurrent(this.element.querySelector(`ul[data-url="${data.box}"] li[data-path="${filePath}"]`));
}
if (isSetCurrent) {
this.setCurrent(newLiElement);
}
return newLiElement;
}
private setCurrent(target: HTMLElement, isScroll = true) {
public setCurrent(target: HTMLElement, isScroll = true) {
if (!target) {
return;
}
this.element.querySelectorAll("li").forEach((liItem) => {
this.element.querySelectorAll("li.b3-list-item--focus").forEach((liItem) => {
liItem.classList.remove("b3-list-item--focus");
});
target.classList.add("b3-list-item--focus");
@ -1145,7 +1153,13 @@ data-type="navigation-root" data-path="/">
path: liElement.getAttribute("data-path"),
}, response => {
if (response.data.path === "/" && response.data.files.length === 0) {
showMessage(window.siyuan.languages.emptyContent);
newFile({
app: this.app,
notebookId,
currentPath: "/",
useSavePath: false,
listDocTree: true,
});
return;
}
this.onLsHTML(response.data);
@ -1153,11 +1167,11 @@ data-type="navigation-root" data-path="/">
});
}
public selectItem(notebookId: string, filePath: string, data?: {
public async selectItem(notebookId: string, filePath: string, data?: {
files: IFile[],
box: string,
path: string
}, setStorage = true) {
}, setStorage = true, isSetCurrent = true) {
const treeElement = this.element.querySelector(`[data-url="${notebookId}"]`);
if (!treeElement) {
// 有文件树和编辑器的布局初始化时,文件树还未挂载
@ -1179,24 +1193,24 @@ data-type="navigation-root" data-path="/">
if (liElement.getAttribute("data-path") === filePath) {
if (setStorage) {
this.setCurrent(liElement);
this.getOpenPaths();
} else {
this.element.querySelector(".b3-list-item--focus")?.classList.remove("b3-list-item--focus");
}
return;
if (isSetCurrent) {
this.setCurrent(liElement);
}
return liElement;
}
if (data && data.path === currentPath) {
this.onLsSelect(data, filePath, setStorage);
liElement = await this.onLsSelect(data, filePath, setStorage, isSetCurrent);
} else {
fetchPost("/api/filetree/listDocsByPath", {
const response = await fetchSyncPost("/api/filetree/listDocsByPath", {
notebook: notebookId,
path: currentPath
}, response => {
this.onLsSelect(response.data, filePath, setStorage);
});
liElement = await this.onLsSelect(response.data, filePath, setStorage, isSetCurrent);
}
return liElement;
}
private getOpenPaths() {

View file

@ -178,7 +178,7 @@ export class Outline extends Model {
break;
}
break;
} else if (this.blockId && (target.isSameNode(this.headerElement.nextElementSibling) || target.classList.contains("block__icons"))) {
} else if (this.blockId && (target === this.headerElement.nextElementSibling || target.classList.contains("block__icons"))) {
openFileById({
app: options.app,
id: this.blockId,
@ -269,7 +269,7 @@ export class Outline extends Model {
this.element.querySelectorAll(".dragover__top, .dragover__bottom, .dragover, .dragover__current").forEach(item => {
item.classList.remove("dragover__top", "dragover__bottom", "dragover", "dragover__current");
});
if (selectItem.isSameNode(item)) {
if (selectItem === item) {
selectItem.classList.add("dragover__current");
return;
}

View file

@ -186,13 +186,13 @@ export class Dock {
const targetItem = hasClosestByClassName(moveEvent.target as HTMLElement, "dock__item") ||
hasClosestByClassName(moveEvent.target as HTMLElement, "dock__items") as HTMLElement ||
hasClosestByClassName(moveEvent.target as HTMLElement, "dock__item--space") as HTMLElement;
if (targetItem && selectItem && targetItem.isSameNode(selectItem)) {
if (targetItem && selectItem && targetItem === selectItem) {
if (selectItem.classList.contains("dock__item--space")) {
const selectRect = selectItem.getBoundingClientRect();
if (selectItem.parentElement.id === "dockBottom") {
if (moveEvent.clientX < selectRect.right && moveEvent.clientX > selectRect.right - 40) {
const lastFirstElement = selectItem.nextElementSibling.firstElementChild;
if (lastFirstElement && lastFirstElement.isSameNode(item)) {
if (lastFirstElement && lastFirstElement === item) {
moveItem.classList.add("fn__none");
} else {
moveItem.classList.remove("fn__none");
@ -202,7 +202,7 @@ export class Dock {
} else {
if (moveEvent.clientY < selectRect.bottom && moveEvent.clientY > selectRect.bottom - 40) {
const lastFirstElement = selectItem.nextElementSibling.firstElementChild;
if (lastFirstElement && lastFirstElement.isSameNode(item)) {
if (lastFirstElement && lastFirstElement === item) {
moveItem.classList.add("fn__none");
} else {
moveItem.classList.remove("fn__none");
@ -211,7 +211,7 @@ export class Dock {
}
}
} else if (selectItem.classList.contains("dock__item--pin")) {
if (item.nextElementSibling?.isSameNode(selectItem)) {
if (item.nextElementSibling && item.nextElementSibling === selectItem) {
moveItem.classList.add("fn__none");
} else {
moveItem.classList.remove("fn__none");
@ -221,14 +221,14 @@ export class Dock {
const selectRect = selectItem.getBoundingClientRect();
if (selectItem.parentElement.parentElement.id === "dockBottom") {
if (selectRect.left + selectRect.width / 2 > moveEvent.clientX) {
if (item.nextElementSibling?.isSameNode(selectItem)) {
if (item.nextElementSibling && item.nextElementSibling === selectItem) {
moveItem.classList.add("fn__none");
} else {
moveItem.classList.remove("fn__none");
selectItem.before(moveItem);
}
} else {
if (item.previousElementSibling?.isSameNode(selectItem)) {
if (item.previousElementSibling && item.previousElementSibling === selectItem) {
moveItem.classList.add("fn__none");
} else {
moveItem.classList.remove("fn__none");
@ -237,14 +237,14 @@ export class Dock {
}
} else {
if (selectRect.top + selectRect.height / 2 > moveEvent.clientY) {
if (item.nextElementSibling?.isSameNode(selectItem)) {
if (item.nextElementSibling && item.nextElementSibling === selectItem) {
moveItem.classList.add("fn__none");
} else {
moveItem.classList.remove("fn__none");
selectItem.before(moveItem);
}
} else {
if (item.previousElementSibling?.isSameNode(selectItem)) {
if (item.previousElementSibling && item.previousElementSibling === selectItem) {
moveItem.classList.add("fn__none");
} else {
moveItem.classList.remove("fn__none");
@ -266,8 +266,8 @@ export class Dock {
}
return;
}
if (!targetItem || targetItem.style.position === "fixed" || targetItem.isSameNode(item) || targetItem.id === "dockMoveItem") {
if (targetItem && targetItem.isSameNode(item)) {
if (!targetItem || targetItem.style.position === "fixed" || (targetItem === item) || targetItem.id === "dockMoveItem") {
if (targetItem && targetItem === item) {
moveItem.classList.add("fn__none");
}
return;
@ -295,7 +295,7 @@ export class Dock {
} else if (moveItem.parentElement.parentElement.id === "dockRight") {
dock = window.siyuan.layout.rightDock;
}
dock.add(moveItem.parentElement.isSameNode(dock.element.firstElementChild) ? 0 : 1, item, moveItem.previousElementSibling?.getAttribute("data-type"));
dock.add(moveItem.parentElement === dock.element.firstElementChild ? 0 : 1, item, moveItem.previousElementSibling?.getAttribute("data-type"));
}
moveItem.remove();
};

View file

@ -134,6 +134,7 @@ export const initBar = (app: App) => {
window.siyuan.menus.menu.remove();
window.siyuan.menus.menu.element.setAttribute("data-name", "barmode");
window.siyuan.menus.menu.append(new MenuItem({
id: "themeLight",
label: window.siyuan.languages.themeLight,
icon: "iconLight",
current: window.siyuan.config.appearance.mode === 0 && !window.siyuan.config.appearance.modeOS,
@ -142,6 +143,7 @@ export const initBar = (app: App) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
id: "themeDark",
label: window.siyuan.languages.themeDark,
current: window.siyuan.config.appearance.mode === 1 && !window.siyuan.config.appearance.modeOS,
icon: "iconDark",
@ -150,6 +152,7 @@ export const initBar = (app: App) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
id: "themeOS",
label: window.siyuan.languages.themeOS,
current: window.siyuan.config.appearance.modeOS,
icon: "iconMode",

View file

@ -667,7 +667,9 @@ export const resizeTopBar = () => {
return;
}
const dragElement = toolbarElement.querySelector("#drag") as HTMLElement;
if (!dragElement) {
return;
}
dragElement.style.padding = "";
const barMoreElement = toolbarElement.querySelector("#barMore");
barMoreElement.classList.remove("fn__none");
@ -857,17 +859,17 @@ export const addResize = (obj: Layout | Wnd) => {
if (previousNowSize < 8 || nextNowSize < 8) {
return;
}
if (window.siyuan.layout.leftDock?.layout.element.isSameNode(previousElement) &&
if (window.siyuan.layout.leftDock && window.siyuan.layout.leftDock.layout.element === previousElement &&
previousNowSize < getMinSize(previousElement) &&
// https://github.com/siyuan-note/siyuan/issues/10506
previousNowSize < previousSize) {
return;
}
if (window.siyuan.layout.rightDock?.layout.element.isSameNode(nextElement) &&
if (window.siyuan.layout.rightDock && window.siyuan.layout.rightDock.layout.element === nextElement &&
nextNowSize < getMinSize(nextElement) && nextNowSize < nextSize) {
return;
}
if (window.siyuan.layout.bottomDock?.layout.element.isSameNode(nextElement) &&
if (window.siyuan.layout.bottomDock && window.siyuan.layout.bottomDock.layout.element === nextElement &&
nextNowSize < 64 && nextNowSize < nextSize) {
return;
}

View file

@ -42,7 +42,7 @@ export class Menu {
}
const subMenuElement = itemElement.querySelector(".b3-menu__submenu") as HTMLElement;
this.element.querySelectorAll(".b3-menu__item--show").forEach((item) => {
if (!item.contains(itemElement) && !item.isSameNode(itemElement) && !itemElement.contains(item)) {
if (!item.contains(itemElement) && item !== itemElement && !itemElement.contains(item)) {
item.classList.remove("b3-menu__item--show");
}
});

Some files were not shown because too many files have changed in this diff Show more