mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
Compare commits
911 commits
v3.2.1-dev
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f1c91863b9 | ||
![]() |
8a9e746891 | ||
![]() |
517f5c8453 | ||
![]() |
88431279bf | ||
![]() |
dc656d83a2 | ||
![]() |
b69fd04137 | ||
![]() |
ff909fa149 | ||
![]() |
bfe50d9009 | ||
![]() |
93422c134d | ||
![]() |
2f70ef43a1 | ||
![]() |
5f6ddb4655 | ||
![]() |
39c4b3325e | ||
![]() |
393c53941a | ||
![]() |
a4f03191fa | ||
![]() |
de9e648e9e | ||
![]() |
c1f14a33d9 | ||
![]() |
adca241ed5 | ||
![]() |
006da6bc90 | ||
![]() |
490234caab | ||
![]() |
80c357564d | ||
![]() |
6852a49620 | ||
![]() |
93591ad44e | ||
![]() |
6510d7dbf0 | ||
![]() |
29244a1f8c | ||
![]() |
a85467751f | ||
![]() |
14251d8dae | ||
![]() |
52a4815419 | ||
![]() |
45a6a190d0 | ||
![]() |
c1a4aa3128 | ||
![]() |
0fce405a05 | ||
![]() |
fe143bcb12 | ||
![]() |
0ad7c4cf23 | ||
![]() |
c326989391 | ||
![]() |
468b670bcc | ||
![]() |
4e4398ef47 | ||
![]() |
fc1cbf46aa | ||
![]() |
80cccd41b5 | ||
![]() |
68991a6aef | ||
![]() |
2a8b47b518 | ||
![]() |
8ad3cb00ad | ||
![]() |
c55c413365 | ||
![]() |
4767e399e2 | ||
![]() |
5ade06a3b6 | ||
![]() |
8ebb617072 | ||
![]() |
305bd9dfb0 | ||
![]() |
d2f990a830 | ||
![]() |
5775aa9734 | ||
![]() |
80f1c6c3ec | ||
![]() |
f220e3627f | ||
![]() |
1fb4ed980b | ||
![]() |
04bf9e9848 | ||
![]() |
9447f1c5a8 | ||
![]() |
afa74ebb4b | ||
![]() |
17a96ee1b1 | ||
![]() |
647204eee1 | ||
![]() |
4eb91f2e40 | ||
![]() |
d48e3d5211 | ||
![]() |
59265bfc94 | ||
![]() |
16913fb065 | ||
![]() |
65b52a2bc6 | ||
![]() |
ac6b1d6689 | ||
![]() |
7ae90058c3 | ||
![]() |
fdfd453e2b | ||
![]() |
0aa5624495 | ||
![]() |
0b3cef8964 | ||
![]() |
2c5d4d47a4 | ||
![]() |
3379d29e67 | ||
![]() |
ba95f45b92 | ||
![]() |
ed78e67af2 | ||
![]() |
ba10d96a10 | ||
![]() |
4d8bc1672c | ||
![]() |
e91a37a98b | ||
![]() |
f6bd240a85 | ||
![]() |
c08f88156f | ||
![]() |
74826fc0ce | ||
![]() |
e1bb9874be | ||
![]() |
2b85cb1b6c | ||
![]() |
cd8c3a41e6 | ||
![]() |
bdace41d97 | ||
![]() |
ea2294e901 | ||
![]() |
868c9d980a | ||
![]() |
2d53c81026 | ||
![]() |
6ff4439be3 | ||
![]() |
d47a8ffe02 | ||
![]() |
9410a70a2b | ||
![]() |
3c3f34442f | ||
![]() |
9dc6f56bff | ||
![]() |
22fdaa71ef | ||
![]() |
fd7dba5ed4 | ||
![]() |
d6a33c8c02 | ||
![]() |
6f2b8e47ae | ||
![]() |
aa47a93501 | ||
![]() |
0b33edd213 | ||
![]() |
fe3ee14417 | ||
![]() |
543ea20686 | ||
![]() |
f3358cc8b6 | ||
![]() |
356356d888 | ||
![]() |
78a7491173 | ||
![]() |
042768550d | ||
![]() |
cfb976eb89 | ||
![]() |
1e95b68df6 | ||
![]() |
f35a7f8892 | ||
![]() |
2f64492ee7 | ||
![]() |
125d18a0e1 | ||
![]() |
2738b9adb0 | ||
![]() |
d8bb794437 | ||
![]() |
91626c8fb5 | ||
![]() |
a5d268665d | ||
![]() |
a26c72d293 | ||
![]() |
8cefe5ce47 | ||
![]() |
04c46b3a56 | ||
![]() |
7b2e48d54e | ||
![]() |
8d2e3bfd20 | ||
![]() |
7f1f354d4e | ||
![]() |
b699675b97 | ||
![]() |
74dd8c631c | ||
![]() |
deb7c5c4fe | ||
![]() |
216308a511 | ||
![]() |
4b29bbcaf8 | ||
![]() |
56085829dd | ||
![]() |
c202671085 | ||
![]() |
ba2f7272ca | ||
![]() |
b371583899 | ||
![]() |
2de55d2e63 | ||
![]() |
afdd605dd1 | ||
![]() |
aeb478a6b8 | ||
![]() |
5c60e8d567 | ||
![]() |
7952fec7cb | ||
![]() |
50956851c8 | ||
![]() |
e015f72945 | ||
![]() |
22d34c755b | ||
![]() |
8a9a8e4548 | ||
![]() |
16d5055b09 | ||
![]() |
1cac4ae55b | ||
![]() |
b8bcf76f75 | ||
![]() |
be58df4d45 | ||
![]() |
3404395cfa | ||
![]() |
c8a3ec52d7 | ||
![]() |
698586bd4d | ||
![]() |
c287dd080b | ||
![]() |
4744429550 | ||
![]() |
ef0e29a6fd | ||
![]() |
cd65fa9d44 | ||
![]() |
d1f95b7df5 | ||
![]() |
74304e9cba | ||
![]() |
ab66716178 | ||
![]() |
3c8c096d83 | ||
![]() |
e4b2ffb188 | ||
![]() |
7a2e5782d8 | ||
![]() |
b51f283e35 | ||
![]() |
d60553983a | ||
![]() |
ee34905f13 | ||
![]() |
0c295a9177 | ||
![]() |
6c1156afc8 | ||
![]() |
c17a09d37e | ||
![]() |
a154ead980 | ||
![]() |
15f116f344 | ||
![]() |
1c57d0b696 | ||
![]() |
0a079a39ca | ||
![]() |
bf722a142a | ||
![]() |
3ba4985126 | ||
![]() |
c4770d4f88 | ||
![]() |
4fd57efd68 | ||
![]() |
f0f15673f0 | ||
![]() |
ff4d215f78 | ||
![]() |
2a4adf089f | ||
![]() |
810ea23bfd | ||
![]() |
0f087bf1e4 | ||
![]() |
c2ef8de766 | ||
![]() |
ca7e4ef503 | ||
![]() |
029a6bd78d | ||
![]() |
85a894a74d | ||
![]() |
138d6f57ee | ||
![]() |
23ed5c8627 | ||
![]() |
6e985a5013 | ||
![]() |
42633061fc | ||
![]() |
174a7befbe | ||
![]() |
1bc68efd3a | ||
![]() |
dcefed26eb | ||
![]() |
d684bb41b1 | ||
![]() |
d445163b2f | ||
![]() |
b5d47b9600 | ||
![]() |
2570a971a2 | ||
![]() |
a4f025a2c2 | ||
![]() |
4d07212fee | ||
![]() |
877e2c4334 | ||
![]() |
1017610ec8 | ||
![]() |
92447342b6 | ||
![]() |
7b995fd16c | ||
![]() |
b332574217 | ||
![]() |
3182f7abb8 | ||
![]() |
ca9427cc82 | ||
![]() |
e775d0b5f8 | ||
![]() |
2535a64ff1 | ||
![]() |
b2ad366da3 | ||
![]() |
bc08148dab | ||
![]() |
79a7f4e8e9 | ||
![]() |
838f3977db | ||
![]() |
210e44ec12 | ||
![]() |
0a729d7c1b | ||
![]() |
29ac895046 | ||
![]() |
55541f62b0 | ||
![]() |
8ccb1e4143 | ||
![]() |
662aaa6458 | ||
![]() |
86018c5f49 | ||
![]() |
e4f0e02177 | ||
![]() |
34360fb9e3 | ||
![]() |
8895613f8b | ||
![]() |
d0f350d215 | ||
![]() |
7e6752a8fb | ||
![]() |
1f3c3a53b4 | ||
![]() |
f92074f386 | ||
![]() |
58585356d6 | ||
![]() |
568cdb2f1b | ||
![]() |
7c23daab06 | ||
![]() |
e2d9010fca | ||
![]() |
39f965dca0 | ||
![]() |
b3ea067792 | ||
![]() |
72c9887439 | ||
![]() |
a26dc51b21 | ||
![]() |
202ccfa5cf | ||
![]() |
014ecca54c | ||
![]() |
af3220f241 | ||
![]() |
4a5237dbd0 | ||
![]() |
9457d55d14 | ||
![]() |
8889235bea | ||
![]() |
eb13c34fe5 | ||
![]() |
f3cc641005 | ||
![]() |
be5bf8978d | ||
![]() |
7300a4849c | ||
![]() |
7206fc107d | ||
![]() |
b715625d89 | ||
![]() |
28067deffa | ||
![]() |
ef5236e0b1 | ||
![]() |
161dd7eb2a | ||
![]() |
04fc8cfa97 | ||
![]() |
e98bb0a2d4 | ||
![]() |
1503363a7c | ||
![]() |
17924377ec | ||
![]() |
eb578a3d9d | ||
![]() |
3fafe0a1b6 | ||
![]() |
a5ca8efcae | ||
![]() |
77c1aa49b3 | ||
![]() |
e7eb62e660 | ||
![]() |
fb9f0f9a35 | ||
![]() |
91a9b27789 | ||
![]() |
9eec8510b7 | ||
![]() |
6b8bd6e8f2 | ||
![]() |
7d9c120a86 | ||
![]() |
920291d52b | ||
![]() |
39e2b7adf6 | ||
![]() |
e91b8e97f7 | ||
![]() |
d3e86ffcaa | ||
![]() |
ef643e60d7 | ||
![]() |
1b3e1b4efe | ||
![]() |
0a680d7d81 | ||
![]() |
8c9efebbe3 | ||
![]() |
73dce6c5c4 | ||
![]() |
fefb674fc0 | ||
![]() |
94f8fc5b71 | ||
![]() |
52fe742a8c | ||
![]() |
a475a77a3b | ||
![]() |
005ae241e9 | ||
![]() |
8aa8ad65f8 | ||
![]() |
c521a0f985 | ||
![]() |
cd7734ba91 | ||
![]() |
1e5f514225 | ||
![]() |
9d4ed40acd | ||
![]() |
ab32bb9027 | ||
![]() |
9993c2db4c | ||
![]() |
aa9e6fdf4c | ||
![]() |
c2075e6387 | ||
![]() |
9bb6f4d134 | ||
![]() |
ee95f9bf6f | ||
![]() |
eea13b713d | ||
![]() |
4beccf5b93 | ||
![]() |
ddec6c0820 | ||
![]() |
73300c8408 | ||
![]() |
b14f057a76 | ||
![]() |
8a6922b56f | ||
![]() |
c92240a085 | ||
![]() |
691ef04f62 | ||
![]() |
53c41561c8 | ||
![]() |
6007cf00b0 | ||
![]() |
00d80270a1 | ||
![]() |
ace97cbcf0 | ||
![]() |
0db4daf183 | ||
![]() |
e08004c59e | ||
![]() |
61d0e5a3d6 | ||
![]() |
312be8a019 | ||
![]() |
fa7ec5ab95 | ||
![]() |
365c1dfb19 | ||
![]() |
1d7a3abf28 | ||
![]() |
2058061bc3 | ||
![]() |
f4d11c59a2 | ||
![]() |
a857aaa11e | ||
![]() |
bd7e547ac0 | ||
![]() |
cd2b131dc9 | ||
![]() |
76266cac87 | ||
![]() |
980cf25745 | ||
![]() |
85800b8085 | ||
![]() |
be7ac73904 | ||
![]() |
1ce39eb85c | ||
![]() |
1fa16ccb86 | ||
![]() |
bc27681e38 | ||
![]() |
5077ed3b56 | ||
![]() |
4f073c85cd | ||
![]() |
c2ac34942b | ||
![]() |
e3df9ab316 | ||
![]() |
b6b5b20daa | ||
![]() |
83af400f65 | ||
![]() |
f8bccc2d9f | ||
![]() |
f74283f2a3 | ||
![]() |
9d7e0625ae | ||
![]() |
0e8d07ac4d | ||
![]() |
45c53b7da6 | ||
![]() |
4598e3237b | ||
![]() |
35de72f64d | ||
![]() |
4210dad5b0 | ||
![]() |
e451c1f60a | ||
![]() |
65fd1fafc9 | ||
![]() |
540fe7cfde | ||
![]() |
19c5a9952e | ||
![]() |
38e7992e1a | ||
![]() |
2c811c06d3 | ||
![]() |
aee4c64006 | ||
![]() |
e35b203201 | ||
![]() |
128b9d1f13 | ||
![]() |
3bd7c92710 | ||
![]() |
7a6cd95656 | ||
![]() |
b6df6b2cee | ||
![]() |
4a0c4506e8 | ||
![]() |
bbc788cfa5 | ||
![]() |
2899e3851d | ||
![]() |
e1fca0674d | ||
![]() |
8c3837deaa | ||
![]() |
bf3023ec48 | ||
![]() |
d1dc88c422 | ||
![]() |
a7ab91d509 | ||
![]() |
d4cc17c1c0 | ||
![]() |
089080c818 | ||
![]() |
f97dab787b | ||
![]() |
9ee427d567 | ||
![]() |
30bde33dd2 | ||
![]() |
93580cc27f | ||
![]() |
e746093a0f | ||
![]() |
8b21b8fd03 | ||
![]() |
c7c7bdb950 | ||
![]() |
6270d55fa3 | ||
![]() |
ed4cc1faf6 | ||
![]() |
7d91781e8c | ||
![]() |
599cf0cf46 | ||
![]() |
6803c6483e | ||
![]() |
557f4866d5 | ||
![]() |
916c00e714 | ||
![]() |
8934856d75 | ||
![]() |
752457b888 | ||
![]() |
aabb85d895 | ||
![]() |
6e6522d56a | ||
![]() |
f0f5b6a824 | ||
![]() |
1c3ebf7f75 | ||
![]() |
516d9aa52a | ||
![]() |
e7c90f4709 | ||
![]() |
ca59b5f64c | ||
![]() |
6e590f2733 | ||
![]() |
462469c490 | ||
![]() |
dc90d05086 | ||
![]() |
6564f0e138 | ||
![]() |
4cd439b771 | ||
![]() |
05f48e93d1 | ||
![]() |
4ec53db203 | ||
![]() |
ae9f936f81 | ||
![]() |
5a6b764ed4 | ||
![]() |
6a814abeb9 | ||
![]() |
eb7066ff3e | ||
![]() |
3dcda6b2e2 | ||
![]() |
91b12ef67f | ||
![]() |
ae54b3edc0 | ||
![]() |
69737d6c4b | ||
![]() |
2b3405fcca | ||
![]() |
1a6b80b5af | ||
![]() |
2ddff2a5d3 | ||
![]() |
1c6538bf97 | ||
![]() |
f084f3d34f | ||
![]() |
1b9b7e1c83 | ||
![]() |
699afec920 | ||
![]() |
dd3f5cfacf | ||
![]() |
f5468fead9 | ||
![]() |
57ac3a6687 | ||
![]() |
30b5473c76 | ||
![]() |
91207ba529 | ||
![]() |
04351d74bc | ||
![]() |
b78616382b | ||
![]() |
c9a68c7b1d | ||
![]() |
5e74bb89b9 | ||
![]() |
176308d7d2 | ||
![]() |
b78e2edfb8 | ||
![]() |
cd10072554 | ||
![]() |
1712d4be68 | ||
![]() |
c2d127d8f7 | ||
![]() |
8739ae5625 | ||
![]() |
c3a9b0f77b | ||
![]() |
085c72add5 | ||
![]() |
780a7decd8 | ||
![]() |
5efe525e3c | ||
![]() |
3e033079bd | ||
![]() |
8436c07a1a | ||
![]() |
3d1d0c6def | ||
![]() |
e0f1f789c3 | ||
![]() |
7595477257 | ||
![]() |
6a9eb455fc | ||
![]() |
d1b2309e4a | ||
![]() |
5abc9c31b0 | ||
![]() |
469d9e24db | ||
![]() |
bce519ae99 | ||
![]() |
c64214e754 | ||
![]() |
8a2aafcad4 | ||
![]() |
e4cb124ffd | ||
![]() |
e51e6d5662 | ||
![]() |
6a0c0f8e1e | ||
![]() |
d7c58357ea | ||
![]() |
de670dfa8a | ||
![]() |
6c3138b8bd | ||
![]() |
8d1693bd9b | ||
![]() |
db59bdf562 | ||
![]() |
34f1f6a3d4 | ||
![]() |
17b5e9acdc | ||
![]() |
418959d44a | ||
![]() |
68af39ba48 | ||
![]() |
dc39e18fc1 | ||
![]() |
e6a88e2ad2 | ||
![]() |
18377d0e9f | ||
![]() |
52cd7d0bfa | ||
![]() |
94d37ae47e | ||
![]() |
1b9013ed0e | ||
![]() |
be05b324d1 | ||
![]() |
0f48f94704 | ||
![]() |
83e6f5d664 | ||
![]() |
34b44dc558 | ||
![]() |
97f74ea172 | ||
![]() |
7f004877ca | ||
![]() |
8ba02f517c | ||
![]() |
ff077158dc | ||
![]() |
bcbd895303 | ||
![]() |
98a9635dd3 | ||
![]() |
b1c0365e56 | ||
![]() |
5becccc176 | ||
![]() |
7e11be9d25 | ||
![]() |
c9530ea1c2 | ||
![]() |
1136c1c493 | ||
![]() |
120b0c1e57 | ||
![]() |
e103b5c2f0 | ||
![]() |
1edd35029e | ||
![]() |
ec15f672c3 | ||
![]() |
a30f229ade | ||
![]() |
729fe0674f | ||
![]() |
9a9e3aaba3 | ||
![]() |
8ddac77915 | ||
![]() |
7b3ac79d78 | ||
![]() |
62dbc08b9a | ||
![]() |
52e748ef17 | ||
![]() |
135dd9889c | ||
![]() |
44831e464c | ||
![]() |
e290d2a3fc | ||
![]() |
fec603487b | ||
![]() |
2d774f1cef | ||
![]() |
c3cd7b96a0 | ||
![]() |
aeef9aef1d | ||
![]() |
7d5ef46fd4 | ||
![]() |
23c6843803 | ||
![]() |
c7745e3092 | ||
![]() |
f15aca19d7 | ||
![]() |
9e46eec911 | ||
![]() |
9fb2f55979 | ||
![]() |
bbe2001366 | ||
![]() |
e9afbb6931 | ||
![]() |
93fdc69bec | ||
![]() |
c3c467e3ee | ||
![]() |
1479cb6c00 | ||
![]() |
e871f4913f | ||
![]() |
31667b0964 | ||
![]() |
7b8d163723 | ||
![]() |
c640bfd91b | ||
![]() |
7ac0491a70 | ||
![]() |
ffafbae979 | ||
![]() |
d47417a903 | ||
![]() |
ac948ad3fb | ||
![]() |
a88d23f461 | ||
![]() |
93b5ca14c4 | ||
![]() |
ff29ab920b | ||
![]() |
7bd690ecec | ||
![]() |
334e80f8d5 | ||
![]() |
2f847b73ba | ||
![]() |
62fe52fa47 | ||
![]() |
8bcb5de0c3 | ||
![]() |
2d8b6c6edb | ||
![]() |
5a1c885e76 | ||
![]() |
a664fe7f07 | ||
![]() |
73b80d3c82 | ||
![]() |
ae3f6b906f | ||
![]() |
2b19d903b4 | ||
![]() |
35813e4b2a | ||
![]() |
9df352efdb | ||
![]() |
3de6b66f0c | ||
![]() |
1eb824ef8e | ||
![]() |
1247f6735b | ||
![]() |
548ae028cc | ||
![]() |
0220f38d94 | ||
![]() |
4154fd0150 | ||
![]() |
a0e98ea35d | ||
![]() |
0deda92cac | ||
![]() |
22ba714020 | ||
![]() |
fcd44f41da | ||
![]() |
ac37d580f6 | ||
![]() |
2cd76dc288 | ||
![]() |
7b358cfaa3 | ||
![]() |
de8eb72393 | ||
![]() |
aaf1d9896a | ||
![]() |
f2afd11a84 | ||
![]() |
86e4228a3c | ||
![]() |
2415c7a81c | ||
![]() |
f05a8b5d4e | ||
![]() |
97684b411a | ||
![]() |
207eb6b086 | ||
![]() |
9e72b8d91e | ||
![]() |
d75fac21aa | ||
![]() |
a31e79001e | ||
![]() |
7e7acf27cf | ||
![]() |
f0280bc537 | ||
![]() |
d7aa181eb9 | ||
![]() |
087d2522fe | ||
![]() |
7b1b36d3ab | ||
![]() |
51766ed0c0 | ||
![]() |
96346a94ad | ||
![]() |
c1682895ef | ||
![]() |
c6f91f09c6 | ||
![]() |
8754e8e5fd | ||
![]() |
7d478190bb | ||
![]() |
a9c2ae7351 | ||
![]() |
8ca9f119d0 | ||
![]() |
e6decd35cc | ||
![]() |
ca4a8fac64 | ||
![]() |
a783a3d26e | ||
![]() |
2f6b5861ec | ||
![]() |
5bd101e31b | ||
![]() |
3f9c7db2d3 | ||
![]() |
362e1536ba | ||
![]() |
6c88dcd087 | ||
![]() |
eba15bb41a | ||
![]() |
580ecd617d | ||
![]() |
7b3acc642c | ||
![]() |
a76c29f5c9 | ||
![]() |
e9b41d881c | ||
![]() |
02196ef3d1 | ||
![]() |
07bc33cac7 | ||
![]() |
7b95da0740 | ||
![]() |
41b8271c5d | ||
![]() |
ec7ca366ba | ||
![]() |
a01c44a03d | ||
![]() |
eb524b2e72 | ||
![]() |
72373ccff9 | ||
![]() |
36c7a99311 | ||
![]() |
e179a0a200 | ||
![]() |
5ad8b148a5 | ||
![]() |
30802ca97f | ||
![]() |
9f5f5e128b | ||
![]() |
90296016e3 | ||
![]() |
8b4e53d65d | ||
![]() |
eee43ae107 | ||
![]() |
694e84bcb4 | ||
![]() |
6f132842a7 | ||
![]() |
683ba32918 | ||
![]() |
b40f8c898a | ||
![]() |
dae0cd0608 | ||
![]() |
f5a36b9459 | ||
![]() |
a5166bea39 | ||
![]() |
851bc1750f | ||
![]() |
d3a3b5e7e4 | ||
![]() |
0309225ccc | ||
![]() |
634a211a7a | ||
![]() |
fc4938829f | ||
![]() |
0239128a29 | ||
![]() |
2c8d9757df | ||
![]() |
4855b522e3 | ||
![]() |
ffad6048fd | ||
![]() |
f56ef490b1 | ||
![]() |
99fca2f716 | ||
![]() |
c2c927ecc2 | ||
![]() |
1d8c020aa7 | ||
![]() |
fe6fae1cdb | ||
![]() |
aecd230a61 | ||
![]() |
2b4067df9a | ||
![]() |
a0fb8d694f | ||
![]() |
0bea81578f | ||
![]() |
4d78010ee5 | ||
![]() |
ac3f7e272f | ||
![]() |
3fda003401 | ||
![]() |
0d3a2479cb | ||
![]() |
3d9b0bfa6f | ||
![]() |
377f78ec66 | ||
![]() |
d86f20bcdb | ||
![]() |
f4ad69faa9 | ||
![]() |
10f31a9274 | ||
![]() |
b8c10bb718 | ||
![]() |
4a23e40561 | ||
![]() |
92265f95c9 | ||
![]() |
00d559f9d9 | ||
![]() |
f2dda8b389 | ||
![]() |
bc16cd658f | ||
![]() |
d67a041633 | ||
![]() |
f6694810e2 | ||
![]() |
511c174e65 | ||
![]() |
0b1cb34fea | ||
![]() |
05a78c7cea | ||
![]() |
d01dcad956 | ||
![]() |
6b79e543a4 | ||
![]() |
3d0068f3fb | ||
![]() |
d782689572 | ||
![]() |
fadd3c2120 | ||
![]() |
f4699c9fad | ||
![]() |
34647490f2 | ||
![]() |
6c0eed5d09 | ||
![]() |
3c6ce60525 | ||
![]() |
10f408513d | ||
![]() |
69068b0c78 | ||
![]() |
501f657f7c | ||
![]() |
6ce0cbb0cb | ||
![]() |
3b505a20f2 | ||
![]() |
8b383d09a5 | ||
![]() |
827eb214bf | ||
![]() |
e6243664a3 | ||
![]() |
b1f4443e5f | ||
![]() |
7ac5b0010d | ||
![]() |
e2114dffd8 | ||
![]() |
11f7ad6a70 | ||
![]() |
d3ec7aa4bb | ||
![]() |
8d593833ab | ||
![]() |
037619368a | ||
![]() |
3afaa2551e | ||
![]() |
9098b3f874 | ||
![]() |
5d4ef9890f | ||
![]() |
eeb0551230 | ||
![]() |
0ab9f5c5b0 | ||
![]() |
3f8777be96 | ||
![]() |
0e5e32126b | ||
![]() |
5690081332 | ||
![]() |
34e3dfe479 | ||
![]() |
1549bd3f9f | ||
![]() |
83800a7ff1 | ||
![]() |
ee957ff9e2 | ||
![]() |
35d60162d1 | ||
![]() |
adfbe0b452 | ||
![]() |
bf465e5bbf | ||
![]() |
3caeeaf29d | ||
![]() |
9c99c6f8ef | ||
![]() |
bb989bcb35 | ||
![]() |
2f01f3224d | ||
![]() |
dc765676aa | ||
![]() |
f17288d1ca | ||
![]() |
ae42686ad4 | ||
![]() |
7a80c48977 | ||
![]() |
aafae43a9f | ||
![]() |
1c8d1871dc | ||
![]() |
ed2898a942 | ||
![]() |
8e182e803c | ||
![]() |
ca6088ac36 | ||
![]() |
a717029b84 | ||
![]() |
d9a3d2b150 | ||
![]() |
5fbc57a55a | ||
![]() |
564117575a | ||
![]() |
d115103f10 | ||
![]() |
fedc074ade | ||
![]() |
25678e401f | ||
![]() |
432d8547cc | ||
![]() |
dba61a299c | ||
![]() |
eee6bd074c | ||
![]() |
46f81b93ed | ||
![]() |
f1bf15146a | ||
![]() |
95a5b46800 | ||
![]() |
ef80bbd230 | ||
![]() |
621bee1f14 | ||
![]() |
3b41b73367 | ||
![]() |
f1feaf603e | ||
![]() |
11d2741e68 | ||
![]() |
65a6145545 | ||
![]() |
deb781023a | ||
![]() |
b78ef33135 | ||
![]() |
8695d86cf1 | ||
![]() |
141c139782 | ||
![]() |
75ff695dc9 | ||
![]() |
2b9a2df233 | ||
![]() |
9a89a0eb4c | ||
![]() |
77ead023f8 | ||
![]() |
30dbbf1231 | ||
![]() |
561d4cc891 | ||
![]() |
be684aee76 | ||
![]() |
27f412658b | ||
![]() |
381a7b88ff | ||
![]() |
d0f2fd173d | ||
![]() |
a90df6841c | ||
![]() |
61bc821754 | ||
![]() |
b126d34dde | ||
![]() |
03b83d1247 | ||
![]() |
167cce0a05 | ||
![]() |
309a9995d8 | ||
![]() |
a088cf8706 | ||
![]() |
857a795189 | ||
![]() |
022a4e7d23 | ||
![]() |
08b952f272 | ||
![]() |
55bc708582 | ||
![]() |
16d3b65b2a | ||
![]() |
211648b95e | ||
![]() |
3d7191b13d | ||
![]() |
0203a482b3 | ||
![]() |
1b384980dc | ||
![]() |
ab92cbc184 | ||
![]() |
459a35d0b3 | ||
![]() |
e4959774e8 | ||
![]() |
de55ea9315 | ||
![]() |
9e7426a6f4 | ||
![]() |
2a07997ba2 | ||
![]() |
c222e0d6f7 | ||
![]() |
a105227e65 | ||
![]() |
7569fec509 | ||
![]() |
1fd3f92137 | ||
![]() |
9da208ec52 | ||
![]() |
2f57e57b92 | ||
![]() |
b358d4b70f | ||
![]() |
f0ff16c60a | ||
![]() |
692665f100 | ||
![]() |
78c3479fc3 | ||
![]() |
789aed4aee | ||
![]() |
842dbb6863 | ||
![]() |
48933e62f3 | ||
![]() |
009a68aa7e | ||
![]() |
2994969286 | ||
![]() |
449b537104 | ||
![]() |
4554182d87 | ||
![]() |
227802b83c | ||
![]() |
95dfaea666 | ||
![]() |
f44f9dd5c0 | ||
![]() |
feef48d624 | ||
![]() |
bf9721bf40 | ||
![]() |
ba3bf8705e | ||
![]() |
8dd1585adb | ||
![]() |
c64d68c71d | ||
![]() |
548857dc4b | ||
![]() |
287edba74c | ||
![]() |
b138ff9d7f | ||
![]() |
1b07033cd3 | ||
![]() |
e575324483 | ||
![]() |
a6f5705681 | ||
![]() |
1af2dba150 | ||
![]() |
99a5d4c214 | ||
![]() |
008cce474a | ||
![]() |
445a738e74 | ||
![]() |
89f32a43f7 | ||
![]() |
77fd025a04 | ||
![]() |
18c6e7bcdc | ||
![]() |
2ce3f00724 | ||
![]() |
1a918dd946 | ||
![]() |
df73431112 | ||
![]() |
10364e281f | ||
![]() |
f91e87b953 | ||
![]() |
62288da3d9 | ||
![]() |
fa2ec80cb1 | ||
![]() |
8dac657846 | ||
![]() |
f7cb4db291 | ||
![]() |
1812e84219 | ||
![]() |
05e495406d | ||
![]() |
446c81cf80 | ||
![]() |
36b2299206 | ||
![]() |
7906e8f516 | ||
![]() |
396450a2ec | ||
![]() |
155b2de260 | ||
![]() |
99cf987465 | ||
![]() |
f7d28dc1de | ||
![]() |
0816925e76 | ||
![]() |
49d233d92a | ||
![]() |
81644059ac | ||
![]() |
e758739116 | ||
![]() |
4694a8c6c1 | ||
![]() |
400153319e | ||
![]() |
75b2ccfe82 | ||
![]() |
4ccdd38de0 | ||
![]() |
425882cda0 | ||
![]() |
99ad5a0f77 | ||
![]() |
a9a453e144 | ||
![]() |
0f2e044c7e | ||
![]() |
9a72ef1472 | ||
![]() |
08af24ae9e | ||
![]() |
f970f5c848 | ||
![]() |
15a17393b3 | ||
![]() |
cf0467a7ac | ||
![]() |
e91a8b0619 | ||
![]() |
d0662b5fde | ||
![]() |
ff539bab03 | ||
![]() |
21acf690e7 | ||
![]() |
6d7637850a | ||
![]() |
fd89e77f37 | ||
![]() |
9e819955ef | ||
![]() |
cd7c6fdb17 | ||
![]() |
48c64f98f4 | ||
![]() |
cff71aa720 | ||
![]() |
759c12be06 | ||
![]() |
fc67bcc9e8 | ||
![]() |
ccbcb4b809 | ||
![]() |
7308536ded | ||
![]() |
de8da071d0 | ||
![]() |
a9f5cac024 | ||
![]() |
33d25372f7 | ||
![]() |
cf6c905930 | ||
![]() |
3cb666d397 | ||
![]() |
d555eec852 | ||
![]() |
7c692e8273 | ||
![]() |
9d392bd663 | ||
![]() |
7476372054 | ||
![]() |
3e0d825437 | ||
![]() |
19485ca720 | ||
![]() |
829fc886d4 | ||
![]() |
7136967a73 | ||
![]() |
ed302633f6 | ||
![]() |
9ea5b148c7 | ||
![]() |
e1471ff585 | ||
![]() |
a76a520996 | ||
![]() |
04587ca695 | ||
![]() |
ddb20a368d | ||
![]() |
e492c973ac | ||
![]() |
f1f363d77b | ||
![]() |
3c0933beac | ||
![]() |
59d8db4f24 | ||
![]() |
9cf009d9d9 | ||
![]() |
2eadefed6f | ||
![]() |
cbbca634f5 | ||
![]() |
49dd247b8a | ||
![]() |
01a2e07dcc | ||
![]() |
45aee043c8 | ||
![]() |
da5f4bb42c | ||
![]() |
382cd6a8af | ||
![]() |
70d4af6e7c | ||
![]() |
5f91cffc4d | ||
![]() |
582cce1b92 | ||
![]() |
70741fffcc | ||
![]() |
7787ac6e1d | ||
![]() |
b15489a4cf | ||
![]() |
0e8ce9ddf9 | ||
![]() |
e7a8a9906e | ||
![]() |
06139eb3cc | ||
![]() |
33a1bedb41 | ||
![]() |
49cc87381c | ||
![]() |
526bd76c4c | ||
![]() |
0c0d02c6a6 | ||
![]() |
8cb40edce3 | ||
![]() |
acc2ba1cea | ||
![]() |
9ae527c9a5 | ||
![]() |
917a5125af | ||
![]() |
262957d4de | ||
![]() |
f3427dcf5f | ||
![]() |
accf89a5ca | ||
![]() |
c726af0494 | ||
![]() |
94c70ae638 | ||
![]() |
ddba6b1fd8 | ||
![]() |
cbddce4d25 | ||
![]() |
0d5320f08b | ||
![]() |
9d4c47ee87 | ||
![]() |
c5bfa68058 | ||
![]() |
0abbe9ec21 | ||
![]() |
61d08370dc | ||
![]() |
2c5ea4bb45 | ||
![]() |
0d3978f407 | ||
![]() |
546742b43c | ||
![]() |
9480403d2f | ||
![]() |
bfc0daf6e5 | ||
![]() |
c339d1b9bc | ||
![]() |
10fa284a1b | ||
![]() |
10a760b97a | ||
![]() |
684286fc8a | ||
![]() |
54f2d8599e | ||
![]() |
fc2e1030a5 | ||
![]() |
abcd7b3157 | ||
![]() |
81b511042c | ||
![]() |
a89a2000f3 | ||
![]() |
534ad7a8cf | ||
![]() |
be3db79688 | ||
![]() |
963cbfe15f | ||
![]() |
508eb93183 | ||
![]() |
c88f99646c | ||
![]() |
a730a575d5 | ||
![]() |
76e1a4b169 | ||
![]() |
69987028ae | ||
![]() |
76e4aad584 | ||
![]() |
5f0f4e3ba6 | ||
![]() |
221abe81e6 | ||
![]() |
bcc7a5fa03 | ||
![]() |
5bee4bc29a | ||
![]() |
03d27d60e4 | ||
![]() |
513aadb9d5 | ||
![]() |
5d229eb589 | ||
![]() |
0394521e1f | ||
![]() |
f28ccd64b5 | ||
![]() |
8befb8d691 | ||
![]() |
b2d003aeff | ||
![]() |
b1a04d67d9 | ||
![]() |
0019a6d8d4 | ||
![]() |
f61a0d6f85 | ||
![]() |
28684f688b | ||
![]() |
385cc3b8e3 | ||
![]() |
7a64af1e88 | ||
![]() |
09f5569663 | ||
![]() |
6e838bb91a | ||
![]() |
38a7bf03bc |
260 changed files with 14773 additions and 6257 deletions
8
.github/CONTRIBUTING.md
vendored
8
.github/CONTRIBUTING.md
vendored
|
@ -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`
|
||||
|
||||
|
|
8
.github/CONTRIBUTING_zh_CN.md
vendored
8
.github/CONTRIBUTING_zh_CN.md
vendored
|
@ -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
2
API.md
|
@ -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
|
||||
|
|
|
@ -478,7 +478,7 @@
|
|||
```
|
||||
|
||||
* `fromIDs`:源文档 ID
|
||||
* `toID`:目标父文档 ID
|
||||
* `toID`:目标父文档 ID 或笔记本 ID
|
||||
* 返回值
|
||||
|
||||
```json
|
||||
|
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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": "حقل غير مسمى"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 today’s 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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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, l’icô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 s’est 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 : 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.",
|
||||
"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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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": "שדה ללא שם"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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": "未命名フィールド"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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": "Неименованное поле"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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": "未命名欄位"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'><span style=\"color: #fff;background-color: black;padding: 4px;border-radius: 5px;float:right;\">SiYuan</span></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": "未命名字段"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
||||
|
|
|
@ -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)
|
||||
|
|
79
app/changelogs/v3.2.x/v3.2.1/v3.2.1.md
Normal file
79
app/changelogs/v3.2.x/v3.2.1/v3.2.1.md
Normal 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)
|
79
app/changelogs/v3.2.x/v3.2.1/v3.2.1_zh_CHT.md
Normal file
79
app/changelogs/v3.2.x/v3.2.1/v3.2.1_zh_CHT.md
Normal 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)
|
79
app/changelogs/v3.2.x/v3.2.1/v3.2.1_zh_CN.md
Normal file
79
app/changelogs/v3.2.x/v3.2.1/v3.2.1_zh_CN.md
Normal 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)
|
93
app/changelogs/v3.3.0/v3.3.0.md
Normal file
93
app/changelogs/v3.3.0/v3.3.0.md
Normal 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)
|
93
app/changelogs/v3.3.0/v3.3.0_zh_CHT.md
Normal file
93
app/changelogs/v3.3.0/v3.3.0_zh_CHT.md
Normal 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)
|
93
app/changelogs/v3.3.0/v3.3.0_zh_CN.md
Normal file
93
app/changelogs/v3.3.0/v3.3.0_zh_CN.md
Normal 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)
|
49
app/changelogs/v3.3.1/v3.3.1.md
Normal file
49
app/changelogs/v3.3.1/v3.3.1.md
Normal 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)
|
49
app/changelogs/v3.3.1/v3.3.1_zh_CHT.md
Normal file
49
app/changelogs/v3.3.1/v3.3.1_zh_CHT.md
Normal 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)
|
49
app/changelogs/v3.3.1/v3.3.1_zh_CN.md
Normal file
49
app/changelogs/v3.3.1/v3.3.1_zh_CN.md
Normal 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)
|
48
app/changelogs/v3.3.2/v3.3.2.md
Normal file
48
app/changelogs/v3.3.2/v3.3.2.md
Normal 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)
|
48
app/changelogs/v3.3.2/v3.3.2_zh_CHT.md
Normal file
48
app/changelogs/v3.3.2/v3.3.2_zh_CHT.md
Normal 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)
|
48
app/changelogs/v3.3.2/v3.3.2_zh_CN.md
Normal file
48
app/changelogs/v3.3.2/v3.3.2_zh_CN.md
Normal 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)
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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": "```"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -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."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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": "."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -3818,7 +3818,7 @@
|
|||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "代码块中使用时仅选中代码块中的内容"
|
||||
"Data": "连续按下两次以选中文档中所有已加载的内容块;代码块中使用时仅选中代码块中的内容"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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": "```"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -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": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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": "。"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -3808,7 +3808,7 @@
|
|||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "代碼塊中使用時僅選中代碼塊中的內容"
|
||||
"Data": "連續按下兩次以選中文檔中所有已加載的內容塊;代碼塊中使用時僅選中代碼塊中的內容"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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": "。"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -3775,7 +3775,7 @@
|
|||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "コードブロックではコードのみが選択されます"
|
||||
"Data": "文書内のすべてのロード済みコンテンツブロックを選択するにはダブルプレスしてください;コードブロックではコードのみが選択されます"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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": " から、定期的にインデックスを最適化することをお勧めします。"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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
1088
app/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load diff
|
@ -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);
|
||||
|
|
|
@ -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>`;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,14 @@
|
|||
&[data-type="select"] {
|
||||
padding-left: 6px;
|
||||
}
|
||||
|
||||
span.b3-menu__avemoji {
|
||||
line-height: 26px;
|
||||
|
||||
img {
|
||||
margin-top: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__avheader {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -29,6 +29,11 @@
|
|||
&:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
svg, img {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
&__graphic {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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[] = [];
|
||||
|
|
|
@ -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}"]`);
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = "";
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -263,6 +263,7 @@ export const appearance = {
|
|||
});
|
||||
return;
|
||||
}
|
||||
|
||||
window.siyuan.config.appearance = data;
|
||||
if (appearance.element) {
|
||||
const modeElement = appearance.element.querySelector("#mode") as HTMLSelectElement;
|
||||
|
|
|
@ -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 => {
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) &&
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
};
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue