Compare commits
1695 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eae88d1cee | ||
|
|
4b40f3af0d | ||
|
|
34011b5d01 | ||
|
|
575c226a98 | ||
|
|
6b52d32ac1 | ||
|
|
b268277d9b | ||
|
|
65ebdcdd8a | ||
|
|
93122e6032 | ||
|
|
25616ee8ce | ||
|
|
c5596ba0ad | ||
|
|
9af579f9fd | ||
|
|
a7c4f92e9a | ||
|
|
0de9223c4f | ||
|
|
0d1c73d1df | ||
|
|
f626cf0837 | ||
|
|
b244b611b3 | ||
|
|
25f416b1fa | ||
|
|
67518be5ca | ||
|
|
1e91472b12 | ||
|
|
176a54d5be | ||
|
|
004a059504 | ||
|
|
90c5062fc7 | ||
|
|
fbba6c320b | ||
|
|
bba37676ad | ||
|
|
ef8c8d83b0 | ||
|
|
7c348b899a | ||
|
|
4687e8ba9d | ||
|
|
3eca53d1dc | ||
|
|
b142cd7fd4 | ||
|
|
f4d7795f1c | ||
|
|
386796a413 | ||
|
|
ed840c0c16 | ||
|
|
4aa23a9603 | ||
|
|
00ba707114 | ||
|
|
2e5cb614a1 | ||
|
|
acc0912509 | ||
|
|
4d68042c07 | ||
|
|
8b99e9fd89 | ||
|
|
45c4aa03fb | ||
|
|
54173d51ff | ||
|
|
82f56e95e4 | ||
|
|
367d58a632 | ||
|
|
915f72a753 | ||
|
|
7d707b7471 | ||
|
|
faaf56c93b | ||
|
|
37e6cd12ff | ||
|
|
648e687c9f | ||
|
|
4bdd69b35e | ||
|
|
3f22fcabc8 | ||
|
|
cfed3acd66 | ||
|
|
e2cff94a62 | ||
|
|
82d0661e37 | ||
|
|
5504d40c8f | ||
|
|
60fd1aa17b | ||
|
|
4d6ff675d0 | ||
|
|
014ae4eb03 | ||
|
|
72c395c25b | ||
|
|
abd85d2b53 | ||
|
|
39fe6b59a1 | ||
|
|
d11e07c812 | ||
|
|
e6e57c8062 | ||
|
|
4f47ba19d6 | ||
|
|
e035e85018 | ||
|
|
42e8b2dd0c | ||
|
|
b60789c85e | ||
|
|
cb21f5acbf | ||
|
|
566e84bf25 | ||
|
|
ae487b925e | ||
|
|
d9631099cf | ||
|
|
48b58b1f30 | ||
|
|
77b7b28403 | ||
|
|
9640a57dc8 | ||
|
|
9b49734e53 | ||
|
|
739146e0fb | ||
|
|
34451a62e8 | ||
|
|
89be8c9d9c | ||
|
|
e6dcf2ef82 | ||
|
|
a16581f608 | ||
|
|
f9e6df8f92 | ||
|
|
4beb064fe9 | ||
|
|
2d6dce6351 | ||
|
|
d5e0ba8013 | ||
|
|
320ce4a62d | ||
|
|
0edba02ead | ||
|
|
0a19bcbd06 | ||
|
|
38cdcc5379 | ||
|
|
1ea593b2a3 | ||
|
|
e218943c42 | ||
|
|
9d97c93ece | ||
|
|
c5c6897ee3 | ||
|
|
2fc9a59695 | ||
|
|
9a9a05cd7e | ||
|
|
dba2f9485d | ||
|
|
9ce3662681 | ||
|
|
a35258a133 | ||
|
|
ae47aaeacd | ||
|
|
dc4e96ebf2 | ||
|
|
392c3ea07c | ||
|
|
5e5cf93699 | ||
|
|
796148f410 | ||
|
|
990c5f497c | ||
|
|
ee739884e4 | ||
|
|
31d97bb939 | ||
|
|
4a7c06e6f0 | ||
|
|
84a79686d4 | ||
|
|
9b3bb24cda | ||
|
|
1cfe00697a | ||
|
|
a57910bda7 | ||
|
|
bd04109f55 | ||
|
|
11906bab53 | ||
|
|
e51bb95fa6 | ||
|
|
f63e429c2a | ||
|
|
2b0da9beb6 | ||
|
|
8e7b8ae078 | ||
|
|
bc568a69fd | ||
|
|
163e8a75dc | ||
|
|
50ec9b42ed | ||
|
|
98b9aaab28 | ||
|
|
f8cd1d0d92 | ||
|
|
ee4555b3c6 | ||
|
|
e37801fe6d | ||
|
|
5ba6a02113 | ||
|
|
7e0428112a | ||
|
|
058d51e80e | ||
|
|
87fdf9acca | ||
|
|
4d3fa458eb | ||
|
|
9aa6f2d36b | ||
|
|
46eeeb107e | ||
|
|
a1a63d474c | ||
|
|
af15669fa6 | ||
|
|
67cebd9ca6 | ||
|
|
4a20de77f9 | ||
|
|
fee724f2d9 | ||
|
|
0044a2f731 | ||
|
|
e700176924 | ||
|
|
b2820e908f | ||
|
|
d3fc1a6582 | ||
|
|
68a376f3ae | ||
|
|
74b1640214 | ||
|
|
62b80c229b | ||
|
|
eb4dc9e66c | ||
|
|
0926d6fa37 | ||
|
|
62901ae91b | ||
|
|
e78c894fb8 | ||
|
|
f6e2051355 | ||
|
|
24ca9a3a04 | ||
|
|
f54ae5ce15 | ||
|
|
a6903612e4 | ||
|
|
3df616ef02 | ||
|
|
11f45a465c | ||
|
|
8db7b1561d | ||
|
|
fc5c079118 | ||
|
|
712c660aee | ||
|
|
b01f5d473a | ||
|
|
7eb105c5ed | ||
|
|
0d7d172aae | ||
|
|
233ef00989 | ||
|
|
10ffb371dc | ||
|
|
d37cbf4545 | ||
|
|
9153388c06 | ||
|
|
7a89dc7fef | ||
|
|
2391fce076 | ||
|
|
3a67535206 | ||
|
|
2f94e63381 | ||
|
|
bf2217e0b0 | ||
|
|
c31f3defaa | ||
|
|
f3fc6ae757 | ||
|
|
daaeba1bbb | ||
|
|
bd27f55d32 | ||
|
|
c1913ffde2 | ||
|
|
060ee9679a | ||
|
|
3115070aea | ||
|
|
aea9eba50b | ||
|
|
1da0265a7c | ||
|
|
186cb5e81b | ||
|
|
20e42186fb | ||
|
|
02f785dd97 | ||
|
|
7e6b98cb73 | ||
|
|
de5a9d18ba | ||
|
|
d9ea86441d | ||
|
|
0a037aaef6 | ||
|
|
c760eafd86 | ||
|
|
9f0c7ecb24 | ||
|
|
1fb952c8dc | ||
|
|
86b4bd65b8 | ||
|
|
5270379632 | ||
|
|
380ccacddf | ||
|
|
9e78e0f046 | ||
|
|
8db4bd1e5f | ||
|
|
ba64945d2d | ||
|
|
5fd4ce231f | ||
|
|
654ba50e49 | ||
|
|
dc074a07e4 | ||
|
|
38eb05efb7 | ||
|
|
1eba971031 | ||
|
|
5fa696c18a | ||
|
|
7b9a2d4b2e | ||
|
|
bad6766532 | ||
|
|
3a42cd73cb | ||
|
|
36e19acf88 | ||
|
|
c458dcc620 | ||
|
|
c24bd47163 | ||
|
|
9e1b4ba1f4 | ||
|
|
bce93a0856 | ||
|
|
ed6666e65a | ||
|
|
e3b9f7cf24 | ||
|
|
b0b32b43d8 | ||
|
|
347d7f2593 | ||
|
|
e673f36288 | ||
|
|
933c53c87b | ||
|
|
c99686d727 | ||
|
|
a1410302ce | ||
|
|
8941488682 | ||
|
|
ec8e0a7feb | ||
|
|
cb0d2e59b8 | ||
|
|
2166fa0396 | ||
|
|
bb8146e9c3 | ||
|
|
8698bf1d45 | ||
|
|
33f0fb9413 | ||
|
|
f05e726ca4 | ||
|
|
8791ca5800 | ||
|
|
8d6c8d9f61 | ||
|
|
6b0f73d41a | ||
|
|
bc7befd4a8 | ||
|
|
fc865fd5bc | ||
|
|
e4a9446e2b | ||
|
|
8abcd226e5 | ||
|
|
cd26a19c1a | ||
|
|
2cda8efec0 | ||
|
|
72e0250317 | ||
|
|
42c66426e6 | ||
|
|
e77f32d2f6 | ||
|
|
80f398c39e | ||
|
|
5570ede2a3 | ||
|
|
06122aa295 | ||
|
|
e7123b4af3 | ||
|
|
a7be4266bc | ||
|
|
d62adc4a97 | ||
|
|
4b4db26721 | ||
|
|
ca752d6edb | ||
|
|
8a6a224fda | ||
|
|
be639522fe | ||
|
|
184654c67f | ||
|
|
3dabf07a60 | ||
|
|
8ec867c2d2 | ||
|
|
75a8983c97 | ||
|
|
dac075f570 | ||
|
|
0152590bda | ||
|
|
8e06ebbda0 | ||
|
|
ee85a19b53 | ||
|
|
6a22bdf206 | ||
|
|
7e0d0e91d6 | ||
|
|
0c71605e1b | ||
|
|
5a5a0e3521 | ||
|
|
6fb18b5674 | ||
|
|
3188b9ed69 | ||
|
|
98591f74dd | ||
|
|
168a8fea72 | ||
|
|
74c9aa5a2b | ||
|
|
6c010665c1 | ||
|
|
d69c497824 | ||
|
|
f6707a2488 | ||
|
|
44cef5ec83 | ||
|
|
1390f13600 | ||
|
|
95b6b47802 | ||
|
|
aab3531a42 | ||
|
|
442264b3ab | ||
|
|
7fcc68e567 | ||
|
|
09f7fdb8df | ||
|
|
71dd9410d8 | ||
|
|
09af70d338 | ||
|
|
60444de60e | ||
|
|
c5d4d61108 | ||
|
|
3b60f6b063 | ||
|
|
f9780f08c8 | ||
|
|
d2e58deec5 | ||
|
|
4e61c3cba6 | ||
|
|
aa26e2b2c8 | ||
|
|
56c7db6e87 | ||
|
|
50675b87a8 | ||
|
|
d5ee36b65e | ||
|
|
f53cee3ca4 | ||
|
|
9a4048574c | ||
|
|
b9d427af3e | ||
|
|
3a70cfa8de | ||
|
|
f761a5a6ba | ||
|
|
16c8ccb9da | ||
|
|
f540f010c0 | ||
|
|
9b15f7269c | ||
|
|
759b30adc5 | ||
|
|
67a58e654f | ||
|
|
64dd79e8c2 | ||
|
|
74c1686418 | ||
|
|
c53ad98c0f | ||
|
|
c6b28e4385 | ||
|
|
9409c60613 | ||
|
|
6b2223c697 | ||
|
|
f6e4d27272 | ||
|
|
6d180adca9 | ||
|
|
9356a2a5dc | ||
|
|
a2bdbf6d85 | ||
|
|
d88be00fd3 | ||
|
|
c294af97a8 | ||
|
|
f7ad47e359 | ||
|
|
865919a3af | ||
|
|
9388b42001 | ||
|
|
98d0ee0dc7 | ||
|
|
f09603f2bf | ||
|
|
af131abe91 | ||
|
|
74ef69cee1 | ||
|
|
47c064046e | ||
|
|
bcdc03dd72 | ||
|
|
b8e1f9c2ee | ||
|
|
2587956fcf | ||
|
|
55c7872ed8 | ||
|
|
283a5537de | ||
|
|
d688e2dd0d | ||
|
|
a5eee6b37b | ||
|
|
b6ade82dd0 | ||
|
|
4a39a1e408 | ||
|
|
270932e40b | ||
|
|
caa6dcd053 | ||
|
|
8fb67541c1 | ||
|
|
7745a0738a | ||
|
|
3baa4dc1df | ||
|
|
032fef1092 | ||
|
|
df3e51629b | ||
|
|
fecf6233d9 | ||
|
|
fe64931f67 | ||
|
|
699a1f32f4 | ||
|
|
a551c89f3f | ||
|
|
ff9948768a | ||
|
|
baf34452fa | ||
|
|
9219209032 | ||
|
|
4251069718 | ||
|
|
f034557f17 | ||
|
|
f67d73de3e | ||
|
|
080dc05e16 | ||
|
|
0c66ba28ee | ||
|
|
f90370d01a | ||
|
|
6c22acf0e5 | ||
|
|
26a4af2a10 | ||
|
|
32a441cda9 | ||
|
|
70f2d8f3b4 | ||
|
|
7530eea63a | ||
|
|
d50bd6e777 | ||
|
|
64c3c71e08 | ||
|
|
6ed031238b | ||
|
|
0ff2ebfd2a | ||
|
|
41055f2292 | ||
|
|
bbc30d6cb9 | ||
|
|
d138e59110 | ||
|
|
eae404e3e7 | ||
|
|
bb2a2869f1 | ||
|
|
abbc413671 | ||
|
|
691f0492eb | ||
|
|
df8efe60de | ||
|
|
10304adf34 | ||
|
|
588c69102a | ||
|
|
ac3cef77ac | ||
|
|
d6c5b875d3 | ||
|
|
a43a0bf527 | ||
|
|
4fdafdd86a | ||
|
|
171631c025 | ||
|
|
34b2f6dde3 | ||
|
|
0f20459b69 | ||
|
|
0c51e1c409 | ||
|
|
be85bf5fa3 | ||
|
|
acd3bc97a0 | ||
|
|
a65aa4d828 | ||
|
|
9861ea7ddd | ||
|
|
3c58988c34 | ||
|
|
140a8da62d | ||
|
|
102a4d7af6 | ||
|
|
ce4047261c | ||
|
|
818106b0eb | ||
|
|
ddf5a0639b | ||
|
|
a2272fd4ed | ||
|
|
f834ccc653 | ||
|
|
b7e8f8a052 | ||
|
|
7d4f8a6f9f | ||
|
|
cc8badfee4 | ||
|
|
7406381094 | ||
|
|
85de937667 | ||
|
|
1a8301380c | ||
|
|
eea2c89a16 | ||
|
|
24c05e4d8f | ||
|
|
2f221b972c | ||
|
|
16b89699a0 | ||
|
|
424572375f | ||
|
|
fb77d69128 | ||
|
|
794207f6e7 | ||
|
|
f11ff0726c | ||
|
|
aeed9be8db | ||
|
|
946897527e | ||
|
|
21e924273d | ||
|
|
532b863674 | ||
|
|
133d945758 | ||
|
|
92446d1b3c | ||
|
|
7643de9ce1 | ||
|
|
1dedae4f8f | ||
|
|
050b9afd44 | ||
|
|
607098ffd7 | ||
|
|
5f07c1ee48 | ||
|
|
934ad9f298 | ||
|
|
7244367cf7 | ||
|
|
2801724f1c | ||
|
|
fe1c79e80d | ||
|
|
7b151e046f | ||
|
|
8c6e8be2e8 | ||
|
|
e6dbb9dd7c | ||
|
|
81bcd8179d | ||
|
|
41a4922088 | ||
|
|
42d701730c | ||
|
|
e39151c9d6 | ||
|
|
378c483748 | ||
|
|
ac04a61562 | ||
|
|
1abbc80c70 | ||
|
|
c456ae2e4a | ||
|
|
78407ceb87 | ||
|
|
81f6062a44 | ||
|
|
2ea7a49321 | ||
|
|
45e09c7dd3 | ||
|
|
668f6fe2f6 | ||
|
|
0b1b3ad244 | ||
|
|
cef491f96c | ||
|
|
9bca71468f | ||
|
|
c3ee1efb56 | ||
|
|
7f28b16eae | ||
|
|
f5db958f53 | ||
|
|
cad40cd369 | ||
|
|
952d92df18 | ||
|
|
4cb9c58ae6 | ||
|
|
9e80c77050 | ||
|
|
837d9bec90 | ||
|
|
ddc064e86b | ||
|
|
49f62494d6 | ||
|
|
4ff55ca4a7 | ||
|
|
9ebee3d917 | ||
|
|
d246071348 | ||
|
|
a4b6b42b56 | ||
|
|
888f22ffde | ||
|
|
05c35149a5 | ||
|
|
85b2e2db18 | ||
|
|
22803752d1 | ||
|
|
1fc8fb84a8 | ||
|
|
e4b669e8c1 | ||
|
|
a1c99ae713 | ||
|
|
caf51ea53d | ||
|
|
eead5afa67 | ||
|
|
903d886aee | ||
|
|
c7ae38df7e | ||
|
|
9175a3c553 | ||
|
|
2bff7f974b | ||
|
|
e99a9d3325 | ||
|
|
7228e2872c | ||
|
|
e02a7d5ab5 | ||
|
|
c8e729bbe4 | ||
|
|
475a9dd45d | ||
|
|
38639932d9 | ||
|
|
1c8661f8c4 | ||
|
|
fb9ab8a346 | ||
|
|
cc9b7ae58b | ||
|
|
92a9c7476b | ||
|
|
e34676ae57 | ||
|
|
4bc9aae1aa | ||
|
|
98b4248a3c | ||
|
|
37cea519e0 | ||
|
|
0587524c6c | ||
|
|
c28e1a0ba4 | ||
|
|
5e46735bb2 | ||
|
|
d9f70bdbac | ||
|
|
2dddd1c2ad | ||
|
|
8775416064 | ||
|
|
ae8d790b55 | ||
|
|
a067c4d932 | ||
|
|
5668a56e2d | ||
|
|
713b8252fe | ||
|
|
10e1b9d4d9 | ||
|
|
51ea95e79d | ||
|
|
41622806c2 | ||
|
|
b0d083bd2f | ||
|
|
2a4d44ff78 | ||
|
|
c34e525fb2 | ||
|
|
3da463382d | ||
|
|
50d65e2d7d | ||
|
|
93c1de8a3d | ||
|
|
6d56020110 | ||
|
|
2448f2cd38 | ||
|
|
cc27826a48 | ||
|
|
ad11b458f5 | ||
|
|
8c53a67e06 | ||
|
|
db1841bbf3 | ||
|
|
ff9afd0485 | ||
|
|
33470486ea | ||
|
|
6e6113b887 | ||
|
|
fd4bdd04e9 | ||
|
|
2296fe166b | ||
|
|
c7f2248eaf | ||
|
|
833f92dded | ||
|
|
89478c8dd3 | ||
|
|
ba4cd217c0 | ||
|
|
409ce4f2e9 | ||
|
|
a8690808c2 | ||
|
|
a9f4cab48b | ||
|
|
3a8a3680c5 | ||
|
|
0956b528cb | ||
|
|
3944a8c9a2 | ||
|
|
8c75e36115 | ||
|
|
e7fabab051 | ||
|
|
77f112fcb9 | ||
|
|
bc41619497 | ||
|
|
104c8b0d01 | ||
|
|
6e7e5f7840 | ||
|
|
f558f53a95 | ||
|
|
a13bafa2c0 | ||
|
|
187f53b837 | ||
|
|
5391edebc1 | ||
|
|
5d2f70a45d | ||
|
|
f28e3d1225 | ||
|
|
16c0592523 | ||
|
|
2e03a29de9 | ||
|
|
70cc564582 | ||
|
|
55f8b58c9a | ||
|
|
4c75bacca0 | ||
|
|
2bb5b677ef | ||
|
|
64bfe5a935 | ||
|
|
41f3dcd0fc | ||
|
|
8243e07448 | ||
|
|
31cf39aa91 | ||
|
|
8cedbc7469 | ||
|
|
f967b812cb | ||
|
|
21d2b5b133 | ||
|
|
fbdefac538 | ||
|
|
8deb2ff7ed | ||
|
|
bf5ce29d04 | ||
|
|
0bc2d95f15 | ||
|
|
54e23f38cd | ||
|
|
1fd23ae721 | ||
|
|
e966ffad6d | ||
|
|
4bd1a6f11b | ||
|
|
b2502ce0e8 | ||
|
|
ad649ad4f7 | ||
|
|
6e23fa7efd | ||
|
|
074357a238 | ||
|
|
d01b1c868f | ||
|
|
466d310c25 | ||
|
|
33343f64ef | ||
|
|
40daa9596f | ||
|
|
12d1b2a112 | ||
|
|
0b93d7e6c6 | ||
|
|
6d8f4f79b1 | ||
|
|
ad9d04a24e | ||
|
|
f1c6e44c5c | ||
|
|
87245f09ad | ||
|
|
f6e5202a99 | ||
|
|
a0bfd9d83f | ||
|
|
2b5ad3e4c4 | ||
|
|
0899b4f6b1 | ||
|
|
960f62d94b | ||
|
|
1dfa425889 | ||
|
|
7a347afb40 | ||
|
|
230e91b60d | ||
|
|
3092278d63 | ||
|
|
e83873bbea | ||
|
|
2bec8e4aff | ||
|
|
42ead5886d | ||
|
|
3d85401ab1 | ||
|
|
ddef31ae21 | ||
|
|
3c630657b1 | ||
|
|
61a95e781a | ||
|
|
49b363494a | ||
|
|
e234e2340d | ||
|
|
c7f8008355 | ||
|
|
caad6871ca | ||
|
|
9aadd42471 | ||
|
|
df5e135834 | ||
|
|
84fd163ca8 | ||
|
|
187190b229 | ||
|
|
92e02634e8 | ||
|
|
134b72f219 | ||
|
|
970b962208 | ||
|
|
7da4e4de59 | ||
|
|
0f72d9504a | ||
|
|
9103a95315 | ||
|
|
ffc5bd1654 | ||
|
|
ef916607d8 | ||
|
|
2b4f8f8d38 | ||
|
|
f3d0538207 | ||
|
|
b9d63340b8 | ||
|
|
ec99e41614 | ||
|
|
8101f59fc5 | ||
|
|
93c3ea2d9f | ||
|
|
3dcbecf04a | ||
|
|
a0e2e03616 | ||
|
|
aad07535fb | ||
|
|
1334aad4f6 | ||
|
|
af4239b957 | ||
|
|
8267af24c7 | ||
|
|
06e4eb5f79 | ||
|
|
5010e54b53 | ||
|
|
e53d17495e | ||
|
|
729ec29b37 | ||
|
|
26c3d53e55 | ||
|
|
b88132620d | ||
|
|
cd10bb3092 | ||
|
|
40f73dc4ef | ||
|
|
a73cf4f787 | ||
|
|
b17afcf40c | ||
|
|
05875b94b7 | ||
|
|
f7bf92885e | ||
|
|
c5f26f3e94 | ||
|
|
f6b060c0f9 | ||
|
|
4741ff1289 | ||
|
|
1337fe9816 | ||
|
|
e19308cba4 | ||
|
|
a5acdfa3da | ||
|
|
f57a6b512a | ||
|
|
5afcbfe8c6 | ||
|
|
507f1e7a92 | ||
|
|
fa5653ce16 | ||
|
|
1283a0f4b2 | ||
|
|
a27aeb6613 | ||
|
|
0e4fed94b1 | ||
|
|
df2e255129 | ||
|
|
b1fde3ff37 | ||
|
|
3d83f9a452 | ||
|
|
ccdf963847 | ||
|
|
8405411263 | ||
|
|
a343778b64 | ||
|
|
6db22271d9 | ||
|
|
f0f017aa0d | ||
|
|
0afec0b94d | ||
|
|
f3cb4d05e1 | ||
|
|
8dd2778119 | ||
|
|
970f432739 | ||
|
|
92377fdc1d | ||
|
|
e6dde015a6 | ||
|
|
5993ca4193 | ||
|
|
168ad781dc | ||
|
|
a0f36ea4ea | ||
|
|
7340da7c07 | ||
|
|
d9c7423b34 | ||
|
|
fe42c529ca | ||
|
|
815026976b | ||
|
|
fc6e9d8213 | ||
|
|
e0f53d86d3 | ||
|
|
6611b495d0 | ||
|
|
9741d083ae | ||
|
|
083abbc73b | ||
|
|
ab9be4efd4 | ||
|
|
9a8b89afa7 | ||
|
|
e20b82f802 | ||
|
|
1218b25127 | ||
|
|
d58bc8373e | ||
|
|
b6e7c9444e | ||
|
|
32e004e11a | ||
|
|
81babd8a07 | ||
|
|
9d7c0c3a29 | ||
|
|
dabcf769fb | ||
|
|
0a4269a405 | ||
|
|
9fad61bca1 | ||
|
|
10ff56bba7 | ||
|
|
36a0b024b1 | ||
|
|
7f0e5cce08 | ||
|
|
1b9ac40e38 | ||
|
|
7b078103a2 | ||
|
|
ff89d27a93 | ||
|
|
9c672ffd7b | ||
|
|
097015228b | ||
|
|
b7d87a24cc | ||
|
|
628d012c82 | ||
|
|
67c151e23e | ||
|
|
64fb934096 | ||
|
|
b9e9709f18 | ||
|
|
490527abdf | ||
|
|
a78213052a | ||
|
|
de5553647d | ||
|
|
755b63bbf6 | ||
|
|
7666dcae2b | ||
|
|
db210b1da7 | ||
|
|
dd0c71c9d6 | ||
|
|
e47dee1fac | ||
|
|
5eb45cc3ec | ||
|
|
259cc7f00c | ||
|
|
eb1ede7747 | ||
|
|
b3147b125c | ||
|
|
58fefe3182 | ||
|
|
3397319b9f | ||
|
|
3bdb5ed594 | ||
|
|
05c5915f2b | ||
|
|
07572a1e94 | ||
|
|
cd9244f0dd | ||
|
|
4347021572 | ||
|
|
98520c1816 | ||
|
|
8df5f519d2 | ||
|
|
5e5d18fc64 | ||
|
|
86b436be98 | ||
|
|
15e73a1d43 | ||
|
|
8eb5442037 | ||
|
|
56053686fb | ||
|
|
65cb006f33 | ||
|
|
d942373528 | ||
|
|
d87b1beff5 | ||
|
|
ce4a86b077 | ||
|
|
0eb33394b9 | ||
|
|
11a01eed96 | ||
|
|
347e7913b4 | ||
|
|
5d9f159a58 | ||
|
|
5a7f129822 | ||
|
|
329274876f | ||
|
|
a073665fe6 | ||
|
|
3d646474be | ||
|
|
ebca4f9c85 | ||
|
|
678b80ea27 | ||
|
|
a71a409426 | ||
|
|
bee617afaf | ||
|
|
fbf603bc58 | ||
|
|
c037b575cb | ||
|
|
0cf81d02e7 | ||
|
|
b0b9eba129 | ||
|
|
a845e9d76a | ||
|
|
8475a29441 | ||
|
|
cc2620434b | ||
|
|
0b3b73f47d | ||
|
|
e4d07783e7 | ||
|
|
0a3b4c33ec | ||
|
|
c124a19d82 | ||
|
|
435abd693a | ||
|
|
fd29539b92 | ||
|
|
31cffb153b | ||
|
|
e31cd291a7 | ||
|
|
198cbae6b4 | ||
|
|
76d7faf5ba | ||
|
|
6bf950df84 | ||
|
|
0a4521fa27 | ||
|
|
e74b232489 | ||
|
|
41828edb63 | ||
|
|
5e9e9c6ead | ||
|
|
7669dea354 | ||
|
|
4992fa73cf | ||
|
|
496da77057 | ||
|
|
1c48f6352b | ||
|
|
85f8583061 | ||
|
|
950bf4b111 | ||
|
|
e44fa78354 | ||
|
|
fda6831075 | ||
|
|
6166bab780 | ||
|
|
66023ecf65 | ||
|
|
c0bee55d82 | ||
|
|
3d715d17dc | ||
|
|
00a6a39eb3 | ||
|
|
84864c68ec | ||
|
|
da04fe3d83 | ||
|
|
b75bbaafa1 | ||
|
|
6f12fb3c5a | ||
|
|
1d37707628 | ||
|
|
207648b7ee | ||
|
|
0e7859ea89 | ||
|
|
f23c067ccd | ||
|
|
0d160f4beb | ||
|
|
c17cd2d1d3 | ||
|
|
e14bb09139 | ||
|
|
68d8002ea5 | ||
|
|
08bed0c597 | ||
|
|
16fff7431c | ||
|
|
1f0d6a123d | ||
|
|
255368cc47 | ||
|
|
64ce1c026a | ||
|
|
f053510cd5 | ||
|
|
8cf0bebe29 | ||
|
|
223bc6b12d | ||
|
|
7ede82c57d | ||
|
|
d8a71615f9 | ||
|
|
b7df56759c | ||
|
|
89103b7562 | ||
|
|
574d98da28 | ||
|
|
84d51b3cb7 | ||
|
|
f36cdaeeed | ||
|
|
64d5713041 | ||
|
|
1a0b127407 | ||
|
|
4f3dbcae88 | ||
|
|
e6d25d2204 | ||
|
|
dffd248343 | ||
|
|
44be221621 | ||
|
|
836b5a16ca | ||
|
|
4e7813aeb6 | ||
|
|
ddd9918881 | ||
|
|
095a18798c | ||
|
|
7ddeed9955 | ||
|
|
6034133565 | ||
|
|
fd8324a1f4 | ||
|
|
e0c9ae7598 | ||
|
|
879d51dff7 | ||
|
|
24987a63a8 | ||
|
|
3caa699d1a | ||
|
|
24f950e3b3 | ||
|
|
4dff137c26 | ||
|
|
fcd5d04a40 | ||
|
|
c487e88a0b | ||
|
|
602adc2309 | ||
|
|
d42b37c29c | ||
|
|
63fdd3699f | ||
|
|
bde20ec991 | ||
|
|
84eaad0775 | ||
|
|
3204959c80 | ||
|
|
0cb677664e | ||
|
|
08563ade44 | ||
|
|
14f815d0ba | ||
|
|
d8489ba0fc | ||
|
|
d633f0ad04 | ||
|
|
3f89bfb273 | ||
|
|
550fc02ef8 | ||
|
|
60277fc11a | ||
|
|
f459025f39 | ||
|
|
3fa8c16164 | ||
|
|
f0aca3a965 | ||
|
|
47afb69acc | ||
|
|
217f1a9786 | ||
|
|
c0813f037b | ||
|
|
da3688bf2e | ||
|
|
5ba3b4ea9d | ||
|
|
3e6ec4a75b | ||
|
|
c9dbb1e240 | ||
|
|
5a66c19033 | ||
|
|
e256208eb4 | ||
|
|
c72b2d5bba | ||
|
|
d1194a37cd | ||
|
|
d4cfd6ef4f | ||
|
|
b27b3ad3f8 | ||
|
|
83b1c6969a | ||
|
|
865c556da3 | ||
|
|
4efd68446e | ||
|
|
115218c8aa | ||
|
|
0f58788e26 | ||
|
|
c72bb8c196 | ||
|
|
10c8a186e5 | ||
|
|
f125908e1e | ||
|
|
89c46e989d | ||
|
|
b3803ec424 | ||
|
|
1eea25c87b | ||
|
|
880b24a929 | ||
|
|
20ecbbafaa | ||
|
|
f6f7cc9cd1 | ||
|
|
36e4f34780 | ||
|
|
ed232b2199 | ||
|
|
571e3467fc | ||
|
|
b8508b7cd8 | ||
|
|
9725b2334c | ||
|
|
eab54ef98f | ||
|
|
afaf12e4b0 | ||
|
|
0e5cd73ef0 | ||
|
|
9c972b19e1 | ||
|
|
c6487f4837 | ||
|
|
0182107bc0 | ||
|
|
7497fc12fc | ||
|
|
3ce8d08439 | ||
|
|
111db6e2d1 | ||
|
|
a990429daa | ||
|
|
b618697998 | ||
|
|
6f96ca4a62 | ||
|
|
9626917362 | ||
|
|
d4705fe5be | ||
|
|
0a6cb656c8 | ||
|
|
72097a0fbb | ||
|
|
47a2a15b59 | ||
|
|
08082cf7e2 | ||
|
|
6f1a656a9a | ||
|
|
8fb4b02ef9 | ||
|
|
9ec26d4e87 | ||
|
|
12c0e9d452 | ||
|
|
338cfa3cef | ||
|
|
7f82bcdaf6 | ||
|
|
30672945d5 | ||
|
|
dabb6f0b74 | ||
|
|
8bf8950274 | ||
|
|
e4d9582a98 | ||
|
|
0a0e4fcd06 | ||
|
|
75bac0f6ea | ||
|
|
a670d0238f | ||
|
|
861e2a9439 | ||
|
|
c81f402ae2 | ||
|
|
cc3e2e2e40 | ||
|
|
808d7db163 | ||
|
|
95c7b64de4 | ||
|
|
5265d67b7f | ||
|
|
5d2df118de | ||
|
|
13641575c2 | ||
|
|
c71dd3f3a4 | ||
|
|
7fad383060 | ||
|
|
1bab57de01 | ||
|
|
db4c50a848 | ||
|
|
743bd8db5f | ||
|
|
cffe75a6a8 | ||
|
|
ccd0d5c235 | ||
|
|
1fd48b08cd | ||
|
|
cfdfd25320 | ||
|
|
7952bd1c18 | ||
|
|
ab68cc8ecd | ||
|
|
f65cb6fc6e | ||
|
|
25b741f04e | ||
|
|
3563144a8e | ||
|
|
3e11bea0d4 | ||
|
|
d23269fb7e | ||
|
|
4568e1cdb9 | ||
|
|
bc011b2230 | ||
|
|
770bad5e10 | ||
|
|
e079831f04 | ||
|
|
7c1ed99de2 | ||
|
|
7d07929b16 | ||
|
|
dcf6bad34e | ||
|
|
2a3dc8a522 | ||
|
|
b0690a7e42 | ||
|
|
3432974340 | ||
|
|
228983dfaf | ||
|
|
0ead2f10ce | ||
|
|
4797daca72 | ||
|
|
e801867d28 | ||
|
|
13e55d8ff2 | ||
|
|
c2d8884656 | ||
|
|
c9b1eeb740 | ||
|
|
b436961875 | ||
|
|
99e11e20b5 | ||
|
|
2a8b0efb66 | ||
|
|
83a40c238c | ||
|
|
60b7040241 | ||
|
|
577773793c | ||
|
|
7045b54e8f | ||
|
|
65c5cb599e | ||
|
|
c6859d2ead | ||
|
|
57bea6b5b6 | ||
|
|
551efc940d | ||
|
|
0590e4b13e | ||
|
|
14ca5688b5 | ||
|
|
f6698f5916 | ||
|
|
4196031cdc | ||
|
|
c4627ca108 | ||
|
|
3080270067 | ||
|
|
ad0cace563 | ||
|
|
208098bfaa | ||
|
|
7c2050b374 | ||
|
|
6068d00942 | ||
|
|
9196f327f6 | ||
|
|
d90ebfc880 | ||
|
|
38f48c0101 | ||
|
|
c3bf5d97eb | ||
|
|
fbc962102d | ||
|
|
6a82bf40fc | ||
|
|
726104ddbd | ||
|
|
1e288c98e3 | ||
|
|
2303bc1048 | ||
|
|
778664a294 | ||
|
|
0bb1f9c657 | ||
|
|
1e68708a05 | ||
|
|
255fe95fe7 | ||
|
|
a9dc27eaa6 | ||
|
|
52dbe040a8 | ||
|
|
1f143bee9b | ||
|
|
ebcfaa73d7 | ||
|
|
4de4bb777e | ||
|
|
9fb7d3373b | ||
|
|
66da3ac4ad | ||
|
|
b28620e929 | ||
|
|
fbc3115415 | ||
|
|
f3b3122cff | ||
|
|
3d196d17e9 | ||
|
|
0ff003890f | ||
|
|
b050cdec42 | ||
|
|
3788a3ebb3 | ||
|
|
dd4e32c90e | ||
|
|
10685a2a20 | ||
|
|
44ba48e00d | ||
|
|
89bd79217b | ||
|
|
de186645e0 | ||
|
|
72cfda5b16 | ||
|
|
475d22e7bf | ||
|
|
be5e9558b9 | ||
|
|
9bb3620747 | ||
|
|
733ee6e17d | ||
|
|
7dd3a1c62f | ||
|
|
713667b606 | ||
|
|
7135a1fd77 | ||
|
|
f0a03fc658 | ||
|
|
6252526985 | ||
|
|
baf2e617eb | ||
|
|
1bf096d93e | ||
|
|
84187b9239 | ||
|
|
4c4a21085e | ||
|
|
dafccd5b38 | ||
|
|
016073c6a9 | ||
|
|
7e85c70646 | ||
|
|
5934bc7c02 | ||
|
|
97f84eca42 | ||
|
|
c1c29012c2 | ||
|
|
d1aaee951b | ||
|
|
cafd33a187 | ||
|
|
d9d0d400c7 | ||
|
|
41807e1e3f | ||
|
|
c97e4dc96e | ||
|
|
baa4dd9a2f | ||
|
|
e110cb8633 | ||
|
|
3b7cad254b | ||
|
|
6f9be00428 | ||
|
|
6b019edaa7 | ||
|
|
9b5a7f96f6 | ||
|
|
d952b38a0f | ||
|
|
634d513e59 | ||
|
|
5d63dfec67 | ||
|
|
08d7328051 | ||
|
|
f53af56b57 | ||
|
|
b61ec6820b | ||
|
|
0181c1209c | ||
|
|
9d5c460696 | ||
|
|
b176f60290 | ||
|
|
a4e60f7d90 | ||
|
|
96f289a081 | ||
|
|
e6d186b6c3 | ||
|
|
5b104d47a8 | ||
|
|
a93888f0c4 | ||
|
|
eb38f77c47 | ||
|
|
fb4e4e8370 | ||
|
|
776e4dbb6c | ||
|
|
5762dd333e | ||
|
|
9ea9a72d1f | ||
|
|
ff5c046544 | ||
|
|
69ac66f00e | ||
|
|
80f9c69194 | ||
|
|
f882acb7cf | ||
|
|
d01ca0e515 | ||
|
|
faae153671 | ||
|
|
60d7bd301b | ||
|
|
266618dfd3 | ||
|
|
1ed4604cb4 | ||
|
|
e49336dffb | ||
|
|
391f9bcedb | ||
|
|
a636bd88ce | ||
|
|
e8dd93189a | ||
|
|
5d1bef6903 | ||
|
|
a4ee79e285 | ||
|
|
8c798099ef | ||
|
|
5104f99684 | ||
|
|
b1a3d40d05 | ||
|
|
1d9fdb7367 | ||
|
|
5cb154ce8b | ||
|
|
8a802aca90 | ||
|
|
85e1d0966f | ||
|
|
c04764d2cb | ||
|
|
e55abe7089 | ||
|
|
3d475a2e9d | ||
|
|
aa83b5f29f | ||
|
|
d210c48d21 | ||
|
|
9b934c3476 | ||
|
|
8883a293a1 | ||
|
|
911db66cf9 | ||
|
|
ced132b282 | ||
|
|
04b49fd886 | ||
|
|
7064d61ae5 | ||
|
|
6d6bc05f6a | ||
|
|
28962fa665 | ||
|
|
1509b34a31 | ||
|
|
2b2bd5e2ff | ||
|
|
d02f1dc283 | ||
|
|
275ce2a823 | ||
|
|
d06341cf12 | ||
|
|
8a234329d6 | ||
|
|
326caa5877 | ||
|
|
bfe42710e7 | ||
|
|
a5e2531d2c | ||
|
|
13e23593ba | ||
|
|
9a58f2677c | ||
|
|
29f49660f6 | ||
|
|
c2e6cb1f44 | ||
|
|
625be3ad11 | ||
|
|
609eed9068 | ||
|
|
ddceabee6a | ||
|
|
8f01bdef78 | ||
|
|
924d3d324d | ||
|
|
b31120b271 | ||
|
|
200a77bf45 | ||
|
|
6223bf212f | ||
|
|
b1f64114dd | ||
|
|
b2148e5440 | ||
|
|
8b86f901dc | ||
|
|
830a2d9c40 | ||
|
|
2045927e95 | ||
|
|
1b871fc645 | ||
|
|
b66f00846d | ||
|
|
cf795c8f26 | ||
|
|
d894375d35 | ||
|
|
d05ed6fe3d | ||
|
|
471f841218 | ||
|
|
72880efafb | ||
|
|
9ecac4679d | ||
|
|
896269228e | ||
|
|
c0a67341f8 | ||
|
|
5efca5e542 | ||
|
|
0f4370657a | ||
|
|
e492643cc7 | ||
|
|
c49cfdcece | ||
|
|
2cea001340 | ||
|
|
e7e80a9c3b | ||
|
|
e0081130af | ||
|
|
5ff9911cc0 | ||
|
|
bde1de5630 | ||
|
|
eb3e3e5094 | ||
|
|
1033a3b3b3 | ||
|
|
498116b66e | ||
|
|
5f68db7ab7 | ||
|
|
a487d6ac02 | ||
|
|
2f92da9753 | ||
|
|
e4d08cc117 | ||
|
|
746ebb7974 | ||
|
|
2d0cf16029 | ||
|
|
c3b15d7a8b | ||
|
|
9754a9e2e5 | ||
|
|
466ade8d72 | ||
|
|
ea9b4a9952 | ||
|
|
12cee5f791 | ||
|
|
8c2ede040f | ||
|
|
4864aa6c8e | ||
|
|
f448881423 | ||
|
|
5dc0e3889e | ||
|
|
ea7101d92b | ||
|
|
5e28f6f70f | ||
|
|
b0f6f340d6 | ||
|
|
fd8f300518 | ||
|
|
16653615f2 | ||
|
|
2b5c53640d | ||
|
|
c0f85022cf | ||
|
|
7adbb9c559 | ||
|
|
d9d269d601 | ||
|
|
06101cc31e | ||
|
|
ffc3953f91 | ||
|
|
af57b9af20 | ||
|
|
48e8772813 | ||
|
|
bae385ccb0 | ||
|
|
1d28fa52f9 | ||
|
|
69ddd35cad | ||
|
|
61cbbc1b55 | ||
|
|
1d4b57b5c6 | ||
|
|
30f62a80f3 | ||
|
|
a11dd760db | ||
|
|
8d896e8be8 | ||
|
|
be9270a0f7 | ||
|
|
b7ceb1776c | ||
|
|
eb0d29c780 | ||
|
|
006c0c88ce | ||
|
|
00439369a8 | ||
|
|
d2944d5d10 | ||
|
|
f069b4e85e | ||
|
|
e6d2b0c9b3 | ||
|
|
2a5da2c155 | ||
|
|
f9e297922d | ||
|
|
cffa7c6dd8 | ||
|
|
cd7c2baf8e | ||
|
|
f960cd9589 | ||
|
|
939c58f441 | ||
|
|
1775614fe2 | ||
|
|
8c24b80950 | ||
|
|
1a62ad2608 | ||
|
|
a8138ca579 | ||
|
|
863d888717 | ||
|
|
0bf72def78 | ||
|
|
b4e4cd9e9a | ||
|
|
df7fd37214 | ||
|
|
cb36ee03eb | ||
|
|
396b874a42 | ||
|
|
16c9ce995f | ||
|
|
35a1fdddf1 | ||
|
|
703c9ade71 | ||
|
|
81ac5a4231 | ||
|
|
9982cc042f | ||
|
|
09f1793d63 | ||
|
|
d8961c4093 | ||
|
|
d830315cfc | ||
|
|
ac7e31bdd9 | ||
|
|
72e274a4c3 | ||
|
|
1fdabe3a26 | ||
|
|
df2840bf9f | ||
|
|
2b00831465 | ||
|
|
ad34d45d0b | ||
|
|
df77fb67c6 | ||
|
|
e3168163c2 | ||
|
|
2f7b04534d | ||
|
|
9628712810 | ||
|
|
e7ee41fe4e | ||
|
|
8dc21fbb66 | ||
|
|
81a95aba28 | ||
|
|
0544599303 | ||
|
|
7381a4433c | ||
|
|
b60cbdf5f1 | ||
|
|
4e61c6c4dd | ||
|
|
d2582b0118 | ||
|
|
dc89935b7f | ||
|
|
23b2ca9af4 | ||
|
|
7bbd2042ae | ||
|
|
2d191c87a0 | ||
|
|
d9d8e54ed3 | ||
|
|
d3b0a48779 | ||
|
|
a8a6d199d1 | ||
|
|
cd8cc81b5f | ||
|
|
27771f3565 | ||
|
|
bae59c07db | ||
|
|
cc72d1018b | ||
|
|
7996108e62 | ||
|
|
53522ca5b4 | ||
|
|
55df8a5adf | ||
|
|
b31eb524c3 | ||
|
|
31437f3d3e | ||
|
|
34ecfba230 | ||
|
|
75859ec106 | ||
|
|
d6911ed39b | ||
|
|
073838af6e | ||
|
|
4a94ab86c9 | ||
|
|
f74b151c53 | ||
|
|
6db67e909d | ||
|
|
2c1c46b98d | ||
|
|
ba01a2a219 | ||
|
|
0a5261a68c | ||
|
|
61d591e86e | ||
|
|
e032ef5aa5 | ||
|
|
c4e9774ffa | ||
|
|
5a4930f860 | ||
|
|
66f445c341 | ||
|
|
f2c2833985 | ||
|
|
a703e0bb7d | ||
|
|
e0bd7d82fb | ||
|
|
8b02c95f51 | ||
|
|
e492c6575d | ||
|
|
9339c9ff62 | ||
|
|
a02254f5d5 | ||
|
|
af36a3b1bf | ||
|
|
5f34e924d1 | ||
|
|
ce939a4053 | ||
|
|
c9c2b35455 | ||
|
|
1b0c339845 | ||
|
|
2d67cb7dcc | ||
|
|
1938969a63 | ||
|
|
bb1d90213b | ||
|
|
096686457d | ||
|
|
ba5b2af394 | ||
|
|
f23ce71620 | ||
|
|
10f0f6440b | ||
|
|
20e1126a62 | ||
|
|
31b512e3c9 | ||
|
|
979d65e444 | ||
|
|
59035ae96b | ||
|
|
ede6a94665 | ||
|
|
3dd86a77e2 | ||
|
|
3ceaadd0c0 | ||
|
|
9640d95cef | ||
|
|
b3c18001e2 | ||
|
|
df2766d80e | ||
|
|
e676bdc322 | ||
|
|
2d7a42d918 | ||
|
|
06cb128876 | ||
|
|
0b79bcd4b4 | ||
|
|
687bcc2779 | ||
|
|
41c58a52e3 | ||
|
|
e21d944461 | ||
|
|
359d5f36b5 | ||
|
|
e66f19914e | ||
|
|
a6e29f0ded | ||
|
|
40363068e3 | ||
|
|
af86448385 | ||
|
|
177d39c2a3 | ||
|
|
7a9464c592 | ||
|
|
4aef01ef32 | ||
|
|
b4c9d7c76c | ||
|
|
08d37dd9e8 | ||
|
|
10193520a4 | ||
|
|
c1968ba4e3 | ||
|
|
47ecf2e886 | ||
|
|
8642086d34 | ||
|
|
b04dadaa45 | ||
|
|
a5513cc504 | ||
|
|
fc622c76a4 | ||
|
|
050e3b09ad | ||
|
|
850976335c | ||
|
|
0344701f1b | ||
|
|
04198f3ede | ||
|
|
1b671abc05 | ||
|
|
0b973d5135 | ||
|
|
b2324a8689 | ||
|
|
8be0c3c9b0 | ||
|
|
2bd104705a | ||
|
|
3d55b49ee6 | ||
|
|
42352e9500 | ||
|
|
100aad1256 | ||
|
|
703d37c3e2 | ||
|
|
160d15b9b7 | ||
|
|
b3a8fc92d0 | ||
|
|
fbee69a418 | ||
|
|
31d139aecf | ||
|
|
8be040a9b4 | ||
|
|
5cb47ac5b3 | ||
|
|
b7c54779ac | ||
|
|
49d23c06a4 | ||
|
|
d0efe8d8d9 | ||
|
|
84c6faa419 | ||
|
|
b23ffd3c19 | ||
|
|
eeefa85e69 | ||
|
|
cbf055bebc | ||
|
|
eee0cc5394 | ||
|
|
a858c8b43c | ||
|
|
b7497fd669 | ||
|
|
98cdd4eedf | ||
|
|
4d398f170d | ||
|
|
f4c56a1948 | ||
|
|
e72bfe1114 | ||
|
|
f019a3cd0c | ||
|
|
a37482aaad | ||
|
|
bb01d0e5ae | ||
|
|
b61aec9212 | ||
|
|
c1d1330350 | ||
|
|
25a1ecc99b | ||
|
|
6ed29cfde9 | ||
|
|
da6b9b0980 | ||
|
|
410d8bfe13 | ||
|
|
42f0d71ecf | ||
|
|
8a01ffa832 | ||
|
|
bad03c45a0 | ||
|
|
bb876b55fc | ||
|
|
a1da73adaa | ||
|
|
37516dda0e | ||
|
|
edd31bee8e | ||
|
|
5806b9f276 | ||
|
|
96841bd7b1 | ||
|
|
67bd25145d | ||
|
|
635145ea70 | ||
|
|
85c079db70 | ||
|
|
5944984efb | ||
|
|
4c319bd068 | ||
|
|
db80a2e0f6 | ||
|
|
c2fbb5cf22 | ||
|
|
3be8eb4f87 | ||
|
|
08d2a5fa95 | ||
|
|
d69d2234c4 | ||
|
|
33b3a71ecd | ||
|
|
b093446020 | ||
|
|
4db1cdd8e4 | ||
|
|
36a5710863 | ||
|
|
bd51ccd26a | ||
|
|
d60a109ecb | ||
|
|
a293da1360 | ||
|
|
745cfeb9e6 | ||
|
|
a7a08fe28d | ||
|
|
aa83c5c1bc | ||
|
|
5dcc989535 | ||
|
|
2afbe95a9c | ||
|
|
5bdbd7c195 | ||
|
|
44d117c91d | ||
|
|
c174f8f931 | ||
|
|
84ff1f4640 | ||
|
|
26e7e70c3f | ||
|
|
b2ad021230 | ||
|
|
151f047cff | ||
|
|
04bb8f1d1a | ||
|
|
38c0d33767 | ||
|
|
493947c830 | ||
|
|
beb1ade0b5 | ||
|
|
3885500e7c | ||
|
|
9e132d5ca8 | ||
|
|
de21d4755b | ||
|
|
d50e164e68 | ||
|
|
8380a2fa53 | ||
|
|
23a0df61cd | ||
|
|
b484dd6f71 | ||
|
|
c986b311fd | ||
|
|
d1c3584651 | ||
|
|
a9069389db | ||
|
|
2bf8ca8ab6 | ||
|
|
b095b0ae12 | ||
|
|
d5a6a05fc4 | ||
|
|
c84f6b63ff | ||
|
|
92062d4829 | ||
|
|
f742e8ac11 | ||
|
|
65d2a3b313 | ||
|
|
3c7510d74f | ||
|
|
be8ec6b4ae | ||
|
|
e06cd5eba6 | ||
|
|
13775fcb68 | ||
|
|
5641fbd83c | ||
|
|
3bdb108fdb | ||
|
|
19aadd93a0 | ||
|
|
ce9be475b5 | ||
|
|
b40cd351c3 | ||
|
|
3b6ad7b851 | ||
|
|
d8ac23e398 | ||
|
|
a627eab6f1 | ||
|
|
88ddb97d43 | ||
|
|
071654fa06 | ||
|
|
ea602b5f9c | ||
|
|
b39b990eda | ||
|
|
5d7e005f7d | ||
|
|
c2627654b9 | ||
|
|
21ce030463 | ||
|
|
c203dcbbb6 | ||
|
|
435a72c76b | ||
|
|
d4fc440725 | ||
|
|
e9407e0152 | ||
|
|
033d515784 | ||
|
|
4b4825582f | ||
|
|
9d7e8959e8 | ||
|
|
9aac9301b0 | ||
|
|
df6cf331ac | ||
|
|
3e66f47c13 | ||
|
|
bca87429a6 | ||
|
|
9870fe448b | ||
|
|
379ae8ccfb | ||
|
|
c77b67fdf8 | ||
|
|
a0cbb30874 | ||
|
|
aa46be08cf | ||
|
|
f7366cb2ff | ||
|
|
4bc4c1e204 | ||
|
|
e77b71bbbc | ||
|
|
1223e6da84 | ||
|
|
d027f218f8 | ||
|
|
eb659a64bb | ||
|
|
300edc036f | ||
|
|
ee370ec8bf | ||
|
|
ebdd0dbdc0 | ||
|
|
c816b24437 | ||
|
|
20709145c8 | ||
|
|
133d3c7151 | ||
|
|
25a577e32e | ||
|
|
3c01584615 | ||
|
|
bea80e7f71 | ||
|
|
d7a6c14fe7 | ||
|
|
30008bafe7 | ||
|
|
4f5d1847e0 | ||
|
|
e7e7d7d2c0 | ||
|
|
5114f0ac24 | ||
|
|
832bf158da | ||
|
|
af83cc58cb | ||
|
|
1318a3844e | ||
|
|
ae8d7ef99f | ||
|
|
0503b02d17 | ||
|
|
9a158d76b4 | ||
|
|
2017525b77 | ||
|
|
d0b09bce20 | ||
|
|
cfd9b63190 | ||
|
|
05e865e649 | ||
|
|
f25124fd8a | ||
|
|
b92157c292 | ||
|
|
c2dcb6a075 | ||
|
|
00f0c6ea3c | ||
|
|
e92cf6c761 | ||
|
|
d0092d5a5e | ||
|
|
4a0ed710a3 | ||
|
|
df89f183e0 | ||
|
|
06b6adbcde | ||
|
|
f2b94095c3 | ||
|
|
cd474f3152 | ||
|
|
c40507addb | ||
|
|
989d655c1f | ||
|
|
094353f64e | ||
|
|
e795b345c5 | ||
|
|
4a04c24b62 | ||
|
|
36ec721b1e | ||
|
|
f1dae3e62e | ||
|
|
90860dbbf1 | ||
|
|
7d2be7da77 | ||
|
|
551a7609f8 | ||
|
|
791da75ae9 | ||
|
|
aa1fd82f3a | ||
|
|
2e8ee9dadf | ||
|
|
0b8d613044 | ||
|
|
64b0896eaf | ||
|
|
cd5151be94 | ||
|
|
367bb2e5ed | ||
|
|
a748a69de3 | ||
|
|
ec9e478399 | ||
|
|
dadc7edbd9 | ||
|
|
e41f6a5fb3 | ||
|
|
3149e7ec0d | ||
|
|
d8d60faa6b | ||
|
|
58eda950f8 | ||
|
|
ad3760762f | ||
|
|
3c8a0ace60 | ||
|
|
7a90ef8bc4 | ||
|
|
c12a864e8a | ||
|
|
5aef93245b | ||
|
|
3352a24750 | ||
|
|
590f13203a | ||
|
|
c832b2d860 | ||
|
|
8067acdc1c | ||
|
|
b3ea6af2fd | ||
|
|
30530b1b8b | ||
|
|
57bed18ccf | ||
|
|
f8a333c4ea | ||
|
|
680fc32786 | ||
|
|
9af498d69a | ||
|
|
7e2b95d390 | ||
|
|
168bb0be88 | ||
|
|
849f6c7d05 | ||
|
|
d1c3643cff | ||
|
|
5ee362dcf4 | ||
|
|
453502e1c7 | ||
|
|
0b6e2bc260 | ||
|
|
5b24d8e61a | ||
|
|
23ff933d38 | ||
|
|
da3383a67c | ||
|
|
4dd2d63d9b | ||
|
|
b16783143f | ||
|
|
590c66d1eb | ||
|
|
b4db960e68 | ||
|
|
aaf4ede04d | ||
|
|
5ae385ec02 | ||
|
|
ad2288e2fc | ||
|
|
4b5f3c8af8 | ||
|
|
c1dd2ebb92 | ||
|
|
a210a665fb | ||
|
|
979a55d24a | ||
|
|
3c474987b2 | ||
|
|
91e83305e6 | ||
|
|
cf3f6caca8 | ||
|
|
ab1d55611f | ||
|
|
aff634a970 | ||
|
|
6ed572772f | ||
|
|
cc206d5542 | ||
|
|
8001b914b1 | ||
|
|
afc3e862b0 | ||
|
|
8ea6cc8bac | ||
|
|
cdc05320d9 | ||
|
|
b64c2f3597 | ||
|
|
e1b082d189 | ||
|
|
7fdf175329 | ||
|
|
e6580d4676 | ||
|
|
b6de4fe823 | ||
|
|
51da6fe1a8 | ||
|
|
aba179d2de | ||
|
|
80cabea362 | ||
|
|
fad4210c9c | ||
|
|
32091ffd94 | ||
|
|
8d2551e0b6 | ||
|
|
0d94a84724 | ||
|
|
efa82e1761 | ||
|
|
c4cd151f2c | ||
|
|
4874c02c44 | ||
|
|
ba4fdd1f92 | ||
|
|
c598fdd009 | ||
|
|
0bbe29bc2e | ||
|
|
e690243fc3 | ||
|
|
4eaac8dbe8 | ||
|
|
dbf0b5d3f7 | ||
|
|
17e2c30f6e | ||
|
|
36b757c224 | ||
|
|
1ae77b145b | ||
|
|
87f2f0eb24 | ||
|
|
b2d31022af | ||
|
|
110d8b8e59 | ||
|
|
5a177e500e | ||
|
|
03dcb63cf6 | ||
|
|
45a41b6109 | ||
|
|
74862969e1 | ||
|
|
92ef020342 | ||
|
|
2176dd2020 | ||
|
|
bc624dc079 | ||
|
|
0b13d40516 | ||
|
|
e82c161b11 | ||
|
|
307cd0966b | ||
|
|
2ec943d118 | ||
|
|
01733bdbaa | ||
|
|
5bc39d29eb | ||
|
|
c0da955fc6 | ||
|
|
148fc68590 | ||
|
|
1c150e0011 | ||
|
|
cbc79d7082 | ||
|
|
6d04c88d83 | ||
|
|
d5dc66a33c | ||
|
|
2947721727 | ||
|
|
f6408e74d2 | ||
|
|
7a95980d2f | ||
|
|
2589c43214 | ||
|
|
5032ffdfd4 | ||
|
|
1b977e866b | ||
|
|
307e80bac9 | ||
|
|
af6b35cc43 | ||
|
|
bae654f260 | ||
|
|
ff36d38f43 | ||
|
|
88a195b4e2 | ||
|
|
2bd298e673 | ||
|
|
ad89a043c9 | ||
|
|
03506c97b0 | ||
|
|
9384b8a6b9 | ||
|
|
e3eea2628a | ||
|
|
ff85c6688f | ||
|
|
2e0ee9b75f | ||
|
|
fe46a82e63 | ||
|
|
67d49a8f2b | ||
|
|
885b669c30 | ||
|
|
5ab3736f05 | ||
|
|
968bdbf12a | ||
|
|
1608f34677 | ||
|
|
98d9853c7e | ||
|
|
aeac9840f1 | ||
|
|
6a9e268eb7 | ||
|
|
186062926a | ||
|
|
f7691f6909 | ||
|
|
4e02c8a63a | ||
|
|
bd3e23da33 | ||
|
|
045b2619b2 | ||
|
|
8c38bece3a | ||
|
|
d61329a4f3 | ||
|
|
635493f1c1 | ||
|
|
364b7bcf99 | ||
|
|
7d53c4a06b | ||
|
|
e3981aad60 | ||
|
|
f08078bd08 | ||
|
|
5d1e781d20 | ||
|
|
d1d5116536 | ||
|
|
6379f031c2 | ||
|
|
d153d80595 | ||
|
|
28c45719e2 | ||
|
|
e6befda146 | ||
|
|
910723bbcd | ||
|
|
a534e30467 | ||
|
|
dd7c8162ac | ||
|
|
2bffa83d62 | ||
|
|
01514a94e1 | ||
|
|
53355dbcc6 | ||
|
|
bf1067a346 | ||
|
|
53784b310e | ||
|
|
e816cbc51b | ||
|
|
0a37981251 | ||
|
|
d280cb510d | ||
|
|
c08771dc56 | ||
|
|
1e58c47286 | ||
|
|
8c0f3b037a | ||
|
|
550cba2f43 | ||
|
|
33f4efc5b1 | ||
|
|
a92f9d7a6f | ||
|
|
57b6b92e04 | ||
|
|
0ab33e1843 | ||
|
|
8ce6c678aa | ||
|
|
c63336ade4 | ||
|
|
e276a5d825 | ||
|
|
d06731ff19 | ||
|
|
320578a61c | ||
|
|
92f68dfd58 | ||
|
|
d850d901e9 | ||
|
|
492294163c | ||
|
|
cd38e6a6ae | ||
|
|
334f946870 | ||
|
|
bd2353f7bc | ||
|
|
f6214ae36d | ||
|
|
5fee3ecdb8 | ||
|
|
638f93499b | ||
|
|
df7a721626 | ||
|
|
60b5f660e8 | ||
|
|
82188d156b | ||
|
|
b0ea1781e7 | ||
|
|
44528b6173 | ||
|
|
059085a21a | ||
|
|
89a7c3e5cb | ||
|
|
10475f32fb | ||
|
|
55e601cf9d | ||
|
|
d0f11a2595 | ||
|
|
eed5cd1877 | ||
|
|
3258b8806f | ||
|
|
072d0f0acd | ||
|
|
04526385d1 | ||
|
|
857327e9ef | ||
|
|
1fafa0dae7 | ||
|
|
e67ae4f3bf | ||
|
|
d12113b94c | ||
|
|
682804f703 | ||
|
|
7aea5eb5af | ||
|
|
58bbb2be38 | ||
|
|
02cb9e9090 | ||
|
|
dc3e801fd2 | ||
|
|
cfc587569a | ||
|
|
7e56174b2a | ||
|
|
6d82d10883 | ||
|
|
c1598bccf9 | ||
|
|
43d0e0a5fd | ||
|
|
08c4aea1b2 | ||
|
|
535012f8b0 | ||
|
|
89423208bb | ||
|
|
b82bead486 | ||
|
|
7233137ad3 | ||
|
|
14ca0deb00 | ||
|
|
575a046cac | ||
|
|
77246aad17 | ||
|
|
3303eb3043 | ||
|
|
04f82e5151 | ||
|
|
de9ebbf99d | ||
|
|
d6506b6430 | ||
|
|
ea7c72a509 | ||
|
|
a9314cc6d5 | ||
|
|
3da0510a8d | ||
|
|
20adf39d8b | ||
|
|
02f474504b | ||
|
|
427abafe43 |
10
.github/pull_request_template.md
vendored
10
.github/pull_request_template.md
vendored
@@ -2,19 +2,17 @@
|
||||
Please check the following before you make a pull request:
|
||||
|
||||
* The branch you are making the pull request from (in your own fork) has a unique and descriptive
|
||||
name. Do not make a pull request directly from your copy of `main`.
|
||||
* If you are submitting translation files, only submit the files that you have added translations
|
||||
to, not the other .ts files that may have been updated in the process.
|
||||
name. Do not make a pull request directly from your copy of `main` or `release`.
|
||||
* Make sure your contribution follows the style guide and other requirements mentioned in the
|
||||
CONTRIBUTING.md file in the repository.
|
||||
* Fill in the Summary section below, and if relevant, mention the issue numbers related to the PR.
|
||||
-->
|
||||
|
||||
**Summary:**
|
||||
### Summary
|
||||
|
||||
**Related Issue(s):**
|
||||
### Related Issue(s)
|
||||
|
||||
**Reviewer's Checklist:**
|
||||
### Reviewer's Checklist
|
||||
|
||||
* [ ] The header of all files contain a reference to the repository license
|
||||
* [ ] The overall test coverage is increased or remains the same as before
|
||||
|
||||
33
.github/workflows/build_all.yml
vendored
Normal file
33
.github/workflows/build_all.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Build All
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
uses: ./.github/workflows/part_assets.yml
|
||||
with:
|
||||
icons-free: true
|
||||
icons-non-free: true
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildLinux-AppImage:
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_appimage.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildLinux-Flatpak:
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_flatpak.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildWin-X64:
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_win_x64.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
39
.github/workflows/build_assets.yml
vendored
39
.github/workflows/build_assets.yml
vendored
@@ -1,39 +0,0 @@
|
||||
name: BuildAssets
|
||||
|
||||
on: workflow_call
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
architecture: x64
|
||||
|
||||
- name: Install Packages (apt)
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install qttools5-dev-tools latexmk texlive texlive-latex-extra
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Packages (pip)
|
||||
run: pip install -U -r requirements.txt -r docs/requirements.txt
|
||||
|
||||
- name: Build Assets
|
||||
run: |
|
||||
python pkgutils.py build-assets
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: |
|
||||
novelwriter/assets/manual*.pdf
|
||||
novelwriter/assets/sample.zip
|
||||
novelwriter/assets/i18n/*.qm
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
46
.github/workflows/build_linux.yml
vendored
46
.github/workflows/build_linux.yml
vendored
@@ -1,46 +0,0 @@
|
||||
name: BuildLinux
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
uses: ./.github/workflows/build_assets.yml
|
||||
|
||||
buildLinux-AppImage:
|
||||
needs: buildAssets
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
LINUX_TAG: "manylinux_2_28_x86_64"
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
architecture: x64
|
||||
|
||||
- name: Install Packages (pip)
|
||||
run: pip install python-appimage
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build AppImage
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
|
||||
python pkgutils.py build-appimage --linux-tag $LINUX_TAG --python-version $PYTHON_VERSION
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Linux-AppImage
|
||||
path: dist_appimage/*.AppImage*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
26
.github/workflows/build_linux_images.yml
vendored
Normal file
26
.github/workflows/build_linux_images.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: Build Linux Images
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
uses: ./.github/workflows/part_assets.yml
|
||||
with:
|
||||
icons-free: true
|
||||
icons-non-free: true
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildLinux-AppImage:
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_appimage.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildLinux-Flatpak:
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_flatpak.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
150
.github/workflows/build_linux_native.yml
vendored
Normal file
150
.github/workflows/build_linux_native.yml
vendored
Normal file
@@ -0,0 +1,150 @@
|
||||
name: Build Linux Native
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
publish:
|
||||
required: false
|
||||
description: "Publish to Cloudsmith?"
|
||||
type: boolean
|
||||
default: false
|
||||
build_number:
|
||||
required: false
|
||||
description: "Build Number"
|
||||
type: string
|
||||
default: "0"
|
||||
debian12:
|
||||
required: false
|
||||
description: "Debian 12 (Bookworm)"
|
||||
type: boolean
|
||||
default: true
|
||||
debian13:
|
||||
required: false
|
||||
description: "Debian 13 (Trixie)"
|
||||
type: boolean
|
||||
default: true
|
||||
ubuntu2404:
|
||||
required: false
|
||||
description: "Ubuntu 24.04 (Noble)"
|
||||
type: boolean
|
||||
default: true
|
||||
ubuntu2604:
|
||||
required: false
|
||||
description: "Ubuntu 26.04 (Resolute)"
|
||||
type: boolean
|
||||
default: true
|
||||
ubuntu2610:
|
||||
required: false
|
||||
description: "Ubuntu 26.10 (Stonking)"
|
||||
type: boolean
|
||||
default: true
|
||||
mint22:
|
||||
required: false
|
||||
description: "Linux Mint 22 (Wilma)"
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
uses: ./.github/workflows/part_assets.yml
|
||||
with:
|
||||
icons-free: true
|
||||
icons-non-free: true
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildAndPublish-Debian12:
|
||||
name: Debian 12 (Bookworm)
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_debian.yml
|
||||
with:
|
||||
publish: ${{ inputs.publish }}
|
||||
build_number: ${{ inputs.build_number }}
|
||||
codename: bookworm
|
||||
family: debian
|
||||
image: debian:12
|
||||
secrets: inherit
|
||||
if: ${{ inputs.debian12 }}
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
|
||||
buildAndPublish-Debian13:
|
||||
name: Debian 13 (Trixie)
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_debian.yml
|
||||
with:
|
||||
publish: ${{ inputs.publish }}
|
||||
build_number: ${{ inputs.build_number }}
|
||||
codename: trixie
|
||||
family: debian
|
||||
image: debian:13
|
||||
secrets: inherit
|
||||
if: ${{ inputs.debian13 }}
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
|
||||
buildAndPublish-Ubuntu2404:
|
||||
name: Ubuntu 24.04 (Noble)
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_debian.yml
|
||||
with:
|
||||
publish: ${{ inputs.publish }}
|
||||
build_number: ${{ inputs.build_number }}
|
||||
codename: noble
|
||||
family: ubuntu
|
||||
image: ubuntu:24.04
|
||||
secrets: inherit
|
||||
if: ${{ inputs.ubuntu2404 }}
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
|
||||
buildAndPublish-Ubuntu2604:
|
||||
name: Ubuntu 26.04 (Resolute)
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_debian.yml
|
||||
with:
|
||||
publish: ${{ inputs.publish }}
|
||||
build_number: ${{ inputs.build_number }}
|
||||
codename: resolute
|
||||
family: ubuntu
|
||||
image: ubuntu:26.04
|
||||
secrets: inherit
|
||||
if: ${{ inputs.ubuntu2604 }}
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
|
||||
buildAndPublish-Ubuntu2610:
|
||||
name: Ubuntu 26.10 (Stonking)
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_debian.yml
|
||||
with:
|
||||
publish: ${{ inputs.publish }}
|
||||
build_number: ${{ inputs.build_number }}
|
||||
codename: stonking
|
||||
family: ubuntu
|
||||
image: ubuntu:26.10
|
||||
secrets: inherit
|
||||
if: ${{ inputs.ubuntu2610 }}
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
|
||||
buildAndPublish-Mint22:
|
||||
name: Linux Mint 22 (Wilma)
|
||||
needs: buildAssets
|
||||
uses: ./.github/workflows/part_debian.yml
|
||||
with:
|
||||
publish: ${{ inputs.publish }}
|
||||
build_number: ${{ inputs.build_number }}
|
||||
codename: wilma
|
||||
family: linuxmint
|
||||
image: linuxmintd/mint22-amd64
|
||||
secrets: inherit
|
||||
if: ${{ inputs.mint22 }}
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
73
.github/workflows/build_mac.yml
vendored
73
.github/workflows/build_mac.yml
vendored
@@ -1,69 +1,26 @@
|
||||
name: BuildMacOS
|
||||
name: Build MacOS
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
uses: ./.github/workflows/build_assets.yml
|
||||
uses: ./.github/workflows/part_assets.yml
|
||||
with:
|
||||
icons-free: true
|
||||
icons-non-free: true
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildMac-AMD64:
|
||||
needs: buildAssets
|
||||
runs-on: macos-latest
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
PACKAGE_ARCH: x86_64
|
||||
MINICONDA_ARCH: x86_64
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build App Bundle
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
|
||||
./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
|
||||
|
||||
- name: Upload DMG
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-AMD64-DMG
|
||||
path: dist_macos/*.dmg*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
uses: ./.github/workflows/part_macos_amd64.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildMac-M1:
|
||||
needs: buildAssets
|
||||
runs-on: macos-latest
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
PACKAGE_ARCH: aarch64
|
||||
MINICONDA_ARCH: arm64
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build App Bundle
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
|
||||
./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
|
||||
|
||||
- name: Upload DMG
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-M1-DMG
|
||||
path: dist_macos/*.dmg*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
uses: ./.github/workflows/part_macos_m1.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
67
.github/workflows/build_win.yml
vendored
67
.github/workflows/build_win.yml
vendored
@@ -1,62 +1,19 @@
|
||||
name: BuildWindows
|
||||
name: Build Windows
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
uses: ./.github/workflows/build_assets.yml
|
||||
uses: ./.github/workflows/part_assets.yml
|
||||
with:
|
||||
icons-free: true
|
||||
icons-non-free: true
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
buildWin64:
|
||||
buildWin-X64:
|
||||
needs: buildAssets
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
architecture: x64
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download Assets
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build Setup Installer
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $Env:GITHUB_OUTPUT
|
||||
python pkgutils.py build-win-exe
|
||||
|
||||
- name: Upload Unsigned Artifacts
|
||||
id: upload-unsigned-artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup
|
||||
path: dist/*.exe
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
|
||||
- name: Submit Signing Request
|
||||
uses: signpath/github-action-submit-signing-request@v1
|
||||
with:
|
||||
api-token: "${{ secrets.SIGNPATH_API_TOKEN }}"
|
||||
organization-id: "0471e52c-66fa-4e9a-bfb9-36167095ca3f"
|
||||
project-slug: "novelWriter"
|
||||
signing-policy-slug: "release-signing "
|
||||
github-artifact-id: "${{ steps.upload-unsigned-artifact.outputs.artifact-id }}"
|
||||
wait-for-completion: true
|
||||
output-artifact-directory: "dist/"
|
||||
parameters: |
|
||||
version: "${{ steps.build.outputs.BUILD_VERSION }}"
|
||||
|
||||
- name: Upload Signed Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup-Signed
|
||||
path: dist/*.exe
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
uses: ./.github/workflows/part_win_x64.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
12
.github/workflows/build_win_launcher.yml
vendored
12
.github/workflows/build_win_launcher.yml
vendored
@@ -1,13 +1,15 @@
|
||||
name: BuildWindowsLauncher
|
||||
name: Build Windows Launcher
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
buildLauncherWin64:
|
||||
runs-on: windows-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Build Launcher
|
||||
id: build
|
||||
@@ -17,7 +19,7 @@ jobs:
|
||||
|
||||
- name: Upload Unsigned Artifacts
|
||||
id: upload-unsigned-artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: launcher
|
||||
path: setup/windows/novelWriter.exe
|
||||
@@ -25,7 +27,7 @@ jobs:
|
||||
retention-days: 14
|
||||
|
||||
- name: Submit Signing Request
|
||||
uses: signpath/github-action-submit-signing-request@v1
|
||||
uses: signpath/github-action-submit-signing-request@v2
|
||||
with:
|
||||
api-token: "${{ secrets.SIGNPATH_API_TOKEN }}"
|
||||
organization-id: "0471e52c-66fa-4e9a-bfb9-36167095ca3f"
|
||||
@@ -37,7 +39,7 @@ jobs:
|
||||
output-artifact-directory: "."
|
||||
|
||||
- name: Upload Signed Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: launcher-signed
|
||||
path: novelWriter.exe
|
||||
|
||||
29
.github/workflows/i18n.yml
vendored
29
.github/workflows/i18n.yml
vendored
@@ -1,32 +1,41 @@
|
||||
name: i18n
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
branches:
|
||||
- i18n/*
|
||||
- main
|
||||
- release
|
||||
paths:
|
||||
- i18n/*.ts
|
||||
|
||||
jobs:
|
||||
buildI18n:
|
||||
name: Build i18n
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: "3.13"
|
||||
python-version: "3.14"
|
||||
architecture: x64
|
||||
- name: Install Packages (apt)
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install System Packages
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install qttools5-dev-tools
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build Assets
|
||||
run: python pkgutils.py qtlrelease
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: nw-i18n
|
||||
path: |
|
||||
novelwriter/assets/i18n/*.qm
|
||||
path: novelwriter/assets/i18n/*.qm
|
||||
if-no-files-found: error
|
||||
retention-days: 7
|
||||
|
||||
3
.github/workflows/lock_threads.yml
vendored
3
.github/workflows/lock_threads.yml
vendored
@@ -13,9 +13,10 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
action:
|
||||
name: Lock Old Issues & PRs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v5
|
||||
- uses: dessant/lock-threads@v6
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-inactive-days: 120
|
||||
|
||||
141
.github/workflows/part_appimage.yml
vendored
Normal file
141
.github/workflows/part_appimage.yml
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
name: Part-AppImage
|
||||
|
||||
on: workflow_call
|
||||
|
||||
jobs:
|
||||
buildLinux-AppImage:
|
||||
# Needs to stay on 22.04 as long as we're using manylinux_2_28
|
||||
# as libxcb-cursor0 in 22.04 supports glibc >= 2.17
|
||||
name: Build AppImage
|
||||
runs-on: ubuntu-22.04
|
||||
permissions:
|
||||
contents: read
|
||||
env:
|
||||
PYTHON_VERSION: "3.14"
|
||||
LINUX_TAG: "manylinux_2_28"
|
||||
LINUX_ARCH: "x86_64"
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: "3.14"
|
||||
architecture: x64
|
||||
|
||||
- name: Install Packages (apt)
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install libxcb-cursor0
|
||||
|
||||
- name: Install Packages (pip)
|
||||
run: pip install python-appimage setuptools
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build AppImage
|
||||
id: build
|
||||
run: |
|
||||
wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$LINUX_ARCH.AppImage
|
||||
chmod +x appimagetool-$LINUX_ARCH.AppImage
|
||||
export APPIMAGE_TOOL_EXEC="$(pwd)/appimagetool-$LINUX_ARCH.AppImage"
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
|
||||
python pkgutils.py build-appimage $LINUX_TAG $LINUX_ARCH $PYTHON_VERSION
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Linux-AppImage
|
||||
path: dist_appimage/*.AppImage*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
|
||||
smokeTest:
|
||||
name: Smoke Test AppImage (${{ matrix.distro }})
|
||||
needs: buildLinux-AppImage
|
||||
runs-on: ubuntu-22.04
|
||||
permissions:
|
||||
contents: read
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- distro: Ubuntu 22.04
|
||||
image: ubuntu:22.04
|
||||
- distro: Debian 12
|
||||
image: debian:12
|
||||
- distro: Fedora 40
|
||||
image: fedora:40
|
||||
- distro: Arch Linux
|
||||
image: archlinux:latest
|
||||
- distro: Manjaro
|
||||
image: manjarolinux/base:latest
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
steps:
|
||||
- name: Install Runtime Dependencies
|
||||
run: |
|
||||
if command -v apt-get >/dev/null 2>&1; then
|
||||
apt-get update
|
||||
apt-get install -y ca-certificates libgl1 libxkbcommon0 libegl1 libfontconfig1 libglib2.0-0 libdbus-1-3
|
||||
elif command -v dnf >/dev/null 2>&1; then
|
||||
dnf install -y ca-certificates coreutils mesa-libGL mesa-libEGL libxkbcommon fontconfig glib2 dbus-libs
|
||||
elif command -v pacman >/dev/null 2>&1; then
|
||||
pacman -Syu --noconfirm --needed ca-certificates coreutils mesa libxkbcommon fontconfig glib2 dbus
|
||||
fi
|
||||
|
||||
- name: Download AppImage Artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
pattern: novelWriter-*-Linux-AppImage
|
||||
merge-multiple: true
|
||||
path: appimage-dist
|
||||
|
||||
- name: Run AppImage Smoke Test
|
||||
run: |
|
||||
set -eu
|
||||
APPIMAGE_FILE="$(find appimage-dist -maxdepth 1 -name '*.AppImage' | head -n1)"
|
||||
if [ -z "$APPIMAGE_FILE" ]; then
|
||||
echo "No AppImage artifact found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
chmod +x "$APPIMAGE_FILE"
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
export QT_NO_XDG_DESKTOP_PORTAL=1
|
||||
export APPIMAGE_EXTRACT_AND_RUN=1
|
||||
|
||||
set +e
|
||||
timeout 25s "$APPIMAGE_FILE" > smoke.log 2>&1
|
||||
EXIT_CODE=$?
|
||||
set -e
|
||||
|
||||
if [ "$EXIT_CODE" -eq 139 ]; then
|
||||
echo "AppImage crashed with segmentation fault"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if grep -Eiq 'segmentation fault|core dumped' smoke.log; then
|
||||
echo "Crash signature found in smoke log"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$EXIT_CODE" -ne 0 ] && [ "$EXIT_CODE" -ne 124 ]; then
|
||||
echo "Unexpected exit code: $EXIT_CODE"
|
||||
cat smoke.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Upload Smoke Logs
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: appimage-smoke-log-${{ matrix.distro }}
|
||||
path: smoke.log
|
||||
if-no-files-found: ignore
|
||||
retention-days: 14
|
||||
62
.github/workflows/part_assets.yml
vendored
Normal file
62
.github/workflows/part_assets.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Part-Assets
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
icons-free:
|
||||
required: true
|
||||
type: boolean
|
||||
icons-non-free:
|
||||
required: true
|
||||
type: boolean
|
||||
|
||||
jobs:
|
||||
buildAssets:
|
||||
name: Build Assets
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install System Packages
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y qttools5-dev-tools latexmk texlive texlive-latex-extra
|
||||
|
||||
- name: Install UV and Python
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
with:
|
||||
python-version: "3.14"
|
||||
enable-cache: true
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
uv sync --no-dev --group docs
|
||||
|
||||
- name: Build Assets
|
||||
run: |
|
||||
uv run --no-sync pkgutils.py build-assets
|
||||
|
||||
- name: Build Free Icons
|
||||
if: ${{ inputs.icons-free }}
|
||||
run: |
|
||||
uv run --no-sync pkgutils.py icons free
|
||||
|
||||
- name: Build Non-Free Icons
|
||||
if: ${{ inputs.icons-non-free }}
|
||||
run: |
|
||||
uv run --no-sync pkgutils.py icons non-free
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: nw-assets
|
||||
path: |
|
||||
novelwriter/assets/manual*.pdf
|
||||
novelwriter/assets/sample.zip
|
||||
novelwriter/assets/i18n/*.qm
|
||||
novelwriter/assets/icons/*.icons
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
82
.github/workflows/part_debian.yml
vendored
Normal file
82
.github/workflows/part_debian.yml
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
name: Part-Debian
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
publish:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
build_number:
|
||||
required: false
|
||||
type: string
|
||||
default: "0"
|
||||
codename:
|
||||
required: true
|
||||
type: string
|
||||
family:
|
||||
required: true
|
||||
type: string
|
||||
image:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
CLOUDSMITH_API_KEY:
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
buildPackage:
|
||||
name: Build Debian Package
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
container:
|
||||
image: ${{ inputs.image }}
|
||||
steps:
|
||||
- name: Install Checkout Prerequisites
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y git ca-certificates python3
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download Assets Artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Install Native Packages
|
||||
run: apt-get install -y $(python3 pkgutils.py build-deb-depends ${{ inputs.codename }})
|
||||
|
||||
- name: Build Package
|
||||
run: python3 pkgutils.py build-deb ${{ inputs.codename }} --build ${{ inputs.build_number }}
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: nw-deb-${{ inputs.codename }}
|
||||
path: dist_upload/*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
|
||||
- name: Set up Cloudsmith CLI with OIDC
|
||||
if: ${{ inputs.publish }}
|
||||
uses: cloudsmith-io/cloudsmith-cli-action@v3
|
||||
with:
|
||||
oidc-namespace: "saga-soft"
|
||||
oidc-service-slug: "github-actions-lcpr"
|
||||
verify-auth: true
|
||||
|
||||
- name: Publish to Cloudsmith
|
||||
if: ${{ inputs.publish }}
|
||||
run: |
|
||||
CHANNEL="$(python3 pkgutils.py channel)"
|
||||
REPO="stable"
|
||||
if [ "$CHANNEL" = "pre" ]; then
|
||||
REPO="testing"
|
||||
fi
|
||||
DEB_FILE="$(find dist_upload -name '*.deb')"
|
||||
cloudsmith push deb "saga-soft/$REPO/${{ inputs.family }}/${{ inputs.codename }}" "$DEB_FILE" --republish
|
||||
46
.github/workflows/part_flatpak.yml
vendored
Normal file
46
.github/workflows/part_flatpak.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
name: Part-Flatpak
|
||||
|
||||
on: workflow_call
|
||||
|
||||
jobs:
|
||||
buildLinux-Flatpak:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install Packages
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y flatpak flatpak-builder
|
||||
flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install UV and Python
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
with:
|
||||
python-version: "3.14"
|
||||
enable-cache: true
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
uv sync --no-dev --group build
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build Flatpak
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(uv run pkgutils.py version)" >> $GITHUB_OUTPUT
|
||||
uv run --no-sync pkgutils.py build-flatpak
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Linux-Flatpak
|
||||
path: dist_flatpak/*.flatpak*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
37
.github/workflows/part_macos_amd64.yml
vendored
Normal file
37
.github/workflows/part_macos_amd64.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
name: Part-MacOS-AMD64
|
||||
|
||||
on: workflow_call
|
||||
|
||||
jobs:
|
||||
buildMac-AMD64:
|
||||
name: Build on MACOS AMD64
|
||||
runs-on: macos-latest
|
||||
permissions:
|
||||
contents: read
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
PACKAGE_ARCH: x86_64
|
||||
MINICONDA_ARCH: x86_64
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build App Bundle
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
|
||||
./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
|
||||
|
||||
- name: Upload DMG
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-AMD64-DMG
|
||||
path: dist_macos/*.dmg*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
37
.github/workflows/part_macos_m1.yml
vendored
Normal file
37
.github/workflows/part_macos_m1.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
name: Part-MacOS-M1
|
||||
|
||||
on: workflow_call
|
||||
|
||||
jobs:
|
||||
buildMac-M1:
|
||||
name: Build on MacOS AARCH64
|
||||
runs-on: macos-latest
|
||||
permissions:
|
||||
contents: read
|
||||
env:
|
||||
PYTHON_VERSION: "3.13"
|
||||
PACKAGE_ARCH: aarch64
|
||||
MINICONDA_ARCH: arm64
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build App Bundle
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
|
||||
./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
|
||||
|
||||
- name: Upload DMG
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-M1-DMG
|
||||
path: dist_macos/*.dmg*
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
61
.github/workflows/part_win_x64.yml
vendored
Normal file
61
.github/workflows/part_win_x64.yml
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
name: Part-Windows-X64
|
||||
|
||||
on: workflow_call
|
||||
|
||||
jobs:
|
||||
buildWin-X64:
|
||||
name: Build on Windows
|
||||
runs-on: windows-2022
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: "3.14"
|
||||
architecture: x64
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download Assets
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
|
||||
- name: Build Setup Installer
|
||||
id: build
|
||||
run: |
|
||||
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $Env:GITHUB_OUTPUT
|
||||
python pkgutils.py build-win-exe
|
||||
|
||||
- name: Upload Unsigned Artifacts
|
||||
id: upload-unsigned-artifact
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup
|
||||
path: dist/*.exe
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
|
||||
- name: Submit Signing Request
|
||||
uses: signpath/github-action-submit-signing-request@v1
|
||||
with:
|
||||
api-token: "${{ secrets.SIGNPATH_API_TOKEN }}"
|
||||
organization-id: "0471e52c-66fa-4e9a-bfb9-36167095ca3f"
|
||||
project-slug: "novelWriter"
|
||||
signing-policy-slug: "release-signing "
|
||||
github-artifact-id: "${{ steps.upload-unsigned-artifact.outputs.artifact-id }}"
|
||||
wait-for-completion: true
|
||||
output-artifact-directory: "dist/"
|
||||
parameters: |
|
||||
version: "${{ steps.build.outputs.BUILD_VERSION }}"
|
||||
|
||||
- name: Upload Signed Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup-Signed
|
||||
path: dist/*.exe
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
36
.github/workflows/syntax.yml
vendored
36
.github/workflows/syntax.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Linting
|
||||
name: Syntax
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -12,26 +12,30 @@ on:
|
||||
|
||||
jobs:
|
||||
checkSyntax:
|
||||
name: Linting and Type Checking
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3
|
||||
architecture: x64
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install UV and Python
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
with:
|
||||
enable-cache: true
|
||||
|
||||
- name: Install Dependencies
|
||||
run: pip install -r requirements.txt -r requirements-dev.txt
|
||||
run: |
|
||||
uv sync --no-dev --group lint
|
||||
|
||||
- name: Ruff Check
|
||||
run: |
|
||||
ruff --version
|
||||
ruff check
|
||||
uv run --no-sync ruff --version
|
||||
uv run --no-sync ruff format --check
|
||||
uv run --no-sync ruff check --output-format github
|
||||
|
||||
- name: Pyright Check
|
||||
run: |
|
||||
pyright --version
|
||||
pyright
|
||||
- name: Isort Check
|
||||
run: |
|
||||
isort --version
|
||||
isort --check .
|
||||
uv run --no-sync pyright --version
|
||||
uv run --no-sync pyright
|
||||
|
||||
46
.github/workflows/test_linux.yml
vendored
46
.github/workflows/test_linux.yml
vendored
@@ -1,46 +0,0 @@
|
||||
name: Linux
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
|
||||
jobs:
|
||||
testLinux:
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
architecture: x64
|
||||
- name: Install Packages (apt)
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install libenchant-2-dev qttools5-dev-tools
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies (pip)
|
||||
run: |
|
||||
pip install -U -r requirements.txt -r tests/requirements.txt
|
||||
- name: Run Build Commands
|
||||
run: |
|
||||
python pkgutils.py qtlrelease
|
||||
python pkgutils.py sample
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
python -m pytest -v --cov=novelwriter --timeout=60
|
||||
- name: Upload to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
37
.github/workflows/test_mac.yml
vendored
37
.github/workflows/test_mac.yml
vendored
@@ -1,37 +0,0 @@
|
||||
name: MacOS
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
|
||||
jobs:
|
||||
testMac:
|
||||
runs-on: macos-13
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
architecture: x64
|
||||
- name: Install Packages (brew)
|
||||
run: |
|
||||
brew install enchant
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies (pip)
|
||||
run: |
|
||||
pip install -U pyobjc -r requirements.txt -r tests/requirements.txt
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
python -m pytest -v --cov=novelwriter --timeout=60
|
||||
- name: Upload to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
33
.github/workflows/test_win.yml
vendored
33
.github/workflows/test_win.yml
vendored
@@ -1,33 +0,0 @@
|
||||
name: Windows
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
|
||||
jobs:
|
||||
testWin:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
architecture: x64
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies (pip)
|
||||
run: |
|
||||
pip install -U -r requirements.txt -r tests/requirements.txt
|
||||
- name: Run Tests
|
||||
run: |
|
||||
python -m pytest -v --cov=novelwriter --timeout=60
|
||||
- name: Upload to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
304
.github/workflows/tests.yml
vendored
Normal file
304
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,304 @@
|
||||
name: Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- release
|
||||
|
||||
jobs:
|
||||
testLinux:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version:
|
||||
- "3.11"
|
||||
- "3.12"
|
||||
- "3.13"
|
||||
- "3.14"
|
||||
fail-fast: false
|
||||
name: Linux Python ${{ matrix.python-version }}
|
||||
permissions:
|
||||
contents: read
|
||||
env:
|
||||
COVERAGE_FILE: .coverage.py${{ matrix.python-version }}
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install System Packages
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install qttools5-dev-tools
|
||||
|
||||
- name: Install UV and Python
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
enable-cache: true
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
uv sync --no-dev --group test
|
||||
|
||||
- name: Build Assets
|
||||
run: |
|
||||
uv run --no-sync pkgutils.py qtlrelease
|
||||
uv run --no-sync pkgutils.py sample
|
||||
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
uv run --no-sync coverage run -m pytest -v --timeout=60
|
||||
uv run --no-sync coverage report --skip-covered --show-missing
|
||||
|
||||
- name: Upload Coverage Data
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: coverage-data-py${{ matrix.python-version }}
|
||||
path: ${{ env.COVERAGE_FILE }}
|
||||
include-hidden-files: true
|
||||
retention-days: 1
|
||||
|
||||
testMac:
|
||||
runs-on: macos-latest
|
||||
name: MacOS Python 3.14
|
||||
permissions:
|
||||
contents: read
|
||||
env:
|
||||
COVERAGE_FILE: .coverage.mac
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install System Packages
|
||||
run: |
|
||||
brew install enchant
|
||||
|
||||
- name: Install UV and Python
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
with:
|
||||
python-version: "3.14"
|
||||
enable-cache: true
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
uv sync --no-dev --group test
|
||||
|
||||
- name: Build Assets
|
||||
run: |
|
||||
uv run --no-sync pkgutils.py sample
|
||||
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
uv run --no-sync coverage run -m pytest -v --timeout=60
|
||||
uv run --no-sync coverage report --skip-covered --show-missing
|
||||
|
||||
- name: Upload Coverage Data
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: coverage-data-mac
|
||||
path: ${{ env.COVERAGE_FILE }}
|
||||
include-hidden-files: true
|
||||
retention-days: 1
|
||||
|
||||
testWin:
|
||||
runs-on: windows-latest
|
||||
name: Windows Python 3.14
|
||||
permissions:
|
||||
contents: read
|
||||
env:
|
||||
COVERAGE_FILE: .coverage.win
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install UV and Python
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
with:
|
||||
python-version: "3.14"
|
||||
enable-cache: true
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
uv sync --no-dev --group test
|
||||
|
||||
- name: Build Assets
|
||||
run: |
|
||||
uv run --no-sync pkgutils.py sample
|
||||
|
||||
- name: Run Tests
|
||||
run: |
|
||||
uv run --no-sync coverage run -m pytest -v --timeout=60
|
||||
uv run --no-sync coverage report --skip-covered --show-missing
|
||||
|
||||
- name: Upload Coverage Data
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: coverage-data-win
|
||||
path: ${{ env.COVERAGE_FILE }}
|
||||
include-hidden-files: true
|
||||
retention-days: 1
|
||||
|
||||
coverageReport:
|
||||
name: PR Coverage Report
|
||||
needs:
|
||||
- testLinux
|
||||
- testMac
|
||||
- testWin
|
||||
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download Coverage Data
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
pattern: coverage-data-*
|
||||
merge-multiple: true
|
||||
|
||||
- name: Install UV
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
|
||||
- name: Combine Coverage Data
|
||||
run: |
|
||||
uvx coverage combine
|
||||
uvx coverage report --skip-covered
|
||||
|
||||
- name: Build Comment Body
|
||||
run: |
|
||||
{
|
||||
echo '<!-- coverage-report -->'
|
||||
echo '### Coverage Report (Linux, macOS, Windows)'
|
||||
echo
|
||||
uvx coverage report --skip-covered --show-missing --format=markdown --precision=3
|
||||
echo
|
||||
echo "**Total: $(uvx coverage report --format=total --precision=3)%**"
|
||||
} > coverage-comment.md
|
||||
|
||||
- name: Post PR Comment
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
REPO: ${{ github.repository }}
|
||||
run: |
|
||||
comment_id=$(gh api "repos/$REPO/issues/$PR_NUMBER/comments" --paginate --jq '.[] | select(.body | startswith("<!-- coverage-report -->")) | .id' | head -n1)
|
||||
if [ -n "$comment_id" ]; then
|
||||
gh api --method PATCH "repos/$REPO/issues/comments/$comment_id" -F body=@coverage-comment.md
|
||||
else
|
||||
gh pr comment "$PR_NUMBER" --body-file coverage-comment.md
|
||||
fi
|
||||
|
||||
coverageSummary:
|
||||
name: Action Coverage Report
|
||||
needs:
|
||||
- testLinux
|
||||
- testMac
|
||||
- testWin
|
||||
if: github.event_name == 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Download Coverage Data
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
pattern: coverage-data-*
|
||||
merge-multiple: true
|
||||
|
||||
- name: Install UV
|
||||
uses: astral-sh/setup-uv@v10.0.1
|
||||
|
||||
- name: Combine Coverage Data
|
||||
run: |
|
||||
uvx coverage combine
|
||||
uvx coverage report --skip-covered
|
||||
|
||||
- name: Write Coverage Summary
|
||||
run: |
|
||||
{
|
||||
echo '### Coverage Report (Linux, macOS, Windows)'
|
||||
echo
|
||||
uvx coverage report --skip-covered --show-missing --format=markdown --precision=3
|
||||
echo
|
||||
echo "**Total: $(uvx coverage report --format=total --precision=3)%**"
|
||||
} >> "$GITHUB_STEP_SUMMARY"
|
||||
|
||||
testUbuntu24:
|
||||
name: Ubuntu 24.04 & Sys Packages
|
||||
runs-on: ubuntu-24.04
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Install System Packages
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install \
|
||||
python3-pyqt6 \
|
||||
python3-pyqt6.qtsvg \
|
||||
python3-pytest \
|
||||
python3-pytestqt \
|
||||
python3-enchant \
|
||||
python3-pytest-timeout \
|
||||
qt6-image-formats-plugins
|
||||
|
||||
- name: Build Assets
|
||||
run: |
|
||||
python3 pkgutils.py sample
|
||||
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
python3 -m pytest -v --timeout=60
|
||||
|
||||
testFedoraLatest:
|
||||
name: Fedora 44 & Sys Packages
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: fedora:44
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Install System Packages
|
||||
run: |
|
||||
dnf -y update
|
||||
dnf -y install \
|
||||
git \
|
||||
python3-enchant \
|
||||
python3-pyqt6 \
|
||||
python3-pytest \
|
||||
python3-pytest-qt \
|
||||
python3-pytest-timeout \
|
||||
qt6-linguist \
|
||||
qt6-qtimageformats
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Run Build Commands
|
||||
run: |
|
||||
python pkgutils.py qtlrelease
|
||||
python pkgutils.py sample
|
||||
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
python3 -m pytest -v --timeout=60
|
||||
32
.gitignore
vendored
32
.gitignore
vendored
@@ -12,6 +12,7 @@ setup.iss
|
||||
/novelWriter.pyw
|
||||
/setup/macos/Info.plist
|
||||
/setup/windows/build
|
||||
.flatpak-builder
|
||||
.venv
|
||||
|
||||
# Translations
|
||||
@@ -20,13 +21,14 @@ setup.iss
|
||||
i18n/*.qm
|
||||
i18n/*.qph
|
||||
|
||||
# Icons Themes Except Material Symbols
|
||||
/novelwriter/assets/icons/*.icons
|
||||
!/novelwriter/assets/icons/material_*.icons
|
||||
|
||||
# Documentation
|
||||
/docs/build/
|
||||
/docs/source/locales/**/*.mo
|
||||
/novelwriter/assets/help/
|
||||
/novelwriter/assets/manual*.pdf
|
||||
*.qch
|
||||
*.qhc
|
||||
.~lock.*
|
||||
|
||||
# Python Temp
|
||||
@@ -35,27 +37,25 @@ __pycache__
|
||||
|
||||
# Sample Project
|
||||
/novelwriter/assets/sample.zip
|
||||
/sample/cache
|
||||
/sample/meta
|
||||
*.bak
|
||||
*.lock
|
||||
ToC.txt
|
||||
/sample/**/*.bak
|
||||
/sample/*.lock
|
||||
/sample/ToC.txt
|
||||
|
||||
# PyTest
|
||||
/prof/
|
||||
/htmlcov/
|
||||
/tests/temp
|
||||
/tests/lipsum/cache
|
||||
/tests/lipsum/meta
|
||||
/tests/_temp
|
||||
/.pytest_cache
|
||||
/pytestdebug.log
|
||||
|
||||
# Coverage
|
||||
/.coverage
|
||||
/.coveragerc
|
||||
/coverage.*
|
||||
|
||||
# Other
|
||||
/test.py
|
||||
.config
|
||||
.local
|
||||
*.patch
|
||||
@@ -63,3 +63,15 @@ ToC.txt
|
||||
# IDE
|
||||
.vscode
|
||||
.ruff_cache
|
||||
|
||||
# No AI files
|
||||
AGENTS.md
|
||||
CLAUSE.md
|
||||
GEMINI.md
|
||||
.claude/
|
||||
.cursor*
|
||||
.codex/
|
||||
.gemini/
|
||||
|
||||
# Debug
|
||||
/debug/
|
||||
|
||||
907
CHANGELOG.md
907
CHANGELOG.md
@@ -1,5 +1,904 @@
|
||||
# novelWriter Changelog
|
||||
|
||||
## Version 2026.2 [2026-09-05]
|
||||
|
||||
### Release Notes
|
||||
|
||||
The 2026.2 release is based on the features added in 2026.2 Beta 1, Beta 2, RC 1.
|
||||
|
||||
See the website for complete [Release Notes](https://novelwriter.io/releases/release_26_2.html).
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed a bug on macOS where using the system's native font selection dialog did not apply the
|
||||
selected font, since Qt's native panel does not confirm the choice with an OK button. By
|
||||
@kkostov. PR #2970.
|
||||
* Fixed a bug from the Beta 1 release where tab widgets could show a border despite having flat
|
||||
tabs enabled. By @vkbo. PR #2971.
|
||||
* Fixed a bug from the Beta 1 release where pasting rich text could repeat formatting
|
||||
unnecessarily when the source contained overlapping hidden formats. Restored the ability to
|
||||
paste as plain text, now bound to `Ctrl+Shift+V`, which was lost when rich text paste was
|
||||
introduced. By @vkbo. Issues #2978 and #2979. PR #2980.
|
||||
* Fixed missing theme colours in the Dark Arts and Ruby Night themes added in the Beta 2 release.
|
||||
By @HeyMyian. PR #3003.
|
||||
|
||||
**User Interface**
|
||||
|
||||
* Changed the default line height from 1.0 to 1.15, the default font on Windows to Segoe UI, and
|
||||
reduced the default application font size from 10pt to 9pt. By @HeyMyian. Discussed in #2955.
|
||||
PR #2998.
|
||||
|
||||
**Other Changes**
|
||||
|
||||
* Bumped the project file format version to 1.6 to block the project from being opened by older
|
||||
versions of novelWriter that cannot read it correctly anyway. By @vkbo. PR #2984.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* Rewrote the Debian package build to publish through a package registry, with build versions now
|
||||
selectable and Linux Mint added as a supported target. By @vkbo. PRs #2986 and #2990.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* The Norwegian, US English, German, Italian, Japanese, Polish and Portuguese translations are
|
||||
now complete, and the Catalan translation has been updated. Translations are contributed via
|
||||
[Crowdin](https://crowdin.com/project/novelwriter). PR #2968.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.2 RC 1 [2026-08-09]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a release candidate of the next release version, and is intended for testing purposes.
|
||||
Please be careful when using this version on live writing projects, and make sure you take frequent
|
||||
backups.
|
||||
|
||||
Note that 2026.2 Beta 2 and newer upgrades a project on first load, so it can no longer be opened
|
||||
in an older version of novelWriter. 2026.2 Beta 1 and newer also updates the main config file, but
|
||||
leaves the old one in place, so this is not blocking older versions but be aware that the config
|
||||
changes do not pass between the old and new config files once the new config file exists.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed a bug in the updated drag and drop implementation in the project tree from the Beta 1
|
||||
release. The tree no longer allowed an item to be dropped on top of another to make it a child of
|
||||
the item. Issue #2953. PR #2954.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Improved dialogue highlighting for single-quoted dialogue when the text included apostrophes.
|
||||
Discussed in #2633. PR #2956.
|
||||
* Updated the new project builder so it doesn't claim the index is broken the first time it is
|
||||
opened. It is only "broken" in the sense that it is missing the first time. The index is now
|
||||
built when the project is created, so the warning no longer appears. Issue #2952. PR #2954.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* Removed broken link and associated instructions on the dictionary install page. PR #2951.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.2 Beta 2 [2026-08-02]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a beta release of the next release version, and is intended for testing purposes. Please be
|
||||
careful when using this version on live writing projects, and make sure you take frequent backups.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue where the wrong theme colours were used for the active and inactive icons in the
|
||||
project tree context menu. Issue #2941. PR #2946.
|
||||
* Removed the placeholder text in the Manuscript Tool preview since it used the wrong text colour
|
||||
on dark themes and anyway is never visible for more than a few milliseconds. Issue #2942.
|
||||
PR #2946.
|
||||
* Fixed a bug from the beta 1 release where selecting a piece of text and moving it would cause a
|
||||
crash. Issue #2917. PR #2918.
|
||||
* Fixed a re-entrancy bug in the project search tool. Issue #2924. PR #2937.
|
||||
* Fixed a re-entrancy bug candidate in the status bar message display logic. Issue #2925. PR #2938.
|
||||
* Fixed a potential segfault candidate, and an incorrect thread pool runnable in the version
|
||||
check widget. Issue #2926. PR #2938.
|
||||
* Fixed a bug in the loop that collects navigation headers in the editor, which was ignoring the
|
||||
max count. Issue #2930. PR #2939.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Added more granular theme variables to improve contrast for GUI components. Issue #2910.
|
||||
PRs #2911, #2915
|
||||
* Updated themes with new colours and other improvements. By @vkbo and @HeyMyian. Issue #2910.
|
||||
PRs #2911, #2912, #2916 and #2943.
|
||||
* Added five new themes, by @HeyMyian. PR #2943.
|
||||
* Added a character count toggle for project writing goals. Issue #2913. PR #2919.
|
||||
* Removed all usages of the Qt find block methods inside loops in the editor. These are binary
|
||||
searches, not lookups, so the cost is higher than I expected. Issue #2930. PR #2939.
|
||||
* The word counter ran twice on every document search. First once in the editor, then in the
|
||||
indexer. The run in the editor was removed. Issue #2928. PR #2944.
|
||||
|
||||
**Other Changes**
|
||||
|
||||
* The way the check against overwriting documents that have been changed on disk is performed has
|
||||
been improved so that it doesn't always have to read the existing document before writing.
|
||||
Issue #2929. PR #2945.
|
||||
* Project documents are now saved as a text document with the `.md` extension and a standard TOML
|
||||
header instead of the old custom format and extension. Issue #1964. PR #2945.
|
||||
* Pinned the Python garbage collector to the main gui thread to prevent it from accidentally
|
||||
triggering in the Qt thread pool. Issue #2927. PR #2940.
|
||||
* The index cache and project-local gui state JSON files are no longer written on every autosave.
|
||||
Instead they are only written on manual saves or project close. The index cache is verified
|
||||
against a revision number on open to catch any stale caches. This was also a potential problem
|
||||
before, so this change is a general improvement. A stale cache is rebuilt on project open.
|
||||
Issue #2931. PR #2944.
|
||||
|
||||
**Installation**
|
||||
|
||||
* Added flatpak for Linux installation. Based on work by @Ryex. Issue #1651. PRs #2906 and #2908.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.2 Beta 1 [2026-07-26]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a beta release of the next release version, and is intended for testing purposes. Please be
|
||||
careful when using this version on live writing projects, and make sure you take frequent backups.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue with kerning when printing the manuscript preview on Windows, and changed the
|
||||
page break marker to a dashed line instead of a solid text block. Issue #2640. PR #2838.
|
||||
* Fixed tooltip and scrollbar colours not matching the selected theme, a compatibility issue with
|
||||
newer versions of Qt; custom stylesheets have been replaced with other styling methods, and the
|
||||
Fusion Qt style is now hard coded, to resolve this properly. Issue #2871. PRs #2877 and #2881.
|
||||
* Fixed a re-entrancy issue when opening documents, and removed a stray call that could delay
|
||||
cleanup of objects, improving overall application stability. PR #2840.
|
||||
* Fixed five memory leaks related to freeing Qt objects created from Python, and added regression
|
||||
tests to catch similar issues in the future. PRs #2829 and #2830.
|
||||
|
||||
**Features**
|
||||
|
||||
* Added EPUB 3 as a new manuscript export format. Issue #2058. PR #2283.
|
||||
* Added dialogue statistics to manuscripts, showing the number of characters used in dialogue and
|
||||
the ratio of dialogue to prose text. The statistics panel has been moved from below the
|
||||
manuscript preview to a new tab in the panel on the left. Issue #2096. PR #2841.
|
||||
* Added a horizontal rule format for manuscript headings. Using four hyphens ("----") as a
|
||||
heading inserts a line across the page in all output formats. Issue #2755. PRs #2771 and #2772.
|
||||
* Added a setting for the automatic backup interval, allowing backups to be limited to one per
|
||||
session, day, week, or month by overwriting the previous backup file, using an unambiguous
|
||||
ISO8601-based file name format. Issue #2754. PRs #2834 and #2835.
|
||||
* Added a line height setting for the editor and viewer, applied consistently including to pasted
|
||||
text. Issues #654 and #2874. PRs #2817 and #2875.
|
||||
* Added a text zoom feature for the editor and viewer, using the standard Qt zoom shortcuts.
|
||||
Issue #1280. PR #2822.
|
||||
* Added highlighting of all search result matches in the editor, in addition to the currently
|
||||
selected one. Issues #2736 and #2798. PR #2820.
|
||||
* Added a new format checker that highlights trailing spaces at the end of lines, alongside the
|
||||
existing check for multiple spaces between words. Issue #2800. PR #2821.
|
||||
* Added hover cards for tags in the editor and viewer, with buttons to quickly open the
|
||||
referenced document for editing or viewing. Issue #2857. PR #2859.
|
||||
* Added filters for text content, document type, and root folder to the project search tool,
|
||||
available in a new collapsible panel below the search box that updates automatically as root
|
||||
folders change. Issues #1927 and #2256. PRs #2847 and #2848.
|
||||
* Added a collapsible panel widget, now used for the item details panel below the project tree
|
||||
and novel view, which can be hidden, and for the new project search filters panel. PR #2843.
|
||||
* Added support for pasting rich text (HTML) into the editor, without stripping leading or
|
||||
trailing whitespace. Issue #2601. PRs #2876 and #2878.
|
||||
* Added project writing goals with daily progress tracking, shown as progress bars with
|
||||
sufficient colour contrast in all themes, and correctly reset when starting a new day. Also
|
||||
added an option to exclude specific root folders from the count. Based on work contributed by
|
||||
@BlayW. Issue #2223. PRs #2870, #2878, #2887, #2889, #2891 and #2892.
|
||||
* The symbol auto-replace feature can now also be used in the editor's search and replace boxes,
|
||||
the project search box, and the header format field in Manuscript Build Settings, and can be
|
||||
toggled on or off in each. Issue #2261. PRs #2866, #2867 and #2868.
|
||||
* It is now possible to recursively set the active or inactive state of all documents under a
|
||||
folder in the project tree from the right-click menu. Issue #2188. PR #2784.
|
||||
* A checkbox now shows the active project's spell check language in the Tools menu, and the spell
|
||||
checker is re-run automatically when the language is changed. Issue #2311. PR #2785.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Manuscript Build Settings now has an option to enable or disable justify-expansion of lines
|
||||
with manual line breaks, extended to Open Document and Word Document formats. Issue #2764.
|
||||
PRs #2769 and #2770.
|
||||
* The reference list panel now refreshes automatically when the references in a document change,
|
||||
instead of requiring a manual refresh. Issue #2124. PR #2782.
|
||||
* Keypress handling in the editor's auto-complete menu has been improved: arrow keys navigate the
|
||||
list, Left and Escape close it, and Tab, Enter, Return, and Right accept the highlighted entry
|
||||
or close the menu if nothing is selected. Issue #2742. PR #2743.
|
||||
* The editor's auto-complete menu has been rewritten to use Qt's native completer widget instead
|
||||
of a custom menu, improving its look and behaviour. PR #2856.
|
||||
* Performance of the spell checker has been substantially improved by caching computed highlights
|
||||
and dictionary lookups, and syntax highlighting and spell checking are now skipped for
|
||||
excessively long paragraphs (over 20 000 characters) to keep large documents responsive. A
|
||||
related concurrency issue in the background word counter has also been fixed. PRs #2808, #2861,
|
||||
#2862 and #2863.
|
||||
|
||||
**User Interface**
|
||||
|
||||
* Toggle buttons, such as those in the search tools, are now more visible when active, using a
|
||||
new "toggle" theme colour. A new "searchMatch" theme colour is also used to highlight search
|
||||
matches in the editor and project search results, and now refreshes immediately when switching
|
||||
themes. Existing themes have been updated accordingly, including contributions by @HeyMyian.
|
||||
Issues #2827, #2845 and #2886. PRs #2833, #2844, #2846, #2882 and #2887.
|
||||
* Restored the flat look of tabs in tab widgets, now implemented with a custom painter instead of
|
||||
stylesheets for better compatibility with recent versions of Qt. PR #2890.
|
||||
* Fixed handling of long labels in switches, and in the quick link and header navigation
|
||||
menus. PR #2850.
|
||||
|
||||
**Other Changes**
|
||||
|
||||
* The document editor's underlying text widget has been switched back to a full rich text editor
|
||||
instead of a plain text editor, enabling several of the features in this release, such as line
|
||||
height, zoom, and pasting rich text; copying text from the editor still produces plain text as
|
||||
before. This also required narrowing down when the editor is re-initialised, which had caused
|
||||
some Preferences settings to stop refreshing the GUI properly. Issue #2815. PRs #2816, #2860 and
|
||||
#2878.
|
||||
* Spell checking has been moved out of the syntax highlighter and now runs as a chunked, timed
|
||||
background process, using the same block-based caching approach as the new search highlighting.
|
||||
PR #2812.
|
||||
* The application configuration file and all theme files have been converted from Linux-style
|
||||
config formats to TOML. PRs #2883 and #2885.
|
||||
* The project search panel has been internally rewritten to use a model/view architecture, with
|
||||
no intended functional change. PR #2842.
|
||||
* Internal handling of icons has been changed, with no expected functional impact. PR #2852.
|
||||
* The viewer code has been merged into the editor folder ahead of further refactoring work.
|
||||
PR #2880.
|
||||
* Cleaned up how menu actions with additional data, such as icons and custom data, are created
|
||||
internally. Issue #2828. PR #2832.
|
||||
|
||||
**Code Maintenance**
|
||||
|
||||
* Enabled branch coverage in the test suite, added tests for previously uncovered branches, and
|
||||
fixed a few minor bugs found in the process. PR #2807.
|
||||
* Hardened flaky tests to reduce occasional segfaults during test runs. PR #2864.
|
||||
* Updated the default Python version used for testing and embedded in builds to 3.14. PR #2786.
|
||||
* Updated the Ubuntu versions targeted by packaging and CI. PR #2802.
|
||||
* Updated icon packages, test helper scripts, and documentation build tooling. PR #2853.
|
||||
* Added tests to the Debian package build process. PR #2896.
|
||||
* Various internal linting, naming, and code style improvements, including dropping the redundant
|
||||
`NW` prefix from most class names. PRs #2779, #2826 and #2831.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.1.2 [2026-07-25]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes a race condition when searching across multiple documents,
|
||||
restores the application's taskbar icon on Windows, and fixes a font setting that failed to load
|
||||
on older versions of Qt. Japanese and Russian translations have also been updated.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed a race condition when searching through multiple documents that could cause a crash if
|
||||
the next match button was pressed too quickly. Issue #2809. PR #2811.
|
||||
* Fixed the application icon not showing on the Windows taskbar. Issue #2728. PR #2824.
|
||||
* Fixed loading of a font setting saved with Qt 6.11 when running on older versions of Qt.
|
||||
PR #2849.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Japanese translation updated by @hebekeg. PR #2897.
|
||||
* Russian translation updated by Kuro Ryuu (kuroryuu) and Konstantin Tan (@k1kimosha). PR #2897.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.1.1 [2026-06-28]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that adds Catalan language to the app, and updates translation files for
|
||||
other languages. Some user interface labels for the Manuscript tool have been improved, and the
|
||||
documentation updated. A small fix resolves an error message printed to the log when launching the
|
||||
app on Linux.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed a DBus error message from Qt on Linux. PR #2790.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Clarified some of the GUI labels on the Manuscript tool. Issue #2762. PR #2768.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Catalan translations added by @jaumeplanas. PR #2793.
|
||||
* Norwegian and US English translations updated by @vkbo. PR #2793.
|
||||
* Japanese translation updated bu @hebekeg. PR #2793.
|
||||
* German translation updated by @HeyMyian. PR #2793.
|
||||
* Polish translation updated by @Nauthizz. PR #2793.
|
||||
* Dutch translation updated by @risingphoenix73. PR #2793.
|
||||
* Italian translation updated by Lou Cyper. PR #2793.
|
||||
* Chinese translation updated by wcxu21 and @longqzh. PR #2793.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* Fixed some typos in the documentation. PR #2773.
|
||||
* Improved the documentation for the Manuscript tool. Issue #2763. PR #2768.
|
||||
* Switched the documentation back to using `uv` for examples. PR #2766.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.1 [2026-04-26]
|
||||
|
||||
### Release Notes
|
||||
|
||||
The 2026.1 release is based on the features added in 2026.1 Beta 1, Beta 2, RC 1.
|
||||
|
||||
See the website for complete [Release Notes](https://novelwriter.io/releases/release_26_1.html).
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Improvements**
|
||||
|
||||
* When exporting manuscripts to DocX (Word), the document will no longer expand hard line breaks by
|
||||
when default when justified margins are enabled. Issue #2690. PR #2732.
|
||||
* The "Add titles for notes" label in **Manuscript Build** settings has been updated and should now
|
||||
be clearer. Issue #2727. PR #2729.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* A missing translation string for projects was added. Issue #2730. PR #2731.
|
||||
* Norwegian and US English translations updated by @vkbo. PR #2738.
|
||||
* Japanese translation updated bu @hebekeg. PR #2738.
|
||||
* Dutch translation updated by @risingphoenix73. PR #2738.
|
||||
* German translation updated by @HeyMyian. PR #2738.
|
||||
* Polish translation updated by @Nauthizz. PR #2738.
|
||||
* Latin American Spanish translation updated by @tmarplatt. PR #2738.
|
||||
* Czech translation updated by Tomáš Zmek. PR #2738.
|
||||
* Italian translation updated by Lou Cyper. PR #2738.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.1 RC 1 [2026-04-13]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a release candidate of the next release version, and is intended for testing purposes.
|
||||
Please be careful when using this version on live writing projects, and make sure you take frequent
|
||||
backups.
|
||||
|
||||
Note: There are no longer any Mac releases produced for novelWriter. See #2618.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue where the editor and viewer header no longer changed colour when losing or gaining
|
||||
focus. Issue #2716. PR #2717.
|
||||
* Fixed the project list tooltip on the Welcome dialog. Issue #2714. PR #2715.
|
||||
* Fixed the size of spin boxes on config forms. Issue #2703. PR #2711.
|
||||
|
||||
**Features**
|
||||
|
||||
* A new setting in Preferences allows for the usage of single asterisks for bold formatting.
|
||||
Enabling this setting does not disable double asterisk bold. Issue #2718. PR #2719.
|
||||
|
||||
**User Interface**
|
||||
|
||||
* Adjusted some colours of icons in several themes to bring them visually in line with the rest of
|
||||
the theme. Contributed by @HeyMyian. PR #2712.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Updated translation strings. PRs #2721 and #2722.
|
||||
* Updated Dutch translation by @risingphoenix73. PRs #2721 and #2722.
|
||||
* Updated US English and Norwegian translation by @vkbo. PRs #2721 and #2722.
|
||||
|
||||
**Other Changes**
|
||||
|
||||
* GUI font emphasis is now handled by the theme class, and bold text on the GUI has been reduced in
|
||||
weight to semibold. Issue #2709. PR #2710.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.1 Beta 2 [2026-04-04]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a beta release of the next release version, and is intended for testing purposes. Please be
|
||||
careful when using this version on live writing projects, and make sure you take frequent backups.
|
||||
|
||||
Note: There are no longer any Mac releases produced for novelWriter. See #2618.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* An unchecked dependency on Qt 6.9 has been fixed. If the app was running in an environment with
|
||||
an older Qt version, the app would crash when opening one of the settings dialogs. This should
|
||||
only affect the Debian packages since the Windows and AppImage releases bundle Qt 6.11.
|
||||
Issue #2706. PR #2704.
|
||||
|
||||
----
|
||||
|
||||
## Version 2026.1 Beta 1 [2026-04-02]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a beta release of the next release version, and is intended for testing purposes. Please be
|
||||
careful when using this version on live writing projects, and make sure you take frequent backups.
|
||||
|
||||
Note: There are no longer any Mac releases produced for novelWriter. See #2618.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* The URL highlighting now also works if the URL has an exclamation point. Issue #2693. PR #2695.
|
||||
* The margin settings in Manuscript Build settings now correctly shows icons to indicate margin
|
||||
type. PR #2647.
|
||||
|
||||
**Features**
|
||||
|
||||
* The novelWriter version number is now year-based. Instead of the next release being 2.9, it is
|
||||
now 26.1 or 2026.1 as shown in the app. Discussion #2667. PR #2669.
|
||||
* Added the Lucide icon theme as a user-selectable icon theme. Issue #2605. PR #2632.
|
||||
* It is now possible to split a document via text selection, or at the cursor position, from the
|
||||
right-click menu in the editor. Issues #1486 and #2571. PR #2688.
|
||||
* The shortcuts `Ctrl+Up` and `Ctrl+Down` now move the cursor between paragraphs in the editor.
|
||||
Issue #2635. PR #2679.
|
||||
* The size of the different heading levels can now be adjusted in the Manuscript Build settings
|
||||
tool. Issue #2439. PR #2650.
|
||||
* Added a setting for manuscripts to use blank lines instead of margins in manuscript document
|
||||
formats. Issue #2648. Discussion #2646. PR #2649.
|
||||
* A new "Heading Format" sections is available in Manuscript Build settings. The settings for bold
|
||||
and colourised headings have been moved there, and a new setting to make them uppercase has been
|
||||
added. PR #2647.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Added word or character units to count tooltip labels in project tree and novel view. PR #2698.
|
||||
* The note document associated with a reference can now be opened in the editor from the
|
||||
right-click menu. Issue #2448. PR #2697.
|
||||
* The `Shift+Enter` shortcut now also works in the project search, and opens the document in the
|
||||
viewer. However, it cannot show the actual search result since the search itself is performed on
|
||||
the raw plain text document and doesn't apply to the generated document in the viewer.
|
||||
Issue #2661. PR #2697.
|
||||
* Backward searches in the editor can now also iterate backwards in project documents if the option
|
||||
to continue search in the next document is enabled. Issue #1451. PR #2696.
|
||||
* Error handling when encountering file system issues has been improved and hardened. It should
|
||||
further prevent application crashes when encountering such issues. Issues #2529 and #2671.
|
||||
PRs #2675 and #2683.
|
||||
* The document header in the editor and viewer panels have been improved. An issue with clipping of
|
||||
the descending characters have been fixed, and each part of the path can be clicked to highlight
|
||||
it in the project tree. Issues #2664 and #2674. PR #2677.
|
||||
* Added a setting in Preferences that turns off scaling of headings in the editor, which is more
|
||||
consistent with plain text where all text is the same size. Issue #2636. PR #2670.
|
||||
* Improved the way version numbers are shown in the Welcome dialog, allows the selected project to
|
||||
be opened with the Enter key, and using the arrow keys will move the selection up and down
|
||||
without first having to switch focus to the recent projects list. PR #2668.
|
||||
|
||||
**Accessibility**
|
||||
|
||||
* Improved screen reader support for remaining buttons, and improved reading of settings pages in
|
||||
various dialogs. Issue #2338. PR #2698.
|
||||
* Two new light colour themes for colour blindness has been added. They are "Today Deuteranopia"
|
||||
for red/green colour blindness, and "Today Tritanopia" for blue colour blindness. Issue #2689.
|
||||
PR #2694.
|
||||
* Added an option in Preference to show dotted lines under formatting codes in the editor. This is
|
||||
a visual aid in addition to highlighting colours. Issue #2691. PR #2692.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Updated translation files with some new translations since the 2.8 release. PR #2699.
|
||||
|
||||
**Other Changes**
|
||||
|
||||
* The fun Discworld themed titles shown on error windows have been extended with new titles to
|
||||
randomly select from. PR #2684.
|
||||
* PDM has replaced UV as the dependency manager for development and testing. This should not matter
|
||||
to end users. Issue #2685. PR #2678.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.8.2 [2026-01-25]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes an issue with launching novelWriter via a project file on
|
||||
Windows, adds an alert when the spell check dictionary cannot be loaded, handles headings in HTML
|
||||
manuscripts the same way as for documents, and updates the documentation on how heading levels are
|
||||
handled in the manuscript build process.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue with the exe launcher on Windows where it didn't support spaces in the path when
|
||||
the user tried to open novelWriter from a project file. Issue #2643. PR #2645.
|
||||
* Fixed an issue with the PDF manuscript format which stopped after about 600-700 pages when
|
||||
generating A4 pages. The limit is now in the 11000 pages range. Issue #2637. PRs #2638 and #2639.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Added an alert box when the spell check language selected for a project could not be loaded.
|
||||
Issue #2631. PR #2654.
|
||||
* The HTML manuscript format now exports novel title and partition titles as paragraphs with a
|
||||
larger font size instead of HTML headings. This is more consistent with the other formatted
|
||||
document formats. Issue #2641. PR #2653.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* Added information to the documentation about heading level promotion when building the
|
||||
manuscript. Issue #2641. PR #2653.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.8.1 [2025-12-28]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes an issue where the application could crash due to a change in
|
||||
PyQt/Qt 6.10. The issue is related to certain input methods, and is at least triggered when using
|
||||
Spotlight on MacOS.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue where the inputMethodQuery call to the Qt library returns an object that PyQt6
|
||||
cannot convert to a Python object. The fix just disables the conversion since the return value is
|
||||
passed back to the Qt library anyway. The problem affects Qt/PyQt 6.10 and is triggered in MacOS
|
||||
at least, but it is not known if it affects other platforms. Issue #2622. PR #2623.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* Removed references to the old colour theme system in the documentation. Issue #2619. PR #2625.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.8 [2025-12-14]
|
||||
|
||||
### Release Notes
|
||||
|
||||
The 2.8 release is based on the features added in 2.8 beta 1 and 2.8 RC 1.
|
||||
|
||||
See the website for complete [Release Notes](https://novelwriter.io/releases/release_2_8.html).
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue where the app could crash when the user pasted from an empty clipboard. This
|
||||
appears to be a Qt or PyQt bug, and is not present on the later releases, but a fix has been
|
||||
added that ensures the bug is not triggered. Issue #2598. PR #2602.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* Fixed a broken link in the updated 2.8 docs. PR #2595.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Updated Czech, German, US English, Italian, Japanese, Norwegian and Chinese translation files
|
||||
from the Crowdin project page. PR #2608.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* Added `qt6-svg-plugins` as a direct dependency of novelWriter on Debian. This package was not
|
||||
always installed on some distros. Issue #2604. PR #2607.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.8 RC 1 [2025-11-30]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a release candidate of the next release version, and is intended for testing purposes.
|
||||
Please be careful when using this version on live writing projects, and make sure you take frequent
|
||||
backups.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed a bug that would block the return key in the editor if French style space padding was
|
||||
enabled in Preferences. Issue #2586. PR #2587.
|
||||
* Fixed an issue where dialog state was no longer saved properly when they were closed for many
|
||||
dialogs. This may be due to a change in the Qt framework, or a bug from a previous release.
|
||||
PR #2585.
|
||||
* Fixed an issue where a confusing error would show up if the user cancelled the file dialog during
|
||||
example project creation. A new dialog now tells you what the actual issue was and sends you back
|
||||
to the welcome dialog. Issue #2590. PR #2592.
|
||||
|
||||
**Features**
|
||||
|
||||
* Vim mode has been added to the editor, and can now be enabled in Preferences. Contributed by
|
||||
@idealemu. Issue #2493. PRs #2499 and #2588.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Using format button from the editor toolbar will not apply the formatting on lines that cannot
|
||||
take formatting, like headings and meta data lines. Issue #2560. PR #2575.
|
||||
* Added an option in Preferences that will try to centre the main app windows during startup. This
|
||||
effect is always triggered if the main window is scaled down at startup due to being opened on a
|
||||
smaller screen. Issue #2579. PRs #2580 and #2581.
|
||||
* The example project has been updated and improved. Issue #2570. PRs #2572 and #2574.
|
||||
* The spacing between icon and text in push buttons has been increased. PR #2582.
|
||||
* The font selection dialog now remembers its previous size, and uses the new standard push buttons
|
||||
instead of the Qt defaults. PR #2584.
|
||||
* It is now possible to override the manuscript language meta value for document formats that have
|
||||
this. The IETF BCP 47 language tag is used. Issue #2328. PR #2593.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Updated US English, Italian, Norwegian, and Japanese translations. PR #2589.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.8 Beta 1 [2025-10-29]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a beta release of the next release version, and is intended for testing purposes. Please be
|
||||
careful when using this version on live writing projects, and make sure you take frequent backups.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* The editor now properly supports 4 byte Unicode characters without breaking the syntax
|
||||
highlighting and spell checker. Issue #2449. PR #2451.
|
||||
* Fixed a bug in the font matching code where the style name property for the font was set,
|
||||
preventing Qt from picking a proper styled font. Issue #2502. PR #2503.
|
||||
* Spell check dictionaries in the main menu are now updated when new dictionaries are installed
|
||||
using the add dictionaries tool. Contributed by @Reproog. Issue #2558. PR #2562.
|
||||
* Fixed an issue where the Novel Tree panel heading would be greyed out if there was only one Novel
|
||||
root folder. Issue #2482. PR #2556.
|
||||
|
||||
**Features**
|
||||
|
||||
* Current line highlighting has been added and can be enabled in Preferences. Issue #1321.
|
||||
PR #2405.
|
||||
* The Status and Importance labels can now use theme colours in addition to a user defined custom
|
||||
colour. The settings for these labels have also been made clearer. Issues #2357, #2366 and
|
||||
#2452. PRs #2400 and #2461.
|
||||
* Markdown style highlighting tags are now supported in the editor. Issue #1894. PR #2412.
|
||||
* Synopsis/short comments, story comments, and story notes can now be used multiple times under a
|
||||
heading. The text is just appended as a new paragraph each time the annotated comment type is
|
||||
encountered. Issue #2483. PR #2543.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* You can now press `Ctrl+T` and `Ctrl+Shift+T` when in Focus Mode to exit the Focus Mode
|
||||
automatically and switch to the Project Tree or Outline View. Issue #1294. PR #2479.
|
||||
* When creating a new document from a template, the first title of the template document is
|
||||
replaced with the label text set for the new document. Issue #2238. PR #2477.
|
||||
* When the app is performing a potentially bulky and time consuming task, a small progress bar will
|
||||
appear at the top of the status bar to show the progress of the task. It is currently used when
|
||||
the index is rebuilt and when processing multiple documents in the Project Tree. Issue #2243.
|
||||
PR #2478.
|
||||
* The auto-replace feature in the editor is now better at detecting opening and closing quotes when
|
||||
used in relation to markdown style markup. Issue #2488. PR #2489.
|
||||
* The application window is now blocked from resizing itself to a size larger than the screen when
|
||||
opened on a smaller screen than it was previously opened on. Like for instance when it was
|
||||
connected to an external screen from a laptop. Issue #2354. PR #2369.
|
||||
* Improved the CSS styling of HTML manuscript documents. Issue #2358. PR #2404.
|
||||
* Trailing spaces are no longer highlighted in the editor with an error underline. Multiple spaces
|
||||
between words still are. Issue #2501. PR #2505.
|
||||
* The rebuild index dialog is no longer showed if the index is rebuilt due to index structure
|
||||
changes when a project is opened for the first time in a newer version of novelWriter. This was
|
||||
confusing to some users who thought the dialog indicated an error. Issue #2513. PR #2537.
|
||||
* A switch on the Manuscript Build Settings dialog now allows for automatic preview of the build
|
||||
when Apply or Save is clicked. Issue #2486. PR #2553.
|
||||
* Formatting and handling of Story Comments and Story Notes have been improved, and they can be
|
||||
filtered separately in the viewer panel. PR #2421.
|
||||
|
||||
**User Interface**
|
||||
|
||||
* The GUI and syntax themes have been merged into a single theme, which means there are no longer
|
||||
separate settings for the general GUI and the document colour theme. Issue #2335. PR #2373.
|
||||
* There are now two GUI theme settings in Preferences, one for light and one for dark mode. A new
|
||||
button on the sidebar allows you to switch between them, or it can be set to auto mode that
|
||||
follows the operating system's light/dark mode. Issues #1173 and #2487.
|
||||
PRs #2373 and #2545.
|
||||
* More themeable settings have been added. The document active flag, the theme base colour, and the
|
||||
new GUI accent colour (if Qt version is high enough) is now available. Issue #2382. PR #2384.
|
||||
* The highlighting colour for special white spaces, like non-breaking spaces, can now be set in the
|
||||
theme. Previously it used the emphasis colour. Issue #2547. PR #2548.
|
||||
* The Welcome dialog background now follows the theme colours. Issue #2379. PR #2380.
|
||||
* The dialog buttons now use icons from the selected theme, not from the host OS. Issues #2498,
|
||||
#2551 and #2561. PRs #2544, #2546, #2553, #2557 and #2563.
|
||||
* Added semantic categories for icon colours which can be defined in the colour theme. PR #2549.
|
||||
* Primer Dark and Primer Light themes added by @HeyMyian. Issue #2376. PRs #2377 and #2419.
|
||||
* Horizon, Otium, Paragon, Selenium, Sepia, Sultana, Vivid, Warpgate, and Waterlily themes added by
|
||||
@HeyMyian. Issue #2407. PR #2495.
|
||||
* Aura, B2T Garden, B2T Suburb, B4T Classic-O, B4T Modern-C, Everforest, New Moon, Full Moon, Nord,
|
||||
Nordlicht, Castle, Chernozem, Chalky Soil, Floral, Ruby themes added by @HeyMyian. PR #2450.
|
||||
* Blue Streak themes added. PR #2388.
|
||||
* LCARS theme added. PR #2399.
|
||||
* Espresso and Noctis themes added. PR #2422.
|
||||
* Various improvements to existing and new themes by @vkbo. PRs #2396, #2418, #2475 and #2481.
|
||||
* Various improvements to existing and new themes by @HeyMyian. PRs #2506 and #2494.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* The license info for novelWriter has been updated to include `GPL-3.0-or-later`, `Apache-2.0`,
|
||||
and `CC-BY-4.0`. Issue #2444. PR #2446.
|
||||
* Updated Debian package build and added Qt6 plugin for WebP images as a dependency. PR #2401.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* Added some info on how to get around the line heigh issue in the editor in the Tips & Tricks
|
||||
section of the documentation. Issue #2559. PR #2564.
|
||||
* Fixed some typos in the documentation. PR #2542.
|
||||
|
||||
**Code Maintenance**
|
||||
|
||||
* Improved linting and added more mapped Qt constants. PR #2536.
|
||||
* Added test coverage of the theme files to ensure they are up to date. PR #2378.
|
||||
* Updated credits and license information of icon themes. PR #2474.
|
||||
* Some fields have been dropped from icon and colour themes. PRs #2466 and #2423.
|
||||
* Changed a few default settings in config, added automatic rebuild of the index in new projects,
|
||||
and fixed tests. PR #2395.
|
||||
* Added test coverage and support for Python 3.14. PR #2538.
|
||||
* Improved logging formatting by stripping HTML content. PR #2402.
|
||||
* Cleaned up and improved pkgutils CLI tool. PR #2541.
|
||||
* The project now uses UV as the primary dependency handling tool for development. PR #2540.
|
||||
* Fixed the run_tests helper script for HighDPI monitors. PR #2496.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.7.5 [2025-09-14]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes an issue related to crashes when using the completer menu under
|
||||
certain conditions, and improves positioning of the input box for CJK languages.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue where the app would crash of deleting the `@` character with the completer menu
|
||||
visible and the text margins of the editor set to "justified". This is likely crashing due to
|
||||
some unhandled corner case in the Qt library, but the implementation of the completer menu in
|
||||
novelWriter uses a small hack to bypass some intended behaviour of the menu. Extra steps have
|
||||
been added to the implementation that seems to avoid the crash. Issue #2510. PR #2511.
|
||||
* Fixed an issue where the input box that shows up when typing CJK languages were covering the text
|
||||
due to an incorrect offset of the box location. The incorrect offset is caused by the text
|
||||
margins not being taken into account. Fix by @Euophrys based on solution by @Jack-name.
|
||||
Issues #2267 and #2517. PR #2518.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.7.4 [2025-07-15]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that updates the Czech and French translations, and makes some changes to
|
||||
the available Material Symbols icon themes. Additional icon themes are no longer automatically
|
||||
included in all release packages due to license constraints.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* The Czech and French translations are now complete. PR #2469.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* Only the Material Symbols icons are included by default in packages. Other icon themes are
|
||||
included depending on licensing restrictions for free and non-free requirements. The Material
|
||||
Symbols Bold themes have been dropped, and a Sharp theme added. Issue #2462. PR #2467.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.7.3 [2025-07-07]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes a bug in, and makes a few improvement to, Preferences.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixes an issue where novelWriter would crash if a `%` was added to any of the free text settings
|
||||
fields in Preferences. Issue #2455. PR #2456.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* The "Dialogue line symbols" setting in Preferences now has an "Add" button with a dropdown menu
|
||||
for all the symbols allowed in this field. Since virtually none of them are available on a
|
||||
regular keyboard, this makes it easier to add them and more transparent which symbols are allowed
|
||||
in the box. Issue #2453. PR #2457.
|
||||
* The switch for the "Allow open-ended dialogue" setting in Preferences has been moved up one line
|
||||
so it is clearer that it only applies to quoted dialogue, and not to the alternative dialogue
|
||||
settings. Issue #2454. PR #2457.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* Package license information has been updated to also list the licenses for the new icon themes.
|
||||
Issue #2434. PRs #2435 and #2458.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.7.2 [2025-06-24]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes several issues related to DocX and PDF manuscript documents,
|
||||
improves how line breaks, alignment and indentation is processed, and fixes some issues with
|
||||
displaying tags for novel documents on the user interface.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed an issue where escaped markup characters were not replaced properly in DocX and PDF
|
||||
documents, and in previews. Issue #2410. PR #2411.
|
||||
* Fixed an issue where titles with line breaks in them would have page breaks applied to both lines
|
||||
for preview and PDF documents. Issue #2415. PR #2416.
|
||||
* Fixed an issue where the justified text setting would not be properly applied to a paragraph in a
|
||||
manuscript document if there was a line break in the paragraph, but single line breaks were set
|
||||
to be ignored. Issue #2426. PR #2427.
|
||||
* Fixed an issue where the "Tag" field of the Outline View details panel remained blank even if a
|
||||
tag was set for the novel document. Issue #2428. PR #2429.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* When comments are enabled in the viewer, story comments should also be visible. A separate filter
|
||||
button will be added for this in 2.8. PR #2420.
|
||||
* When a paragraph has line breaks in it, the alignment tag will now override first line
|
||||
indentation even if the alignment tag is not on the first line. This is more consistent with the
|
||||
alignment behaviour for multi-line paragraphs in general. Issue #2425. PR #2427.
|
||||
* Tags will now be shown in the Novel View tooltip pop-out under the triangle button, together with
|
||||
all the other meta data collected about a document or heading. PR #2429.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* The documentation on how alignment and first line indentation works in conjunction with
|
||||
in-paragraph line breaks, the setting to keep or ignore such line breaks, and the forced line
|
||||
break shortcode, has been improved. Issue #2425. PR #2427.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.7.1 [2025-06-09]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes some issues with tags and references, an issue with the
|
||||
auto-complete menu on Windows, and some issues with the AppImage on Linux. The Czech translation
|
||||
for 2.7 has also been completed.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fix a bug where tags would be listed in the auto-complete menu for mentions even if the file
|
||||
defining it had been moved to Archive or Trash. Issue #2387. PR #2389.
|
||||
* Fixed a bug that seems to only have occurred on Windows where the auto-complete menu would hold
|
||||
on to the return and arrow keys even when it was hidden. Issue #2386. PR #2389.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* The auto-complete menu in the editor no longer shows any suggestions when defining the tag.
|
||||
This never made sense anyway. PR #2389.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Updated the Czech. PR #2393.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* Fixed an issue with the AppImage release where on some platforms `libxcb-cursor0` was missing.
|
||||
The library is now included in the AppImage. Issue #2374. PR #2392.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.7 [2025-06-01]
|
||||
|
||||
### Release Notes
|
||||
@@ -636,7 +1535,7 @@ See the website for complete [Release Notes](https://novelwriter.io/releases/rel
|
||||
* Portuguese translation updated by Oli Maia. PR #1955.
|
||||
* Japanese translation updated by @hebekeg. PR #1955.
|
||||
* French translation updated by Albert Aribaud (@aaribaud). PR #1955.
|
||||
* Polish translation added by Anna Maria Polak (@Nauthiz). PR #1955.
|
||||
* Polish translation added by Anna Maria Polak (@Nauthizz). PR #1955.
|
||||
|
||||
**Packaging**
|
||||
|
||||
@@ -5645,7 +6544,7 @@ helpful feedback and issue reports for the new features added in this, and previ
|
||||
more fault tolerant, and will automatically rebuild a corrupt index loaded from cache. PR #140.
|
||||
* The way that dialog options (which options were selected last time a dialog was open) has been
|
||||
rewritten. All data is now stored in a single JSON file in the project meta folder. PR #175.
|
||||
* Since the config class is instanciated before the GUI, error reporting to the user was tricky. An
|
||||
* Since the config class is instantiated before the GUI, error reporting to the user was tricky. An
|
||||
error cache has now been added to allow non-critical errors to be displayed after the GUI is
|
||||
built. PR #176.
|
||||
* All source files now have the minimal GPLv3 license note at the top. PR #188.
|
||||
@@ -5709,7 +6608,7 @@ helpful feedback and issue reports for the new features added in this, and previ
|
||||
* Added keyboard shortcuts and menu entries for formatting headers, comments, and removing block
|
||||
formats. PR #155.
|
||||
* Disable re-highlighting of open file when resizing window. This is potentially a slow process if
|
||||
the spell checker is on and the file is large. There is no need to do this just for reflowing
|
||||
the spell checker is on and the file is large. There is no need to do this just for re-flowing
|
||||
text, so it is now disabled on resize events. Issue #150, PR #153.
|
||||
* Improved the speed of the syntax highlighter by about 40% by not using regular expressions for
|
||||
highlighting block formats and by skipping empty lines entirely. PR #154.
|
||||
@@ -5995,7 +6894,7 @@ helpful feedback and issue reports for the new features added in this, and previ
|
||||
|
||||
**Code Improvements**
|
||||
|
||||
* Spell checking is now handled by a standard class that can be subclassed to support different
|
||||
* Spell checking is now handled by a standard class that can be sub-classed to support different
|
||||
spell check tools. This was done because pyenchant is no longer maintained and having a standard
|
||||
wrapper makes it easier to support other tools. PR #31.
|
||||
|
||||
|
||||
@@ -1,132 +1,49 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
# Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
## Purpose
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||
identity and orientation.
|
||||
This repository should be welcoming and safe for everyone participating in good faith.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
All contributors and participants must be treated with respect, regardless of characteristics such
|
||||
as race, ethnicity, caste, colour, age, physical characteristics, neurodiversity, disability, sex
|
||||
or gender, gender identity or expression, sexual orientation, language, philosophy or religion,
|
||||
national or social origin, socio-economic position, level of education, or other status.
|
||||
|
||||
## Our Standards
|
||||
## Expected Behaviour
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
1. Be respectful and constructive in pull requests, issues, discussions, and comments
|
||||
2. Focus critique on ideas and code, not people
|
||||
3. Assume good faith, and communicate clearly and honestly
|
||||
4. Accept feedback gracefully and take responsibility for your contributions
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the overall
|
||||
community
|
||||
## Unacceptable Behaviour
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or advances of
|
||||
any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email address,
|
||||
without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
1. Harassment, abuse, intimidation, or threats
|
||||
2. Insults, personal attacks, or demeaning language
|
||||
3. Discrimination, stereotyping, or hateful conduct
|
||||
4. Sexualised or otherwise inappropriate conduct
|
||||
5. Sharing private or identifying information without permission
|
||||
6. Impersonation, deliberate misrepresentation, or other deceptive behaviour
|
||||
7. Spam or promotional content unrelated to the project
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
This Code of Conduct applies to interactions in this GitHub repository, including pull requests,
|
||||
issues, discussions, reviews, and comments.
|
||||
|
||||
## Reporting
|
||||
|
||||
If you believe this Code of Conduct has been violated, contact the repository owner via
|
||||
[github.com/vkbo](https://github.com/vkbo).
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at issues (at)
|
||||
novelwriter.io. All complaints will be reviewed and investigated promptly and
|
||||
fairly.
|
||||
Moderation options on GitHub are limited. Depending on severity and pattern of behaviour, the owner
|
||||
may edit or delete content, close or lock threads, and block users from further participation.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series of
|
||||
actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or permanent
|
||||
ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within the
|
||||
community.
|
||||
Content that may violate GitHub platform rules may also be reported to GitHub for review.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.1, available at
|
||||
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
|
||||
|
||||
Community Impact Guidelines were inspired by
|
||||
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
|
||||
[https://www.contributor-covenant.org/translations][translations].
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
|
||||
[Mozilla CoC]: https://github.com/mozilla/diversity
|
||||
[FAQ]: https://www.contributor-covenant.org/faq
|
||||
[translations]: https://www.contributor-covenant.org/translations
|
||||
This document is adapted from the Contributor Covenant 3.0:
|
||||
[https://www.contributor-covenant.org/version/3/0/](https://www.contributor-covenant.org/version/3/0/).
|
||||
|
||||
149
CONTRIBUTING.md
149
CONTRIBUTING.md
@@ -12,15 +12,75 @@ just make a pull request directly.
|
||||
* Bugfixes for new or existing bugs. Please also report new bugs in the issue tracker even if you
|
||||
also provide a fix. It makes it easier to keep track of what has been fixed and when.
|
||||
* Translations made via the [Crowdin project page](https://crowdin.com/project/novelwriter).
|
||||
* Translations of the documentation. These need to use Sphinx i18n tooling. Please start a
|
||||
discussion before beginning such work as it requires some coordination.
|
||||
* Improvements to the documentation. Particularly if the documentation is unclear. Please don't
|
||||
make any larger changes to the documentation without discussing them with the maintainer first.
|
||||
* Adaptations, installation or packaging features targeting specific operating systems.
|
||||
* Using AI as a coding assistant is fine as long as the code is of good quality and the scope of
|
||||
change is small, but do not generate large chunks of code. Generated code is not only hard to
|
||||
maintain, but also poses licensing issues.
|
||||
|
||||
**Please do not:**
|
||||
|
||||
* Make a pull request that restructures or reformats existing code. If you think some part of the
|
||||
code could be improved, please make an issue thread or start a discussion. The same applies to
|
||||
any text document in the repository.
|
||||
* Make pull requests with AI generated code. This is not a project suitable for vibe coding.
|
||||
Outright slop will result in the account being blocked.
|
||||
|
||||
|
||||
## Running from Source
|
||||
|
||||
This project uses [uv](https://docs.astral.sh/uv/) to maintain dependencies. In order to run
|
||||
novelWriter directly from checked out source, simply call from the root folder with:
|
||||
|
||||
```bash
|
||||
uv run novelwriter
|
||||
```
|
||||
|
||||
To set up a development environment with all needed dependencies, run:
|
||||
|
||||
```bash
|
||||
uv sync
|
||||
```
|
||||
|
||||
Many tasks, like building assets from source, are handled by the `pkgutils.py` helper tool.
|
||||
This tool requires no dependencies, so you can either run it directly with Python, or `uv run`.
|
||||
|
||||
```bash
|
||||
python pkgutils.py --help
|
||||
```
|
||||
|
||||
The translation files needed at runtime can be built with:
|
||||
|
||||
```bash
|
||||
python pkgutils.py qtlrelease
|
||||
```
|
||||
|
||||
Material design icons are included with the source. Optional icon themes can be built with:
|
||||
|
||||
```bash
|
||||
python pkgutils.py icons optional
|
||||
```
|
||||
|
||||
|
||||
### Running Tests
|
||||
|
||||
* New code must not break any existing tests.
|
||||
* New code must come with tests that cover the code in full. This includes branch coverage. If the
|
||||
code has branches that only runs on some OSes, they only need to be covered when test are run on
|
||||
that OS. The test suite runs on Linux, Windows and MacOS.
|
||||
* It is ok to use `pragma` comments with `no cover` and `no branch` if the code is not expected to
|
||||
touch those areas or branches.
|
||||
|
||||
A helper script is provided for running tests. It simplifies coverage reporting and a few other
|
||||
things. Run the following to see all details:
|
||||
|
||||
```bash
|
||||
uv run run_tests.py --help
|
||||
```
|
||||
|
||||
|
||||
## Picking the Correct Branch for a Pull Request
|
||||
|
||||
@@ -29,81 +89,58 @@ If you are submitting a fix to a current release you must do so from the `releas
|
||||
make such a fix on the `main` branch, **it cannot be included in a patch release**. This also
|
||||
applies to the documentation for the latest release published on the main website.
|
||||
|
||||
New features are only accepted on full releases, so a feature pull request must be made to the
|
||||
`main` branch. However, if the `main` branch is very close to a new full release, pull requests may
|
||||
not be merged until the release is completed.
|
||||
New features are only added in full releases, so a feature pull request must be made to the `main`
|
||||
branch. However, if the `main` branch is very close to a new full release, pull requests may not be
|
||||
merged until the release is completed.
|
||||
|
||||
## Pull Request Check List
|
||||
This project uses GitHub milestones to plan releases, and only pull requests included in the
|
||||
current release cycle will be merged to `main`. Milestone tickets are not set in stone and are
|
||||
often moved to other milestones.
|
||||
|
||||
|
||||
### Pull Request Check List
|
||||
|
||||
Make sure the pull request follows these rules:
|
||||
|
||||
* The `main` branch is the default branch. For general changes, please make a new branch in your
|
||||
own fork from the current `main` branch. Do not make pull requests from your copy of the `main`
|
||||
branch.
|
||||
branch. The same applies to the `release` branch.
|
||||
* Please provide a description of the changes in the pull request under the summary section of the
|
||||
pull request template, and reference any related issues by providing the issue number.
|
||||
pull request template, and reference any related issues by providing the issue number. Do not
|
||||
post links to issue numbers as that breaks the integration. Stating the issue number is enough.
|
||||
* Do not change the version number.
|
||||
* Do not submit files that were not actively changed but have otherwise been modified. This is
|
||||
mostly an issue with translation files. The language tool may update all files in the `i18n`
|
||||
folder.
|
||||
* Make sure the formatting and linting tools have been run before the pull request is made.
|
||||
|
||||
## General Rules
|
||||
|
||||
These are the guidelines for the project. The source code of novelWriter broadly follows the
|
||||
[PEP8](https://www.python.org/dev/peps/pep-0008) style guide, but with a few exceptions.
|
||||
## Code Style
|
||||
|
||||
### Tests
|
||||
This code base uses camelCase convention for function and variable names. This differs from the
|
||||
common convention of snake_case in Python. The reason for this is that novelWriter is built on the
|
||||
Qt framework, where everything is camelCase.
|
||||
|
||||
* New code must not break any existing tests.
|
||||
* New code must come with tests that cover the code in full. If the code has branches that only
|
||||
runs on some OSes, they must be covered when test are run on that OS. The test suite runs on
|
||||
Linux, Windows and MacOS.
|
||||
Pretty much everything else regarding formatting is handled by the linter and formatter. This
|
||||
project uses [ruff](https://docs.astral.sh/ruff/) for linting and formatting and
|
||||
[pyright](https://github.com/microsoft/pyright) for type checking. The settings for these tools
|
||||
are defined in `pyproject.toml`, and any submitted code must pass the following three commands:
|
||||
|
||||
### Code Formatting
|
||||
```bash
|
||||
uv run ruff check
|
||||
uv run ruff format
|
||||
uv run pyright
|
||||
```
|
||||
|
||||
* Do not run automatic formatting tools like `black` or `ruff` on the code. Auto-formatting using
|
||||
`ruff` is planned, but there are a couple of features missing in it, so it is currently only used
|
||||
for linting. Auto-formatting with `isort` is configured in `pyproject.toml` and can be used.
|
||||
* The pull request code *must* pass the `ruff` linting rules specified in `pyproject.toml`.
|
||||
* In general, do not make large scale formatting changes to the code.
|
||||
### Line Length
|
||||
|
||||
### Type Annotations
|
||||
* The line length of the source code is enforced by the formatter, and is set to 120 characters.
|
||||
Docstrings should be wrapped manually at 79 characters for better readability.
|
||||
* For text files, the text should be wrapped 120 character or less. The exception is Markdown image
|
||||
tags and URLs which can run past that limit.
|
||||
|
||||
* All functions and parameters must be type annotated, and so must variables and attributes if the
|
||||
type cannot be inferred from the initial value. Typing rules are set in `pyproject.toml` and a
|
||||
pull request must pass `pyright` with these settings.
|
||||
* Do not use the `Any` type when an actual type exists. `Any` is allowed for functions that
|
||||
actually handles any kind of input and returns a standard type.
|
||||
* Do not use deprecated capitalised annotations like `Dict`, `List`, `Tuple`, etc.
|
||||
* Type annotated code must be runnable on all supported Python versions.
|
||||
|
||||
### Internationalisation
|
||||
|
||||
* All comments and docstrings in the code must be in English.
|
||||
* All text presented to the user must be wrapped in calls to Qt's translation framework, and the
|
||||
spelling of this text *must* be UK English. US English spelling is not allowed for these strings.
|
||||
spelling of this text *must* be British English. US English spelling *is not allowed* for these
|
||||
strings.
|
||||
* Commit descriptions and pull requests must also be in English.
|
||||
|
||||
### Line Length
|
||||
|
||||
* Source code lines can extend to the upper limit of 99 characters. Generally, if a code statement
|
||||
requires multiple lines, the lines should wrap at 79 characters if possible. If wrapping can be
|
||||
avoided by going to 99, then that is generally preferable. Readability has priority.
|
||||
* For text files, the text should be wrapped at 99 character. The exception is Markdown image tags
|
||||
and URLs which can run past that limit.
|
||||
|
||||
### Spaces, Indentation and Alignment
|
||||
|
||||
* Only indentation by multiples of 4 spaces is allowed.
|
||||
* No trailing spaces should occur on any line in the source code, including empty lines.
|
||||
* Common line wrapping methods are allowed in the code except `\`, but avoid deep indentations.
|
||||
* Aligning operators and attributes in columns with multiple spaces is not allowed by PEP8. The
|
||||
rule is relaxed a bit here. Alignment is allowed when populating large dictionaries or setting
|
||||
many class attributes. It does improve readability in such cases, but should not be overused.
|
||||
|
||||
### General Code Rules
|
||||
|
||||
* Use f-string style for string formatting as the first choice, and `.format` functions if there is
|
||||
a good reason for it. Do not use `%` style formatting except for logging output. For logging, `%`
|
||||
must be used (it's a limitation in the logging library unfortunately).
|
||||
* Functions should be on camelCase form for consistency with the Qt library code.
|
||||
|
||||
77
CREDITS.md
77
CREDITS.md
@@ -6,11 +6,14 @@
|
||||
|
||||
## Contributors
|
||||
|
||||
Larger contributions were made by:
|
||||
|
||||
* Early Concept: Marian Lückhof
|
||||
* Internationalisation: Bruno Meneguello
|
||||
* Setup and Packaging: Rachel Powers
|
||||
* Vim Mode: Alexis Dumelie
|
||||
|
||||
For other contributions, see the project's [Contributors](https://github.com/vkbo/novelWriter/graphs/contributors) page.
|
||||
For other contributions, see the project's [Contributors](https://github.com/saga-soft/novelWriter/graphs/contributors) page.
|
||||
|
||||
## Artwork
|
||||
|
||||
@@ -21,6 +24,7 @@ The artwork on the Welcome dialog was created by Louis Durrant.
|
||||
The default language is English (UK) with English (US) as an option. These are the original
|
||||
translators for the languages currently available:
|
||||
|
||||
* **Catalan:** Jaume Planas (jaumeplanas)
|
||||
* **Czech:** Tomáš Zmek (perteus)
|
||||
* **Dutch:** Martijn van der Kleijn (mvdkleijn)
|
||||
* **French:** Jan Lüdke (jyhelle)
|
||||
@@ -36,6 +40,7 @@ translators for the languages currently available:
|
||||
|
||||
Additional larger translation contributions:
|
||||
|
||||
* **Dutch:** Lise Blok (risingphoenix73)
|
||||
* **French:** Albert Aribaud (aaribaud)
|
||||
* **Portuguese:** Oli Maia (olimaia)
|
||||
|
||||
@@ -55,19 +60,67 @@ The following libraries are dependencies of novelWriter:
|
||||
* **Enchant** by Dom Lachowicz
|
||||
* **PyEnchant** by Dimitri Merejkowsky
|
||||
|
||||
## Assets
|
||||
## Icon Themes
|
||||
|
||||
Some of the assets bundled with novelWriter were adapted from the following sources:
|
||||
The default icon theme is a subset of icons from:
|
||||
|
||||
* **Material Symbols** icons by Google Inc (Apache 2.0)
|
||||
* **Remix** icons by RemixIcon (Apache 2.0)
|
||||
* **Font Awesome** icons by Fonticons Inc (CC BY 4.0)
|
||||
* **Tomorrow** syntax themes by Chris Kempson (MIT License)
|
||||
* **Owl** syntax themes by Sarah Drasner (MIT License)
|
||||
* **Solarized** themes by Ethan Schoonover (MIT License)
|
||||
* **Cyberpunk Night** theme by Anders Lemvigh (CC BY-SA 4.0)
|
||||
* **Dracula** theme by Zeno Rocha (MIT License)
|
||||
* **Snazzy Light** theme by Florian Reuschel (MIT License)
|
||||
* **Material Symbols** by Google Inc (Apache 2.0)
|
||||
|
||||
Additional icon themes may or may not be bundled with novelWriter, depending on license
|
||||
constraints. These themes include a subset of icons from:
|
||||
|
||||
* **Font Awesome** by Fonticons Inc (CC BY 4.0)
|
||||
* **Remix** by RemixIcon (Apache 2.0 w/non-free clause)
|
||||
* **Lucide** by Cole Bemis and Lucide Contributors (ISC License)
|
||||
|
||||
## Colour Themes
|
||||
|
||||
Colour themes included with novelWriter were adapted from the following sources:
|
||||
|
||||
* **Aura** themes by Dalton Menezes
|
||||
* **B2T** themes by Bram de Haan
|
||||
* **B4T** themes by Bram de Haan
|
||||
* **Catppuccin** themes by Catppuccin Org
|
||||
* **Dracula** theme by Zeno Rocha
|
||||
* **Espresso** theme by Sainnhe Park and Antoine Cotten
|
||||
* **Everforest** themes by Sainnhe Park
|
||||
* **Horizon** themes by Jonathan Olaleye
|
||||
* **New Moon** theme by Tania Rascia
|
||||
* **Noctis** themes by Liviu Schera and contributors
|
||||
* **Nord** theme by Sven Greb
|
||||
* **Owl** themes by Sarah Drasner
|
||||
* **Primer** themes by GitHub, Inc. and Myian
|
||||
* **Rosé Pine** themes by Rosé Pine
|
||||
* **Snazzy Light** theme by Florian Reuschel
|
||||
* **Solarized** themes by Ethan Schoonover
|
||||
* **Tango** themes by the Tango Desktop Project
|
||||
* **Tomorrow** themes by Chris Kempson
|
||||
|
||||
Other themes were created for novelWriter:
|
||||
|
||||
* **Aura Bright** theme by Myian
|
||||
* **Blue Streak** themes by Veronica Berglyd Olsen
|
||||
* **Castle** themes by Myian
|
||||
* **Chalky Soil** theme by Myian
|
||||
* **Chernozem** theme by Myian
|
||||
* **Cyberpunk Night** theme by Anders Lemvigh
|
||||
* **Dark Arts** theme by Myian
|
||||
* **Floral** themes by Myian
|
||||
* **Friendly** themes by Myian
|
||||
* **Full Moon** theme by Myian
|
||||
* **Jewel Case** themes by Myian
|
||||
* **LCARS** theme by Veronica Berglyd Olsen
|
||||
* **Nordlicht** theme by Myian
|
||||
* **Otium** themes by Myian
|
||||
* **Paragon** theme by Myian
|
||||
* **Ruby** themes by Myian
|
||||
* **Selenium** themes by Myian
|
||||
* **Sepia** themes by Myian
|
||||
* **Sultana** themes by Myian
|
||||
* **Today** themes by Veronica Berglyd Olsen
|
||||
* **Vivid** themes by Myian
|
||||
* **Warpgate** theme by Myian
|
||||
* **Waterlily** themes by Myian
|
||||
|
||||
## Fonts
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
include pkgutils.py
|
||||
include LICENSE.md
|
||||
include CREDITS.md
|
||||
include CHANGELOG.md
|
||||
recursive-include novelwriter/assets *
|
||||
recursive-include setup *
|
||||
55
README.md
55
README.md
@@ -1,22 +1,16 @@
|
||||
# novelWriter
|
||||
|
||||
[](https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml)
|
||||
[](https://github.com/vkbo/novelWriter/actions/workflows/test_win.yml)
|
||||
[](https://github.com/vkbo/novelWriter/actions/workflows/test_mac.yml)
|
||||
[](https://github.com/vkbo/novelWriter/actions/workflows/syntax.yml)
|
||||
[](https://codecov.io/gh/vkbo/novelWriter)
|
||||
[](https://github.com/saga-soft/novelWriter/actions/workflows/tests.yml)
|
||||
[](https://github.com/saga-soft/novelWriter/actions/workflows/syntax.yml)
|
||||
[](https://cloudsmith.com)
|
||||
|
||||
<img align="left" style="margin: 0 0 4px 0;" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/novelwriter_readme.png">
|
||||
<img align="left" style="margin: 0 0 4px 0;" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/novelwriter_readme.png">
|
||||
|
||||
novelWriter is a plain text editor designed for writing novels assembled from many smaller text
|
||||
documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta data syntax
|
||||
for comments, synopsis, and cross-referencing. It's designed to be a simple text editor that allows
|
||||
for easy organisation of text and notes, using human readable text files as storage for robustness.
|
||||
|
||||
The project storage is suitable for version control software, and also well suited for file
|
||||
synchronisation tools. All text is saved as plain text files with a meta data header. The core
|
||||
project structure is stored in a single project XML file. Other meta data is primarily saved as
|
||||
JSON files.
|
||||
The project format is well suited both for version control software and file synchronisation tools.
|
||||
|
||||
For more details, and how to install and use novelWriter, please see the main website and
|
||||
documentation.
|
||||
@@ -29,54 +23,65 @@ documentation.
|
||||
* PyPi Project: [pypi.org/project/novelWriter](https://pypi.org/project/novelWriter)
|
||||
* Social Media: [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter)
|
||||
|
||||
## Sponsors
|
||||
_This project is developed and maintained with care by actual humans._
|
||||
|
||||
## Sponsors & Attribution
|
||||
|
||||
<table style="border: none;">
|
||||
<tr>
|
||||
<td><img align="left" style="height: 25px;" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/signpath_logo.png"></td>
|
||||
<td><img align="left" style="width: 25px;" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/signpath_logo.png"></td>
|
||||
<td>Free code signing on Windows provided by <a href="https://about.signpath.io/">SignPath.io</a>, certificate by <a href="https://signpath.org/">SignPath Foundation</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img align="left" style="width: 25px;" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/cloudsmith_logo.png"></td>
|
||||
<td>Package repository hosting is graciously provided for free by <a href="https://cloudsmith.com">Cloudsmith</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
## Implementation
|
||||
|
||||
novelWriter is written with Python and Qt6 with PyQt6 Python binding. It is released on Linux,
|
||||
Windows and MacOS. It can in principle run on any Operating System that also supports Qt, PyQt and
|
||||
Python.
|
||||
novelWriter is written in Python and uses Qt6 with PyQt6 Python binding as the UI framework. It is
|
||||
released on Linux, Windows and MacOS. It can in principle run on any Operating System that also
|
||||
supports Qt, PyQt and Python.
|
||||
|
||||
<p align="center">
|
||||
<img width="80%" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/screenshot.png">
|
||||
<img width="80%" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/screenshot.png">
|
||||
</p>
|
||||
|
||||
|
||||
## Project Contributions
|
||||
|
||||
Please don't make feature pull requests without first having discussed them with the maintainer.
|
||||
You can make a feature request in the [issues tracker](https://github.com/vkbo/novelWriter/issues),
|
||||
or if the idea isn't fully formed, start a [discussion](https://github.com/vkbo/novelWriter/discussions).
|
||||
Please also don't make pull requests to reformat or rewrite existing code unless there is a very good reason for doing so.
|
||||
You can make a feature request in the [issues tracker](https://github.com/saga-soft/novelWriter/issues),
|
||||
or if the idea isn't fully formed, start a [discussion](https://github.com/saga-soft/novelWriter/discussions).
|
||||
Please also don't make pull requests to reformat or rewrite existing code unless there is a very
|
||||
good reason for doing so. Please do not submit AI generated content.
|
||||
|
||||
Fixes and patches are welcome. Contributions related to packaging and installing novelWriter will
|
||||
also be appreciated, but please make an issue or a discussion topic first. Before contributing any
|
||||
code, please also read the full
|
||||
[Contributing Guide](https://github.com/vkbo/novelWriter/blob/main/CONTRIBUTING.md).
|
||||
[Contributing Guide](https://github.com/saga-soft/novelWriter/blob/main/CONTRIBUTING.md).
|
||||
|
||||
Project credits are available in [CREDITS.md](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
|
||||
Project credits are available in [CREDITS.md](https://github.com/saga-soft/novelWriter/blob/main/CREDITS.md).
|
||||
|
||||
**Note:** New features and pre-releases are made on the `main` branch. Full releases are made from
|
||||
the `release` branch. So if you're submitting a fix to a current release, **including changes to
|
||||
documentation**, they must be made to the `release` branch.
|
||||
|
||||
|
||||
### Translations
|
||||
|
||||
New translations are always welcome. This project uses Crowdin to maintain translations, and you
|
||||
can contribute translations at the [Crowdin project page](https://crowdin.com/project/novelwriter).
|
||||
If you have any questions, feel free to post them to the
|
||||
[Translations of novelWriter](https://github.com/vkbo/novelWriter/issues/93) issue thread.
|
||||
[Translations of novelWriter](https://github.com/saga-soft/novelWriter/issues/93) issue thread.
|
||||
|
||||
|
||||
## Licence
|
||||
|
||||
This is Open Source software, and novelWriter is licenced under GPLv3. See the
|
||||
[GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more
|
||||
details, or consult the [License](https://github.com/vkbo/novelWriter/blob/main/LICENSE.md)
|
||||
details, or consult the [License](https://github.com/saga-soft/novelWriter/blob/main/LICENSE.md)
|
||||
document. Bundled assets and their licences are listed in the
|
||||
[Credits](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md) document.
|
||||
[Credits](https://github.com/saga-soft/novelWriter/blob/main/CREDITS.md) document.
|
||||
|
||||
22
codecov.yml
22
codecov.yml
@@ -1,22 +0,0 @@
|
||||
codecov:
|
||||
require_ci_to_pass: yes
|
||||
|
||||
coverage:
|
||||
precision: 2
|
||||
round: nearest
|
||||
range: "70...95"
|
||||
|
||||
status:
|
||||
project:
|
||||
default:
|
||||
threshold: 1%
|
||||
patch: no
|
||||
changes: no
|
||||
|
||||
parsers:
|
||||
gcov:
|
||||
branch_detection:
|
||||
conditional: yes
|
||||
loop: yes
|
||||
method: no
|
||||
macro: no
|
||||
@@ -1,8 +0,0 @@
|
||||
docutils>=0.17.1
|
||||
pygments>=2.7
|
||||
sphinx-book-theme
|
||||
sphinx-copybutton
|
||||
sphinx-design
|
||||
sphinx-favicon
|
||||
sphinx-intl
|
||||
sphinx>=5.0
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Configuration file for the Sphinx documentation builder.
|
||||
Documentation: http://www.sphinx-doc.org/en/master/config
|
||||
"""
|
||||
""" # noqa
|
||||
|
||||
# -- Imports -----------------------------------------------------------------
|
||||
|
||||
@@ -14,23 +14,22 @@ import time
|
||||
project = "novelWriter"
|
||||
copyright = f"{datetime.date.today().year}" # noqa: A001
|
||||
|
||||
tmp_authors = ["Veronica Berglyd Olsen"]
|
||||
if additional := os.environ.get("SPHINX_I18N_AUTHORS"):
|
||||
tmp_authors.extend(a.strip() for a in additional.split(","))
|
||||
if override_authors := os.environ.get("SPHINX_I18N_AUTHORS"):
|
||||
author = override_authors
|
||||
else:
|
||||
author = "Veronica Berglyd Olsen"
|
||||
|
||||
author = ", ".join(tmp_authors)
|
||||
|
||||
initFile = os.path.join(
|
||||
os.path.dirname(__file__), os.pardir, os.pardir,
|
||||
"novelwriter", "__init__.py"
|
||||
)
|
||||
with open(initFile, encoding="utf-8") as inFile:
|
||||
for aLine in inFile:
|
||||
if aLine.startswith("__version__"):
|
||||
release = aLine.split('"')[1].strip()
|
||||
break
|
||||
else:
|
||||
release = "unknown"
|
||||
if override_version := os.environ.get("SPHINX_I18N_VERSION"):
|
||||
release = override_version
|
||||
else:
|
||||
initFile = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, "novelwriter", "__init__.py")
|
||||
with open(initFile, encoding="utf-8") as inFile:
|
||||
for aLine in inFile:
|
||||
if aLine.startswith("__version__"):
|
||||
release = "20" + aLine.split('"')[1].strip()
|
||||
break
|
||||
else:
|
||||
release = "unknown"
|
||||
|
||||
version = release.partition("-")[0]
|
||||
|
||||
@@ -42,7 +41,7 @@ time.tzset()
|
||||
needs_sphinx = "5.0"
|
||||
extensions = ["sphinx_design", "sphinx_copybutton"]
|
||||
templates_path = ["_templates"]
|
||||
source_suffix = ".rst"
|
||||
source_suffix = {".rst": "restructuredtext"}
|
||||
master_doc = "index"
|
||||
today_fmt = "%A, %d %B %Y at %H:%M"
|
||||
language = "en"
|
||||
@@ -63,12 +62,12 @@ html_theme_options = {
|
||||
},
|
||||
"show_toc_level": 2,
|
||||
"show_navbar_depth": 1,
|
||||
"repository_url": "https://github.com/vkbo/novelwriter",
|
||||
"repository_url": "https://github.com/saga-soft/novelwriter",
|
||||
"navigation_with_keys": True,
|
||||
"use_repository_button": True,
|
||||
"use_issues_button": True,
|
||||
"pygment_light_style": "tango",
|
||||
"pygment_dark_style": "dracula",
|
||||
"pygments_light_style": "tango",
|
||||
"pygments_dark_style": "dracula",
|
||||
}
|
||||
html_sidebars = {
|
||||
"**": ["navbar-logo", "sidebar-title", "sbt-sidebar-nav"],
|
||||
@@ -79,13 +78,8 @@ html_sidebars = {
|
||||
latex_elements = {
|
||||
"papersize": "a4paper",
|
||||
"pointsize": "11pt",
|
||||
"preamble": (
|
||||
"\\usepackage[utf8]{inputenc}\n"
|
||||
"\\DeclareUnicodeCharacter{2212}{\\textendash}\n"
|
||||
),
|
||||
"preamble": ("\\usepackage[utf8]{inputenc}\n\\DeclareUnicodeCharacter{2212}{\\textendash}\n"),
|
||||
"figure_align": "htbp",
|
||||
}
|
||||
latex_logo = "_static/novelwriter-pdf.png"
|
||||
latex_documents = [(
|
||||
master_doc, "manual.tex", None, author, "manual"
|
||||
)]
|
||||
latex_documents = [(master_doc, "manual.tex", None, author, "manual")]
|
||||
|
||||
@@ -19,7 +19,7 @@ Main Window Shortcuts
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`F1`", "Open the online user manual"
|
||||
":kbd:`F5`", "Open the **Build Manuscript** tool"
|
||||
":kbd:`F5`", "Open the **Manuscript Build** tool"
|
||||
":kbd:`F6`", "Open the **Writing Statistics** tool"
|
||||
":kbd:`F8`", "Toggle **Focus Mode**"
|
||||
":kbd:`F9`", "Re-build the project's index"
|
||||
@@ -88,7 +88,6 @@ Text Formatting Shortcuts
|
||||
":kbd:`Ctrl+'`", "Wrap selected text, or word under cursor, in single quotes"
|
||||
":kbd:`Ctrl+""`", "Wrap selected text, or word under cursor, in double quotes"
|
||||
":kbd:`Ctrl+/`", "Toggle comment format for block or selected text"
|
||||
":kbd:`Ctrl+0`", "Remove format for block or selected text"
|
||||
":kbd:`Ctrl+1`", "Change block format to heading level 1"
|
||||
":kbd:`Ctrl+2`", "Change block format to heading level 2"
|
||||
":kbd:`Ctrl+3`", "Change block format to heading level 3"
|
||||
@@ -101,6 +100,7 @@ Text Formatting Shortcuts
|
||||
":kbd:`Ctrl+B`", "Format selected text, or word under cursor, with bold"
|
||||
":kbd:`Ctrl+D`", "Format selected text, or word under cursor, with strike through"
|
||||
":kbd:`Ctrl+I`", "Format selected text, or word under cursor, with italic"
|
||||
":kbd:`Ctrl+M`", "Highlight selected text, or word under cursor"
|
||||
":kbd:`Ctrl+Shift+/`", "Remove format for block or selected text"
|
||||
":kbd:`Ctrl+Shift+D`", "Toggle ignored text format for block or selected text"
|
||||
|
||||
@@ -111,23 +111,34 @@ Other Editor Shortcuts
|
||||
.. csv-table::
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`F7`", "Re-run the spell checker on the document"
|
||||
":kbd:`Ctrl+.`", "Open the context menu at the current cursor location"
|
||||
":kbd:`Ctrl+A`", "Select all text in the document"
|
||||
":kbd:`Ctrl+C`", "Copy selected text to clipboard"
|
||||
":kbd:`Ctrl+K`", "Activate the insert commands (see list in :ref:`docs_features_shortcuts_insert`)"
|
||||
":kbd:`Ctrl+R`", "Open or reload the current document in the viewer"
|
||||
":kbd:`Ctrl+S`", "Save the current document"
|
||||
":kbd:`Ctrl+V`", "Paste text from clipboard to cursor position"
|
||||
":kbd:`Ctrl+W`", "Close the current document"
|
||||
":kbd:`Ctrl+X`", "Cut selected text to clipboard"
|
||||
":kbd:`Ctrl+Y`", "Redo latest undo"
|
||||
":kbd:`Ctrl+Z`", "Undo latest changes"
|
||||
":kbd:`Ctrl+Backspace`", "Delete the word before the cursor"
|
||||
":kbd:`Ctrl+Del`", "Delete the word after the cursor"
|
||||
":kbd:`Ctrl+F7`", "Toggle spell checking"
|
||||
":kbd:`Ctrl+Return`", "Open the tag or reference under the cursor in the viewer"
|
||||
":kbd:`Ctrl+Shift+A`", "Select all text in the current paragraph"
|
||||
":kbd:`F7`", "Re-run the spell checker on the document"
|
||||
":kbd:`Ctrl+.`", "Open the context menu at the current cursor location"
|
||||
":kbd:`Ctrl+A`", "Select all text in the document"
|
||||
":kbd:`Ctrl+C`", "Copy selected text to clipboard"
|
||||
":kbd:`Ctrl+K`", "Activate the insert commands (see list in :ref:`docs_features_shortcuts_insert`)"
|
||||
":kbd:`Ctrl+R`", "Open or reload the current document in the viewer"
|
||||
":kbd:`Ctrl+S`", "Save the current document"
|
||||
":kbd:`Ctrl+V`", "Paste text from clipboard to cursor position"
|
||||
":kbd:`Ctrl+W`", "Close the current document"
|
||||
":kbd:`Ctrl+X`", "Cut selected text to clipboard"
|
||||
":kbd:`Ctrl+Y`", "Redo latest undo"
|
||||
":kbd:`Ctrl+Z`", "Undo latest changes"
|
||||
":kbd:`Ctrl+0`", "Reset zoom"
|
||||
":kbd:`Ctrl++`", "Zoom in"
|
||||
":kbd:`Ctrl+=`", "Zoom in"
|
||||
":kbd:`Ctrl+-`", "Zoom out"
|
||||
":kbd:`Ctrl+_`", "Zoom out"
|
||||
":kbd:`Ctrl+Backspace`", "Delete the word before the cursor"
|
||||
":kbd:`Ctrl+Del`", "Delete the word after the cursor"
|
||||
":kbd:`Ctrl+F7`", "Toggle spell checking"
|
||||
":kbd:`Ctrl+Return`", "Open the tag or reference under the cursor in the viewer"
|
||||
":kbd:`Ctrl+Shift+Return`", "Open the tag or reference under the cursor in the editor"
|
||||
":kbd:`Ctrl+Shift+A`", "Select all text in the current paragraph"
|
||||
":kbd:`Ctrl+Shift+V`", "Paste text as plain text from clipboard to cursor position"
|
||||
":kbd:`Ctrl+Left`", "Move to previous word."
|
||||
":kbd:`Ctrl+Right`", "Move to next word."
|
||||
":kbd:`Ctrl+Up`", "Move to previous paragraph."
|
||||
":kbd:`Ctrl+Down`", "Move to next paragraph."
|
||||
|
||||
|
||||
.. _docs_features_shortcuts_insert:
|
||||
@@ -188,5 +199,10 @@ Document Viewer Shortcuts
|
||||
":kbd:`Alt+Left`", "Move backward in the view history"
|
||||
":kbd:`Alt+Right`", "Move forward in the view history"
|
||||
":kbd:`Ctrl+C`", "Copy selected text to clipboard"
|
||||
":kbd:`Ctrl+0`", "Reset zoom"
|
||||
":kbd:`Ctrl++`", "Zoom in"
|
||||
":kbd:`Ctrl+=`", "Zoom in"
|
||||
":kbd:`Ctrl+-`", "Zoom out"
|
||||
":kbd:`Ctrl+_`", "Zoom out"
|
||||
":kbd:`Ctrl+Shift+A`", "Select all text in the current paragraph"
|
||||
":kbd:`Ctrl+Shift+R`", "Close the document viewer"
|
||||
|
||||
@@ -51,7 +51,7 @@ Other analytical models propose tracking a scene's pace, how it affects the mood
|
||||
which element(s) of the story's genre are being satisfied. An author can use this mechanism to
|
||||
track any element of a scene. Some examples include time of day, how much time passes in the scene,
|
||||
or even the physical form of a shape-shifting character. If a story involves magic, one could track
|
||||
which wand a main character has in hand. It's up to tha author.
|
||||
which wand a main character has in hand. It's up to the author.
|
||||
|
||||
When the story and other scene metadata is extracted into a tabular form, it is possible to get a
|
||||
comprehensive overview of the story and to identify possible issues. For example, so many
|
||||
|
||||
115
docs/source/features/vim_mode.rst
Normal file
115
docs/source/features/vim_mode.rst
Normal file
@@ -0,0 +1,115 @@
|
||||
.. _docs_features_vim_mode:
|
||||
|
||||
********
|
||||
Vim Mode
|
||||
********
|
||||
|
||||
.. _Vim: https://www.vim.org/
|
||||
|
||||
Vim_ is a keyboard-centric text editor. "Vim mode" refers to another editor implementing the
|
||||
ability to perform a subset of vim motions. This will allow you to write, select, edit, copy,
|
||||
paste, navigate, etc, efficiently by using keyboard commands.
|
||||
|
||||
Vim is modal. Three such modes have been implemented in novelWriter:
|
||||
|
||||
- **Normal** mode is the default mode used to navigate text.
|
||||
- **Insert** mode is where you can write text like in a 'normal' text editor.
|
||||
- **Visual** mode is for selecting text, with:
|
||||
|
||||
- **Visual** mode for per character selection.
|
||||
- **V-Line** mode for per-line selection.
|
||||
|
||||
The vim mode setting is found in the **Features** section of the **Preferences**.
|
||||
|
||||
.. note::
|
||||
|
||||
Vim mode is an advanced feature. When you enable it, the text editor will behave very
|
||||
differently than a standard text editor. A label in the footer of the editor will show which of
|
||||
the vim modes it is in.
|
||||
|
||||
|
||||
Mode Switching
|
||||
==============
|
||||
|
||||
To switch between the various vim modes, these keystrokes implemented:
|
||||
|
||||
.. csv-table::
|
||||
:header: "From Mode", "To Mode", "Keystrokes"
|
||||
|
||||
"Normal", "Insert", ":kbd:`i`, :kbd:`I`, :kbd:`a`, :kbd:`A`, :kbd:`o`, :kbd:`O`"
|
||||
"Insert", "Normal", ":kbd:`Esc`"
|
||||
"Normal", "Visual", ":kbd:`v`, :kbd:`V`"
|
||||
|
||||
You can exit visual mode back to normal mode by pressing :kbd:`Esc`, but all visual mode commands
|
||||
that logically "terminate" the visual mode usage will return you to normal mode.
|
||||
|
||||
For instance, press :kbd:`V` to enter V-Line mode, select next word with :kbd:`w`. press :kbd:`y`
|
||||
to yank (copy), you are now automatically put back in normal mode as you have completed selecting
|
||||
your text.
|
||||
|
||||
|
||||
Implemented Keystrokes (Vim Motions)
|
||||
====================================
|
||||
|
||||
The table below shows the vim motions currently implemented in novelWriter.
|
||||
|
||||
.. csv-table::
|
||||
:header: "Motion", "Mode(s)", "Description"
|
||||
|
||||
":kbd:`i`", "Normal → Insert", "Enter insert mode"
|
||||
":kbd:`I`", "Normal → Insert", "Jump to first non-blank of line and enter insert"
|
||||
":kbd:`v`", "Normal → Visual", "Enter character-wise visual mode"
|
||||
":kbd:`V`", "Normal → V-Line", "Enter line-wise visual mode"
|
||||
":kbd:`dd`", "Normal", "Delete (cut) current line"
|
||||
":kbd:`x`", "Normal", "Delete character under cursor"
|
||||
":kbd:`w`", "Normal / Visual", "Move to next word start"
|
||||
":kbd:`b`", "Normal / Visual", "Move to previous word start"
|
||||
":kbd:`e`", "Normal / Visual", "Move to next word end"
|
||||
":kbd:`dw`", "Normal", "Delete from cursor to next word start"
|
||||
":kbd:`de`", "Normal", "Delete from cursor to next word end"
|
||||
":kbd:`db`", "Normal", "Delete from cursor to previous word start"
|
||||
":kbd:`d$`", "Normal", "Delete from cursor to end of line"
|
||||
":kbd:`yw`", "Normal", "Yank (copy) from cursor to next word start"
|
||||
":kbd:`gg`", "Normal / Visual", "Jump to first line"
|
||||
":kbd:`G`", "Normal / Visual", "Jump to last line"
|
||||
":kbd:`yy`", "Normal", "Yank current line"
|
||||
":kbd:`p`", "Normal", "Paste after current line"
|
||||
":kbd:`P`", "Normal", "Paste before current line"
|
||||
":kbd:`o`", "Normal → Insert", "Open new line below and enter insert"
|
||||
":kbd:`O`", "Normal → Insert", "Open new line above and enter insert"
|
||||
":kbd:`$`", "Normal / Visual", "Move to end of line"
|
||||
":kbd:`a`", "Normal → Insert", "Enter insert after cursor"
|
||||
":kbd:`A`", "Normal → Insert", "Enter insert at end of line"
|
||||
":kbd:`u`", "Normal", "Undo last change"
|
||||
":kbd:`zz`", "Normal", "Centre cursor vertically"
|
||||
":kbd:`h`", "Normal / Visual", "Move left"
|
||||
":kbd:`j`", "Normal / Visual", "Move down"
|
||||
":kbd:`k`", "Normal / Visual", "Move up"
|
||||
":kbd:`l`", "Normal / Visual", "Move right"
|
||||
":kbd:`d`", "Visual / V-Line", "Delete selection"
|
||||
":kbd:`x`", "Visual / V-Line", "Delete selection"
|
||||
":kbd:`y`", "Visual / V-Line", "Yank selection"
|
||||
":kbd:`0`", "Visual", "Move to start of line (extend selection)"
|
||||
|
||||
|
||||
Known Issues
|
||||
============
|
||||
|
||||
* Currently, :kbd:`dd` on an empty line will not delete, but using :kbd:`x` will.
|
||||
* :kbd:`vypyy` will have :kbd:`ypyy` in command memory and thus not register :kbd:`yy`. Expected
|
||||
behavior would be visual mode, yank, paste, yank line.
|
||||
* Differing behavior from vim: the :kbd:`e` command behaves a bit differently with regards to the
|
||||
last character of a word. The behavior is inconsistent with vim but functional and still logical
|
||||
to use. The cursor is placed at the end of the word after the last character rather than on the
|
||||
last character.
|
||||
|
||||
.. code-block::
|
||||
|
||||
test
|
||||
^ Cursor placed here in vim
|
||||
test
|
||||
^ Cursor placed here in novelWriter vim mode
|
||||
|
||||
You will only really ever notice this behavior if you try to combine the :kbd:`e` command with
|
||||
another. For instance, :kbd:`de` will not delete the last character but delete forward as it
|
||||
starts one character after the word boundary.
|
||||
@@ -22,10 +22,10 @@ storage for robustness.
|
||||
* Documentation: https://docs.novelwriter.io
|
||||
* Public Releases: https://releases.novelwriter.io
|
||||
* Internationalisation: https://crowdin.com/project/novelwriter
|
||||
* Source Code: https://github.com/vkbo/novelWriter
|
||||
* Source Releases: https://github.com/vkbo/novelWriter/releases
|
||||
* Issue Tracker: https://github.com/vkbo/novelWriter/issues
|
||||
* Feature Discussions: https://github.com/vkbo/novelWriter/discussions
|
||||
* Source Code: https://github.com/saga-soft/novelWriter
|
||||
* Source Releases: https://github.com/saga-soft/novelWriter/releases
|
||||
* Issue Tracker: https://github.com/saga-soft/novelWriter/issues
|
||||
* Feature Discussions: https://github.com/saga-soft/novelWriter/discussions
|
||||
* PyPi Project: https://pypi.org/project/novelWriter
|
||||
* Social Media: https://fosstodon.org/@novelwriter
|
||||
|
||||
@@ -59,6 +59,7 @@ storage for robustness.
|
||||
user_interface/editor_viewer
|
||||
user_interface/split_and_merge
|
||||
user_interface/manuscript
|
||||
user_interface/formatting
|
||||
user_interface/statistics
|
||||
|
||||
.. toctree::
|
||||
@@ -68,6 +69,7 @@ storage for robustness.
|
||||
features/dialogue
|
||||
features/story_comments
|
||||
features/shortcuts
|
||||
features/vim_mode
|
||||
|
||||
.. toctree::
|
||||
:caption: In-Depth Topics
|
||||
@@ -75,6 +77,7 @@ storage for robustness.
|
||||
|
||||
more/counting
|
||||
more/typography
|
||||
more/dictionaries
|
||||
more/customise
|
||||
more/handling_errors
|
||||
more/project_format
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# French translation authors, one name per line
|
||||
Jean-Michel Heras
|
||||
3
docs/source/locales/config.toml
Normal file
3
docs/source/locales/config.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
[fr]
|
||||
version = "2.7"
|
||||
authors = ["Jean-Michel Heras", "Veronica Berglyd Olsen"]
|
||||
@@ -96,21 +96,20 @@ msgid "Internationalisation: https://crowdin.com/project/novelwriter"
|
||||
msgstr "Internationalisation: https://crowdin.com/project/novelwriter"
|
||||
|
||||
#: ../../source/index.rst:25
|
||||
msgid "Source Code: https://github.com/vkbo/novelWriter"
|
||||
msgstr "Code source : https://github.com/vkbo/novelWriter"
|
||||
msgid "Source Code: https://github.com/saga-soft/novelWriter"
|
||||
msgstr "Code source : https://github.com/saga-soft/novelWriter"
|
||||
|
||||
#: ../../source/index.rst:26
|
||||
msgid "Source Releases: https://github.com/vkbo/novelWriter/releases"
|
||||
msgstr "Source Releases: https://github.com/vkbo/novelWriter/releases"
|
||||
msgid "Source Releases: https://github.com/saga-soft/novelWriter/releases"
|
||||
msgstr "Source Releases: https://github.com/saga-soft/novelWriter/releases"
|
||||
|
||||
#: ../../source/index.rst:27
|
||||
msgid "Issue Tracker: https://github.com/vkbo/novelWriter/issues"
|
||||
msgstr "Issue Tracker: https://github.com/vkbo/novelWriter/issues"
|
||||
msgid "Issue Tracker: https://github.com/saga-soft/novelWriter/issues"
|
||||
msgstr "Issue Tracker: https://github.com/saga-soft/novelWriter/issues"
|
||||
|
||||
#: ../../source/index.rst:28
|
||||
msgid "Feature Discussions: https://github.com/vkbo/novelWriter/discussions"
|
||||
msgstr ""
|
||||
"Feature Discussions: https://github.com/vkbo/novelWriter/discussions"
|
||||
msgid "Feature Discussions: https://github.com/saga-soft/novelWriter/discussions"
|
||||
msgstr "Feature Discussions: https://github.com/saga-soft/novelWriter/discussions"
|
||||
|
||||
#: ../../source/index.rst:29
|
||||
msgid "PyPi Project: https://pypi.org/project/novelWriter"
|
||||
|
||||
@@ -183,29 +183,29 @@ msgstr ""
|
||||
#: ../../source/more/customise.rst:78
|
||||
msgid ""
|
||||
"The existing syntax themes are stored in `novelwriter/assets/syntax "
|
||||
"<https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/"
|
||||
"<https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/"
|
||||
"syntax>`_."
|
||||
msgstr ""
|
||||
"Les thèmes syntaxiques existants sont stockés dans `novelwriter/assets/"
|
||||
"syntax <https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/"
|
||||
"syntax <https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/"
|
||||
"syntax>`_."
|
||||
|
||||
#: ../../source/more/customise.rst:80
|
||||
msgid ""
|
||||
"The existing GUI themes are stored in `novelwriter/assets/themes <https://"
|
||||
"github.com/vkbo/novelWriter/tree/main/novelwriter/assets/themes>`_."
|
||||
"github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/themes>`_."
|
||||
msgstr ""
|
||||
"Les thèmes GUI existants sont stockés dans `novelwriter/assets/themes "
|
||||
"<https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/"
|
||||
"<https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/"
|
||||
"themes>`_."
|
||||
|
||||
#: ../../source/more/customise.rst:82
|
||||
msgid ""
|
||||
"The existing icon themes are stored in `novelwriter/assets/icons <https://"
|
||||
"github.com/vkbo/novelWriter/tree/main/novelwriter/assets/icons>`_."
|
||||
"github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/icons>`_."
|
||||
msgstr ""
|
||||
"Les thèmes d'icônes existants sont stockés dans `novelwriter/assets/icons "
|
||||
"<https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/icons>`_."
|
||||
"<https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/icons>`_."
|
||||
|
||||
#: ../../source/more/customise.rst:85
|
||||
msgid ""
|
||||
|
||||
@@ -15,7 +15,7 @@ generated preview.
|
||||
Text Word Counts and Stats
|
||||
==========================
|
||||
|
||||
These are the rules for the main counts available for for each document in a project.
|
||||
These are the rules for the main counts available for each document in a project.
|
||||
|
||||
For all counts, the following rules apply.
|
||||
|
||||
@@ -82,17 +82,17 @@ The following counts are available:
|
||||
The number of characters in all lines, including any comments and meta data text. Paragraph
|
||||
breaks are not counted, but in-paragraph hard line breaks are.
|
||||
|
||||
**Character in Text**
|
||||
**Characters in Text**
|
||||
The number of characters in body text paragraphs. Paragraph breaks are not counted, but
|
||||
in-paragraph hard line breaks are.
|
||||
|
||||
**Characters in Headings**
|
||||
The number of characters in headings.
|
||||
|
||||
**Character in Text, No Spaces**
|
||||
**Characters in Text, No Spaces**
|
||||
The number of characters in body text paragraphs considered part of a word or punctuation. That
|
||||
is, white space characters are not counted.
|
||||
|
||||
**Character in Headings, No Spaces**
|
||||
**Characters in Headings, No Spaces**
|
||||
The number of characters in headings considered part of a word or punctuation. That is, white
|
||||
space characters are not counted.
|
||||
|
||||
@@ -1,94 +1,35 @@
|
||||
.. _docs_more_custom:
|
||||
|
||||
**************
|
||||
Customisations
|
||||
**************
|
||||
*************
|
||||
Custom Themes
|
||||
*************
|
||||
|
||||
.. _Enchant: https://rrthomas.github.io/enchant/
|
||||
.. _Free Desktop: https://cgit.freedesktop.org/libreoffice/dictionaries/tree/
|
||||
|
||||
There are a few ways you can customise novelWriter yourself. Currently, you can add new GUI themes,
|
||||
your own syntax themes, and install additional dictionaries.
|
||||
|
||||
|
||||
.. _docs_more_custom_dict:
|
||||
|
||||
Spell Check Dictionaries
|
||||
========================
|
||||
|
||||
novelWriter uses Enchant_ as the spell checking tool. Depending on your operating system, it may or
|
||||
may not load all installed spell check dictionaries automatically.
|
||||
|
||||
|
||||
Linux and MacOS
|
||||
---------------
|
||||
|
||||
On Linux and MacOS, you generally only have to install hunspell, aspell or myspell dictionaries on
|
||||
your system like you do for other applications. See your distro or OS documentation for how to do
|
||||
this. These dictionaries should show up as available spell check languages in novelWriter.
|
||||
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
For Windows, English is included with the installation. For other languages you have to download
|
||||
and add dictionaries yourself.
|
||||
|
||||
**Install Tool**
|
||||
|
||||
A small tool to assist with this can be found under **Tools > Add Dictionaries**. It will import
|
||||
spell checking dictionaries from Free Office or Libre Office extensions. The dictionaries are then
|
||||
installed in the install location for the Enchant library and should thus work for any application
|
||||
that uses Enchant for spell checking.
|
||||
|
||||
**Manual Install**
|
||||
|
||||
If you prefer to do this manually or want to use a different source than the ones mentioned above,
|
||||
You need to get compatible dictionary files for your language. You need two files files ending with
|
||||
``.aff`` and ``.dic``. These files must then be copied to the following location:
|
||||
|
||||
``C:\Users\<USER>\AppData\Local\enchant\hunspell``
|
||||
|
||||
This assumes your user profile is stored at ``C:\Users\<USER>``. The last one or two folders may
|
||||
not exist, so you may need to create them.
|
||||
|
||||
You can find the various dictionaries on the `Free Desktop`_ website.
|
||||
|
||||
.. note::
|
||||
The Free Desktop link points to a repository, and what may look like file links inside the
|
||||
dictionary folder are actually links to web pages. If you right-click and download those, you
|
||||
get HTML files, not dictionaries!
|
||||
|
||||
In order to download the actual dictionary files, right-click the "plain" label at the end of
|
||||
each line and download that.
|
||||
There are a few ways you can customise novelWriter yourself. Currently, you can relatively easily
|
||||
add new GUI themes. You can also add new icon themes, although this is not as straightforward.
|
||||
|
||||
|
||||
.. _docs_more_custom_theme:
|
||||
|
||||
Syntax and GUI Themes
|
||||
=====================
|
||||
Colour Themes
|
||||
=============
|
||||
|
||||
Adding your own GUI and syntax themes is relatively easy, although it requires that you manually
|
||||
edit config files with colour values. The themes are defined by simple plain text config files with
|
||||
meta data and colour settings.
|
||||
Adding your own colour themes is relatively easy, although it requires that you manually edit
|
||||
config files with colour values. The themes are defined in plain text files with meta data and
|
||||
colour settings, using the toml format,
|
||||
|
||||
In order to make your own versions, first copy one of the existing files to your local computer and
|
||||
modify it as you like.
|
||||
|
||||
* The existing syntax themes are stored in
|
||||
`novelwriter/assets/syntax <https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/syntax>`_.
|
||||
* The existing GUI themes are stored in
|
||||
`novelwriter/assets/themes <https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/themes>`_.
|
||||
* The existing icon themes are stored in
|
||||
`novelwriter/assets/icons <https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/icons>`_.
|
||||
The existing colour themes are stored in
|
||||
`novelwriter/assets/themes <https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/themes>`_.
|
||||
|
||||
Remember to also change the name of your theme by modifying the ``name`` setting at the top of the
|
||||
file, otherwise you may not be able to distinguish them in **Preferences**.
|
||||
|
||||
For novelWriter to be able to locate the custom theme files, you must copy them to the
|
||||
:ref:`docs_technical_locations_data` location in your home or user area. There should be a folder there named
|
||||
``syntax`` for syntax themes, just ``themes`` for GUI themes, and ``icons`` for icon themes. These
|
||||
folders are created the first time you start novelWriter.
|
||||
:ref:`docs_technical_locations_data` location in your home or user area. There should be a folder
|
||||
there named ``themes`` for colour themes. These folders are created the first time you start
|
||||
novelWriter.
|
||||
|
||||
Once the files are copied there, they should show up in **Preferences** with the label you
|
||||
set as ``name`` inside the file.
|
||||
@@ -99,71 +40,156 @@ set as ``name`` inside the file.
|
||||
files up to date.
|
||||
|
||||
|
||||
Custom GUI and Icons Theme
|
||||
--------------------------
|
||||
The Theme File Format
|
||||
---------------------
|
||||
|
||||
A GUI theme ``.conf`` file consists of the following settings:
|
||||
A colour theme ``.toml`` file consists of the following settings:
|
||||
|
||||
.. code-block:: cfg
|
||||
.. code-block:: toml
|
||||
:caption: The theme file for the "Default Light Theme"
|
||||
|
||||
[Main]
|
||||
name = My Custom Theme
|
||||
description = A description of my custom theme
|
||||
author = Jane Doe
|
||||
credit = John Doe
|
||||
url = https://example.com
|
||||
license = CC BY-SA 4.0
|
||||
licenseurl = https://creativecommons.org/licenses/by-sa/4.0/
|
||||
name = "Default Light Theme"
|
||||
mode = "light"
|
||||
author = "Veronica Berglyd Olsen"
|
||||
credit = "Veronica Berglyd Olsen"
|
||||
url = "https://github.com/saga-soft/novelWriter"
|
||||
|
||||
[Icons]
|
||||
default = 100, 100, 100
|
||||
faded = 100, 100, 100
|
||||
red = 255, 0, 0
|
||||
orange = 255, 128, 0
|
||||
yellow = 255, 255, 0
|
||||
green = 0, 255, 0
|
||||
aqua = 0, 255, 255
|
||||
blue = 0, 0, 255
|
||||
purple = 255, 0, 255
|
||||
[Base]
|
||||
base = "#fcfcfc"
|
||||
default = "#303030"
|
||||
faded = "#6c6c6c"
|
||||
red = "#a62a2d"
|
||||
orange = "#b36829"
|
||||
yellow = "#a39c34"
|
||||
green = "#296629"
|
||||
cyan = "#269999"
|
||||
blue = "#3a70a6"
|
||||
purple = "#b35ab3"
|
||||
|
||||
[Project]
|
||||
root = 0, 255, 255
|
||||
folder = 255, 255, 0
|
||||
file = 100, 100, 100
|
||||
title = 0, 255, 0
|
||||
chapter = 255, 0, 0
|
||||
scene = 0, 0, 255
|
||||
note = 255, 255, 0
|
||||
root = "blue"
|
||||
folder = "yellow"
|
||||
file = "default"
|
||||
title = "green"
|
||||
chapter = "red"
|
||||
scene = "blue"
|
||||
note = "yellow"
|
||||
active = "green"
|
||||
inactive = "red"
|
||||
disabled = "faded"
|
||||
|
||||
[Icon]
|
||||
tool = "default"
|
||||
sidebar = "default"
|
||||
accept = "green"
|
||||
reject = "red"
|
||||
action = "blue"
|
||||
option = "orange"
|
||||
apply = "green"
|
||||
create = "yellow"
|
||||
destroy = "faded"
|
||||
reset = "green"
|
||||
add = "green"
|
||||
change = "green"
|
||||
remove = "red"
|
||||
shortcode = "default"
|
||||
markdown = "orange"
|
||||
system = "yellow"
|
||||
info = "blue"
|
||||
warning = "orange"
|
||||
error = "red"
|
||||
|
||||
[Palette]
|
||||
window = 100, 100, 100
|
||||
windowtext = 100, 100, 100
|
||||
base = 100, 100, 100
|
||||
alternatebase = 100, 100, 100
|
||||
text = 100, 100, 100
|
||||
tooltipbase = 100, 100, 100
|
||||
tooltiptext = 100, 100, 100
|
||||
button = 100, 100, 100
|
||||
buttontext = 100, 100, 100
|
||||
brighttext = 100, 100, 100
|
||||
highlight = 100, 100, 100
|
||||
highlightedtext = 100, 100, 100
|
||||
link = 100, 100, 100
|
||||
linkvisited = 100, 100, 100
|
||||
window = "base:D105"
|
||||
windowText = "default"
|
||||
base = "base"
|
||||
alternateBase = "#e0e0e0"
|
||||
text = "default"
|
||||
tooltipBase = "#ffffc0"
|
||||
tooltipText = "#15150d"
|
||||
button = "#efefef"
|
||||
buttonText = "default"
|
||||
brightText = "base"
|
||||
highlight = "#3087c6"
|
||||
highlightedText = "base"
|
||||
link = "blue"
|
||||
linkVisited = "blue"
|
||||
accent = "#3087c6"
|
||||
|
||||
[GUI]
|
||||
helptext = 0, 0, 0
|
||||
fadedtext = 128, 128, 128
|
||||
errortext = 255, 0, 0
|
||||
helpText = "#5c5c5c"
|
||||
fadedText = "#6c6c6c"
|
||||
errorText = "red"
|
||||
accentText = "blue"
|
||||
activeButton = "blue:96"
|
||||
activeBase = "#d7d7d7"
|
||||
searchMatch = "orange:96"
|
||||
|
||||
In the Main section you must at least define the ``name`` settings.
|
||||
[Syntax]
|
||||
background = "base"
|
||||
text = "default"
|
||||
line = "default:32"
|
||||
link = "blue"
|
||||
headerText = "green"
|
||||
headerTag = "green:L135"
|
||||
emphasis = "orange"
|
||||
whitespace = "orange:64"
|
||||
dialog = "blue"
|
||||
altDialog = "red"
|
||||
note = "yellow:D125"
|
||||
hidden = "faded"
|
||||
shortcode = "blue"
|
||||
keyword = "red"
|
||||
tag = "green"
|
||||
value = "green"
|
||||
optional = "blue"
|
||||
spellCheckLine = "red"
|
||||
errorLine = "green"
|
||||
replaceTag = "green"
|
||||
modifier = "blue"
|
||||
textHighlight = "yellow:72"
|
||||
|
||||
The Palette values correspond to the Qt enum values for ``QPalette::ColorRole``, see the
|
||||
`Qt documentation <https://doc.qt.io/qt-6/qpalette.html#ColorRole-enum>`_ for more details. The
|
||||
colour values are RGB numbers on the format ``r, g, b`` where each is an integer from ``0`` to
|
||||
``255``. Omitted values are not loaded and will use default values. If the ``helptext`` colour is
|
||||
not defined, it is computed as a colour between the ``window`` and ``windowtext`` colour.
|
||||
Additional shades of some of the colours are also computed. These are mainly used for 3D effects.
|
||||
|
||||
Theme Sections
|
||||
--------------
|
||||
|
||||
.. _ColorRole: https://doc.qt.io/qt-6/qpalette.html#ColorRole-enum
|
||||
|
||||
The theme file is made up of different sections depending on what part of novelWriter the theme
|
||||
affects.
|
||||
|
||||
.. csv-table:: Theme Sections Overview
|
||||
:header: "Section", "Description"
|
||||
:class: "tight-table"
|
||||
|
||||
"``[Main]``", "Meta data about the theme, You must at least set ``name``, ``mode`` and ``author``, and ``mode`` must be either ``light`` or ``dark``."
|
||||
"``[Base]``", "The base colours of the theme. These are also selectable colours in various places inside the app, like for icon colours in **Preferences**."
|
||||
"``[Project]``", "The colours used for icons and markers for the different project item types."
|
||||
"``[Icon]``", "The colours used for icons and buttons on the user interface. The names correspond to button and icon roles."
|
||||
"``[Palette]``", "The colours used for styling the user interface. The values correspond to the ColorRole_ values in the Qt library."
|
||||
"``[GUI]``", "The colours used for styling additional elements of the user interface."
|
||||
"``[Syntax]``", "The colours used for syntax highlighting in documents."
|
||||
|
||||
|
||||
Colour Value Formats
|
||||
--------------------
|
||||
|
||||
There are several ways to enter colour values:
|
||||
|
||||
.. csv-table:: Colour Formats
|
||||
:header: "Syntax", "Description"
|
||||
:widths: 15, 85
|
||||
:class: "tight-table"
|
||||
|
||||
"``#RRGGBB``", "A CSS style hexadecimal values, like ``#ff0000`` for red."
|
||||
"``#RRGGBBAA``", "A CSS style hexadecimal values with transparency, like ``#ff00007f`` for half-transparent red."
|
||||
"``name``", "A name referring to one of the colours already specified under the ``[Base]`` section, like ``red``. Note that you should not use named colours in the ``[Base]`` section itself as that may have unintended results."
|
||||
"``name:255``", "A name referring to one of the colours already specified under the ``[Base]`` section, with a transparency value added. The value must be in the range ``0`` to ``255``, like ``red:127`` for half-transparent red."
|
||||
"``name:L100``", "A name referring to one of the colours already specified under the ``[Base]`` section, where the L-number is a percentage value that makes it lighter. The value must be greater than ``0``. ``L100`` means no change."
|
||||
"``name:D100``", "A name referring to one of the colours already specified under the ``[Base]`` section, where the D-number is a percentage value that makes it darker. The value must be greater than ``0``. ``D100`` means no change."
|
||||
"``r, g, b``", "A set of red, green and blue numbers in the range ``0`` to ``255``, like ``255, 0, 0`` for red."
|
||||
"``r, g, b, a``", "A set of red, green, blue and alpha numbers in the range ``0`` to ``255``, like ``255, 0, 0, 127`` for half-transparent red."
|
||||
|
||||
.. versionadded:: 2.5
|
||||
The ``fadedtext`` and ``errortext`` theme colour entries were added.
|
||||
@@ -172,60 +198,113 @@ Additional shades of some of the colours are also computed. These are mainly use
|
||||
The ``icontheme`` setting was dropped as the icon theme is now its own setting.
|
||||
The ``[Icons]`` and ``[Project]`` sections were added, and the ``status*`` settings removed.
|
||||
|
||||
.. versionadded:: 2.8
|
||||
The ``[Syntax]`` section was moved into the main theme file. Previously, these settings were in
|
||||
their own file. The ``[Icons]`` section was renamed to ``[Base]``, and a new ``[Icon]`` section
|
||||
added for button and icon roles. Added the ``line`` and ``whitespace`` settings. Dropped the
|
||||
``license``, ``licenseurl``, and ``description`` settings. The ``author`` field is now required
|
||||
if the theme is included in the app, but not for user themes.
|
||||
|
||||
Custom Syntax Theme
|
||||
-------------------
|
||||
.. versionadded:: 26.2
|
||||
The ``accentText``, ``activeButton``, ``activeBase`` and ``searchMatch`` settings were added to
|
||||
the ``[GUI]`` section. The file format was also converted from conf to toml, and a number of the
|
||||
colour settings were renamed to camelCase format. The following values were renamed:
|
||||
|
||||
A syntax theme ``.conf`` file consists of the following settings:
|
||||
* ``altaction`` to ``option``
|
||||
* ``systemio`` to ``system``
|
||||
* ``windowtext`` to ``windowText``
|
||||
* ``alternatebase`` to ``alternateBase``
|
||||
* ``tooltipbase`` to ``tooltipBase``
|
||||
* ``tooltiptext`` to ``tooltipText``
|
||||
* ``buttontext`` to ``buttonText``
|
||||
* ``brighttext`` to ``brightText``
|
||||
* ``highlightedtext`` to ``highlightedText``
|
||||
* ``linkvisited`` to ``linkVisited``
|
||||
* ``helptext`` to ``helpText``
|
||||
* ``fadedtext`` to ``fadedText``
|
||||
* ``errortext`` to ``errorText``
|
||||
* ``headertext`` to ``headerText``
|
||||
* ``headertag`` to ``headerTag``
|
||||
* ``altdialog`` to ``altDialog``
|
||||
* ``spellcheckline`` to ``spellCheckLine``
|
||||
* ``errorline`` to ``errorLine``
|
||||
* ``replacetag`` to ``replaceTag``
|
||||
* ``texthighlight`` to ``textHighlight``
|
||||
|
||||
|
||||
Icon Themes
|
||||
===========
|
||||
|
||||
Icon themes are *not* straightforward to add, but if you want to make the effort, this section
|
||||
describes how to do it.
|
||||
|
||||
The existing icon themes are stored in
|
||||
`novelwriter/assets/icons <https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/icons>`_.
|
||||
|
||||
As with colour themes, remember to change the name of your theme by modifying the ``name`` setting
|
||||
at the top of the file, otherwise you may not be able to distinguish them in **Preferences**.
|
||||
|
||||
For novelWriter to be able to locate the custom theme files, you must copy them to the
|
||||
:ref:`docs_technical_locations_data` location in your home or user area. There should be a folder
|
||||
there ``icons`` for icon themes. These folders are created the first time you start novelWriter.
|
||||
|
||||
|
||||
The Icons File Format
|
||||
---------------------
|
||||
|
||||
Icon themes are kept in files with the ``.icons`` file extension. The file format is a custom
|
||||
format with entries on the form ``section:key = value``.
|
||||
|
||||
.. code-block:: cfg
|
||||
:caption: The icons file for "Material Symbols - Rounded Medium" (truncated)
|
||||
|
||||
[Main]
|
||||
name = My Syntax Theme
|
||||
author = Jane Doe
|
||||
credit = John Doe
|
||||
url = https://example.com
|
||||
license = CC BY-SA 4.0
|
||||
licenseurl = https://creativecommons.org/licenses/by-sa/4.0/
|
||||
# Meta
|
||||
meta:name = Material Symbols - Rounded Medium
|
||||
meta:author = Google Inc
|
||||
meta:license = Apache 2.0
|
||||
|
||||
[Syntax]
|
||||
background = 255, 255, 255
|
||||
text = 0, 0, 0
|
||||
link = 0, 0, 0
|
||||
headertext = 0, 0, 0
|
||||
headertag = 0, 0, 0
|
||||
emphasis = 0, 0, 0
|
||||
dialog = 0, 0, 0
|
||||
altdialog = 0, 0, 0
|
||||
note = 0, 0, 0
|
||||
hidden = 0, 0, 0
|
||||
shortcode = 0, 0, 0
|
||||
keyword = 0, 0, 0
|
||||
tag = 0, 0, 0
|
||||
value = 0, 0, 0
|
||||
optional = 0, 0, 0
|
||||
spellcheckline = 0, 0, 0
|
||||
errorline = 0, 0, 0
|
||||
replacetag = 0, 0, 0
|
||||
modifier = 0, 0, 0
|
||||
texthighlight = 255, 255, 255, 128
|
||||
# Icons
|
||||
icon:alert_error = <svg ...>
|
||||
icon:alert_info = <svg ...>
|
||||
icon:alert_question = <svg ...>
|
||||
icon:alert_warn = <svg ...>
|
||||
icon:cls_archive = <svg ...>
|
||||
icon:cls_character = <svg ...>
|
||||
icon:cls_custom = <svg ...>
|
||||
icon:cls_entity = <svg ...>
|
||||
icon:cls_none = <svg ...>
|
||||
icon:cls_novel = <svg ...>
|
||||
icon:cls_object = <svg ...>
|
||||
icon:cls_plot = <svg ...>
|
||||
icon:cls_template = <svg ...>
|
||||
icon:cls_timeline = <svg ...>
|
||||
icon:cls_trash = <svg ...>
|
||||
icon:cls_world = <svg ...>
|
||||
|
||||
In the Main section, you must define at least the ``name`` setting. The Syntax colour values are
|
||||
RGB(A) numbers of the format ``r, g, b, a`` where each is an integer from ``0`` to ``255``. The
|
||||
fourth value is the alpha channel, which can be omitted.
|
||||
The icon keys are associated with icon placement locations inside novelWriter, and the template for
|
||||
them is defined in the script that generates the default icon themes.
|
||||
|
||||
Omitted syntax colours default to black, except ``background`` which defaults to white, and
|
||||
``texthighlight`` which defaults to white with half transparency.
|
||||
The script can be found under
|
||||
`utils/icon_themes.py <https://github.com/saga-soft/novelWriter/blob/main/utils/icon_themes.py>`__
|
||||
in the source code.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
The ``shortcode`` syntax colour entry was added.
|
||||
This file includes all the code needed to generate the themes that are included in novelWriter. The
|
||||
icon keys are mapped to icon keys from the specific themes in JSON files in the ``icon_themes``
|
||||
folder next to the script. This is the recommended way to generate these themes. Doing it manually
|
||||
is not advisable.
|
||||
|
||||
.. versionadded:: 2.3
|
||||
The ``optional`` syntax colour entry was added.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
The ``texthighlight`` syntax colour entry was added.
|
||||
Icon Value Format
|
||||
-----------------
|
||||
|
||||
.. versionadded:: 2.5
|
||||
The ``dialog``, ``altdialog``, ``note`` and ``tag`` syntax colour entries were added.
|
||||
``straightquotes``, ``doublequotes`` and ``singlequotes`` were removed.
|
||||
As can be seen from the example, an icon is defined in the ``icon`` section with a key and an
|
||||
in-line SVG XML block. The XML must fit on one line and obey the following rules:
|
||||
|
||||
#. It must be single colour, that is, the fill colour attribute must be able to colourise the
|
||||
entire icon.
|
||||
#. The fill colour attribute *must* be defined and must be set to: ``fill="#000000"``. This value
|
||||
is replaced by the relevant theme colour when the icon is processed in novelWriter.
|
||||
|
||||
.. versionadded:: 2.7
|
||||
The icon theme files were added. Previously, icons were stored as individual SVG files with a
|
||||
config file mapping the file names to the internal icon keys.
|
||||
|
||||
47
docs/source/more/dictionaries.rst
Normal file
47
docs/source/more/dictionaries.rst
Normal file
@@ -0,0 +1,47 @@
|
||||
.. _docs_more_dictionaries:
|
||||
|
||||
************************
|
||||
Spell Check Dictionaries
|
||||
************************
|
||||
|
||||
.. _Enchant: https://rrthomas.github.io/enchant/
|
||||
|
||||
Spell checking is provided by the Enchant_ library. Depending on your operating system, it may or
|
||||
may not load all installed spell check dictionaries automatically.
|
||||
|
||||
|
||||
Linux and MacOS
|
||||
===============
|
||||
|
||||
On Linux and MacOS, you generally only have to install hunspell, aspell or myspell dictionaries on
|
||||
your system like you do for other applications. See your distro or OS documentation for how to do
|
||||
this. These dictionaries should show up as available spell check languages in novelWriter.
|
||||
|
||||
|
||||
Windows
|
||||
=======
|
||||
|
||||
For Windows, English is included with the installation. For other languages you have to download
|
||||
and add dictionaries yourself.
|
||||
|
||||
|
||||
Install Tool
|
||||
------------
|
||||
|
||||
A small tool to assist with this can be found under **Tools > Add Dictionaries**. It will import
|
||||
spell checking dictionaries from Free Office or Libre Office extensions. The dictionaries are then
|
||||
installed in the install location for the Enchant library and should thus work for any application
|
||||
that uses Enchant for spell checking.
|
||||
|
||||
|
||||
Manual Install
|
||||
--------------
|
||||
|
||||
If you prefer to do this manually or want to use a different source than the ones mentioned above,
|
||||
You need to get compatible dictionary files for your language. You need two files ending with
|
||||
``.aff`` and ``.dic``. These files must then be copied to the following location:
|
||||
|
||||
``C:\Users\<USER>\AppData\Local\enchant\hunspell``
|
||||
|
||||
This assumes your user profile is stored at ``C:\Users\<USER>``. The last one or two folders may
|
||||
not exist, so you may need to create them.
|
||||
@@ -76,7 +76,7 @@ right single quotation marks, depending on the font. There is a Wikipedia articl
|
||||
|
||||
.. note::
|
||||
|
||||
On export with the **Build Manuscript** tool, these apostrophes will be replaced
|
||||
On export with the **Manuscript Build** tool, these apostrophes will be replaced
|
||||
automatically with the corresponding right hand single quote symbol as is generally recommended.
|
||||
Therefore it doesn't really matter if you only use them to correct syntax highlighting in some
|
||||
places, and not others.
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
Running from Source
|
||||
*******************
|
||||
|
||||
.. _GitHub: https://github.com/vkbo/novelWriter/releases
|
||||
.. _GitHub: https://github.com/saga-soft/novelWriter/releases
|
||||
.. _PyPi: https://pypi.org/project/novelWriter/
|
||||
.. _Sphinx Docs: https://www.sphinx-doc.org/
|
||||
.. _uv: https://docs.astral.sh/uv/
|
||||
|
||||
This chapter describes various ways of running novelWriter directly from the source code, and how
|
||||
to build the various components like the translation files and documentation.
|
||||
@@ -28,6 +29,7 @@ by running:
|
||||
|
||||
.. _docs_technical_source_depend:
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
@@ -43,11 +45,20 @@ The following Python packages are needed to run all features of novelWriter:
|
||||
If you want spell checking, you must install the ``PyEnchant`` package. The spell check library
|
||||
must be at least 3.0 to work with Windows. On Linux, 2.0 also works fine.
|
||||
|
||||
If you install from PyPi, these dependencies should be installed automatically. If you install from
|
||||
source, dependencies can still be installed from PyPi with:
|
||||
If you install novelWriter from PyPi, these dependencies should be installed automatically.
|
||||
|
||||
You can run novelWriter directly from source with uv_ or another similar tool:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
uv run novelwriter
|
||||
|
||||
If you prefer to install dependencies using ``pip``, you must first generate the
|
||||
``requirements.txt`` file:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python pkgutils.py gen-req
|
||||
pip install -r requirements.txt
|
||||
|
||||
.. note::
|
||||
@@ -136,12 +147,14 @@ running:
|
||||
Building the Documentation
|
||||
==========================
|
||||
|
||||
A local copy of this documentation can be generated as HTML. This requires installing some Python
|
||||
packages from PyPi:
|
||||
A local copy of this documentation can be generated as HTML.
|
||||
|
||||
If you're using ``pip``, you must first generate the ``requirements.txt`` file:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -r docs/requirements.txt
|
||||
python pkgutils.py gen-req docs
|
||||
pip install -r requirements.txt
|
||||
|
||||
The documentation can then be built from the root folder in the source code by running:
|
||||
|
||||
@@ -149,6 +162,12 @@ The documentation can then be built from the root folder in the source code by r
|
||||
|
||||
make -C docs html
|
||||
|
||||
Or you can run directly with uv_ or similar tools:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
uv run make -C docs html
|
||||
|
||||
If successful, the documentation should be available in the ``docs/build/html`` folder and you can
|
||||
open the ``index.html`` file in your browser.
|
||||
|
||||
|
||||
@@ -190,4 +190,4 @@ Statistics** tool. If this file is lost, the history it contains is also lost, b
|
||||
no impact on the project.
|
||||
|
||||
Each session is recorded as a JSON object on a single line of the file. Each session record is
|
||||
appended tot he file.
|
||||
appended to the file.
|
||||
|
||||
@@ -4,23 +4,12 @@
|
||||
Running Tests
|
||||
*************
|
||||
|
||||
.. _uv: https://docs.astral.sh/uv/
|
||||
|
||||
The novelWriter source code is well covered by tests. The test framework used for the development
|
||||
is ``pytest`` with the use of an extension for Qt.
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
The dependencies for running the tests can be installed with:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install -r tests/requirements.txt
|
||||
|
||||
This will install a couple of extra packages for coverage and test management. The minimum
|
||||
requirement is ``pytest`` and ``pytest-qt``.
|
||||
|
||||
|
||||
Simple Test Run
|
||||
===============
|
||||
|
||||
@@ -28,19 +17,35 @@ To run the tests, you simply need to execute the following from the root of the
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pytest
|
||||
uv run pytest
|
||||
|
||||
This uses uv_. See below for manually installing dependencies using ``pip``.
|
||||
|
||||
Since several of the tests involve opening up the novelWriter GUI, you may want to disable the GUI
|
||||
for the duration of the test run. Moving your mouse while the tests are running may otherwise
|
||||
interfere with the execution of some tests.
|
||||
|
||||
You can disable the renderring of the GUI by setting the flag ``QT_QPA_PLATFORM=offscreen``:
|
||||
You can disable the rendering of the GUI by setting the flag ``QT_QPA_PLATFORM=offscreen``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
export QT_QPA_PLATFORM=offscreen pytest
|
||||
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
To generate the requirements file and install dependencies using ``pip``, run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python pkgutils.py gen-req app test
|
||||
pip install -r tests/requirements.txt
|
||||
|
||||
This will install a couple of extra packages for coverage and test management. The minimum
|
||||
requirement is ``pytest`` and ``pytest-qt``.
|
||||
|
||||
|
||||
Advanced Options
|
||||
================
|
||||
|
||||
|
||||
@@ -56,6 +56,20 @@ activated by clicking the left-most icon button in the editor header.
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. _docs_usage_formatting_shortcodes_break:
|
||||
|
||||
Forced Line Break
|
||||
-----------------
|
||||
|
||||
Inserting ``[br]`` in the text will ensure a line break is always inserted in that place, even if
|
||||
you turn off **Preserve Hard Line Breaks** in your **Manuscript Build** settings.
|
||||
|
||||
You can add a manual line break after it too, for a better visual representation in the editor, but
|
||||
keep in mind that this line break is removed before the text is processed, so the text on either
|
||||
side of the ``[br]`` shortcode will be considered as belonging to the same line. This can affect
|
||||
how alignment is treated. See :ref:`docs_usage_align_indent_forced` for more details.
|
||||
|
||||
|
||||
.. _docs_usage_formatting_breaks:
|
||||
|
||||
Vertical Space and Page Breaks
|
||||
|
||||
@@ -53,18 +53,33 @@ the entire paragraph. For the following text, all lines will be centred:
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
>> I am the very model of a modern Major-General
|
||||
>> I am the very model of a modern Major-General <<
|
||||
I've information vegetable, animal, and mineral
|
||||
I know the kings of England, and I quote the fights historical
|
||||
From Marathon to Waterloo, in order categorical <<
|
||||
From Marathon to Waterloo, in order categorical
|
||||
|
||||
If you have multiple conflicting alignments on a paragraph, only one is applied. The order of
|
||||
precedence is:
|
||||
|
||||
#. Left alignment
|
||||
#. Right alignment
|
||||
#. Centred text
|
||||
#. Justified text
|
||||
|
||||
.. note::
|
||||
|
||||
It is strongly recommended that you keep the **Preserve Hard Line Breaks** setting enabled in
|
||||
your manuscript build settings. This setting assumes all single line breaks in your text are
|
||||
intended. Turning this off makes adding line breaks more complicated, but it is still possible.
|
||||
See :ref:`docs_usage_align_indent_forced`.
|
||||
|
||||
|
||||
Alignment with First Line Indent
|
||||
================================
|
||||
|
||||
If you have first line indent enabled in your manuscript build settings, you probably want to
|
||||
disable it for text in verses. Adding any alignment tags will cause the first line indent to be
|
||||
switched off for that paragraph.
|
||||
disable it for text in verses. Adding any alignment tags on a paragraph will cause the first
|
||||
line indent to be switched off for that paragraph.
|
||||
|
||||
:bdg-info:`Example`
|
||||
|
||||
@@ -76,3 +91,35 @@ The following text will always be aligned against the left margin:
|
||||
I've information vegetable, animal, and mineral
|
||||
I know the kings of England, and I quote the fights historical
|
||||
From Marathon to Waterloo, in order categorical
|
||||
|
||||
|
||||
.. _docs_usage_align_indent_forced:
|
||||
|
||||
Alignment with Forced Line Breaks
|
||||
=================================
|
||||
|
||||
If you turn off **Preserve Hard Line Breaks** in your manuscript build settings, you can still
|
||||
force line breaks in paragraphs using the ``[br]`` shortcode. For clarity in the text, you can add
|
||||
a line break after it as well. It doesn't result in two line breaks.
|
||||
|
||||
Keep in mind that when the text is processed, the lines on either side of a ``[br]`` shortcode are
|
||||
combined, and any trailing hard line break is *ignored*. This means that when such a paragraph is
|
||||
processed, these line breaks count as the same line. This affects how alignment tags are handled.
|
||||
For instance, this text becomes centred instead of left aligned.
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
>> I am the very model of a modern Major-General[br]
|
||||
I've information vegetable, animal, and mineral[br]
|
||||
I know the kings of England, and I quote the fights historical[br]
|
||||
From Marathon to Waterloo, in order categorical <<
|
||||
|
||||
Since this is understood as one line, this is the only way you can actually centre this paragraph.
|
||||
|
||||
.. caution::
|
||||
|
||||
Due to this difference in how text with ``[br]`` tags are processed, it is generally better to
|
||||
stick with the **Preserve Hard Line Breaks** setting enabled. It ensures a better correspondence
|
||||
between what you see in the editor and what output you get.
|
||||
|
||||
See also :ref:`docs_usage_formatting_shortcodes_break`.
|
||||
|
||||
@@ -64,19 +64,31 @@ A minimal set of Markdown text emphasis styles are supported for text paragraphs
|
||||
``**text**``
|
||||
The text is rendered as strongly emphasised text (bold).
|
||||
|
||||
``*text*`` (optional)
|
||||
The text is also rendered as strongly emphasised text (bold).
|
||||
|
||||
``~~text~~``
|
||||
Strike through text.
|
||||
|
||||
``==text==``
|
||||
The text is highlighted.
|
||||
|
||||
In Markdown guides it is often recommended to differentiate between strong emphasis and emphasis
|
||||
by using ``**`` for strong and ``_`` for emphasis, although Markdown generally also supports ``__``
|
||||
for strong and ``*`` for emphasis. However, since the differentiation makes the highlighting and
|
||||
conversion significantly simpler and faster, in novelWriter this is a rule, not just a
|
||||
recommendation.
|
||||
|
||||
In addition, the following rules apply:
|
||||
As of version 2026.1, it is possible to enable ``*text*`` for bold text. This has become a very
|
||||
common notation in many user interfaces, and is now also supported by novelWriter. It can be
|
||||
enabled in **Preferences** in the **Text Editing** section. Enabling this will not disable
|
||||
``**text**`` as bold, but will allow both formats. It will, however, change the format button and
|
||||
:kbd:`Ctrl+B` to use a single asterisk instead of two.
|
||||
|
||||
1. The emphasis and strike through formatting tags do not allow spaces between the words and the
|
||||
tag itself. That is, ``**text**`` is valid, ``**text **`` is not.
|
||||
In general, the following rules apply:
|
||||
|
||||
1. The emphasis, strike through and highlight formatting tags do not allow spaces between the words
|
||||
and the tag itself. That is, ``**text**`` is valid, ``**text **`` is not.
|
||||
2. More generally, the delimiters must be on the outer edge of words. That is, ``some **text in
|
||||
bold** here`` is valid, ``some** text in bold** here`` is not.
|
||||
3. If using both ``**`` and ``_`` to wrap the same text, the underscore must be the **inner**
|
||||
|
||||
@@ -45,7 +45,7 @@ manuscript. The chapter and scenes headings are also displayed in the
|
||||
``## Chapter Title``
|
||||
This is a heading level two. This heading indicates the start of a new chapter. Chapter numbers
|
||||
can be inserted automatically when building the manuscript, so you don't have to do this in the
|
||||
title. See :ref:`docs_ui_manuscript_head_numbers` for more details.
|
||||
title. See :ref:`docs_ui_manuscript_formatting_head_numbers` for more details.
|
||||
|
||||
``### Scene Title``
|
||||
This is a heading level three. This heading indicates the start of a new scene. Scene numbers or
|
||||
@@ -78,11 +78,11 @@ want to keep the use cases in mind while writing.
|
||||
``###! Scene Title``
|
||||
This is an alternative scene heading that can be formatted differently in the **Manuscript
|
||||
Build** tool. It is intended for separating "soft" and "hard" scene breaks. Aside from this, it
|
||||
behaves identically to a regular scene heading. See :ref:`docs_ui_manuscript_head_hard_soft`
|
||||
for more details.
|
||||
behaves identically to a regular scene heading.
|
||||
See :ref:`docs_ui_manuscript_formatting_head_hard_soft` for more details.
|
||||
|
||||
The formatting of these headings can be customised quite extensively in the
|
||||
:ref:`Manuscript Tool <docs_ui_manuscript>`, which is covered in a separate part of the
|
||||
:ref:`Manuscript Tool <docs_ui_manuscript_formatting>`, which is covered in a separate part of the
|
||||
documentation.
|
||||
|
||||
.. note::
|
||||
@@ -94,3 +94,8 @@ Page breaks can be automatically added before titles, partition, chapter and sce
|
||||
the **Manuscript Build** tool when you build your project to a format that supports page breaks.
|
||||
If you want page breaks in other places, you have to specify them manually.
|
||||
See :ref:`docs_usage_formatting_breaks` for more details.
|
||||
|
||||
.. note::
|
||||
|
||||
When you build a manuscript from your project, the level of the headings in your document will
|
||||
change. See :ref:`docs_ui_manuscript_formatting_head_promote` for more details.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Tips & Tricks
|
||||
*************
|
||||
|
||||
.. _Discussions Page: https://github.com/vkbo/novelWriter/discussions
|
||||
.. _Discussions Page: https://github.com/saga-soft/novelWriter/discussions
|
||||
|
||||
This is a list of hopefully helpful little tips on how to get the most out of novelWriter.
|
||||
|
||||
@@ -13,8 +13,8 @@ This is a list of hopefully helpful little tips on how to get the most out of no
|
||||
contribute, or start a discussion on the project's `Discussions Page`_.
|
||||
|
||||
|
||||
Managing the Project
|
||||
====================
|
||||
Your Project
|
||||
============
|
||||
|
||||
.. dropdown:: How do I create a project from a template?
|
||||
:animate: fade-in-slide-down
|
||||
@@ -42,6 +42,57 @@ Managing the Project
|
||||
Settings** from the respective configuration tabs. You can then import these labels in another
|
||||
project.
|
||||
|
||||
.. dropdown:: How do I add introductory text to chapters?
|
||||
:animate: fade-in-slide-down
|
||||
|
||||
Sometimes chapters have a short preface, like a brief piece of text or a quote to set the stage
|
||||
before the first scene begins.
|
||||
|
||||
If you add separate files for chapters and scenes, the chapter file is the perfect place to add
|
||||
such text. Separating chapter and scene files also allows you to make scene files child
|
||||
documents of the chapter.
|
||||
|
||||
.. dropdown:: How do I distinguishing between soft and hard scene breaks?
|
||||
:animate: fade-in-slide-down
|
||||
|
||||
Depending on your writing style, you may need to separate between soft and hard scene breaks
|
||||
within chapters. Like for instance if you switch point-of-view character often.
|
||||
|
||||
In such cases you may want to use different scene headings for hard and soft scene breaks. The
|
||||
**Manuscript Build** tool will let you define a different format for scenes using the ``###``
|
||||
and ``###!`` heading codes when you generate your manuscript. You can for instance add the
|
||||
common "``* * *``" for hard breaks and select to hide soft scene breaks, which will just insert
|
||||
an empty paragraph in their place. See :ref:`docs_ui_manuscript_settings` for more details.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
|
||||
.. dropdown:: How can I set the language for my manuscript?
|
||||
:animate: fade-in-slide-down
|
||||
|
||||
The language set for manuscript documents like Open Document and Word Document is taken from
|
||||
your project language setting in **Project Settings**. Only some languages are available here,
|
||||
but you can override the language information by setting the "Override Document Language" value
|
||||
in your Manuscript Build settings to a valid language code. The code uses the
|
||||
`IETF BCP 47 language tag <https://en.wikipedia.org/wiki/IETF_language_tag>`__ format.
|
||||
|
||||
Examples: ``en`` for English, ``de`` for German, etc.
|
||||
|
||||
If you want to help add new languages to novelWriter, see: :ref:`docs_contributing`.
|
||||
|
||||
.. versionadded:: 2.8
|
||||
|
||||
|
||||
The Application
|
||||
===============
|
||||
|
||||
.. dropdown:: How can I increase the line height?
|
||||
:animate: fade-in-slide-down
|
||||
|
||||
Unfortunately, in this case, novelWriter uses the plain text editor component of the underlying
|
||||
framework (called Qt) which doesn't support changing the line height. However, you can choose an
|
||||
editor font with larger leading (the spacing between the lines). A good font for this case is
|
||||
`Noto <https://fonts.google.com/noto>`__, which comes in both Sans-Serif and Serif.
|
||||
|
||||
|
||||
Layout Tricks
|
||||
=============
|
||||
@@ -79,34 +130,6 @@ Layout Tricks
|
||||
See :ref:`docs_usage_align_indent` for more details.
|
||||
|
||||
|
||||
Organising Your Text
|
||||
====================
|
||||
|
||||
.. dropdown:: How do I add introductory text to chapters?
|
||||
:animate: fade-in-slide-down
|
||||
|
||||
Sometimes chapters have a short preface, like a brief piece of text or a quote to set the stage
|
||||
before the first scene begins.
|
||||
|
||||
If you add separate files for chapters and scenes, the chapter file is the perfect place to add
|
||||
such text. Separating chapter and scene files also allows you to make scene files child
|
||||
documents of the chapter.
|
||||
|
||||
.. dropdown:: How do I distinguishing between soft and hard scene breaks?
|
||||
:animate: fade-in-slide-down
|
||||
|
||||
Depending on your writing style, you may need to separate between soft and hard scene breaks
|
||||
within chapters. Like for instance if you switch point-of-view character often.
|
||||
|
||||
In such cases you may want to use different scene headings for hard and soft scene breaks. The
|
||||
**Build Manuscript** tool will let you define a different format for scenes using the ``###``
|
||||
and ``###!`` heading codes when you generate your manuscript. You can for instance add the
|
||||
common "``* * *``" for hard breaks and select to hide soft scene breaks, which will just insert
|
||||
an empty paragraph in their place. See :ref:`docs_ui_manuscript_settings` for more details.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
|
||||
|
||||
Other Tools
|
||||
===========
|
||||
|
||||
|
||||
@@ -5,9 +5,11 @@ Introduction
|
||||
************
|
||||
|
||||
.. _Markdown: https://en.wikipedia.org/wiki/Markdown
|
||||
.. _Contributing Guide: https://github.com/saga-soft/novelWriter/blob/main/CONTRIBUTING.md
|
||||
.. _Crowdin: https://crowdin.com/project/novelwriter
|
||||
|
||||
In a nutshell, novelWriter is a plain text editor that lets you organise one or more novels and
|
||||
associated notes as many smaller documents. You can at any time generate standard document formats
|
||||
In a nutshell, novelWriter is a plain text editor that lets you organise one or more novels, and
|
||||
associated notes, as many smaller documents. You can at any time generate standard document formats
|
||||
from these plain text documents. Whether it is an outline of your story, a draft, a complete
|
||||
manuscript, or even a collection of your character notes or other notes.
|
||||
|
||||
@@ -51,7 +53,26 @@ comments, and an auto-complete menu can help you here too. More about this later
|
||||
writing. It is also *not* a full-featured Markdown editor.
|
||||
|
||||
In addition, novelWriter is not intended as a tool for organising research for writing, and
|
||||
therefore lacks formatting features you may need for this purpose. The notes feature in is
|
||||
therefore lacks formatting features you may need for this purpose. The notes feature is
|
||||
mainly intended for character profiles and plot outlines. It is recommended to use a proper
|
||||
note-taking tool for research. This is anyway more practical as you may use the same research
|
||||
for multiple projects.
|
||||
|
||||
|
||||
.. _docs_contributing:
|
||||
|
||||
Contributing
|
||||
============
|
||||
|
||||
This project relies on contributions to add new features. In particular, adding translations into
|
||||
other languages, or updating translations for existing languages, is particularly useful.
|
||||
|
||||
For code contributions, please read the official `Contributing Guide`_.
|
||||
|
||||
For translations, please use the project page on Crowdin_. For each language, there are two
|
||||
translation sets. One for the application itself, labelled "Main GUI". This is a fairly large
|
||||
dataset to translate. A smaller set called "Project Exports" is also available. The latter is what
|
||||
makes a language available in **Project Settings** in the application. It is a fairly small set to
|
||||
translate, and you can choose to translate only this set if you wish. If the language you wish to
|
||||
contribute to is not available in the list, you can message the maintainer on the Crowdin page to
|
||||
add new languages to the project.
|
||||
|
||||
@@ -15,7 +15,7 @@ side of the main window.
|
||||
|
||||
Each line in the project tree shows the name of each item, its word count (or alternatively
|
||||
character count), an icon for :ref:`docs_usage_project_active`, and a custom icon for
|
||||
:ref:`docs_usage_project_status` of each item. These latter two are covered alter in this section.
|
||||
:ref:`docs_usage_project_status` of each item. These latter two are covered later in this section.
|
||||
|
||||
You can add, view and edit documents in the project tree by right-clicking on them. Some features
|
||||
are also located in the buttons along the top, next to the **Project Content** label.
|
||||
@@ -47,8 +47,8 @@ Root Folder Types
|
||||
|
||||
**Novel** (Story)
|
||||
This is where you put the documents that are part of your story. You can create multiple Novel
|
||||
folders if you wish, but various parts of the application assumes each Novel folder belong to
|
||||
one novel.
|
||||
folders if you wish, but various parts of the application assumes each Novel folder belongs to
|
||||
only one novel.
|
||||
|
||||
The Novel folder is somewhat special in that it can contain documents for chapters, scenes and
|
||||
story partitions. How this is indicated is covered in the section :ref:`docs_usage_headings`.
|
||||
@@ -166,6 +166,9 @@ a character note template, you can add a **Templates** root folder to your proje
|
||||
added to this root folder will show up in the **Add Item** menu in the project tree toolbar. When
|
||||
selected, a new document is created with its content copied from the chosen template.
|
||||
|
||||
If the first line of the template file is a title line, the title text will be replaced with the
|
||||
text of the document label when it is first created.
|
||||
|
||||
.. versionadded:: 2.3
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ it selected, or drag and drop it onto the editor panel. This will open the docum
|
||||
editor.
|
||||
|
||||
The editor has a maximise button, which toggles the **Focus Mode**, and a close button in the
|
||||
top--right corner. On the top--left side you will find a tools button that opens a toolbar with a
|
||||
top-right corner. On the top-left side you will find a tools button that opens a toolbar with a
|
||||
few buttons for applying text formatting, a drop down menu for navigating between headings, and a
|
||||
search button to open the search dialog.
|
||||
|
||||
@@ -55,7 +55,7 @@ edited from the **Project Word List** tool available from the **Tools** menu.
|
||||
.. note::
|
||||
|
||||
Generally, spell checking dictionaries are collected from your operating system, but on Windows
|
||||
they are not. See :ref:`docs_more_custom_dict` for how to add spell checking dictionaries on
|
||||
they are not. See :ref:`docs_more_dictionaries` for how to add spell checking dictionaries on
|
||||
Windows.
|
||||
|
||||
|
||||
@@ -102,11 +102,12 @@ Pressing :kbd:`Return` while in the search box will search for the next occurren
|
||||
highlighted text and move to the next result.
|
||||
|
||||
There are a number of settings for the search tool available as toggle switches above the search
|
||||
box. They allow you to search for, in order: matched case only, whole word results only, search
|
||||
using regular expressions, loop search when reaching the end of the document, and move to the next
|
||||
document when reaching the end. There is also a switch that will try to match the case of the word
|
||||
when the replacement is made. That is, it will try to keep the word upper, lower, or capitalised to
|
||||
match the word being replaced.
|
||||
box. They allow you to enable, in order: auto-replace of symbols as you type in the search and
|
||||
replace boxes (see :ref:`docs_ui_edit_view_auto`), matched case only, whole word results only,
|
||||
search using regular expressions, loop search when reaching the end of the document, and move to
|
||||
the next document when reaching the end. There is also a switch that will try to match the case of
|
||||
the word when the replacement is made. That is, it will try to keep the word upper, lower, or
|
||||
capitalised to match the word being replaced.
|
||||
|
||||
|
||||
.. _docs_ui_edit_view_auto:
|
||||
@@ -153,14 +154,14 @@ middle-clicking on the document will also open it in the viewer.
|
||||
|
||||
The document viewed does not have to be the same document as the one currently being edited.
|
||||
However, If you *are* viewing the same document, pressing :kbd:`Ctrl+R` from the editor will update
|
||||
the document with your latest changes. You can also press the reload button in the top--right
|
||||
the document with your latest changes. You can also press the reload button in the top-right
|
||||
corner of the viewer panel, next to the close button, to achieve the same thing.
|
||||
|
||||
In the viewer, references become clickable links. Clicking them will replace the content of the
|
||||
viewer with the content of the document the reference points to.
|
||||
|
||||
The document viewer keeps a history of viewed documents, which you can navigate with the arrow
|
||||
buttons in the top--left corner of the viewer. If your mouse has backward and forward navigation
|
||||
buttons in the top-left corner of the viewer. If your mouse has backward and forward navigation
|
||||
buttons, these can be used as well. They work just like the backward and forward features in a
|
||||
browser. The left-most button is a dropdown menu for quickly navigation between headings in the
|
||||
document. The edit button on the right will open the viewed document in the editor.
|
||||
|
||||
213
docs/source/user_interface/formatting.rst
Normal file
213
docs/source/user_interface/formatting.rst
Normal file
@@ -0,0 +1,213 @@
|
||||
.. _docs_ui_manuscript_formatting:
|
||||
|
||||
*************************
|
||||
Formatting the Manuscript
|
||||
*************************
|
||||
|
||||
The **Manuscript Build Settings** tool has a **Headings** page and a separate **Formatting** page.
|
||||
This chapter covers both.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_formatting_head:
|
||||
|
||||
Headings
|
||||
========
|
||||
|
||||
.. figure:: images/fig_build_settings_headings.png
|
||||
:width: 80%
|
||||
|
||||
The **Headings** page of the **Manuscript Build Settings** dialog.
|
||||
|
||||
The **Headings** page of the **Manuscript Build Settings** dialog allows you to set how the
|
||||
headings in your Novel Documents are formatted. By default, the title is just copied as-is,
|
||||
indicated by the ``{Title}`` format. You can change this to, for instance, add chapter numbers and
|
||||
scene numbers, or insert character names, as shown in the figure above.
|
||||
|
||||
Clicking the edit button next to a format will copy the formatting string into the edit box where
|
||||
it can be modified, and where a syntax highlighter will help indicate which parts are automatically
|
||||
generated by the build tool. The :guilabel:`Insert` button is a dropdown list of these formats, and
|
||||
selecting one will insert it at the position of the cursor.
|
||||
|
||||
Any text you add that isn't highlighted in colours will remain in your formatted titles.
|
||||
``{Title}`` will always be replaced by the text in the heading from your documents.
|
||||
|
||||
.. csv-table:: Heading Formats
|
||||
:header: "Code", "Description"
|
||||
:class: "tight-table"
|
||||
|
||||
"``{BR}``", "Insert a line break."
|
||||
"``{Title}``", "Insert the original title text."
|
||||
"``{Chapter}``", "Insert a chapter number."
|
||||
"``{Chapter:Word}``", "Insert a chapter number as a word."
|
||||
"``{Chapter:URoman}``", "Insert a chapter number as an upper case Roman numeral."
|
||||
"``{Chapter:LRoman}``", "Insert a chapter number as a lower case Roman numeral."
|
||||
"``{Scene}``", "Insert a scene number within the current chapter."
|
||||
"``{Scene:Abs}``", "Insert a scene number unique to the whole manuscript."
|
||||
"``{Char:POV}``", "Insert the point-of-view character's :ref:`display name <docs_usage_tags_refs_tags>`."
|
||||
"``{Char:Focus}``", "Insert the focus character's :ref:`display name <docs_usage_tags_refs_tags>`."
|
||||
|
||||
You can preview the result of these format strings by clicking :guilabel:`Apply`, and then clicking
|
||||
:guilabel:`Preview` in the **Manuscript Build** tool main window.
|
||||
|
||||
.. note::
|
||||
|
||||
The language used for generating chapter numbers is defined by the project language set in
|
||||
**Project Settings**. This feature relies on translation files existing for each language.
|
||||
If you want to help add new languages to novelWriter, see: :ref:`docs_contributing`.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_formatting_head_numbers:
|
||||
|
||||
Automatic Numbering
|
||||
-------------------
|
||||
|
||||
The headings formatter allows you to automatically insert chapter and scene numbers into your
|
||||
headings. The automatic chapter number counter will skip all chapter headings marked as unnumbered
|
||||
using the heading format described in :ref:`docs_usage_headings_levels`.
|
||||
|
||||
Scene numbers are mostly intended for use in a draft manuscript. You can either insert absolute
|
||||
scene numbers that count every scene in the novel, or you can insert per-chapter scene numbers
|
||||
that reset to 1 for each new chapter.
|
||||
|
||||
:bdg-info:`Example`
|
||||
|
||||
This will create a chapter title on the format "Chapter 1: Title Text":
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
Chapter {Chapter}: {Title}
|
||||
|
||||
This will create a scene title on the format "Scene 1.1: Title Text":
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
Scene {Chapter}.{Scene}: {Title}
|
||||
|
||||
|
||||
Scene Separators
|
||||
----------------
|
||||
|
||||
If you don't want any titles for your scenes (or for your sections if you have them), you can leave
|
||||
the formatting boxes empty. If so, an empty paragraph will be inserted between the scenes or
|
||||
sections instead, resulting in a gap in the text. You can also enable the :guilabel:`Hide` setting,
|
||||
which will ignore them completely. That is, there won't even be an extra gap inserted.
|
||||
|
||||
Alternatively, if you want a separator text between them, like the common ``* * *``, you can enter
|
||||
the desired separator text as the format. If the format is any piece of static text, it will always
|
||||
be treated as a separator. A static separator is only inserted between scenes, as opposed to a
|
||||
formatted heading which is also inserted before the first scene of a chapter.
|
||||
|
||||
A special case of the static separator is the horizontal line, which is inserted by using the
|
||||
``----`` format. There is also an option for it in the :guilabel:`Insert` dropdown list. This will
|
||||
replace all the text in the edit box with four hyphens. Only if the format is exactly four hyphens
|
||||
will it be treated as a horizontal line.
|
||||
|
||||
In the output formats, the horizontal line is rendered as a line at 50% the text width or the page
|
||||
width. The exception is for Markdown output, where it is printed as-is.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_formatting_head_hard_soft:
|
||||
|
||||
Hard and Soft Scenes
|
||||
--------------------
|
||||
|
||||
If you wish to distinguish between so-called soft and hard scene breaks, you can use the
|
||||
alternative scene heading format in your text. You can then give these headings a different
|
||||
formatting in the **Headings** settings.
|
||||
|
||||
See :ref:`docs_usage_headings_levels` for more information on how to format alternative scene
|
||||
headings in your text.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_formatting_head_promote:
|
||||
|
||||
Heading Level Promotion
|
||||
-----------------------
|
||||
|
||||
When you build the manuscript, novel headings are promoted one level relative to the level
|
||||
specified in the source documents as typed in the editor. The promotion follows these rules:
|
||||
|
||||
#. The main novel title and partition titles are converted to regular text paragraphs with a larger
|
||||
font size.
|
||||
#. Chapter titles are promoted to the top-most heading of the document, that is level 1.
|
||||
#. Scenes and Section titles, if used, are promoted to level 2 and 3, respectively.
|
||||
#. Headings in note documents are left as-is.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_formatting_head_styling:
|
||||
|
||||
Title Styling
|
||||
-------------
|
||||
|
||||
The **Manuscript Build Settings** dialog also provides layout options for controlling how headings
|
||||
are visually presented in the output. These options allow you to add page breaks and centre
|
||||
headings at specific heading levels.
|
||||
|
||||
The layout options are presented in a grid showing the following heading styles:
|
||||
|
||||
- **Title** – The novel's main title
|
||||
- **Partition** – Partition headings (for dividing the novel into major sections)
|
||||
- **Chapter** – Chapter headings
|
||||
- **Scene** – Scene headings
|
||||
|
||||
For each of these, you can toggle:
|
||||
|
||||
- **Centre** – Centre the heading text on the page
|
||||
- **Page Break** – Insert a page break before the heading
|
||||
|
||||
These settings apply to the formatted heading output and affect all document formats that support
|
||||
page breaks and text alignment.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_formatting_options:
|
||||
|
||||
Formatting Options
|
||||
==================
|
||||
|
||||
The **Formatting** section in the **Manuscript Build Settings** dialog is split into groups, each
|
||||
accessible from its own entry in the sidebar. The sections below summarise what each group
|
||||
controls.
|
||||
|
||||
**Text Content**
|
||||
Controls which parts of the text in each selected document are included in the output. These
|
||||
options do not select documents, that is done in the **Selection** page. They only control
|
||||
which content elements within each document are rendered. The available switches are:
|
||||
"Include body text", "Include synopsis", "Include comments", "Include story structure",
|
||||
"Include manuscript notes", and "Include keywords". A text field for specifying keywords to
|
||||
ignore is also provided, as well as an option to "Add titles for note root folders".
|
||||
|
||||
**Text Format**
|
||||
Controls the base appearance of rendered text. Set the "Text font" and "Line height", and
|
||||
toggle options for "Justify text margins", "Justify text on manual line breaks",
|
||||
"Replace Unicode characters", "Replace tabs with spaces", "Preserve hard line breaks", and
|
||||
"Apply dialogue highlighting".
|
||||
|
||||
**Heading Format**
|
||||
Controls visual formatting applied to all headings in the output. Toggle "Add colours to
|
||||
headings", "Bold headings", and "Uppercase headings".
|
||||
|
||||
**First Line Indent**
|
||||
Controls paragraph indentation. Toggle "Enable indent", set the "Indent width", and choose
|
||||
whether to "Indent first paragraph" (the paragraph immediately following a heading).
|
||||
|
||||
**Size & Margins**
|
||||
Controls font sizes and spacing for each element in the output. Entries cover "Title and
|
||||
Partition", "Heading 1 and Chapter", "Heading 2 and Scene", "Heading 3 and Section",
|
||||
"Heading 4", "Text paragraph", and "Scene separator". Each entry has a size field and top and
|
||||
bottom margin fields. The option "Add empty lines instead of margins" replaces spacing with
|
||||
blank lines, which is useful for formats that do not support paragraph margins.
|
||||
|
||||
**Page Layout**
|
||||
Controls paper settings for formats that support page layout, such as Open Document and PDF.
|
||||
Set the "Unit" (centimetres, millimetres or inches), "Page size", and "Page margins"
|
||||
(top, bottom, left, and right).
|
||||
|
||||
**Document Style**
|
||||
Controls document-level settings for office type documents. Set the "Page header" format, the
|
||||
"Page counter offset", and optionally override the document language with "Override document
|
||||
language".
|
||||
|
||||
**HTML Options**
|
||||
Controls settings specific to HTML output. Toggle "Add CSS styles" to include inline
|
||||
stylesheet rules, and "Preserve tab characters" to keep tabs rather than converting them to
|
||||
spaces.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 107 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 147 KiB |
@@ -18,7 +18,7 @@ time you need them. For reference, a list of all shortcuts can be found in the
|
||||
:ref:`docs_features_shortcuts` section.
|
||||
|
||||
On the left side of the main window you will find a sidebar. This bar has buttons for the standard
|
||||
views you can switch between, a quick link to the **Build Manuscript** tool, and a set of
|
||||
views you can switch between, a quick link to the **Manuscript Build** tool, and a set of
|
||||
project-related tools and quick access to settings at the bottom.
|
||||
|
||||
|
||||
@@ -186,17 +186,11 @@ See :ref:`docs_features_shortcuts` for more details.
|
||||
Colour Themes
|
||||
=============
|
||||
|
||||
By default, novelWriter uses a light colour theme. You can also choose between a standard dark
|
||||
theme that have neutral colours, or a series of other included themes, from **Preferences**.
|
||||
By default, novelWriter should pick a dark or light theme based on the colour mode of your
|
||||
operating system. You can select which colour mode to use from the application sidebar.
|
||||
|
||||
The default light and dark theme can be changed from **Preferences**. There are a number of themes
|
||||
to choose from. There are also some high contrast themes available.
|
||||
|
||||
If you wish, you *can* create your own colour themes, and even have them added to the application.
|
||||
See :ref:`docs_more_custom_theme` for more details.
|
||||
|
||||
Switching the GUI colour theme does not affect the colours of the editor and viewer. They have
|
||||
separate themes selectable from the "Document colour theme" setting in **Preferences**. They are
|
||||
separated because there are a lot more options to choose from for the editor and viewer.
|
||||
|
||||
.. note::
|
||||
|
||||
If you switch between light and dark mode on the GUI, you should also switch editor theme to
|
||||
match, otherwise icons may be hard to see in the editor and viewer.
|
||||
|
||||
@@ -26,12 +26,12 @@ The Manuscript Build Tool
|
||||
=========================
|
||||
|
||||
.. figure:: images/fig_manuscript_build.png
|
||||
:width: 80%
|
||||
:width: 90%
|
||||
|
||||
The **Manuscript Build** tool main window.
|
||||
|
||||
The main window of the **Manuscript Build** tool contains a list of all the builds you have
|
||||
defined, a selection of settings, and a few buttons to generate preview, open the print dialog, or
|
||||
defined, a selection of settings, and a few buttons to generate a preview, open the print dialog, or
|
||||
run the build to create a manuscript document.
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Outline and Word Counts
|
||||
-----------------------
|
||||
|
||||
.. figure:: images/fig_manuscript_build_outline.png
|
||||
:width: 80%
|
||||
:width: 90%
|
||||
|
||||
The **Manuscript Build** tool main window with the **Outline** visible.
|
||||
|
||||
@@ -64,9 +64,11 @@ by double-clicking or by selecting it and pressing the edit button in the toolba
|
||||
.. tip::
|
||||
|
||||
You can keep the **Manuscript Build Settings** dialog open while testing the different options,
|
||||
and just hit the :guilabel:`Apply` button. You can test the result of your settings change by
|
||||
pressing the :guilabel:`Preview` button in the main **Manuscript Build** window. When you're
|
||||
happy with the result, you can close the settings.
|
||||
and just hit the :guilabel:`Apply` button to update the preview in the main **Manuscript Build**
|
||||
window. When you're happy with the result, you can close the settings.
|
||||
|
||||
For detailed information on how to format headings, including how to add chapter numbers, scene
|
||||
numbers, and other dynamic content, see :ref:`docs_ui_manuscript_formatting`.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_selection:
|
||||
@@ -79,126 +81,100 @@ Document Selection
|
||||
|
||||
The **Selections** page of the **Manuscript Build Settings** dialog.
|
||||
|
||||
The **Selections** page of the **Manuscript Build Settings** dialog allows you to fine tune which
|
||||
documents are included in the build. The included documents are indicated by an icon in the last
|
||||
column. On the right you have some filter options for selecting content of a specific type, and a
|
||||
set of switches for which root folders to include.
|
||||
The **Selections** page allows you to fine tune which documents are included in the build. The
|
||||
included documents are indicated by an icon in the last column. The interface is split into two
|
||||
parts: a project tree on the left showing all documents, and filter options on the right.
|
||||
|
||||
You can override the result of these filters by marking one or more documents and selecting to
|
||||
explicitly include or exclude them by using the buttons below the tree view. The last button can be
|
||||
used to reset the override and return control to the filter settings.
|
||||
|
||||
In the figure, the orange icon and the blue icon indicates which documents are included, and the
|
||||
In the figure, the orange icon and the blue icon indicate which documents are included, and the
|
||||
red icon indicates that a document is explicitly excluded.
|
||||
|
||||
By default, inactive documents are excluded, but you can override this in the filter settings.
|
||||
See :ref:`docs_usage_project_active` for more details.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_head:
|
||||
Root Folder Selection
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Formatting Headings
|
||||
-------------------
|
||||
At the bottom of the filter options on the right, you will find a set of switches for each root
|
||||
folder in your project. These allow you to quickly include or exclude entire root folders from the
|
||||
build. For example, you can use this to exclude all your notes if you only want the novel content,
|
||||
or exclude all story content if you want to build an outline of your notes instead.
|
||||
|
||||
.. figure:: images/fig_build_settings_headings.png
|
||||
:width: 80%
|
||||
|
||||
The **Headings** page of the **Manuscript Build Settings** dialog.
|
||||
|
||||
The **Headings** page of the **Manuscript Build Settings** dialog allows you to set how the
|
||||
headings in your Novel Documents are formatted. By default, the title is just copied as-is,
|
||||
indicated by the ``{Title}`` format. You can change this to for instance add chapter numbers and
|
||||
scene numbers, or insert character names, like shown in the figure above.
|
||||
|
||||
Clicking the edit button next to a format will copy the formatting string into the edit box where
|
||||
it can be modified, and where a syntax highlighter will help indicate which parts are automatically
|
||||
generated by the build tool. The :guilabel:`Insert` button is a dropdown list of these formats, and
|
||||
selecting one will insert it at the position of the cursor.
|
||||
|
||||
Any text you add that isn't highlighted in colours will remain in your formatted titles.
|
||||
``{Title}`` will always be replaced by the text in the heading from your documents.
|
||||
|
||||
.. csv-table:: Heading Formats
|
||||
:header: "Code", "Description"
|
||||
:class: "tight-table"
|
||||
|
||||
"``{BR}``", "Insert a line break."
|
||||
"``{Title}``", "Insert the original title text."
|
||||
"``{Chapter}``", "Insert a chapter number."
|
||||
"``{Chapter:Word}``", "Insert a chapter number as a word."
|
||||
"``{Chapter:URoman}``", "Insert a chapter number as an upper case Roman numeral."
|
||||
"``{Chapter:LRoman}``", "Insert a chapter number as an lower case Roman numeral."
|
||||
"``{Scene}``", "Insert a scene number within the current chapter."
|
||||
"``{Scene:Abs}``", "Insert a scene number unique to the whole manuscript."
|
||||
"``{Char:POV}``", "Insert the point-of-view character's :ref:`display name <docs_usage_tags_refs_tags>`."
|
||||
"``{Char:Focus}``", "Insert the focus character's :ref:`display name <docs_usage_tags_refs_tags>`."
|
||||
|
||||
You can preview the result of these format strings by clicking :guilabel:`Apply`, and then clicking
|
||||
:guilabel:`Preview` in the **Manuscript Build** tool main window.
|
||||
When a root folder switch is off, all documents within that folder are excluded regardless of the
|
||||
other filter settings.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_head_numbers:
|
||||
.. _docs_ui_manuscript_content:
|
||||
|
||||
Automatic Numbering
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
Content Filtering
|
||||
-----------------
|
||||
|
||||
The headings formatter allows you to automatically insert chapter and scene numbers into your
|
||||
headings. The automatic chapter number counter will skip all chapter headings marked as unnumbered
|
||||
using the heading format described in :ref:`docs_usage_headings_levels`.
|
||||
The options in **Document Selection** and **Root Folder Selection** decide which whole documents
|
||||
are part of the build.
|
||||
|
||||
Scene numbers are mostly intended for use in a draft manuscript. You can either insert absolute
|
||||
scene numbers that counts every scene in the novel, or you can insert per-chapter scene numbers
|
||||
that reset to 1 for each new chapter.
|
||||
The content filtering options in the **Formatting** page are different: they only control which
|
||||
parts of the selected documents are included in the output.
|
||||
|
||||
:bdg-info:`Example`
|
||||
|
||||
This will create a chapter title on the format "Chapter 1: Title Text":
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
Chapter {Chapter}: {Title}
|
||||
|
||||
This will create a scene title on the format "Scene 1.1: Title Text":
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
Scene {Chapter}.{Scene}: {Title}
|
||||
For further content filtering options, see :ref:`docs_ui_manuscript_formatting_options`.
|
||||
|
||||
|
||||
Scene Separators
|
||||
^^^^^^^^^^^^^^^^
|
||||
.. _docs_ui_manuscript_build_manage:
|
||||
|
||||
If you don't want any titles for your scenes (or for your sections if you have them), you can leave
|
||||
the formatting boxes empty. If so, an empty paragraph will be inserted between the scenes or
|
||||
sections instead, resulting in a gap in the text. You can also enable the :guilabel:`Hide` setting,
|
||||
which will ignore them completely. That is, there won't even be an extra gap inserted.
|
||||
Build Management
|
||||
----------------
|
||||
|
||||
Alternatively, if you want a separator text between them, like the common ``* * *``, you can enter
|
||||
the desired separator text as the format. If the format is any piece of static text, it will always
|
||||
be treated as a separator. A static separator is only inserted between scenes, as opposed to a
|
||||
formatted heading which is also inserted before the first scene of a chapter.
|
||||
The main **Manuscript Build** tool window provides several controls for managing your build
|
||||
definitions:
|
||||
|
||||
**Create a New Build**
|
||||
Press the :guilabel:`Add` button (or plus icon) in the toolbar to create a new build definition.
|
||||
A new build will be created with default settings that you can then customise.
|
||||
|
||||
**Edit a Build**
|
||||
Double-click on a build in the list, or select it and press the :guilabel:`Edit` button to open
|
||||
the **Manuscript Build Settings** dialog.
|
||||
|
||||
**Duplicate a Build**
|
||||
Select a build and press the :guilabel:`Duplicate` button (or copy icon) to create a copy of it.
|
||||
This is useful for creating variations of a build without starting from scratch. The duplicated
|
||||
build will have "2" appended to its name.
|
||||
|
||||
**Delete a Build**
|
||||
Select a build and press the :guilabel:`Delete` button (or minus icon) to remove it. This action
|
||||
cannot be undone, so make sure you have saved any settings you want to keep.
|
||||
|
||||
**Reorder Builds**
|
||||
You can drag and drop builds in the list to change their order. The order is saved automatically
|
||||
when you close the tool.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_head_hard_soft:
|
||||
.. _docs_ui_manuscript_stats:
|
||||
|
||||
Hard and Soft Scenes
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you wish to distinguish between so-called soft and hard scene breaks, you can use the
|
||||
alternative scene heading format in your text. You can then give these headings a different
|
||||
formatting in the **Headings** settings.
|
||||
|
||||
See :ref:`docs_usage_headings_levels` for more info on how to format alternative scene headings in
|
||||
your text.
|
||||
|
||||
|
||||
Output Settings
|
||||
Statistics View
|
||||
---------------
|
||||
|
||||
The **Formatting** sections of the **Manuscript Build Settings** dialog control a number of other
|
||||
settings for the output. This includes formatting, but also what content is included. You can for
|
||||
instance select to include comments, synopsis. tags and reference, and even exclude the body text
|
||||
itself.
|
||||
Below the preview panel, there is a collapsible statistics widget showing word and character counts
|
||||
for the current build. Press the expand button (arrow icon) to toggle between a minimal and detailed
|
||||
view.
|
||||
|
||||
The **Minimal View** shows:
|
||||
|
||||
- Total word count
|
||||
- Total character count
|
||||
|
||||
The **Detailed View** shows:
|
||||
|
||||
- Total words, words in titles, words in text
|
||||
- Total characters, characters in titles, characters in text
|
||||
- Total word characters (letters and numbers only), broken down by section
|
||||
|
||||
These statistics are calculated from the text you have included in the document after all
|
||||
formatting has been applied, making them more accurate than the counts available in the project
|
||||
tree. For a detailed explanation of how text is counted, see :ref:`docs_more_counting`.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_build:
|
||||
@@ -209,9 +185,9 @@ Building Manuscript Documents
|
||||
.. figure:: images/fig_build_build.png
|
||||
:width: 80%
|
||||
|
||||
The **Manuscript Build** dialog used for writing the actual manuscript documents.
|
||||
The **Build Manuscript** dialog used for writing the actual manuscript documents.
|
||||
|
||||
When you press the :guilabel:`Build` button on the **Build Manuscript** tool main window, a special
|
||||
When you press the :guilabel:`Build` button on the **Manuscript Build** tool main window, a special
|
||||
file dialog opens up. This is where you pick your desired output format and where to write the
|
||||
file.
|
||||
|
||||
@@ -247,6 +223,10 @@ novelWriter HTML
|
||||
is suitable for further processing by document conversion tools like Pandoc_, for importing in
|
||||
word processors, or for printing from browser.
|
||||
|
||||
Electronic Publication E-book (EPub)
|
||||
The EPub format writes a single ``.epub`` file with minimal style formatting. You can include
|
||||
your notes in this format, but each notes root folder will be packaged as a chapter.
|
||||
|
||||
Standard/Extended Markdown
|
||||
The Markdown format comes in both Standard and Extended flavour. The *only* difference in terms
|
||||
of novelWriter functionality is the support for strike through text, which is not supported by
|
||||
@@ -274,7 +254,7 @@ order they appear in the project tree. Each document is then split up into a lis
|
||||
entry per paragraph it contains.
|
||||
|
||||
These files are mainly intended for scripted post-processing for those who want that option. A JSON
|
||||
file can be imported directly into a Python dict object or a PHP array, to mentions a few options.
|
||||
file can be imported directly into a Python dict object or a PHP array, to name a few options.
|
||||
|
||||
|
||||
.. _docs_ui_manuscript_print:
|
||||
|
||||
@@ -114,23 +114,6 @@ You can now test the translation in novelWriter. The Preferences dialog should l
|
||||
language, so go ahead and select it.
|
||||
|
||||
|
||||
### Missing QtBase Translations
|
||||
|
||||
The default Qt dialogs also have translations, for instance for standard buttons like "Yes", "No",
|
||||
"Ok", "Cancel", etc. Generally, these translation files are installed with the Qt libraries on your
|
||||
system, and novelWriter will collect those translations from there. However, these translations are
|
||||
missing for many languages.
|
||||
|
||||
As a starting point, there is no need to translate any entries in the `.ts` files that are under
|
||||
elements starting with the letter "Q", like "QPlatformTheme", "QWizard", etc. If these turn up in
|
||||
English in novelWriter after activating a translation, it means they are probably missing in the Qt
|
||||
library, and you may also need to translate these.
|
||||
|
||||
These additional translation entries are generated from a file named `i18n/qtbase.py`, which is not
|
||||
a file that novelWriter uses. It is there only to generate these additional entries for the `.ts`
|
||||
files.
|
||||
|
||||
|
||||
## Project Localisation
|
||||
|
||||
Projects can have a different language setting than the GUI itself. The files with format
|
||||
|
||||
5664
i18n/nw_base.ts
5664
i18n/nw_base.ts
File diff suppressed because it is too large
Load Diff
5570
i18n/nw_ca_ES.ts
Normal file
5570
i18n/nw_ca_ES.ts
Normal file
File diff suppressed because it is too large
Load Diff
4194
i18n/nw_cs_CZ.ts
4194
i18n/nw_cs_CZ.ts
File diff suppressed because it is too large
Load Diff
4154
i18n/nw_de_DE.ts
4154
i18n/nw_de_DE.ts
File diff suppressed because it is too large
Load Diff
4158
i18n/nw_en_US.ts
4158
i18n/nw_en_US.ts
File diff suppressed because it is too large
Load Diff
4242
i18n/nw_es_419.ts
4242
i18n/nw_es_419.ts
File diff suppressed because it is too large
Load Diff
4236
i18n/nw_fr_FR.ts
4236
i18n/nw_fr_FR.ts
File diff suppressed because it is too large
Load Diff
4124
i18n/nw_it_IT.ts
4124
i18n/nw_it_IT.ts
File diff suppressed because it is too large
Load Diff
4192
i18n/nw_ja_JP.ts
4192
i18n/nw_ja_JP.ts
File diff suppressed because it is too large
Load Diff
4112
i18n/nw_nb_NO.ts
4112
i18n/nw_nb_NO.ts
File diff suppressed because it is too large
Load Diff
4732
i18n/nw_nl_NL.ts
4732
i18n/nw_nl_NL.ts
File diff suppressed because it is too large
Load Diff
4122
i18n/nw_pl_PL.ts
4122
i18n/nw_pl_PL.ts
File diff suppressed because it is too large
Load Diff
4120
i18n/nw_pt_BR.ts
4120
i18n/nw_pt_BR.ts
File diff suppressed because it is too large
Load Diff
4410
i18n/nw_ru_RU.ts
4410
i18n/nw_ru_RU.ts
File diff suppressed because it is too large
Load Diff
4110
i18n/nw_zh_CN.ts
4110
i18n/nw_zh_CN.ts
File diff suppressed because it is too large
Load Diff
@@ -1,49 +0,0 @@
|
||||
"""
|
||||
Qt Base Translation File
|
||||
========================
|
||||
|
||||
This file causes Qt Linguist to generate translation entries for the Qt
|
||||
elements that need translation in novelWriter for those languages who do
|
||||
not yet have a qtbase_xx.qm file shipped with Qt.
|
||||
|
||||
If a qtbase_xx.qm file already exists, do not add a translation for the
|
||||
entries generated from this file.
|
||||
"""
|
||||
|
||||
from PyQt6.QtCore import QT_TRANSLATE_NOOP
|
||||
|
||||
# QDialogButtonBox
|
||||
# ================
|
||||
|
||||
QT_TRANSLATE_NOOP("QDialogButtonBox", "OK")
|
||||
|
||||
# QGnomeTheme
|
||||
# ===========
|
||||
|
||||
QT_TRANSLATE_NOOP("QGnomeTheme", "&OK")
|
||||
QT_TRANSLATE_NOOP("QGnomeTheme", "&Save")
|
||||
QT_TRANSLATE_NOOP("QGnomeTheme", "&Cancel")
|
||||
QT_TRANSLATE_NOOP("QGnomeTheme", "&Close")
|
||||
QT_TRANSLATE_NOOP("QGnomeTheme", "Close without Saving")
|
||||
|
||||
# QPlatformTheme
|
||||
# ==============
|
||||
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "OK")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Save")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Save All")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Open")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "&Yes")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Yes to &All")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "&No")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "N&o to All")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Abort")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Retry")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Ignore")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Close")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Cancel")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Discard")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Help")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Apply")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Reset")
|
||||
QT_TRANSLATE_NOOP("QPlatformTheme", "Restore Defaults")
|
||||
@@ -1,21 +1,15 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
novelWriter – Start Script
|
||||
novelWriter - Start Script
|
||||
==========================
|
||||
"""
|
||||
""" # noqa
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
try:
|
||||
import PyQt6.QtCore
|
||||
import PyQt6.QtGui
|
||||
import PyQt6.QtWidgets # noqa: F401
|
||||
except Exception:
|
||||
print("ERROR: Failed to load dependency PyQt6")
|
||||
sys.exit(1)
|
||||
|
||||
os.curdir = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
if __name__ == "__main__":
|
||||
import novelwriter
|
||||
|
||||
novelwriter.main(sys.argv[1:])
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
"""
|
||||
novelWriter – Init File
|
||||
novelWriter - Init File
|
||||
=======================
|
||||
|
||||
File History:
|
||||
Created: 2018-09-22 [0.0.1] main
|
||||
|
||||
This file is a part of novelWriter
|
||||
Copyright (C) 2018 Veronica Berglyd Olsen and novelWriter contributors
|
||||
|
||||
@@ -20,9 +17,11 @@ General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
"""
|
||||
""" # noqa
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import gc
|
||||
import getopt
|
||||
import logging
|
||||
import os
|
||||
@@ -43,17 +42,19 @@ if TYPE_CHECKING:
|
||||
# Package Meta
|
||||
# ============
|
||||
|
||||
# fmt: off
|
||||
__package__ = "novelwriter"
|
||||
__copyright__ = "Copyright 2018-2025 Veronica Berglyd Olsen"
|
||||
__copyright__ = "Copyright 2018-2026 Veronica Berglyd Olsen"
|
||||
__license__ = "GPLv3"
|
||||
__author__ = "Veronica Berglyd Olsen"
|
||||
__maintainer__ = "Veronica Berglyd Olsen"
|
||||
__email__ = "code@vkbo.net"
|
||||
__version__ = "2.7"
|
||||
__hexversion__ = "0x020700f0"
|
||||
__date__ = "2025-06-01"
|
||||
__version__ = "26.2"
|
||||
__hexversion__ = "0x260200f0"
|
||||
__date__ = "2026-09-05"
|
||||
__status__ = "Stable"
|
||||
__domain__ = "novelwriter.io"
|
||||
# fmt: on
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -67,12 +68,12 @@ CONFIG = Config()
|
||||
SHARED = SharedData()
|
||||
|
||||
# ANSI Colours
|
||||
RED = "\033[91m"
|
||||
GREEN = "\033[92m"
|
||||
RED = "\033[91m"
|
||||
GREEN = "\033[92m"
|
||||
YELLOW = "\033[93m"
|
||||
BLUE = "\033[94m"
|
||||
WHITE = "\033[97m"
|
||||
END = "\033[0m"
|
||||
BLUE = "\033[94m"
|
||||
WHITE = "\033[97m"
|
||||
END = "\033[0m"
|
||||
|
||||
# Log Format Components
|
||||
TIME = "[{asctime:}]"
|
||||
@@ -84,7 +85,7 @@ TEXT = "{message:}"
|
||||
|
||||
# Read Environment
|
||||
FORCE_COLOR = bool(os.environ.get("FORCE_COLOR"))
|
||||
NO_COLOR = bool(os.environ.get("NO_COLOR"))
|
||||
NO_COLOR = bool(os.environ.get("NO_COLOR"))
|
||||
|
||||
|
||||
def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
@@ -94,17 +95,7 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
|
||||
# Valid Input Options
|
||||
shortOpt = "hvidc"
|
||||
longOpt = [
|
||||
"help",
|
||||
"version",
|
||||
"info",
|
||||
"debug",
|
||||
"color",
|
||||
"style=",
|
||||
"config=",
|
||||
"data=",
|
||||
"meminfo"
|
||||
]
|
||||
longOpt = ["help", "version", "info", "debug", "color", "config=", "data=", "meminfo"]
|
||||
|
||||
helpMsg = (
|
||||
f"novelWriter {__version__} ({__date__})\n"
|
||||
@@ -130,19 +121,17 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
" -d, --debug Print debug output. Includes --info.\n"
|
||||
" -c, --color Add ANSI colors to log output.\n"
|
||||
" --meminfo Show memory usage information in the status bar.\n"
|
||||
" --style= Sets Qt style flag. Defaults to 'Fusion'.\n"
|
||||
" --config= Alternative config file.\n"
|
||||
" --data= Alternative user data path.\n"
|
||||
)
|
||||
|
||||
# Defaults
|
||||
logLevel = logging.WARN
|
||||
logLevel = logging.WARNING
|
||||
fmtColor = FORCE_COLOR
|
||||
fmtLong = False
|
||||
fmtLong = False
|
||||
confPath = None
|
||||
dataPath = None
|
||||
qtStyle = "Fusion"
|
||||
cmdOpen = None
|
||||
cmdOpen = None
|
||||
|
||||
# Parse Options
|
||||
try:
|
||||
@@ -172,20 +161,20 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
fmtColor = not NO_COLOR
|
||||
elif inOpt == "--meminfo":
|
||||
CONFIG.memInfo = True
|
||||
elif inOpt == "--style":
|
||||
qtStyle = inArg
|
||||
elif inOpt == "--config":
|
||||
confPath = inArg
|
||||
elif inOpt == "--data":
|
||||
dataPath = inArg
|
||||
else: # pragma: no cover
|
||||
pass
|
||||
|
||||
if fmtColor:
|
||||
# This will overwrite the default level names, and also ensure that
|
||||
# they can be converted back to integer levels
|
||||
logging.addLevelName(logging.DEBUG, f"{BLUE}DEBUG{END}")
|
||||
logging.addLevelName(logging.INFO, f"{GREEN}INFO{END}")
|
||||
logging.addLevelName(logging.WARNING, f"{YELLOW}WARNING{END}")
|
||||
logging.addLevelName(logging.ERROR, f"{RED}ERROR{END}")
|
||||
logging.addLevelName(logging.DEBUG, f"{BLUE}DEBUG{END}")
|
||||
logging.addLevelName(logging.INFO, f"{GREEN}INFO{END}")
|
||||
logging.addLevelName(logging.WARNING, f"{YELLOW}WARNING{END}")
|
||||
logging.addLevelName(logging.ERROR, f"{RED}ERROR{END}")
|
||||
logging.addLevelName(logging.CRITICAL, f"{RED}CRITICAL{END}")
|
||||
|
||||
logTxt = f"{LVLC} {TEXT}" if fmtColor else f"{LVLP} {TEXT}"
|
||||
@@ -203,37 +192,34 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
|
||||
logger.info("Starting novelWriter %s (%s) %s", __version__, __hexversion__, __date__)
|
||||
|
||||
# Disable GC, running in GuiMain instead (#2927)
|
||||
gc.disable()
|
||||
|
||||
# Check Packages and Versions
|
||||
errorData = []
|
||||
errorCode = 0
|
||||
if sys.hexversion < 0x030a00f0:
|
||||
errorData.append(
|
||||
f"At least Python 3.10 is required, found {CONFIG.verPyString}"
|
||||
)
|
||||
if sys.hexversion < 0x030B00F0:
|
||||
errorData.append(f"At least Python 3.11 is required, found {CONFIG.verPyString}")
|
||||
errorCode |= 0x04
|
||||
if CONFIG.verQtValue < 0x060400:
|
||||
errorData.append(
|
||||
f"At least Qt6 version 6.4 is required, found {CONFIG.verQtString}"
|
||||
)
|
||||
errorData.append(f"At least Qt6 version 6.4 is required, found {CONFIG.verQtString}")
|
||||
errorCode |= 0x08
|
||||
if CONFIG.verPyQtValue < 0x060400:
|
||||
errorData.append(
|
||||
f"At least PyQt6 version 6.4 is required, found {CONFIG.verPyQtString}"
|
||||
)
|
||||
errorData.append(f"At least PyQt6 version 6.4 is required, found {CONFIG.verPyQtString}")
|
||||
errorCode |= 0x10
|
||||
|
||||
if errorData:
|
||||
errApp = QApplication([])
|
||||
errDlg = QErrorMessage()
|
||||
errDlg.resize(500, 300)
|
||||
errDlg.showMessage((
|
||||
"<h3>A critical error was encountered</h3>"
|
||||
"<p>novelWriter cannot start due to the following issues:<p>"
|
||||
"<p> - {0}</p>"
|
||||
"<p>Shutting down ...</p>"
|
||||
).format(
|
||||
"<br> - ".join(errorData)
|
||||
))
|
||||
errDlg.showMessage(
|
||||
(
|
||||
"<h3>A critical error was encountered</h3>"
|
||||
"<p>novelWriter cannot start due to the following issues:<p>"
|
||||
"<p> - {0}</p>"
|
||||
"<p>Shutting down ...</p>"
|
||||
).format("<br> - ".join(errorData))
|
||||
)
|
||||
for errLine in errorData:
|
||||
logger.critical(errLine)
|
||||
errApp.exec()
|
||||
@@ -242,9 +228,12 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
# Finish initialising config
|
||||
CONFIG.initConfig(confPath, dataPath)
|
||||
|
||||
if sys.platform == "darwin":
|
||||
if sys.platform == "linux":
|
||||
QApplication.setDesktopFileName(CONFIG.appHandle)
|
||||
elif sys.platform == "darwin":
|
||||
try:
|
||||
from Foundation import NSBundle # type: ignore
|
||||
|
||||
bundle = NSBundle.mainBundle()
|
||||
info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
|
||||
info["CFBundleName"] = "novelWriter"
|
||||
@@ -253,8 +242,8 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
elif sys.platform == "win32":
|
||||
try:
|
||||
import ctypes
|
||||
appID = f"io.novelwriter.{__version__}"
|
||||
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(appID) # type: ignore
|
||||
|
||||
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("io.novelwriter.app") # type: ignore
|
||||
except Exception:
|
||||
pass # Quietly ignore error
|
||||
|
||||
@@ -263,7 +252,7 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
from novelwriter.guimain import GuiMain
|
||||
|
||||
# Create App
|
||||
app = _createApp(qtStyle)
|
||||
app = _createApp()
|
||||
|
||||
# Connect the exception handler before making the main GUI
|
||||
sys.excepthook = exceptionHandler
|
||||
@@ -289,17 +278,20 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
|
||||
nwGUI.postLaunchTasks(cmdOpen)
|
||||
|
||||
sys.exit(app.exec())
|
||||
code = app.exec()
|
||||
logger.info("novelWriter exited with code %d", code)
|
||||
sys.exit(code)
|
||||
|
||||
|
||||
def _createApp(style: str) -> QApplication:
|
||||
def _createApp() -> QApplication:
|
||||
"""Create the app. This is done in a function to make it easier to
|
||||
block app creation during testing.
|
||||
"""
|
||||
app = QApplication([CONFIG.appName, f"-style={style}"])
|
||||
app = QApplication([CONFIG.appName])
|
||||
app.setStyle("Fusion")
|
||||
app.setApplicationName(CONFIG.appName)
|
||||
app.setApplicationVersion(__version__)
|
||||
app.setOrganizationDomain(__domain__)
|
||||
app.setOrganizationName(__domain__)
|
||||
app.setDesktopFileName(CONFIG.appName)
|
||||
|
||||
return app
|
||||
|
||||
121
novelwriter/assets/i18n/project_ca_ES.json
Normal file
121
novelwriter/assets/i18n/project_ca_ES.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"Synopsis": "Sinopsi",
|
||||
"Short Description": "Descripció breu",
|
||||
"Footnotes": "Notes de peu de pàgina",
|
||||
"Comment": "Comentari",
|
||||
"Story Structure": "Estructura de la història",
|
||||
"Note": "Anotació",
|
||||
"Notes": "Anotacions",
|
||||
"Tag": "Etiqueta",
|
||||
"Point of View": "Punt de vista",
|
||||
"Focus": "Focus",
|
||||
"Characters": "Personatges",
|
||||
"Plot": "Trama",
|
||||
"Timeline": "Cronologia",
|
||||
"Locations": "Llocs",
|
||||
"Objects": "Objectes",
|
||||
"Entities": "Entitats",
|
||||
"Custom": "Personalitzat",
|
||||
"Mentions": "Mencions",
|
||||
"New Page": "Pàgina nova",
|
||||
"0": "Zero",
|
||||
"1": "U",
|
||||
"2": "Dos",
|
||||
"3": "Tres",
|
||||
"4": "Quatre",
|
||||
"5": "Cinc",
|
||||
"6": "Sis",
|
||||
"7": "Set",
|
||||
"8": "Vuit",
|
||||
"9": "Nou",
|
||||
"10": "Deu",
|
||||
"11": "Onze",
|
||||
"12": "Dotze",
|
||||
"13": "Tretze",
|
||||
"14": "Catorze",
|
||||
"15": "Quinze",
|
||||
"16": "Setze",
|
||||
"17": "Disset",
|
||||
"18": "Divuit",
|
||||
"19": "Dinou",
|
||||
"20": "Vint",
|
||||
"21": "Vint-i-U",
|
||||
"22": "Vint-i-Dos",
|
||||
"23": "Vint-i-Tres",
|
||||
"24": "Vint-i-Quatre",
|
||||
"25": "Vint-i-Cinc",
|
||||
"26": "Vint-i-Sis",
|
||||
"27": "Vint-i-Set",
|
||||
"28": "Vint-i-Vuit",
|
||||
"29": "Vint-i-Nou",
|
||||
"30": "Trenta",
|
||||
"31": "Trenta-U",
|
||||
"32": "Trenta-Dos",
|
||||
"33": "Trenta-Tres",
|
||||
"34": "Trenta-Quatre",
|
||||
"35": "Trenta-Cinc",
|
||||
"36": "Trenta-Sis",
|
||||
"37": "Trenta-Set",
|
||||
"38": "Trenta-Vuit",
|
||||
"39": "Trenta-Nou",
|
||||
"40": "Quaranta",
|
||||
"41": "Quaranta-U",
|
||||
"42": "Quaranta-Dos",
|
||||
"43": "Quaranta-Tres",
|
||||
"44": "Quaranta-Quatre",
|
||||
"45": "Quaranta-Cinc",
|
||||
"46": "Quaranta-Sis",
|
||||
"47": "Quaranta-Set",
|
||||
"48": "Quaranta-Vuit",
|
||||
"49": "Quaranta-Nou",
|
||||
"50": "Cinquanta",
|
||||
"51": "Cinquanta-U",
|
||||
"52": "Cinquanta-Dos",
|
||||
"53": "Cinquanta-Tres",
|
||||
"54": "Cinquanta-Quatre",
|
||||
"55": "Cinquanta-Cinc",
|
||||
"56": "Cinquanta-Sis",
|
||||
"57": "Cinquanta-Set",
|
||||
"58": "Cinquanta-Vuit",
|
||||
"59": "Cinquanta-Nou",
|
||||
"60": "Seixanta",
|
||||
"61": "Seixanta-U",
|
||||
"62": "Seixanta-Dos",
|
||||
"63": "Seixanta-Tres",
|
||||
"64": "Seixanta-Quatre",
|
||||
"65": "Seixanta-Cinc",
|
||||
"66": "Seixanta-Sis",
|
||||
"67": "Seixanta-Set",
|
||||
"68": "Seixanta-Vuit",
|
||||
"69": "Seixanta-Nou",
|
||||
"70": "Setanta",
|
||||
"71": "Setanta-U",
|
||||
"72": "Setanta-Dos",
|
||||
"73": "Setanta-Tres",
|
||||
"74": "Setanta-Quatre",
|
||||
"75": "Setanta-Cinc",
|
||||
"76": "Setanta-Sis",
|
||||
"77": "Setanta-Set",
|
||||
"78": "Setanta-Vuit",
|
||||
"79": "Setanta-Nou",
|
||||
"80": "Vuitanta",
|
||||
"81": "Vuitanta-U",
|
||||
"82": "Vuitanta-Dos",
|
||||
"83": "Vuitanta-Tres",
|
||||
"84": "Vuitanta-Quatre",
|
||||
"85": "Vuitanta-Cinc",
|
||||
"86": "Vuitanta-Sis",
|
||||
"87": "Vuitanta-Set",
|
||||
"88": "Vuitanta-Vuit",
|
||||
"89": "Vuitanta-Nou",
|
||||
"90": "Noranta",
|
||||
"91": "Noranta-U",
|
||||
"92": "Noranta-Dos",
|
||||
"93": "Noranta-Tres",
|
||||
"94": "Noranta-Quatre",
|
||||
"95": "Noranta-Cinc",
|
||||
"96": "Noranta-Sis",
|
||||
"97": "Noranta-Set",
|
||||
"98": "Noranta-Vuit",
|
||||
"99": "Noranta-Nou"
|
||||
}
|
||||
@@ -3,6 +3,8 @@
|
||||
"Short Description": "Krátký popis",
|
||||
"Footnotes": "Poznámky pod čarou",
|
||||
"Comment": "Komentář",
|
||||
"Story Structure": "Struktura příběhu",
|
||||
"Note": "Poznámka",
|
||||
"Notes": "Poznámka",
|
||||
"Tag": "Štítek",
|
||||
"Point of View": "Úhel pohledu",
|
||||
@@ -14,6 +16,7 @@
|
||||
"Objects": "Objekty",
|
||||
"Entities": "Subjekty",
|
||||
"Custom": "Vlastní",
|
||||
"Mentions": "Zmínky",
|
||||
"New Page": "Nová stránka",
|
||||
"0": "Nula",
|
||||
"1": "Jedna",
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"Synopsis": "Zusammenfassung",
|
||||
"Short Description": "Kurzbeschreibung",
|
||||
"Footnotes": "Fußnoten",
|
||||
"Comment": "Kommentar",
|
||||
"Story Structure": "Struktur",
|
||||
"Comment": "Anmerkung",
|
||||
"Story Structure": "Erzählstruktur",
|
||||
"Note": "Notiz",
|
||||
"Notes": "Notizen",
|
||||
"Tag": "Schlagwort",
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "Objekte",
|
||||
"Entities": "Organisationen",
|
||||
"Custom": "Benutzerdefiniert",
|
||||
"Mentions": "Erwähnt",
|
||||
"New Page": "Neue Seite",
|
||||
"0": "Null",
|
||||
"1": "Eins",
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"Objects": "Objects",
|
||||
"Entities": "Entities",
|
||||
"Custom": "Custom",
|
||||
"New Page": "New Page",
|
||||
"Mentions": "Mentions",
|
||||
"0": "Zero",
|
||||
"1": "One",
|
||||
"2": "Two",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "Objects",
|
||||
"Entities": "Entities",
|
||||
"Custom": "Custom",
|
||||
"Mentions": "Mentions",
|
||||
"New Page": "New Page",
|
||||
"0": "Zero",
|
||||
"1": "One",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Short Description": "Breve Descripción",
|
||||
"Footnotes": "Notas al pie",
|
||||
"Comment": "Comentario",
|
||||
"Story Structure": "Estructura Narrativa",
|
||||
"Note": "Nota",
|
||||
"Notes": "Notas",
|
||||
"Tag": "Etiqueta",
|
||||
"Point of View": "Punto de Vista",
|
||||
@@ -13,7 +15,8 @@
|
||||
"Locations": "Lugares",
|
||||
"Objects": "Objetos",
|
||||
"Entities": "Entidades",
|
||||
"Custom": "Otros",
|
||||
"Custom": "Personalizado",
|
||||
"Mentions": "Menciones",
|
||||
"New Page": "Nueva Página",
|
||||
"0": "Cero",
|
||||
"1": "Uno",
|
||||
@@ -46,15 +49,15 @@
|
||||
"28": "Veintiocho",
|
||||
"29": "Veintinueve",
|
||||
"30": "Treinta",
|
||||
"31": "Treinta y ",
|
||||
"32": "Treinta y ",
|
||||
"33": "Treinta y ",
|
||||
"34": "Treinta y ",
|
||||
"35": "Treinta y ",
|
||||
"36": "Treinta y ",
|
||||
"37": "Treinta y ",
|
||||
"38": "Treinta y ",
|
||||
"39": "Treinta y ",
|
||||
"31": "Treinta y uno",
|
||||
"32": "Treinta y dos",
|
||||
"33": "Treinta y tres",
|
||||
"34": "Treinta y cuatro",
|
||||
"35": "Treinta y cinco",
|
||||
"36": "Treinta y seis",
|
||||
"37": "Treinta y siete",
|
||||
"38": "Treinta y ocho",
|
||||
"39": "Treinta y nueve",
|
||||
"40": "Cuarenta",
|
||||
"41": "Cuarenta y uno",
|
||||
"42": "Cuarenta y dos",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Short Description": "Description sommaire",
|
||||
"Footnotes": "Notes de bas de page",
|
||||
"Comment": "Commentaire",
|
||||
"Story Structure": "Structure de l'histoire",
|
||||
"Note": "Note",
|
||||
"Notes": "Notes",
|
||||
"Tag": "Étiquette",
|
||||
"Point of View": "Point de vue",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "Oggetti",
|
||||
"Entities": "Enti",
|
||||
"Custom": "Personalizzato",
|
||||
"Mentions": "Menzioni",
|
||||
"New Page": "Nuova pagina",
|
||||
"0": "Zero",
|
||||
"1": "Uno",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "オブジェクト",
|
||||
"Entities": "エンティティ",
|
||||
"Custom": "カスタム",
|
||||
"Mentions": "メンション",
|
||||
"New Page": "新規ページ",
|
||||
"0": "零",
|
||||
"1": "一",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "Objekter",
|
||||
"Entities": "Enheter",
|
||||
"Custom": "Annet",
|
||||
"Mentions": "Nevnt",
|
||||
"New Page": "Ny side",
|
||||
"0": "null",
|
||||
"1": "én",
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
{
|
||||
"Synopsis": "Synopsis",
|
||||
"Short Description": "Korte beschrijving",
|
||||
"Short Description": "Korte Omschrijving",
|
||||
"Footnotes": "Voetnoten",
|
||||
"Comment": "Opmerking",
|
||||
"Story Structure": "Verhaalstructuur",
|
||||
"Note": "Notitie",
|
||||
"Notes": "Notities",
|
||||
"Tag": "Label",
|
||||
"Point of View": "Perspectief",
|
||||
"Point of View": "Standpunt",
|
||||
"Focus": "Focus",
|
||||
"Characters": "Personages",
|
||||
"Plot": "Plot",
|
||||
@@ -14,7 +16,8 @@
|
||||
"Objects": "Objecten",
|
||||
"Entities": "Entiteiten",
|
||||
"Custom": "Aangepast",
|
||||
"New Page": "Nieuwe pagina",
|
||||
"Mentions": "Vermeldingen",
|
||||
"New Page": "Nieuwe Pagina",
|
||||
"0": "nul",
|
||||
"1": "één",
|
||||
"2": "twee",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "Objekt",
|
||||
"Entities": "Eining",
|
||||
"Custom": "Anna",
|
||||
"Mentions": "Nevnt",
|
||||
"New Page": "Ny side",
|
||||
"0": "null",
|
||||
"1": "ein",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "Obiekty",
|
||||
"Entities": "Podmioty",
|
||||
"Custom": "Różne",
|
||||
"Mentions": "Wzmianki",
|
||||
"New Page": "Nowa strona",
|
||||
"0": "zero",
|
||||
"1": "pierwszy",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "Objetos",
|
||||
"Entities": "Entidades",
|
||||
"Custom": "Outros",
|
||||
"Mentions": "Menções",
|
||||
"New Page": "Nova página",
|
||||
"0": "Zero",
|
||||
"1": "Um",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Short Description": "Краткое описание",
|
||||
"Footnotes": "Примечания",
|
||||
"Comment": "Комментарий",
|
||||
"Story Structure": "Структура повествования",
|
||||
"Note": "Заметка",
|
||||
"Notes": "Заметки",
|
||||
"Tag": "Тэг",
|
||||
"Point of View": "Точка зрения",
|
||||
@@ -14,6 +16,7 @@
|
||||
"Objects": "Объекты",
|
||||
"Entities": "Сущности",
|
||||
"Custom": "Другое",
|
||||
"Mentions": "Упоминания",
|
||||
"New Page": "Новая страница",
|
||||
"0": "Ноль",
|
||||
"1": "Один",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"Objects": "物品",
|
||||
"Entities": "条目",
|
||||
"Custom": "自定义",
|
||||
"Mentions": "提及",
|
||||
"New Page": "新建页面",
|
||||
"0": "零",
|
||||
"1": "一",
|
||||
|
||||
@@ -1,109 +0,0 @@
|
||||
# This file is automatically generated. Do not edit.
|
||||
|
||||
# Meta
|
||||
meta:name = Font Awesome 6
|
||||
meta:author = Fonticons Inc
|
||||
meta:license = CC BY 4.0
|
||||
|
||||
# Icons
|
||||
icon:alert_error = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z" /></svg>
|
||||
icon:alert_info = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z" /></svg>
|
||||
icon:alert_question = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z" /></svg>
|
||||
icon:alert_warn = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z" /></svg>
|
||||
icon:cls_archive = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M32 32l448 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96L0 64C0 46.3 14.3 32 32 32zm0 128l448 0 0 256c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64l0-256zm128 80c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-160 0c-8.8 0-16 7.2-16 16z" /></svg>
|
||||
icon:cls_character = <svg xmlns="http://www.w3.org/2000/svg" viewBox="64 0 512 512" fill="#000000" height="128" width="128"><path d="M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM609.3 512l-137.8 0c5.4-9.4 8.6-20.3 8.6-32l0-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2l61.4 0C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z" /></svg>
|
||||
icon:cls_custom = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M0 80L0 229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7L48 32C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z" /></svg>
|
||||
icon:cls_entity = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c26.5 0 48-21.5 48-48l0-416c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z" /></svg>
|
||||
icon:cls_none = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 390.3L153.5 256 64 121.7l0 268.6zM102.5 448l179.1 0L192 313.7 102.5 448zm128-192L320 390.3l0-268.6L230.5 256zM281.5 64L102.5 64 192 198.3 281.5 64zM0 48C0 21.5 21.5 0 48 0L336 0c26.5 0 48 21.5 48 48l0 416c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 48z" /></svg>
|
||||
icon:cls_novel = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M96 0C43 0 0 43 0 96L0 416c0 53 43 96 96 96l288 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L384 0 96 0zm0 384l256 0 0 64L96 448c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16zm16 48l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" /></svg>
|
||||
icon:cls_object = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17l0 80c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-40 40 0c13.3 0 24-10.7 24-24l0-40 40 0c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z" /></svg>
|
||||
icon:cls_plot = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z" /></svg>
|
||||
icon:cls_template = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M512 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l128 0c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8l160 0c35.3 0 64 28.7 64 64l0 256zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64 64 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-64 0 0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 64-64 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l64 0 0 64z" /></svg>
|
||||
icon:cls_timeline = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l0 11c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437l0 11c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 256 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-11c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1l0-11c17.7 0 32-14.3 32-32s-14.3-32-32-32L320 0 64 0 32 0zM96 75l0-11 192 0 0 11c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75z" /></svg>
|
||||
icon:cls_trash = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z" /></svg>
|
||||
icon:cls_world = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M177.8 63.2l10 17.4c2.8 4.8 4.2 10.3 4.2 15.9l0 41.4c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.4-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32l0 28c0 26.5 21.5 48 48 48l32 0c8.8 0 16 7.2 16 16l0 48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4l0-12.1c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l14.1 4.7c12.3 4.1 25.7-1.5 31.5-13c3.5-7 11.2-10.8 18.9-9.2l27.4 5.5C432 112.4 351.5 48 256 48c-27.7 0-54 5.4-78.2 15.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z" /></svg>
|
||||
icon:prj_folder = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z" /></svg>
|
||||
icon:prj_document = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM112 256l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" /></svg>
|
||||
icon:prj_title = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM112 256l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" /></svg>
|
||||
icon:prj_chapter = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM112 256l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" /></svg>
|
||||
icon:prj_scene = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM112 256l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" /></svg>
|
||||
icon:prj_note = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l224 0 0-112c0-26.5 21.5-48 48-48l112 0 0-224c0-35.3-28.7-64-64-64L64 32zM448 352l-45.3 0L336 352c-8.8 0-16 7.2-16 16l0 66.7 0 45.3 32-32 64-64 32-32z" /></svg>
|
||||
icon:fmt_bold = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z" /></svg>
|
||||
icon:fmt_italic = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z" /></svg>
|
||||
icon:fmt_mark = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5s0 0 0 0l0-71.7c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5L224 416l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7L24 512c-13.3 0-24-10.7-24-24l0-4.7c0-6.4 2.5-12.5 7-17z" /></svg>
|
||||
icon:fmt_strike = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l448 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-209.9 0-.4-.1-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3c0 0 0 0 0 0s0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6c0 0 0 0 0 0l.2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1l-75.7 0c7 5.6 11.4 11.2 13.9 17.2z" /></svg>
|
||||
icon:fmt_subscript = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l15.3 0 89.6 128L47.3 384 32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-15.3 0L215.1 256l89.6-128 15.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64L32 64zM480 320c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 361.5 404.3 368 416 368l0 80c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-128z" /></svg>
|
||||
icon:fmt_superscript = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M480 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 73.5 404.3 80 416 80l0 80c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-128zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l15.3 0 89.6 128L47.3 384 32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-15.3 0L215.1 256l89.6-128 15.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64L32 64z" /></svg>
|
||||
icon:fmt_underline = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z" /></svg>
|
||||
icon:fmt_toolbar = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z" /></svg>
|
||||
icon:search = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z" /></svg>
|
||||
icon:search_cancel = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z" /></svg>
|
||||
icon:search_case = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z" /></svg>
|
||||
icon:search_loop = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M0 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-53 43-96 96-96l160 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9S320 19.1 320 32l0 32L160 64C71.6 64 0 135.6 0 224zm512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 53-43 96-96 96l-160 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 160 0c88.4 0 160-71.6 160-160z" /></svg>
|
||||
icon:search_preserve = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M64 128l0-32 64 0 0 320-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-320 64 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48c0-26.5-21.5-48-48-48L160 32 48 32C21.5 32 0 53.5 0 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32zM502.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 192-32 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0 0-192 32 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z" /></svg>
|
||||
icon:search_project = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM216 232l0 102.1 31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31L168 232c0-13.3 10.7-24 24-24s24 10.7 24 24z" /></svg>
|
||||
icon:search_regex = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M192 32c17.7 0 32 14.3 32 32l0 135.5 111.5-66.9c15.2-9.1 34.8-4.2 43.9 11s4.2 34.8-11 43.9L254.2 256l114.3 68.6c15.2 9.1 20.1 28.7 11 43.9s-28.7 20.1-43.9 11L224 312.5 224 448c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-135.5L48.5 379.4c-15.2 9.1-34.8 4.2-43.9-11s-4.2-34.8 11-43.9L129.8 256 15.5 187.4c-15.2-9.1-20.1-28.7-11-43.9s28.7-20.1 43.9-11L160 199.5 160 64c0-17.7 14.3-32 32-32z" /></svg>
|
||||
icon:search_replace = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM241 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31L120 184c-13.3 0-24 10.7-24 24s10.7 24 24 24l118.1 0-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72z" /></svg>
|
||||
icon:search_word = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M64 128l0-32 128 0 0 128-16 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-16 0 0-128 128 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48c0-26.5-21.5-48-48-48L224 32 48 32C21.5 32 0 53.5 0 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32zM9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-32 192 0 0 32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 32-192 0 0-32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64z" /></svg>
|
||||
icon:bullet-off = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z" /></svg>
|
||||
icon:bullet-on = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z" /></svg>
|
||||
icon:unfold-hide = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-128 0 512 512" fill="#000000" height="128" width="128"><path d="M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z" /></svg>
|
||||
icon:unfold-show = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-96 0 512 512" fill="#000000" height="128" width="128"><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" /></svg>
|
||||
icon:sb_build = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z" /></svg>
|
||||
icon:sb_details = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z" /></svg>
|
||||
icon:sb_novel = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5l0-377.4c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8L0 454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5l0-370.3c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11L304 456c0 11.4 11.7 19.3 22.4 15.5z" /></svg>
|
||||
icon:sb_outline = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 0l0 64 64 0 0-64L64 96zm384 0L192 96l0 64 256 0 0-64zM64 224l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64zM64 352l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64z" /></svg>
|
||||
icon:sb_project = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z" /></svg>
|
||||
icon:sb_search = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z" /></svg>
|
||||
icon:sb_stats = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M160 80c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 352c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-352zM0 272c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48L0 272zM368 96l32 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48z" /></svg>
|
||||
icon:add = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z" /></svg>
|
||||
icon:bookmarks = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z" /></svg>
|
||||
icon:browse = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M88.7 223.8L0 375.8 0 96C0 60.7 28.7 32 64 32l117.5 0c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7L416 96c35.3 0 64 28.7 64 64l0 32-336 0c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224l400 0c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480L32 480c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z" /></svg>
|
||||
icon:build_settings = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z" /></svg>
|
||||
icon:cancel = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z" /></svg>
|
||||
icon:checked = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z" /></svg>
|
||||
icon:chevron_down = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z" /></svg>
|
||||
icon:chevron_left = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-96 0 512 512" fill="#000000" height="128" width="128"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z" /></svg>
|
||||
icon:chevron_right = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-96 0 512 512" fill="#000000" height="128" width="128"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z" /></svg>
|
||||
icon:chevron_up = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z" /></svg>
|
||||
icon:close = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z" /></svg>
|
||||
icon:copy = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M288 448L64 448l0-224 64 0 0-64-64 0c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64l0-64-64 0 0 64zm-64-96l224 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L224 0c-35.3 0-64 28.7-64 64l0 224c0 35.3 28.7 64 64 64z" /></svg>
|
||||
icon:document_add = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0 0-48z" /></svg>
|
||||
icon:document = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128z" /></svg>
|
||||
icon:edit = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z" /></svg>
|
||||
icon:exclude = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z" /></svg>
|
||||
icon:export = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 128-168 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l168 0 0 112c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM384 336l0-48 110.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L384 336zm0-208l-128 0L256 0 384 128z" /></svg>
|
||||
icon:filter = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M3.9 54.9C10.5 40.9 24.5 32 40 32l432 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9 320 448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z" /></svg>
|
||||
icon:fit_height = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-96 0 512 512" fill="#000000" height="128" width="128"><path d="M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3l0 293.5L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7l0-293.5 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z" /></svg>
|
||||
icon:fit_width = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z" /></svg>
|
||||
icon:folder = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z" /></svg>
|
||||
icon:font = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z" /></svg>
|
||||
icon:import = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M128 64c0-35.3 28.7-64 64-64L352 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64l-256 0c-35.3 0-64-28.7-64-64l0-112 174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L128 288l0-224zm0 224l0 48L24 336c-13.3 0-24-10.7-24-24s10.7-24 24-24l104 0zM512 128l-128 0L384 0 512 128z" /></svg>
|
||||
icon:language = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M112 0C99.1 0 87.4 7.8 82.5 19.7l-66.7 160-13.3 32c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L66.7 224l90.7 0 5.1 12.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-13.3-32-66.7-160C136.6 7.8 124.9 0 112 0zm18.7 160l-37.3 0L112 115.2 130.7 160zM256 32l0 96 0 96c0 17.7 14.3 32 32 32l80 0c44.2 0 80-35.8 80-80c0-23.1-9.8-43.8-25.4-58.4c6-11.2 9.4-24 9.4-37.6c0-44.2-35.8-80-80-80L288 0c-17.7 0-32 14.3-32 32zm96 64l-32 0 0-32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-32 64l32 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0 0-32zM566.6 310.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L352 434.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l192-192z" /></svg>
|
||||
icon:lines = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z" /></svg>
|
||||
icon:list = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z" /></svg>
|
||||
icon:margin_bottom = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z" /></svg>
|
||||
icon:margin_left = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" /></svg>
|
||||
icon:margin_right = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z" /></svg>
|
||||
icon:margin_top = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z" /></svg>
|
||||
icon:maximise = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M200 32L56 32C42.7 32 32 42.7 32 56l0 144c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312l0 144c0 13.3 10.7 24 24 24l144 0c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l144 0c13.3 0 24-10.7 24-24l0-144c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2l0-144c0-13.3-10.7-24-24-24L312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z" /></svg>
|
||||
icon:minimise = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M456 224l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L442.3 5.7C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C466 510 461.1 512 456 512s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2l0-144c0-13.3 10.7-24 24-24l144 0zm-256 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L69.7 506.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369 39 329c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8l144 0zM56 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 144c0 13.3-10.7 24-24 24L56 224z" /></svg>
|
||||
icon:more_arrow = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-128 0 512 512" fill="#000000" height="128" width="128"><path d="M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z" /></svg>
|
||||
icon:more_vertical = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-192 0 512 512" fill="#000000" height="128" width="128"><path d="M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z" /></svg>
|
||||
icon:noncheckable = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 200l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z" /></svg>
|
||||
icon:open = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-102.1-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31L216 408z" /></svg>
|
||||
icon:panel = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 0l0 64 64 0 0-64L64 96zm384 0L192 96l0 64 256 0 0-64zM64 224l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64zM64 352l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64z" /></svg>
|
||||
icon:pin = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M32 32C32 14.3 46.3 0 64 0L320 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-29.5 0 11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3L32 352c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64 64 64C46.3 64 32 49.7 32 32zM160 384l64 0 0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96z" /></svg>
|
||||
icon:project_copy = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z" /></svg>
|
||||
icon:quote = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72z" /></svg>
|
||||
icon:refresh = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M386.3 160L336 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z" /></svg>
|
||||
icon:remove = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z" /></svg>
|
||||
icon:revert = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z" /></svg>
|
||||
icon:settings = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z" /></svg>
|
||||
icon:star = <svg xmlns="http://www.w3.org/2000/svg" viewBox="32 0 512 512" fill="#000000" height="128" width="128"><path d="M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z" /></svg>
|
||||
icon:stats = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z" /></svg>
|
||||
icon:text = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 0 512 512" fill="#000000" height="128" width="128"><path d="M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM112 256l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z" /></svg>
|
||||
icon:timer_off = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-96 0 512 512" fill="#000000" height="128" width="128"><path d="M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z" /></svg>
|
||||
icon:timer = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="#000000" height="128" width="128"><path d="M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z" /></svg>
|
||||
icon:unchecked = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" /></svg>
|
||||
icon:view = <svg xmlns="http://www.w3.org/2000/svg" viewBox="-32 0 512 512" fill="#000000" height="128" width="128"><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z" /></svg>
|
||||
@@ -1,109 +0,0 @@
|
||||
# This file is automatically generated. Do not edit.
|
||||
|
||||
# Meta
|
||||
meta:name = Material Symbols - Filled Bold
|
||||
meta:author = Google Inc
|
||||
meta:license = Apache 2.0
|
||||
|
||||
# Icons
|
||||
icon:alert_error = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M479.87-260.78q23.91 0 40.22-16.18 16.3-16.17 16.3-40.08 0-23.92-16.17-40.5-16.18-16.59-40.09-16.59-23.91 0-40.22 16.59-16.3 16.58-16.3 40.5 0 23.91 16.17 40.08 16.18 16.18 40.09 16.18Zm.13-178.09q22.09 0 37.54-15.46Q533-469.78 533-491.87v-147q0-22.09-15.46-37.54-15.45-15.46-37.54-15.46t-37.54 15.46Q427-660.96 427-638.87v147q0 22.09 15.46 37.54 15.45 15.46 37.54 15.46Zm0 378.09q-87.52 0-163.91-32.96-76.38-32.96-132.88-89.47-56.51-56.5-89.47-132.88Q60.78-392.48 60.78-480t32.96-163.91q32.96-76.38 89.47-132.88 56.5-56.51 132.88-89.47 76.39-32.96 163.91-32.96t163.91 32.96q76.38 32.96 132.88 89.47 56.51 56.5 89.47 132.88 32.96 76.39 32.96 163.91t-32.96 163.91q-32.96 76.38-89.47 132.88-56.5 56.51-132.88 89.47Q567.52-60.78 480-60.78Z" /></svg>
|
||||
icon:alert_info = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-271.52q20.6 0 34.54-13.94 13.94-13.94 13.94-34.54v-151.52q0-20.6-13.94-34.54Q500.6-520 480-520t-34.54 13.94q-13.94 13.94-13.94 34.54V-320q0 20.6 13.94 34.54 13.94 13.94 34.54 13.94Zm0-317.18q21.8 0 36.55-14.75Q531.3-618.2 531.3-640q0-21.8-14.75-36.55Q501.8-691.3 480-691.3q-21.8 0-36.55 14.75Q428.7-661.8 428.7-640q0 21.8 14.75 36.55Q458.2-588.7 480-588.7Zm0 527.92q-87.52 0-163.91-32.96-76.38-32.96-132.88-89.47-56.51-56.5-89.47-132.88Q60.78-392.48 60.78-480t32.96-163.91q32.96-76.38 89.47-132.88 56.5-56.51 132.88-89.47 76.39-32.96 163.91-32.96t163.91 32.96q76.38 32.96 132.88 89.47 56.51 56.5 89.47 132.88 32.96 76.39 32.96 163.91t-32.96 163.91q-32.96 76.38-89.47 132.88-56.5 56.51-132.88 89.47Q567.52-60.78 480-60.78Z" /></svg>
|
||||
icon:alert_question = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M476.3-240q23.27 0 39.74-16.48 16.48-16.48 16.48-39.82t-16.48-39.45q-16.47-16.12-39.74-16.12-23.26 0-39.74 16.12-16.47 16.11-16.47 39.45 0 23.34 16.47 39.82Q453.04-240 476.3-240ZM480-60.78q-87.52 0-163.91-32.96-76.38-32.96-132.88-89.47-56.51-56.5-89.47-132.88Q60.78-392.48 60.78-480t32.96-163.91q32.96-76.38 89.47-132.88 56.5-56.51 132.88-89.47 76.39-32.96 163.91-32.96t163.91 32.96q76.38 32.96 132.88 89.47 56.51 56.5 89.47 132.88 32.96 76.39 32.96 163.91t-32.96 163.91q-32.96 76.38-89.47 132.88-56.5 56.51-132.88 89.47Q567.52-60.78 480-60.78Zm2.3-579.35q20.45 0 35.57 13.42Q533-613.3 533-593.17q0 19.17-11.52 34.47-11.52 15.31-26.26 28.05-23 20-40.79 44.56-17.78 24.57-17.78 54.57 0 15.92 12.04 26.72Q460.74-394 476.8-394q17.2 0 29.4-11.41 12.19-11.42 17.45-28.11 5.13-18.74 17.15-33.26 12.03-14.52 26.33-27.83 23-21.43 38.37-48.28 15.37-26.85 15.37-58.28 0-52.13-40.65-86.05-40.65-33.91-95.09-33.91-40.26 0-75.61 17.13t-55.61 51.26q-8.13 13.7-5.1 29.44 3.03 15.75 16.36 23.91 15.7 9.69 33.24 5.85 17.55-3.85 29.81-18.98 9.87-12.74 24.17-20.18 14.31-7.43 29.91-7.43Z" /></svg>
|
||||
icon:alert_warn = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M115.22-110.39q-14.96 0-26.83-7.37-11.88-7.36-18.48-19.41-6.69-11.83-7.19-25.78-.5-13.94 7.19-27.22L433.7-820q7.69-13.39 20.36-19.8 12.66-6.42 26-6.42 13.33 0 25.94 6.42 12.61 6.41 20.3 19.8l363.79 629.83q7.69 13.28 7.19 27.22-.5 13.95-7.19 25.78-6.7 11.82-18.52 19.3-11.83 7.48-26.79 7.48H115.22ZM480-241.7q17.57 0 30.2-12.63 12.63-12.63 12.63-30.19 0-17.57-12.63-29.92-12.63-12.34-30.2-12.34t-30.2 12.34q-12.63 12.35-12.63 29.92 0 17.56 12.63 30.19 12.63 12.63 30.2 12.63Zm0-118.3q17 0 28.5-11.5T520-400v-113.78q0-17-11.5-28.5t-28.5-11.5q-17 0-28.5 11.5t-11.5 28.5V-400q0 17 11.5 28.5T480-360Z" /></svg>
|
||||
icon:cls_archive = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-471.87q0-19.09 6.48-36.33t18.3-31.63l66.4-77.39q14.39-17.39 34.84-26.31 20.46-8.91 42.42-8.91h421.56q21.96 0 42.42 8.91 20.45 8.92 34.84 26.31l66.4 77.39q11.82 14.39 18.3 31.63t6.48 36.33v471.87q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm29-613h488.44l-34-40H269.78l-34 40ZM480-556.04q-19.83 0-33.59 13.76-13.76 13.76-13.76 33.58v93.52l-21.3-21.3q-13.26-13.26-32.52-12.98-19.26.29-33.09 14.68-13.26 13.82-12.98 33.37.28 19.54 13.54 32.8l96.09 96.09q15.96 15.39 37.33 15.67 21.37.28 37.32-15.67l97.22-97.22q13.26-13.26 13.26-32.8 0-19.55-14.39-33.94-12.7-13.26-31.96-13.26t-32.52 13.26l-21.3 21.3v-93.52q0-19.82-13.76-33.58-13.76-13.76-33.59-13.76Z" /></svg>
|
||||
icon:cls_character = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M22.48-263.52q0-39.09 20.32-72.11 20.33-33.02 54.42-50.28 63.69-31.57 129.95-47.63 66.26-16.07 134.53-16.07 69.39 0 135.65 15.78 66.26 15.79 128.82 47.35 34.09 17.26 54.42 50 20.32 32.74 20.32 72.96v26.35q0 44.3-30.84 75.15-30.85 30.85-75.16 30.85H128.48q-44.31 0-75.15-30.85-30.85-30.85-30.85-75.15v-26.35Zm724.56 132.35q17.22-23.09 25.55-50.09 8.32-27 8.32-55.91V-267q0-47.96-24.5-96.09T679-445.3q47.04 6.56 93.46 22.47 46.41 15.92 84.84 36.35 38.27 20 59.24 51 20.98 31 20.98 67.35v30.96q0 44.3-30.85 75.15-30.84 30.85-75.15 30.85h-84.48ZM361.7-489.61q-70.53 0-120.07-49.54-49.54-49.55-49.54-120.07t49.54-120.06q49.54-49.55 120.07-49.55 70.52 0 120.06 49.55 49.54 49.54 49.54 120.06 0 70.52-49.54 120.07-49.54 49.54-120.06 49.54Zm427.69-169.61q0 69.96-49.82 119.78-49.83 49.83-119.79 49.83-11.56 0-28-2.78-16.43-2.78-29.69-6.91 28.13-33.14 42.91-74.4 14.78-41.26 14.78-85.52T605-744.74q-14.78-41.26-42.91-74.39 14.56-5.57 28.56-7.63 14-2.07 29.13-2.07 69.96 0 119.79 49.83 49.82 49.82 49.82 119.78Z" /></svg>
|
||||
icon:cls_custom = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M815.48-418.74 677.87-224.39q-14.39 21.09-37.26 32.35-22.87 11.26-48.52 11.26H206.78q-43.74 0-74.87-31.13-31.13-31.13-31.13-74.87v-386.44q0-43.74 31.13-74.87 31.13-31.13 74.87-31.13h385.31q25.65 0 48.52 11.55 22.87 11.54 37.26 32.06l137.61 194.35Q835-513.48 835-480t-19.52 61.26Z" /></svg>
|
||||
icon:cls_entity = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-94q-44.3 0-75.15-30.85Q94-155.7 94-200v-400q0-44.3 30.85-75.15Q155.7-706 200-706h54v-54q0-44.3 30.85-75.15Q315.7-866 360-866h240q44.3 0 75.15 30.85Q706-804.3 706-760v214h54q44.3 0 75.15 30.85Q866-484.3 866-440v240q0 44.3-30.85 75.15Q804.3-94 760-94H520v-186h-80v186H200Zm0-106h80v-80h-80v80Zm0-160h80v-80h-80v80Zm0-160h80v-80h-80v80Zm160 160h80v-80h-80v80Zm0-160h80v-80h-80v80Zm0-160h80v-80h-80v80Zm160 320h80v-80h-80v80Zm0-160h80v-80h-80v80Zm0-160h80v-80h-80v80Zm160 480h80v-80h-80v80Zm0-160h80v-80h-80v80Z" /></svg>
|
||||
icon:cls_none = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-405.91 293.04-218.96Q278.09-204 256-204t-37.04-14.96Q204-233.91 204-256t14.96-37.04L405.91-480 218.96-666.96Q204-681.91 204-704t14.96-37.04Q233.91-756 256-756t37.04 14.96L480-554.09l186.96-186.95Q681.91-756 704-756t37.04 14.96Q756-726.09 756-704t-14.96 37.04L554.09-480l186.95 186.96Q756-278.09 756-256t-14.96 37.04Q726.09-204 704-204t-37.04-14.96L480-405.91Z" /></svg>
|
||||
icon:cls_novel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M290.96-60.78q-62.53 0-106.35-43.83-43.83-43.82-43.83-106.35v-538.08q0-62.53 43.83-106.35 43.82-43.83 106.35-43.83h422.26q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v508.35q0 9.7-6.22 17.89-6.22 8.2-19.82 14.5-11.18 5.31-17.48 16.33-6.31 11.02-6.31 25.19 0 14.18 6.31 25.42 6.3 11.24 17.48 16.11 12.3 5.43 19.17 17.06 6.87 11.63 6.87 27.59v13.39q0 20.96-14.61 35.78Q790-60.78 769.04-60.78H290.96ZM371.3-361.7q20.96 0 35.57-14.6 14.61-14.61 14.61-35.57V-748.7q0-20.95-14.61-35.56-14.61-14.61-35.57-14.61-20.95 0-35.56 14.61-14.61 14.61-14.61 35.56v336.83q0 20.96 14.61 35.57 14.61 14.6 35.56 14.6Zm-80.34 200.57h387.13q-4.31-11.74-6.68-23.98t-2.37-25.85q0-13.17 2.16-25.63 2.15-12.45 6.89-24.19H290.96q-21.48 0-35.66 14.67-14.17 14.68-14.17 35.15 0 21.48 14.17 35.66 14.18 14.17 35.66 14.17Z" /></svg>
|
||||
icon:cls_object = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M280-360q-50 0-85-35t-35-85q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35Zm0 137.52q80.96 0 147.48-45.98 66.52-45.97 93.78-123.06h10.61l38.43 39q8.27 7.69 17.81 11.04 9.54 3.35 19.8 3.35 10.26 0 19.53-3.35 9.26-3.35 17.52-11.61L693-401.13l57 49.35q8.26 7.26 17.74 10.89 9.48 3.63 19.74 3.19 10.26-.43 19.3-4.21 9.05-3.79 16.87-12.05l83.22-89.43q7.83-8.26 11.17-17.52 3.35-9.26 3.35-19.52 0-10.27-3.56-19.59-3.57-9.33-11.39-17.15l-36.48-35.92q-7.7-7.69-17.18-11.54-9.48-3.85-20.3-3.85H520.7q-24.57-73.09-90.16-121.06-65.58-47.98-150.54-47.98-107.35 0-182.44 75.08Q22.48-587.35 22.48-480q0 106.78 75.37 182.15T280-222.48Z" /></svg>
|
||||
icon:cls_plot = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M362.17-100.78H200q-40.93 0-70.07-29.15-29.15-29.14-29.15-70.07v-162.17q42.35 0 72.7-27.96 30.34-27.96 30.34-69.87 0-41.91-30.34-69.87-30.35-27.96-72.7-27.96V-720q0-40.93 29.15-70.07 29.14-29.15 70.07-29.15h143.61q6.22-45.39 39.17-74.67 32.96-29.29 77.22-29.29t77.22 29.29q32.95 29.28 39.17 74.67H720q40.93 0 70.07 29.15 29.15 29.14 29.15 70.07v143.61q45.39 6.22 74.67 39.17 29.29 32.96 29.29 77.22t-29.29 77.22q-29.28 32.95-74.67 39.17V-200q0 40.93-29.15 70.07-29.14 29.15-70.07 29.15H557.83q0-46.61-28.54-79.07Q500.76-212.3 460-212.3q-40.76 0-69.29 32.52-28.54 32.53-28.54 79Z" /></svg>
|
||||
icon:cls_template = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M166.78-140.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-466.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h181q21.23 0 40.46 7.98 19.24 7.98 34.19 22.94L480-730.74h313.22q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v377.96q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H166.78ZM280-315.48h240q17 0 28.5-11.5t11.5-28.5q0-17-11.5-28.5t-28.5-11.5H280q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5Zm0-160h400q17 0 28.5-11.5t11.5-28.5q0-17-11.5-28.5t-28.5-11.5H280q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5Z" /></svg>
|
||||
icon:cls_timeline = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M326.78-166.78h306.44V-280q0-63.74-44.74-108.48T480-433.22q-63.74 0-108.48 44.74T326.78-280v113.22Zm153.22-360q63.74 0 108.48-44.74T633.22-680v-113.22H326.78V-680q0 63.74 44.74 108.48T480-526.78Zm-286.22 466q-22.08 0-37.54-15.46t-15.46-37.54q0-22.09 15.46-37.55 15.46-15.45 37.54-15.45h27V-280q0-58.74 25.39-111.67 25.39-52.94 71.31-88.33-45.92-35.39-71.31-88.33-25.39-52.93-25.39-111.67v-113.22h-27q-22.08 0-37.54-15.45-15.46-15.46-15.46-37.55 0-22.08 15.46-37.54t37.54-15.46h572.44q22.08 0 37.54 15.46t15.46 37.54q0 22.09-15.46 37.55-15.46 15.45-37.54 15.45h-27V-680q0 58.74-25.11 111.67Q689-515.39 642.52-480q46.48 35.39 71.59 88.33 25.11 52.93 25.11 111.67v113.22h27q22.08 0 37.54 15.45 15.46 15.46 15.46 37.55 0 22.08-15.46 37.54t-37.54 15.46H193.78Z" /></svg>
|
||||
icon:cls_trash = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M273.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-507q-22.09 0-37.54-15.46-15.46-15.46-15.46-37.54 0-22.09 15.46-37.55 15.45-15.45 37.54-15.45H347q0-22.09 15.46-37.55 15.45-15.45 37.54-15.45h158.87q22.09 0 37.54 15.45 15.46 15.46 15.46 37.55h180.35q22.09 0 37.54 15.45 15.46 15.46 15.46 37.55 0 22.08-15.46 37.54-15.45 15.46-37.54 15.46v507q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H273.78Zm122.83-179.79q19.26 0 32.74-13.47 13.48-13.48 13.48-32.74v-267.57q0-19.26-13.48-32.74t-32.74-13.48q-19.26 0-33.02 13.48-13.76 13.48-13.76 32.74v267.57q0 19.26 13.76 32.74 13.76 13.47 33.02 13.47Zm167.35 0q19.26 0 32.74-13.47 13.47-13.48 13.47-32.74v-267.57q0-19.26-13.47-32.74-13.48-13.48-32.74-13.48t-33.03 13.48q-13.76 13.48-13.76 32.74v267.57q0 19.26 13.76 32.74 13.77 13.47 33.03 13.47Z" /></svg>
|
||||
icon:cls_world = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-60.78q-87.52 0-163.91-32.96-76.38-32.96-132.88-89.47-56.51-56.5-89.47-132.88Q60.78-392.48 60.78-480t32.96-163.91q32.96-76.38 89.47-132.88 56.5-56.51 132.88-89.47 76.39-32.96 163.91-32.96t163.91 32.96q76.38 32.96 132.88 89.47 56.51 56.5 89.47 132.88 32.96 76.39 32.96 163.91t-32.96 163.91q-32.96 76.38-89.47 132.88-56.5 56.51-132.88 89.47Q567.52-60.78 480-60.78Zm0-106q121.56 0 208.63-78.31 87.06-78.3 100.07-194.78 0-3.04-.22-6.3t-.22-5.44q-8.96 19.39-27.56 31.33-18.61 11.93-42.4 11.93h-76.04q-35.8 0-61.29-25.49-25.49-25.49-25.49-61.29v-43.39H381.91v-82.26q0-36.03 25.49-61.69 25.5-25.66 61.3-25.66h43.39q0-26.59 13.91-46.81 13.91-20.23 34.17-27.84-19.44-4.75-39.37-7.59-19.93-2.85-40.8-2.85-131.74 0-222.48 90.74-90.74 90.74-90.74 222.48 0 2.83.29 5.65.28 2.83.28 5.65h165.52q72.22 0 122.89 50.68 50.67 50.67 50.67 122.66v43.62H376.26v66.48q24.52 8.96 50.27 13.72 25.74 4.76 53.47 4.76Z" /></svg>
|
||||
icon:prj_folder = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M166.78-140.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-466.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h181q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L480-730.74h313.22q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v377.96q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H166.78Z" /></svg>
|
||||
icon:prj_document = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h389.48q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L828.3-670.91q14.96 14.95 22.94 34.26 7.98 19.3 7.98 40.39v389.48q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm377.39-652.44v116.05q0 22.08 15.46 37.54t37.54 15.46h116.05L584.17-753.22Zm60.35 468.7q17.57 0 29.63-12.35 12.07-12.35 12.07-29.91 0-17.57-12.07-29.63-12.06-12.07-29.63-12.07H315.48q-17.57 0-29.63 12.07-12.07 12.06-12.07 29.63 0 17.56 12.35 29.91 12.35 12.35 29.91 12.35h328.48ZM455.26-587q17.57 0 29.91-12.35 12.35-12.35 12.35-29.91 0-17.57-12.35-29.91-12.34-12.35-29.91-12.35H316.04q-17.56 0-29.91 12.35-12.35 12.34-12.35 29.91 0 17.56 12.35 29.91Q298.48-587 316.04-587h139.22Zm188.7 151.52q17.56 0 29.91-12.35 12.35-12.34 12.35-29.91 0-17.56-12.35-29.91Q661.52-520 643.96-520H316.04q-17.56 0-29.91 12.35-12.35 12.35-12.35 29.91 0 17.57 12.35 29.91 12.35 12.35 29.91 12.35h327.92Z" /></svg>
|
||||
icon:prj_title = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h389.48q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L828.3-670.91q14.96 14.95 22.94 34.26 7.98 19.3 7.98 40.39v389.48q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm377.39-652.44v116.05q0 22.08 15.46 37.54t37.54 15.46h116.05L584.17-753.22Zm60.35 468.7q17.57 0 29.63-12.35 12.07-12.35 12.07-29.91 0-17.57-12.07-29.63-12.06-12.07-29.63-12.07H315.48q-17.57 0-29.63 12.07-12.07 12.06-12.07 29.63 0 17.56 12.35 29.91 12.35 12.35 29.91 12.35h328.48ZM455.26-587q17.57 0 29.91-12.35 12.35-12.35 12.35-29.91 0-17.57-12.35-29.91-12.34-12.35-29.91-12.35H316.04q-17.56 0-29.91 12.35-12.35 12.34-12.35 29.91 0 17.56 12.35 29.91Q298.48-587 316.04-587h139.22Zm188.7 151.52q17.56 0 29.91-12.35 12.35-12.34 12.35-29.91 0-17.56-12.35-29.91Q661.52-520 643.96-520H316.04q-17.56 0-29.91 12.35-12.35 12.35-12.35 29.91 0 17.57 12.35 29.91 12.35 12.35 29.91 12.35h327.92Z" /></svg>
|
||||
icon:prj_chapter = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h389.48q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L828.3-670.91q14.96 14.95 22.94 34.26 7.98 19.3 7.98 40.39v389.48q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm377.39-652.44v116.05q0 22.08 15.46 37.54t37.54 15.46h116.05L584.17-753.22Zm60.35 468.7q17.57 0 29.63-12.35 12.07-12.35 12.07-29.91 0-17.57-12.07-29.63-12.06-12.07-29.63-12.07H315.48q-17.57 0-29.63 12.07-12.07 12.06-12.07 29.63 0 17.56 12.35 29.91 12.35 12.35 29.91 12.35h328.48ZM455.26-587q17.57 0 29.91-12.35 12.35-12.35 12.35-29.91 0-17.57-12.35-29.91-12.34-12.35-29.91-12.35H316.04q-17.56 0-29.91 12.35-12.35 12.34-12.35 29.91 0 17.56 12.35 29.91Q298.48-587 316.04-587h139.22Zm188.7 151.52q17.56 0 29.91-12.35 12.35-12.34 12.35-29.91 0-17.56-12.35-29.91Q661.52-520 643.96-520H316.04q-17.56 0-29.91 12.35-12.35 12.35-12.35 29.91 0 17.57 12.35 29.91 12.35 12.35 29.91 12.35h327.92Z" /></svg>
|
||||
icon:prj_scene = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h389.48q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L828.3-670.91q14.96 14.95 22.94 34.26 7.98 19.3 7.98 40.39v389.48q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm377.39-652.44v116.05q0 22.08 15.46 37.54t37.54 15.46h116.05L584.17-753.22Zm60.35 468.7q17.57 0 29.63-12.35 12.07-12.35 12.07-29.91 0-17.57-12.07-29.63-12.06-12.07-29.63-12.07H315.48q-17.57 0-29.63 12.07-12.07 12.06-12.07 29.63 0 17.56 12.35 29.91 12.35 12.35 29.91 12.35h328.48ZM455.26-587q17.57 0 29.91-12.35 12.35-12.35 12.35-29.91 0-17.57-12.35-29.91-12.34-12.35-29.91-12.35H316.04q-17.56 0-29.91 12.35-12.35 12.34-12.35 29.91 0 17.56 12.35 29.91Q298.48-587 316.04-587h139.22Zm188.7 151.52q17.56 0 29.91-12.35 12.35-12.34 12.35-29.91 0-17.56-12.35-29.91Q661.52-520 643.96-520H316.04q-17.56 0-29.91 12.35-12.35 12.35-12.35 29.91 0 17.57 12.35 29.91 12.35 12.35 29.91 12.35h327.92Z" /></svg>
|
||||
icon:prj_note = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m553.22-206.78 200-200h-147q-22.09 0-37.55 15.45-15.45 15.46-15.45 37.55v147Zm-346.44 106q-43.72 0-74.86-31.14t-31.14-74.86v-546.44q0-43.72 31.14-74.86t74.86-31.14h546.44q43.72 0 74.86 31.14t31.14 74.86v352.31q0 21.22-7.98 40.46-7.98 19.23-22.94 34.19L633.74-131.7q-14.96 14.96-34.19 22.94-19.24 7.98-40.46 7.98H206.78Zm123.96-292.44h107q18.68 0 31.32-12.8t12.64-31.72q0-18.68-12.64-31.32t-31.32-12.64H331.3q-18.92 0-31.72 12.64-12.8 12.65-12.8 31.33 0 18.69 12.64 31.6t31.32 12.91Zm0-168.48h298.52q18.68 0 31.32-12.8t12.64-31.72q0-18.68-12.64-31.32-12.64-12.63-31.32-12.63H331.3q-18.92 0-31.72 12.64-12.8 12.64-12.8 31.32 0 18.69 12.64 31.6t31.32 12.91Z" /></svg>
|
||||
icon:fmt_bold = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M349.74-181.35q-44.31 0-75.15-30.85-30.85-30.84-30.85-75.15v-385.87q0-44.3 30.85-75.15 30.84-30.85 75.15-30.85h161.35q72.35 0 128.76 44.81 56.41 44.8 56.41 118.06 0 44.22-20.17 75.96-20.18 31.74-48.65 46.56v1.7q35.74 14.96 62.28 50.61t26.54 88.87q0 83.35-63.3 127.32-63.31 43.98-135 43.98H349.74Zm34.22-122.17h118.13q36.69 0 52.84-20.83 16.16-20.82 16.16-40.87 0-20.04-16.16-41.15-16.15-21.11-54.15-21.11H383.96v123.96Zm0-242.7h108.26q28.48 0 45.45-16.72 16.98-16.71 16.98-39.41 0-24-17.85-39.85-17.84-15.84-43.71-15.84H383.96v111.82Z" /></svg>
|
||||
icon:fmt_italic = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M248.87-181.35q-26.09 0-44.54-18.45-18.46-18.46-18.46-44.55 0-26.08 18.46-44.54 18.45-18.46 44.54-18.46h100.39l114.91-344.17h-91.91q-26.09 0-44.54-18.46-18.46-18.45-18.46-44.54t18.46-44.55q18.45-18.45 44.54-18.45h300q26.09 0 44.54 18.45 18.46 18.46 18.46 44.55 0 26.09-18.46 44.54-18.45 18.46-44.54 18.46h-80.39L476.96-307.35h71.91q26.09 0 44.54 18.46 18.46 18.46 18.46 44.54 0 26.09-18.46 44.55-18.45 18.45-44.54 18.45h-300Z" /></svg>
|
||||
icon:fmt_mark = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M168.48 0q-36.96 0-62.72-26.04Q80-52.09 80-89.04q0-36.96 26.04-62.72 26.05-25.76 63-25.76h622.48q36.96 0 62.72 25.76Q880-126 880-89.04q0 36.95-26.04 63Q827.91 0 790.96 0H168.48Zm278.13-701.61 250.48 251.48-162.26 162.26q-30.78 30.78-74.59 30.78-43.8 0-74.59-30.78l-2.17 1.74q-14.96 13.52-33.33 21.06-18.37 7.55-38.58 7.55h-94.31q-17.95 0-24.87-16.24-6.91-16.24 5.92-29.07l86.91-85.91q-31.35-31.35-32.07-75.02-.71-43.68 30.63-75.03l162.83-162.82Zm57.13-57.57 118.17-117.73q31.92-31.92 74.87-31.92 42.96 0 74.87 31.92l101.18 101.3q31.91 31.91 31.91 74.87 0 42.96-31.91 74.87L754.66-507.7 503.74-759.18Z" /></svg>
|
||||
icon:fmt_strike = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M490.52-138.52q-66.39 0-123.28-34.91-56.89-34.92-89.02-93.74-10.13-18.26-2.5-38.59 7.63-20.33 26.89-31.02 20.82-11.7 43.72-4.35 22.89 7.35 36.71 28.17 18 28.31 46.81 45.74 28.8 17.44 62.11 17.44 38.34 0 67.17-23.33 28.83-23.32 28.83-59.67v-5.65q-.57-23.4 15.97-40.22 16.55-16.83 39.94-17.39 23.39-.57 40.15 15.69 16.76 16.26 17.89 39.65 0 3.57.29 6.85.28 3.29.28 6.85 0 82.39-63.35 135.44-63.35 53.04-148.61 53.04ZM120-475.48q-18.7 0-31.61-12.91T75.48-520q0-18.7 12.91-31.61T120-564.52h720q18.7 0 31.61 12.91T884.52-520q0 18.7-12.91 31.61T840-475.48H120Zm203.48-176.3q-20.39-12.26-26.68-35.16-6.28-22.89 5.98-43.28 27.26-47.56 75.96-71.56 48.69-24 104.39-24 49.13 0 93.04 20 43.92 20 74.05 58.56 12.69 15.7 7.85 35.39-4.85 19.7-21.55 32.39-19.82 14.83-43.56 11.27-23.74-3.57-41.7-20.7-13.87-13.04-31.04-19.35-17.18-6.3-36.22-6.3-24.74 0-47.2 10.15-22.45 10.15-34.89 31.46-12.26 20.82-35.15 27.11-22.89 6.28-43.28-5.98Z" /></svg>
|
||||
icon:fmt_subscript = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M824.31-140.78q-18.69 0-31.32-12.57-12.64-12.58-12.64-31.16v-43.73q0-18.59 12.64-31.22 12.63-12.63 31.32-12.63h66.99v-28.69H806q-10.82 0-18.24-7.41-7.41-7.42-7.41-18.24 0-10.83 7.41-18.24 7.42-7.42 18.24-7.42h92.65q18.68 0 31.32 12.58 12.64 12.57 12.64 31.15v43.73q0 18.59-12.64 31.22-12.64 12.63-31.32 12.63h-67v28.69h85.31q10.82 0 18.24 7.42 7.41 7.41 7.41 18.24 0 10.82-7.41 18.24-7.42 7.41-18.24 7.41h-92.65Zm-510.14-80q-33.45 0-48.94-28.65-15.49-28.66 1.9-56.74l143.26-225.4-130.26-203.82q-17.39-27.09-1.86-55.46 15.52-28.37 47.82-28.37 14.91 0 27.17 6.91 12.26 6.92 19.96 19.18l105.91 171.65h1.74L586.35-793.7q7.13-12.15 19.61-18.83 12.47-6.69 26.09-6.69 33.43 0 48.82 28.37t-2 56.46L548.61-531.57l144.26 225.96q17.39 28.09 1.85 56.46-15.55 28.37-48.2 28.37-15.08 0-27.64-6.83-12.56-6.84-20.1-19.26L480.87-436.65h-1.74L360.65-246.87q-7.13 12.42-19.61 19.26-12.47 6.83-26.87 6.83Z" /></svg>
|
||||
icon:fmt_superscript = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M824.31-607.91q-18.69 0-31.32-12.58-12.64-12.57-12.64-31.15v-43.73q0-18.59 12.64-31.22 12.63-12.63 31.32-12.63h66.99v-28.69H806q-10.82 0-18.24-7.42-7.41-7.41-7.41-18.24 0-10.82 7.41-18.24 7.42-7.41 18.24-7.41h92.65q18.68 0 31.32 12.57 12.64 12.58 12.64 31.16v43.73q0 18.59-12.64 31.22-12.64 12.63-31.32 12.63h-67v28.69h85.31q10.82 0 18.24 7.41 7.41 7.42 7.41 18.24 0 10.83-7.41 18.24-7.42 7.42-18.24 7.42h-92.65ZM314.17-140.78q-33.45 0-48.94-28.65-15.49-28.66 1.9-56.74l143.26-225.4-130.26-203.82q-17.39-27.09-1.86-55.46 15.52-28.37 47.82-28.37 14.91 0 27.17 6.91 12.26 6.92 19.96 19.18l105.91 171.65h1.74L586.35-713.7q7.13-12.15 19.61-18.83 12.47-6.69 26.09-6.69 33.43 0 48.82 28.37t-2 56.46L548.61-451.57l144.26 225.96q17.39 28.09 1.85 56.46-15.55 28.37-48.2 28.37-15.08 0-27.64-6.83-12.56-6.84-20.1-19.26L480.87-356.65h-1.74L360.65-166.87q-7.13 12.42-19.61 19.26-12.47 6.83-26.87 6.83Z" /></svg>
|
||||
icon:fmt_underline = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M240-74.78q-22.09 0-37.54-15.46Q187-105.69 187-127.78t15.46-37.54q15.45-15.46 37.54-15.46h480q22.09 0 37.54 15.46Q773-149.87 773-127.78t-15.46 37.54Q742.09-74.78 720-74.78H240Zm240-176.96q-112.3 0-176.78-67.52t-64.48-181.13V-774.3q0-26.09 18.89-44.76 18.89-18.68 44.98-18.68 26.09 0 44.76 18.68 18.67 18.67 18.67 44.76v276.52q0 54.87 29.98 87.89T480-376.87q54 0 83.98-33.02 29.98-33.02 29.98-87.89V-774.3q0-26.09 18.89-44.76 18.89-18.68 44.98-18.68 26.08 0 44.76 18.68 18.67 18.67 18.67 44.76v273.91q0 113.61-64.48 181.13T480-251.74Z" /></svg>
|
||||
icon:fmt_toolbar = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M240-191.52q-22.09 0-37.54-15.46Q187-222.43 187-244.52t15.46-37.55q15.45-15.45 37.54-15.45h480q22.09 0 37.54 15.45Q773-266.61 773-244.52q0 22.09-15.46 37.54-15.45 15.46-37.54 15.46H240Zm53.43-239.66 129.66-348.21q5.13-13.26 16.61-21.18 11.47-7.91 25.73-7.91h33.66q14.82 0 26.3 8.2 11.48 8.19 16.61 21.45l129.09 346.96q8.82 23.22-5.42 43.3-14.24 20.09-39.02 20.09-16.09 0-28.69-9.04-12.61-9.05-17.74-24.57l-22.66-68.21H403.87l-24.65 71.47q-4.57 14.39-16.39 22.37-11.83 7.98-26.22 7.98-24.65 0-38.26-20.02t-4.92-42.68Zm132.44-114.99h109.39L482.57-703.3h-4l-52.7 157.13Z" /></svg>
|
||||
icon:search = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M375.48-307q-114.09 0-193.55-79.46-79.45-79.45-79.45-193.54 0-114.09 79.45-193.54Q261.39-853 375.48-853q114.09 0 193.54 79.46 79.46 79.45 79.46 193.54 0 45.13-12.87 83.28T601-429.7l219.48 220.05q14.96 15.52 14.96 37.32 0 21.81-15.53 36.77-14.95 14.95-37.04 14.95t-37.04-14.95L526.91-354.48q-29.43 21.74-68.15 34.61Q420.04-307 375.48-307Zm0-106q69.91 0 118.45-48.54 48.55-48.55 48.55-118.46t-48.55-118.46Q445.39-747 375.48-747t-118.46 48.54Q208.48-649.91 208.48-580t48.54 118.46Q305.57-413 375.48-413Z" /></svg>
|
||||
icon:search_cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-405.91 293.04-218.96Q278.09-204 256-204t-37.04-14.96Q204-233.91 204-256t14.96-37.04L405.91-480 218.96-666.96Q204-681.91 204-704t14.96-37.04Q233.91-756 256-756t37.04 14.96L480-554.09l186.96-186.95Q681.91-756 704-756t37.04 14.96Q756-726.09 756-704t-14.96 37.04L554.09-480l186.95 186.96Q756-278.09 756-256t-14.96 37.04Q726.09-204 704-204t-37.04-14.96L480-405.91Z" /></svg>
|
||||
icon:search_case = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m242.48-351.56-28.61 78.82q-4.57 12.7-15.26 20.11-10.7 7.41-23.96 7.41-22.39 0-34.87-18.32-12.48-18.33-4.91-38.72l132.91-358.39q4.57-13.26 16.33-21.46 11.76-8.19 25.59-8.19h33.08q13.83 0 25.81 7.91 11.98 7.91 16.54 21.17l134.04 359.96q7.57 20.39-4.84 38.22-12.42 17.82-34.37 17.82-13.26 0-24.24-7.91-10.98-7.91-15.55-20.61l-27.61-77.82H242.48Zm25.26-77.57h117.43l-57.21-163.91h-3.44l-56.78 163.91Zm404.61 194.48q-51 0-82.98-29.48-31.98-29.48-31.98-75.61 0-46.26 35.91-75.61 35.92-29.35 93.31-29.35 23 0 44.43 4 21.44 4 35.74 11.57v-17.65q0-23.92-19.08-39.94-19.09-16.02-47.44-16.02-13.87 0-26.95 3.94-13.09 3.93-24.53 10.67-16.95 9.43-29.87 5.02-12.91-4.41-20.47-14.67-7.57-10.26-6.44-23.24Q593.13-534 605.83-542q21.69-14.87 47.54-22.09 25.85-7.21 52.41-7.21 65.61 0 101.59 34.76 35.98 34.76 35.98 96.93v162.26q0 15.83-11.2 26.81-11.19 10.98-27.02 10.98t-27.09-11.2q-11.26-11.2-11.26-26.46v-2.17h-3.43q-12.87 21.3-37.44 33.02-24.56 11.72-53.56 11.72ZM690-298.83q32.17 0 54.7-21.74 22.52-21.73 22.52-52.04-11.18-6.3-27.57-9.39-16.39-3.09-35.95-3.09-32 0-48.87 11.46-16.87 11.46-16.87 32.76 0 18.3 14.58 30.17 14.59 11.87 37.46 11.87Z" /></svg>
|
||||
icon:search_loop = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M67-520q0-122.09 85.46-207.54Q237.91-813 360-813h240q122.09 0 207.54 85.46Q893-642.09 893-520q0 103-62.61 183.54-62.61 80.55-163.48 102.63-23.08 5.27-41.61-8.84-18.52-14.11-18.52-37.33 0-22.65 16.89-38.61 16.9-15.96 39.42-24.48 57.13-19.39 90.52-68.24Q787-460.17 787-520q0-77.91-54.54-132.46Q677.91-707 600-707H360q-77.91 0-132.46 54.54Q173-597.91 173-520q0 70 44.37 122.85 44.37 52.84 112.67 61.32h3.05l-15.66-15.65q-14.39-14.39-11.84-34.85 2.54-20.45 17.37-35.28 15.52-15.52 37.32-15.52 21.81 0 37.33 15.52l103.43 103.44Q517-302.22 517-280.57q0 21.66-15.96 37.61l-104 104q-15.52 15.53-37.67 14.96-22.15-.56-38.11-16.09-14.83-14.82-14.83-36.13 0-21.3 14.83-36.13l15.22-15.21h-3.05q-114.17-6.22-190.3-91.4Q67-404.13 67-520Z" /></svg>
|
||||
icon:search_preserve = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M331.09-140.78q-28.82 0-49-19.76t-20.18-48.72v-471.87H129.83q-28.77 0-48.91-20.18-20.14-20.17-20.14-49 0-28.82 20.14-48.86 20.14-20.05 48.91-20.05h402.26q28.76 0 48.9 20.18 20.14 20.17 20.14 49 0 28.82-20.14 48.87-20.14 20.04-48.9 20.04H399.43v471.3q0 28.77-19.76 48.91-19.76 20.14-48.58 20.14Zm379.22 0q-28.83 0-49-19.76-20.18-19.76-20.18-48.72v-253.78h-51.52q-28.77 0-48.91-20.18-20.13-20.18-20.13-49t19.76-48.58q19.76-19.77 48.71-19.77h241.7q28.96 0 48.72 19.77 19.76 19.76 19.76 48.58 0 28.82-19.76 49t-48.72 20.18h-52.09v253.21q0 28.77-19.76 48.91-19.76 20.14-48.58 20.14Z" /></svg>
|
||||
icon:search_project = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M672.44-200q36.34 0 61.67-25.33 25.32-25.32 25.32-61.67t-25.32-61.67Q708.78-374 672.44-374q-36.35 0-61.68 25.33-25.32 25.32-25.32 61.67t25.32 61.67Q636.09-200 672.44-200ZM913.48-45.96Q898.52-31 876.44-31q-22.09 0-37.05-14.96l-73.22-72.65q-21 12.31-44.65 18.46T672.44-94q-80.66 0-136.83-56.17-56.18-56.18-56.18-136.83t56.18-136.83Q591.78-480 672.44-480q80.65 0 136.82 56.17 56.18 56.18 56.18 136.83 0 25.44-6.16 49.09-6.15 23.65-18.45 44.65l72.65 73.22q14.96 14.95 14.96 37.04t-14.96 37.04Zm-706.7-14.82q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-626.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h277.39q21.09 0 40.4 7.98 19.3 7.98 34.26 22.94L748.3-678.83q14.96 14.96 22.94 34.26 7.98 19.31 7.98 40.4v7.82q0 20.83-17.05 33.52-17.04 12.7-38.43 7.7-12.44-3-25.15-3.94-12.72-.93-26.15-.93-121.96 0-197.92 83.39-75.95 83.39-75.95 190.61 0 40.04 12.39 80.22 12.39 40.17 39.17 76.48 15.7 21.78 5.65 45.15-10.04 23.37-33.69 23.37H206.78Zm266.44-732.44v147q0 22.09 15.45 37.55 15.46 15.45 37.55 15.45h147l-200-200 200 200-200-200Z" /></svg>
|
||||
icon:search_regex = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M34.78-482q0-71.83 24.48-138.02 24.48-66.2 69.04-122.46 14.39-16.96 36.26-18.24 21.87-1.28 37.83 14.68 15.96 15.95 16.17 38.11.22 22.15-13.6 40.67-30.74 40.3-47.46 87.2-16.72 46.89-16.72 98.06 0 50.61 17.15 97.78 17.16 47.18 47.46 87.48 13.83 18.52 13.61 40.46-.22 21.93-16.18 37.89-15.95 15.96-37.82 15.17-21.87-.78-35.7-18.3-44.13-56.26-69.32-122.46-25.2-66.19-25.2-138.02ZM380-227q-30.65 0-51.83-21.17Q307-269.35 307-300t21.17-51.83Q349.35-373 380-373t51.83 21.17Q453-330.65 453-300t-21.17 51.83Q410.65-227 380-227Zm179-205.65q-19.83 0-33.59-13.76-13.76-13.76-13.76-33.59v-18l-15.26 9.22q-16.82 9.69-35.87 4.91-19.04-4.78-28.74-22.17-9.69-17.39-4.63-36.44 5.07-19.04 22.46-28.74L464.3-580l-15.69-8.78q-16.83-9.7-21.96-28.74-5.13-19.05 4.57-35.87 9.69-17.83 29.02-22.46 19.33-4.63 36.72 5.07l14.69 8.78v-18q0-19.83 13.76-33.59 13.76-13.76 33.59-13.76 19.83 0 33.59 13.76 13.76 13.76 13.76 33.59v18l15.26-9.22q16.82-9.69 35.87-4.91 19.04 4.78 28.74 22.17 9.69 17.39 4.63 36.44-5.07 19.04-22.46 28.74L653.7-580l15.69 8.78q16.83 9.7 21.96 28.74 5.13 19.05-4.57 35.87-9.69 17.83-29.02 22.46-19.33 4.63-36.72-5.07L606.35-498v18q0 19.83-13.76 33.59-13.76 13.76-33.59 13.76ZM925.22-482q0 71.83-24.48 138.3-24.48 66.48-69.04 122.74-14.39 16.96-36.26 17.74-21.87.79-37.83-15.17-15.96-15.96-16.17-37.89-.22-21.94 13.6-40.46 30.74-40.3 47.46-87.48 16.72-47.17 16.72-97.78 0-51.17-17.72-98.63-17.72-47.46-48.02-87.76-13.83-17.96-12.83-40.11t16.96-37.54q15.96-15.96 37.61-14.68 21.65 1.28 35.48 18.24 44.13 56.26 69.32 122.46 25.2 66.19 25.2 138.02Z" /></svg>
|
||||
icon:search_replace = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M440-713.22q-57.35 0-104.17 30.26Q289-652.7 265.3-602.91q-8.82 18.39-27.13 27.3-18.3 8.91-38.82 4.78-21.09-4.13-33.42-20.58-12.32-16.46-5.06-34.98 31.52-85.13 106.91-138.98 75.39-53.85 172.22-53.85 66.35 0 118.98 22.22 52.63 22.22 89.5 62.91v-29.87q0-18.69 12.91-31.61 12.91-12.91 31.61-12.91t31.61 12.91q12.91 12.92 12.91 31.61V-613q0 22.09-15.45 37.54Q706.61-560 684.52-560H532.44q-18.7 0-31.33-12.91-12.63-12.92-12.63-31.61 0-18.7 12.91-31.33 12.91-12.63 31.61-12.63h49.48q-25.05-30.91-61.87-47.82-36.83-16.92-80.61-16.92Zm0 492.44q-65.22 0-117.57-22.5-52.34-22.5-90.91-62.63v29.87q0 18.69-12.91 31.61-12.91 12.91-31.61 12.91t-31.61-12.91q-12.91-12.92-12.91-31.61V-427q0-22.09 15.45-37.54Q173.39-480 195.48-480h152.08q18.7 0 31.33 12.63 12.63 12.63 12.63 31.33 0 18.69-12.63 31.61-12.63 12.91-31.33 12.91h-51.17q25.61 30.35 61.87 47.54 36.26 17.2 81.74 17.2 55.78 0 100.76-28.2 44.98-28.19 69.11-73.72 11.52-19.95 30.11-32.28 18.59-12.32 40.67-8.19 22.09 4.56 33.2 23.37 11.11 18.8 2.72 38.76-5.87 16.04-13.68 30.15-7.8 14.11-17.98 27.72l148 147.43q15.53 15.52 15.53 37.61t-15.53 37.61q-15.52 14.96-37.61 14.96-22.08 0-37.6-15.53l-148-148q-33.74 24.74-76.24 39.53-42.5 14.78-93.46 14.78Z" /></svg>
|
||||
icon:search_word = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M138.09-191.09q-44.31 0-75.16-30.84-30.84-30.85-30.84-75.16V-359q0-22.09 15.45-37.54Q63-412 85.09-412q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54v61.91H827V-359q0-22.09 15.46-37.54Q857.91-412 880-412t37.54 15.46Q933-381.09 933-359v61.91q0 44.31-30.85 75.16-30.85 30.84-75.15 30.84H138.09Zm152.52-154.26q-46.74 0-76.44-27.48-29.69-27.47-29.69-70.34 0-43.13 33.06-70.2 33.07-27.06 85.76-27.06 21.31 0 40.53 3.78 19.21 3.78 32.08 11.22v-15.7q0-21.91-16.8-36.5-16.81-14.59-43.15-14.59-12.18 0-24.55 3.66-12.37 3.65-21.67 9.95-13.52 8.13-26.28 7.72-12.76-.41-21.76-9.68-9.57-9.26-9.03-23.15.55-13.89 15.33-24.15 15.74-12.48 40.52-20.07 24.78-7.58 52.96-7.58 58.61 0 92.17 31.76 33.57 31.76 33.57 87.19v152.09q0 14.83-10.48 25.02-10.48 10.2-25.87 10.2-14.7 0-24.61-9.07-9.91-9.06-9.91-22.63v-5.13h-3q-11.87 18.87-33.87 29.81-22 10.93-48.87 10.93Zm29.35-140.17q-30.31 0-45.89 10.52-15.59 10.52-15.59 30.13 0 18.3 13.3 29.39 13.31 11.09 35.05 11.09 29.17 0 49.13-19.96 19.95-19.95 19.95-49.13-11.74-6.3-26.63-9.17-14.89-2.87-29.32-2.87Zm338.69 140.17q-33.08 0-56.28-14.89-23.2-14.89-33.72-31.11h-3v10.74q0 14.26-9.91 24.18-9.91 9.91-24.17 9.91-14.27 0-24.68-10.41-10.41-10.42-10.41-24.68v-343.3q0-15.26 10.41-25.68Q517.3-761 532.57-761q15.26 0 25.67 10.41 10.41 10.42 10.41 25.68v82.56l-3 40h3q9.22-14.04 32.76-30.02 23.55-15.98 58.37-15.98 57.22 0 93.37 44.87 36.15 44.87 36.15 107.13t-36.21 106.63q-36.22 44.37-94.44 44.37Zm-19.17-235.69q-33.22 0-53.52 25.26-20.31 25.26-20.31 59 0 34.17 20.02 58.65 20.03 24.48 53.81 24.48t53.74-24.76q19.95-24.76 19.95-58.94 0-34.17-20.24-58.93-20.23-24.76-53.45-24.76Z" /></svg>
|
||||
icon:bullet-off = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-60.78q-87.52 0-163.91-32.96-76.38-32.96-132.88-89.47-56.51-56.5-89.47-132.88Q60.78-392.48 60.78-480t32.96-163.91q32.96-76.38 89.47-132.88 56.5-56.51 132.88-89.47 76.39-32.96 163.91-32.96t163.91 32.96q76.38 32.96 132.88 89.47 56.51 56.5 89.47 132.88 32.96 76.39 32.96 163.91t-32.96 163.91q-32.96 76.38-89.47 132.88-56.5 56.51-132.88 89.47Q567.52-60.78 480-60.78Zm0-106q131.74 0 222.48-90.74 90.74-90.74 90.74-222.48t-90.74-222.48Q611.74-793.22 480-793.22t-222.48 90.74Q166.78-611.74 166.78-480t90.74 222.48q90.74 90.74 222.48 90.74Zm0 0q-131.74 0-222.48-90.74-90.74-90.74-90.74-222.48t90.74-222.48q90.74-90.74 222.48-90.74t222.48 90.74q90.74 90.74 90.74 222.48t-90.74 222.48Q611.74-166.78 480-166.78Z" /></svg>
|
||||
icon:bullet-on = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-280q83 0 141.5-58.5T680-480q0-83-58.5-141.5T480-680q-83 0-141.5 58.5T280-480q0 83 58.5 141.5T480-280Zm0 219.22q-87.52 0-163.91-32.96-76.38-32.96-132.88-89.47-56.51-56.5-89.47-132.88Q60.78-392.48 60.78-480t32.96-163.91q32.96-76.38 89.47-132.88 56.5-56.51 132.88-89.47 76.39-32.96 163.91-32.96t163.91 32.96q76.38 32.96 132.88 89.47 56.51 56.5 89.47 132.88 32.96 76.39 32.96 163.91t-32.96 163.91q-32.96 76.38-89.47 132.88-56.5 56.51-132.88 89.47Q567.52-60.78 480-60.78Z" /></svg>
|
||||
icon:unfold-hide = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M413.78-285.96q-10.26 0-18.52-7.47-8.26-7.48-8.26-19.31v-334.52q0-11.83 8.26-19.31 8.26-7.47 18.52-7.47 3.13 0 18.52 8.26l158 158q6.14 6.13 8.7 13.11 2.57 6.97 2.57 14.67T599-465.33q-2.56 6.98-8.7 13.11l-158 158q-4.13 4.13-8.76 6.2-4.63 2.06-9.76 2.06Z" /></svg>
|
||||
icon:unfold-show = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m452.22-369.7-158-158q-4.13-4.13-6.2-8.76-2.06-4.63-2.06-9.76 0-10.26 7.47-18.52 7.48-8.26 19.31-8.26h334.52q11.83 0 19.31 8.26 7.47 8.26 7.47 18.52 0 3.13-8.26 18.52l-158 158q-6.13 6.14-13.11 8.7-6.97 2.57-14.67 2.57T465.33-361q-6.98-2.56-13.11-8.7Z" /></svg>
|
||||
icon:sb_build = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M747.56-225.43v57.87q0 10.82 7.42 18.23 7.41 7.42 18.24 7.42 10.82 0 18.24-7.42 7.41-7.41 7.41-18.23V-287q0-10.83-7.7-18.52-7.69-7.7-18.52-7.7H653.22q-10.83 0-18.24 7.42-7.42 7.41-7.42 17.95 0 10.55 7.7 18.24 7.7 7.7 17.96 7.7h58.43l-88.39 88.39q-7.7 7.69-7.7 17.96 0 10.26 7.82 17.95 7.82 7.7 18.24 7.7 10.42 0 18.12-7.7l87.82-87.82ZM713.22-27.56q-83 0-141.5-58.5t-58.5-141.5q0-83 58.5-141.5t141.5-58.5q83 0 141.5 58.5t58.5 141.5q0 83-58.5 141.5t-141.5 58.5ZM326.78-591.52h306.44q17 0 28.5-11.5t11.5-28.5q0-17-11.5-28.5t-28.5-11.5H326.78q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5Zm-120 492.43q-43.72 0-74.86-31.13-31.14-31.14-31.14-74.87v-546.43q0-43.73 31.14-74.86 31.14-31.14 74.86-31.14h546.44q43.72 0 74.86 31.14 31.14 31.13 31.14 74.86v216.3q0 24.22-20.37 36.76-20.37 12.55-43.59 3.72-19.11-6.13-39.9-9.19-20.79-3.07-42.14-3.07-11 0-20.5.41-9.5.4-19.5 2.03-7.31-6.53-18.31-10.14-11-3.6-21.69-3.6H326.78q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5h203.87q-18 15.3-33.06 33.6-15.07 18.31-27.2 39.61H326.78q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5h112.83q-3.7 13.96-5.05 28.26-1.34 14.31-1.34 29.83 0 17.17 1.62 33.25 1.62 16.09 5.68 31.27 5.57 23.78-7.54 43.59-13.11 19.8-36.33 19.8H206.78Z" /></svg>
|
||||
icon:sb_details = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M416.96-187q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54t15.45-37.54Q394.87-293 416.96-293h389.26q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q828.3-187 806.22-187H416.96Zm0-240q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54t15.45-37.54Q394.87-533 416.96-533h389.26q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q828.3-427 806.22-427H416.96Zm0-240q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54t15.45-37.54Q394.87-773 416.96-773h389.26q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q828.3-667 806.22-667H416.96ZM191.95-148.13q-37.95 0-64.84-27.03-26.89-27.02-26.89-64.98 0-37.95 27.02-64.84 27.03-26.89 64.98-26.89t64.85 27.03q26.89 27.02 26.89 64.98 0 37.95-27.03 64.84t-64.98 26.89Zm0-240q-37.95 0-64.84-27.03-26.89-27.02-26.89-64.98 0-37.95 27.02-64.84 27.03-26.89 64.98-26.89t64.85 27.03q26.89 27.02 26.89 64.98 0 37.95-27.03 64.84t-64.98 26.89Zm0-240q-37.95 0-64.84-27.03-26.89-27.02-26.89-64.98 0-37.95 27.02-64.84 27.03-26.89 64.98-26.89t64.85 27.03q26.89 27.02 26.89 64.98 0 37.95-27.03 64.84t-64.98 26.89Z" /></svg>
|
||||
icon:sb_novel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M331.3-338.65q20.96 0 35.57-14.61t14.61-35.57V-748.7q0-20.95-14.61-35.56-14.61-14.61-35.57-14.61-20.95 0-35.56 14.61-14.61 14.61-14.61 35.56v359.87q0 20.96 14.61 35.57t35.56 14.61ZM753.22-60.78H240q-58.01 0-98.61-40.44-40.61-40.44-40.61-98.21v-558.31q0-58.95 41.27-100.21 41.26-41.27 100.21-41.27h275.96q-40.79 36.7-64.59 88.07-23.8 51.37-23.8 111.15 0 107.18 72.04 184.17 72.04 77 177 85v83.7q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H240q-16.52 0-27.69 11.5-11.18 11.5-11.18 28.5t11.18 28.5q11.17 11.5 27.69 11.5h518.87v-275.13q27.65-6.13 53.02-17.74 25.37-11.61 47.33-28.13v315.35q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85ZM700-469.83q0-96.25 66.96-163.21Q833.92-700 930.17-700q-96.25 0-163.21-66.96Q700-833.92 700-930.17q0 96.25-66.96 163.21Q566.08-700 469.83-700q96.25 0 163.21 66.96Q700-566.08 700-469.83Z" /></svg>
|
||||
icon:sb_outline = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M320-595.48q18.92 0 31.72-12.8 12.8-12.8 12.8-31.72 0-18.92-12.8-31.72-12.8-12.8-31.72-12.8-18.92 0-31.72 12.8-12.8 12.8-12.8 31.72 0 18.92 12.8 31.72 12.8 12.8 31.72 12.8Zm0 160q18.92 0 31.72-12.8 12.8-12.8 12.8-31.72 0-18.92-12.8-31.72-12.8-12.8-31.72-12.8-18.92 0-31.72 12.8-12.8 12.8-12.8 31.72 0 18.92 12.8 31.72 12.8 12.8 31.72 12.8Zm0 160q18.92 0 31.72-12.8 12.8-12.8 12.8-31.72 0-18.92-12.8-31.72-12.8-12.8-31.72-12.8-18.92 0-31.72 12.8-12.8 12.8-12.8 31.72 0 18.92 12.8 31.72 12.8 12.8 31.72 12.8Zm-113.22 174.7q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h389.48q21.23 0 40.46 7.98 19.24 7.98 34.19 22.94L828.3-670.91q14.96 14.95 22.94 34.19 7.98 19.23 7.98 40.46v389.48q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm377.39-652.44v116.05q0 22.08 15.46 37.54t37.54 15.46h116.05L584.17-753.22Z" /></svg>
|
||||
icon:sb_project = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M556.61-113.78v-63.74q0-10.83 4.13-20.31 4.13-9.47 11.83-17.17L781-423q10.7-10.7 23.67-15.54 12.98-4.85 26.24-4.85 14.26 0 27.24 5.35 12.98 5.34 23.68 16.04l37 37q9.69 10.7 15.04 23.67 5.35 12.98 5.35 26.24 0 13.83-4.85 27.03-4.85 13.19-15.54 23.89l-208 208q-7.7 7.69-17.18 11.54-9.48 3.85-20.3 3.85h-63.74q-22.09 0-37.54-15.46-15.46-15.46-15.46-37.54Zm279.96-187.96 31.34-33.35-37-37-32.34 32.35 38 38ZM166.78-140.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-466.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h181q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L480-730.74h313.22q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v57q0 21.96-17.89 35.22-17.89 13.26-40.85 9.13-9.78-.57-19.35.28-9.57.85-18.78 3.68-21.79 2.82-41.76 12.82-19.98 10-36.59 26.61L507.52-263.52q-14.95 14.95-22.93 33.98-7.98 19.02-7.98 40.67v1.31q0 19.82-13.48 33.3-13.48 13.48-33.3 13.48H166.78Z" /></svg>
|
||||
icon:sb_search = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M375.48-307q-114.09 0-193.55-79.46-79.45-79.45-79.45-193.54 0-114.09 79.45-193.54Q261.39-853 375.48-853q114.09 0 193.54 79.46 79.46 79.45 79.46 193.54 0 45.13-12.87 83.28T601-429.7l219.48 220.05q14.96 15.52 14.96 37.32 0 21.81-15.53 36.77-14.95 14.95-37.04 14.95t-37.04-14.95L526.91-354.48q-29.43 21.74-68.15 34.61Q420.04-307 375.48-307Zm0-106q69.91 0 118.45-48.54 48.55-48.55 48.55-118.46t-48.55-118.46Q445.39-747 375.48-747t-118.46 48.54Q208.48-649.91 208.48-580t48.54 118.46Q305.57-413 375.48-413Z" /></svg>
|
||||
icon:sb_stats = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M694.7-140.78q-22.09 0-37.55-15.46-15.45-15.46-15.45-37.54v-201.13q0-22.09 15.45-37.55 15.46-15.45 37.55-15.45h71.52q22.08 0 37.54 15.45 15.46 15.46 15.46 37.55v201.13q0 22.08-15.46 37.54t-37.54 15.46H694.7Zm-250.18 0q-22.09 0-37.54-15.46-15.46-15.46-15.46-37.54v-572.44q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46h70.96q22.09 0 37.54 15.46 15.46 15.46 15.46 37.54v572.44q0 22.08-15.46 37.54-15.45 15.46-37.54 15.46h-70.96Zm-250.74 0q-22.08 0-37.54-15.46t-15.46-37.54v-372.44q0-22.08 15.46-37.54t37.54-15.46h71.52q22.09 0 37.55 15.46 15.45 15.46 15.45 37.54v372.44q0 22.08-15.45 37.54-15.46 15.46-37.55 15.46h-71.52Z" /></svg>
|
||||
icon:add = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M427-427H233.78q-22.08 0-37.54-15.46-15.46-15.45-15.46-37.54t15.46-37.54Q211.7-533 233.78-533H427v-193.22q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46t37.54 15.46Q533-748.3 533-726.22V-533h193.22q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q748.3-427 726.22-427H533v193.22q0 22.08-15.46 37.54-15.45 15.46-37.54 15.46t-37.54-15.46Q427-211.7 427-233.78V-427Z" /></svg>
|
||||
icon:bookmarks = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M387-150.39 241.04-86.87q-53 22.65-100.87-8.48-47.87-31.13-47.87-88.83v-461.34q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h377.39q44.31 0 75.16 30.85 30.85 30.85 30.85 75.15v461.34q0 57.7-47.87 88.83-47.87 31.13-100.88 8.48L387-150.39Zm427.7-27.13q-22.09 0-37.55-15.46-15.45-15.46-15.45-37.54v-601h-441q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54t15.45-37.55q15.46-15.45 37.55-15.45h441q44.3 0 75.15 30.85 30.85 30.84 30.85 75.15v601q0 22.08-15.46 37.54t-37.54 15.46Z" /></svg>
|
||||
icon:browse = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M166.78-140.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-466.44q0-44.87 30.85-75.43 30.85-30.57 75.15-30.57h181q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L480-730.74h366.22q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54q-15.46 15.46-37.54 15.46H340.57q-69.35 0-121.57 43.52-52.22 43.53-52.22 110.31v226.95l70.52-226.82q10.83-33.35 38.55-53.65 27.72-20.31 62.76-20.31h471.91q54 0 85.7 43.52 31.69 43.53 15.61 94.53l-53.92 174.43q-14.78 45.78-46.17 68.63-31.39 22.85-78.31 22.85H166.78Z" /></svg>
|
||||
icon:build_settings = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M747.56-225.43v57.87q0 10.82 7.42 18.23 7.41 7.42 18.24 7.42 10.82 0 18.24-7.42 7.41-7.41 7.41-18.23V-287q0-10.83-7.7-18.52-7.69-7.7-18.52-7.7H653.22q-10.83 0-18.24 7.42-7.42 7.41-7.42 17.95 0 10.55 7.7 18.24 7.7 7.7 17.96 7.7h58.43l-88.39 88.39q-7.7 7.69-7.7 17.96 0 10.26 7.82 17.95 7.82 7.7 18.24 7.7 10.42 0 18.12-7.7l87.82-87.82ZM713.22-27.56q-83 0-141.5-58.5t-58.5-141.5q0-83 58.5-141.5t141.5-58.5q83 0 141.5 58.5t58.5 141.5q0 83-58.5 141.5t-141.5 58.5ZM326.78-591.52h306.44q17 0 28.5-11.5t11.5-28.5q0-17-11.5-28.5t-28.5-11.5H326.78q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5Zm-120 492.43q-43.72 0-74.86-31.13-31.14-31.14-31.14-74.87v-546.43q0-43.73 31.14-74.86 31.14-31.14 74.86-31.14h546.44q43.72 0 74.86 31.14 31.14 31.13 31.14 74.86v216.3q0 24.22-20.37 36.76-20.37 12.55-43.59 3.72-19.11-6.13-39.9-9.19-20.79-3.07-42.14-3.07-11 0-20.5.41-9.5.4-19.5 2.03-7.31-6.53-18.31-10.14-11-3.6-21.69-3.6H326.78q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5h203.87q-18 15.3-33.06 33.6-15.07 18.31-27.2 39.61H326.78q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5h112.83q-3.7 13.96-5.05 28.26-1.34 14.31-1.34 29.83 0 17.17 1.62 33.25 1.62 16.09 5.68 31.27 5.57 23.78-7.54 43.59-13.11 19.8-36.33 19.8H206.78Z" /></svg>
|
||||
icon:cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-417.78 106.96 106.95q12.69 12.7 31.1 12.42 18.42-.29 31.11-12.98 12.7-12.7 12.7-31.11t-12.7-31.11L542.22-480l106.95-106.96q12.7-12.69 12.7-31.1 0-18.42-12.7-31.11-12.69-12.7-31.11-12.7-18.41 0-31.1 12.7L480-542.22 373.04-649.17q-12.69-12.7-30.82-12.7-18.13 0-30.83 12.7-12.69 12.69-12.69 31.11 0 18.41 12.69 31.1L417.78-480 310.83-373.04q-12.7 12.69-12.42 30.82.29 18.13 12.98 30.83 12.7 12.69 31.11 12.69t31.11-12.69L480-417.78Zm0 357q-87.52 0-163.91-32.91-76.39-32.92-132.94-89.46-56.54-56.55-89.46-132.94Q60.78-392.48 60.78-480t32.91-163.91q32.92-76.39 89.46-132.94 56.55-56.54 132.94-89.46 76.39-32.91 163.91-32.91t163.91 32.91q76.39 32.92 132.94 89.46 56.54 56.55 89.46 132.94 32.91 76.39 32.91 163.91t-32.91 163.91q-32.92 76.39-89.46 132.94-56.55 56.54-132.94 89.46Q567.52-60.78 480-60.78Z" /></svg>
|
||||
icon:checked = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m422.3-441.52-71.86-71.31q-14.4-14.39-35.64-14.11-21.23.29-35.63 14.68-14.39 14.39-14.39 35.35 0 20.95 14.39 35.35L384.7-335.48q15.95 15.96 37.6 15.96 21.66 0 37.61-15.96l217.52-218.08q14.4-14.4 14.11-35.64-.28-21.23-14.67-35.63-14.39-14.39-35.35-14.39t-35.35 14.39L422.3-441.52ZM206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h546.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v546.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Z" /></svg>
|
||||
icon:chevron_down = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-348q-10.26 0-20.09-3.91-9.82-3.92-17.52-11.61L258.96-546.96Q244-561.91 244-584t14.96-37.04Q273.91-636 296-636t37.04 14.96L480-474.09l146.96-146.95Q641.91-636 664-636t37.04 14.96Q716-606.09 716-584t-14.96 37.04L517.61-363.52q-7.7 7.69-17.52 11.61Q490.26-348 480-348Z" /></svg>
|
||||
icon:chevron_left = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m178.18-480 284.95 284.96q18.39 18.39 18.18 44.04-.22 25.65-18.61 44.04-18.39 18.4-44.33 18.4-25.93 0-44.33-18.4L75.09-404.91q-15.96-15.96-23.65-35.48-7.7-19.52-7.7-39.61t7.7-39.61q7.69-19.52 23.65-35.48l298.95-298.95q18.4-18.4 44.55-18.18 26.15.22 44.54 18.61t18.39 44.33q0 25.93-18.39 44.32L178.18-480Z" /></svg>
|
||||
icon:chevron_right = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M560.91-480 275.96-764.96q-18.4-18.39-18.18-44.26.22-25.87 18.61-44.26 18.39-18.39 44.54-18.39 26.16 0 44.55 18.39L664-555.09q15.96 15.96 23.65 35.48 7.7 19.52 7.7 39.61t-7.7 39.61q-7.69 19.52-23.65 35.48L365.04-105.96q-18.39 18.4-44.04 17.9t-44.04-18.9q-18.4-18.39-18.4-44.54t18.4-44.54L560.91-480Z" /></svg>
|
||||
icon:chevron_up = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-509.91 333.04-362.96Q318.09-348 296-348t-37.04-14.96Q244-377.91 244-400t14.96-37.04l183.43-183.44q15.96-15.96 37.61-15.96t37.61 15.96l183.43 183.44Q716-422.09 716-400t-14.96 37.04Q686.09-348 664-348t-37.04-14.96L480-509.91Z" /></svg>
|
||||
icon:close = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-405.91 293.04-218.96Q278.09-204 256-204t-37.04-14.96Q204-233.91 204-256t14.96-37.04L405.91-480 218.96-666.96Q204-681.91 204-704t14.96-37.04Q233.91-756 256-756t37.04 14.96L480-554.09l186.96-186.95Q681.91-756 704-756t37.04 14.96Q756-726.09 756-704t-14.96 37.04L554.09-480l186.95 186.96Q756-278.09 756-256t-14.96 37.04Q726.09-204 704-204t-37.04-14.96L480-405.91Z" /></svg>
|
||||
icon:copy = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M379.78-233.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-466.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h346.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v466.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H379.78Zm-186 186q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-519.44q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46t37.55 15.46q15.45 15.46 15.45 37.54v519.44h399.44q22.08 0 37.54 15.45 15.46 15.46 15.46 37.55 0 22.09-15.46 37.54-15.46 15.46-37.54 15.46H193.78Z" /></svg>
|
||||
icon:document_add = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M246.78-60.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-626.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h277.39q21.23 0 40.46 7.98 19.24 7.98 34.2 22.94L788.3-678.83q14.96 14.96 22.94 34.2 7.98 19.23 7.98 40.46v437.39q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H246.78Zm266.44-585.44q0 22.09 15.45 37.55 15.46 15.45 37.55 15.45h147l-200-200v147ZM440-353.78v80q0 17 11.5 28.5t28.5 11.5q17 0 28.5-11.5t11.5-28.5v-80h80q17 0 28.5-11.5t11.5-28.5q0-17-11.5-28.5t-28.5-11.5h-80v-80q0-17-11.5-28.5t-28.5-11.5q-17 0-28.5 11.5t-11.5 28.5v80h-80q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5h80Z" /></svg>
|
||||
icon:document = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M371.3-464.87h217.4q18.92 0 31.72-12.8 12.8-12.8 12.8-31.72 0-18.92-12.8-31.72-12.8-12.8-31.72-12.8H371.3q-18.92 0-31.72 12.8-12.8 12.8-12.8 31.72 0 18.92 12.8 31.72 12.8 12.8 31.72 12.8Zm0 129.04h217.4q18.92 0 31.72-12.8 12.8-12.8 12.8-31.72 0-18.92-12.8-31.72-12.8-12.8-31.72-12.8H371.3q-18.92 0-31.72 12.8-12.8 12.8-12.8 31.72 0 18.92 12.8 31.72 12.8 12.8 31.72 12.8Zm0 129.05h97.4q18.92 0 31.72-12.8 12.8-12.8 12.8-31.72 0-18.93-12.8-31.73t-31.72-12.8h-97.4q-18.92 0-31.72 12.8-12.8 12.8-12.8 31.73 0 18.92 12.8 31.72 12.8 12.8 31.72 12.8Zm-124.52 146q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-626.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h277.39q21.23 0 40.46 7.98 19.24 7.98 34.2 22.94L788.3-678.83q14.96 14.96 22.94 34.2 7.98 19.23 7.98 40.46v437.39q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H246.78Zm266.44-585.44q0 22.09 15.45 37.55 15.46 15.45 37.55 15.45h147l-200-200v147Z" /></svg>
|
||||
icon:edit = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M153.78-100.78q-22.08 0-37.54-15.46t-15.46-37.54v-109.44q0-21.08 7.98-40.39 7.98-19.3 22.94-34.26l495.95-495.52q13.13-12.7 29.33-19.26 16.19-6.57 33.89-6.57 17.13 0 33.83 6.57 16.69 6.56 29.95 19.69l79.31 78.61q13.13 12.7 19.48 29.68 6.34 16.97 6.34 34.24 0 17.69-6.34 34.17-6.35 16.48-19.48 29.61L339-131.7q-14.96 14.96-34.26 22.94-19.3 7.98-40.39 7.98H153.78ZM691.56-635l56-55.43L691-747.56l-56.57 56L691.56-635Z" /></svg>
|
||||
icon:exclude = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M333-427h294q22.09 0 37.54-15.46Q680-457.91 680-480t-15.46-37.54Q649.09-533 627-533H333q-22.09 0-37.54 15.46Q280-502.09 280-480t15.46 37.54Q310.91-427 333-427ZM480-60.78q-87.52 0-163.91-32.96-76.38-32.96-132.88-89.47-56.51-56.5-89.47-132.88Q60.78-392.48 60.78-480t32.96-163.91q32.96-76.38 89.47-132.88 56.5-56.51 132.88-89.47 76.39-32.96 163.91-32.96t163.91 32.96q76.38 32.96 132.88 89.47 56.51 56.5 89.47 132.88 32.96 76.39 32.96 163.91t-32.96 163.91q-32.96 76.38-89.47 132.88-56.5 56.51-132.88 89.47Q567.52-60.78 480-60.78Z" /></svg>
|
||||
icon:export = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m309.26-151.91-67.39 67.95Q225.91-68 204.26-68.5t-37.04-16.46q-14.96-15.95-15.18-37.32-.21-21.37 15.18-36.76L235.17-227h-30.78q-22.09 0-37.54-15.46-15.46-15.45-15.46-37.54t15.46-37.54Q182.3-333 204.39-333h157.87q22.09 0 37.54 15.46 15.46 15.45 15.46 37.54v157.87q0 22.09-15.46 37.54-15.45 15.46-37.54 15.46t-37.54-15.46q-15.46-15.45-15.46-37.54v-29.78Zm239 91.13q-22.08 0-37.54-15.46t-15.46-37.54V-254q0-65.83-46.59-112.41Q402.09-413 336.26-413H193.78q-22.08 0-37.54-15.46-15.46-15.45-15.46-37.54v-327.22q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h321.13l251.31 251.31v481.13q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H548.26Zm-35.04-532.44h200l-200-200 200 200-200-200v200Z" /></svg>
|
||||
icon:filter = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M440-140.78q-24.35 0-41.78-17.44-17.44-17.43-17.44-41.78v-233.22L153.3-724.7q-22.91-29.6-7.04-62.06 15.87-32.46 53.74-32.46h560q37.87 0 53.74 32.46 15.87 32.46-7.04 62.06L579.22-433.22v239.44q0 22.65-15.18 37.82-15.17 15.18-37.82 15.18H440Z" /></svg>
|
||||
icon:fit_height = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M246.78-60.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-626.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h466.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v626.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H246.78Zm166.87-521.13h132.7q17.95 0 24.93-16.24t-5.85-29.07l-47.82-47.82Q501.65-691 480-691t-37.61 15.96l-47.82 47.82q-12.83 12.83-5.85 29.07 6.98 16.24 24.93 16.24Zm103.96 297.52 47.82-47.83q12.83-12.82 5.85-29.06t-24.93-16.24h-132.7q-17.95 0-24.93 16.24t5.85 29.06l47.82 47.83q15.96 15.95 37.61 15.95t37.61-15.95Z" /></svg>
|
||||
icon:fit_width = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M166.78-140.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-466.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h626.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v466.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H166.78Zm211.31-272.87v-132.7q0-17.95-16.24-24.93t-29.07 5.85l-47.82 47.82Q269-501.65 269-480t15.96 37.61l47.82 47.82q12.83 12.83 29.07 5.85 16.24-6.98 16.24-24.93Zm297.52-103.96-47.83-47.82q-12.82-12.83-29.06-5.85t-16.24 24.93v132.7q0 17.95 16.24 24.93t29.06-5.85l47.83-47.82q15.95-15.96 15.95-37.61t-15.95-37.61Z" /></svg>
|
||||
icon:folder = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M166.78-140.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-466.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h181q21.09 0 40.39 7.98 19.31 7.98 34.26 22.94L480-730.74h313.22q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v377.96q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H166.78Z" /></svg>
|
||||
icon:font = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M384-356.91h190.87l31.61 87.95q4.56 12.7 15.98 20.83 11.41 8.13 25.11 8.13 23.39 0 36.73-19.33 13.35-19.32 4.79-41.58L539.91-691.04q-5-12.7-16.69-20.83-11.7-8.13-25.96-8.13h-34.52q-14.26 0-25.96 8.13-11.69 8.13-16.69 20.83L269.78-298.65q-8.56 21.26 4.57 39.95Q287.48-240 310.3-240q14.13 0 25.05-7.85 10.91-7.85 15.91-20.98L384-356.91Zm25.13-76.79L478-628.3h2.87l68.3 194.6H409.13ZM166.78-60.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-626.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h626.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v626.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H166.78Z" /></svg>
|
||||
icon:import = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-52.31q0-20.39 14.33-35 14.32-14.61 35.28-14.61 20.39 0 35 14.61t14.61 35V-200h560v-483.39H200v59.08q0 20.4-14.33 35-14.32 14.61-35.28 14.61-20.39 0-35-14.61-14.61-14.6-14.61-35v-128.91q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h546.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v546.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78ZM455.91-388.7H153.78q-22.08 0-37.54-15.45-15.46-15.46-15.46-37.55 0-22.08 15.46-37.54t37.54-15.46h302.13l-33.52-33.95q-14.96-14.96-14.89-36.55.06-21.58 15.46-37.54 14.95-15.52 37.04-15.52t37.61 15.52L621.04-479.3Q637-463.35 637-441.7q0 21.66-15.96 37.61l-124 124q-14.95 14.96-36.82 15.18-21.87.21-37.83-15.74-14.96-14.96-14.96-37.05 0-22.08 14.96-37.04l33.52-33.96Z" /></svg>
|
||||
icon:language = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m600.74-159.04-22.13 63.65q-5.13 15.52-18.81 25.06-13.67 9.55-30.19 9.55-26.78 0-42.96-21.87-16.17-21.87-6.48-48.09l144.09-398.04q6.7-17.22 21.5-27.61t33.02-10.39h41.87q18.22 0 33.02 10.39 14.81 10.39 21.51 27.61l144.08 397.91q9.7 25.78-6.26 47.94-15.96 22.15-43.3 22.15-16.96 0-30.7-9.55-13.74-9.54-19.87-26.06l-21.56-62.65H600.74Zm-252.31-213.7L188-212.74q-15.52 15.52-36.83 15.46-21.3-.07-37.26-16.02-15.52-15.53-15.52-37.33 0-21.8 15.52-37.33l161-161q-40.65-41.78-70.56-87.06-29.92-45.28-51.66-97.2h116.79q15.48 29.96 34.91 56.13 19.44 26.18 45.17 53.48 31.87-34.13 64.83-88.83 32.96-54.69 49.26-100.78H70.39q-22.09 0-37.54-15.45-15.46-15.46-15.46-37.55 0-22.08 15.46-37.54 15.45-15.46 37.54-15.46h227v-27q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46t37.54 15.46q15.46 15.46 15.46 37.54v27h227q22.09 0 37.54 15.46 15.46 15.46 15.46 37.54 0 22.09-15.46 37.55-15.45 15.45-37.54 15.45H575.3q-22.13 69.18-64.97 144.61-42.85 75.44-87.24 121.09l68.87 70.3-39.61 110.83-103.92-106.35Zm285.22 117.7h130.44l-65.22-189.31-65.22 189.31Z" /></svg>
|
||||
icon:lines = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M150.96-180.78q-20.96 0-35.57-14.61t-14.61-35.57q0-20.95 14.61-35.56 14.61-14.61 35.57-14.61h658.08q20.96 0 35.57 14.61t14.61 35.56q0 20.96-14.61 35.57t-35.57 14.61H150.96Zm0-166.22q-20.96 0-35.57-14.61t-14.61-35.56q0-20.96 14.61-35.57t35.57-14.61h658.08q20.96 0 35.57 14.61t14.61 35.57q0 20.95-14.61 35.56Q830-347 809.04-347H150.96Zm0-165.65q-20.96 0-35.57-14.61t-14.61-35.57q0-20.95 14.61-35.56Q130-613 150.96-613h658.08q20.96 0 35.57 14.61t14.61 35.56q0 20.96-14.61 35.57t-35.57 14.61H150.96Zm0-166.22q-20.96 0-35.57-14.61t-14.61-35.56q0-20.96 14.61-35.57t35.57-14.61h658.08q20.96 0 35.57 14.61t14.61 35.57q0 20.95-14.61 35.56-14.61 14.61-35.57 14.61H150.96Z" /></svg>
|
||||
icon:list = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M416.96-187q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54t15.45-37.54Q394.87-293 416.96-293h389.26q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q828.3-187 806.22-187H416.96Zm0-240q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54t15.45-37.54Q394.87-533 416.96-533h389.26q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q828.3-427 806.22-427H416.96Zm0-240q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54t15.45-37.54Q394.87-773 416.96-773h389.26q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q828.3-667 806.22-667H416.96ZM191.95-148.13q-37.95 0-64.84-27.03-26.89-27.02-26.89-64.98 0-37.95 27.02-64.84 27.03-26.89 64.98-26.89t64.85 27.03q26.89 27.02 26.89 64.98 0 37.95-27.03 64.84t-64.98 26.89Zm0-240q-37.95 0-64.84-27.03-26.89-27.02-26.89-64.98 0-37.95 27.02-64.84 27.03-26.89 64.98-26.89t64.85 27.03q26.89 27.02 26.89 64.98 0 37.95-27.03 64.84t-64.98 26.89Zm0-240q-37.95 0-64.84-27.03-26.89-27.02-26.89-64.98 0-37.95 27.02-64.84 27.03-26.89 64.98-26.89t64.85 27.03q26.89 27.02 26.89 64.98 0 37.95-27.03 64.84t-64.98 26.89Z" /></svg>
|
||||
icon:margin_bottom = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M193.78-100.78q-22.08 0-37.54-15.46t-15.46-37.54q0-22.09 15.46-37.55 15.46-15.45 37.54-15.45h572.44q22.08 0 37.54 15.45 15.46 15.46 15.46 37.55 0 22.08-15.46 37.54t-37.54 15.46H193.78ZM480-306.61q-10.26 0-20.09-3.91-9.82-3.92-17.52-11.61L298.96-465.57Q284-480.52 284-502.61t14.96-37.04q14.95-14.96 37.04-14.96t37.04 14.96L427-485.7v-320.52q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46t37.54 15.46Q533-828.3 533-806.22v320.52l53.96-53.95q14.95-14.96 37.04-14.96t37.04 14.96Q676-524.7 676-502.61t-14.96 37.04L517.61-322.13q-7.7 7.69-17.52 11.61-9.83 3.91-20.09 3.91Z" /></svg>
|
||||
icon:margin_left = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M113.78-227q-22.08 0-37.54-15.46Q60.78-257.91 60.78-280v-400q0-22.09 15.46-37.54Q91.7-733 113.78-733q22.09 0 37.55 15.46 15.45 15.45 15.45 37.54v400q0 22.09-15.45 37.54Q135.87-227 113.78-227Zm335.18-200 93.52 92.96q15.96 15.95 15.67 37.82-.28 21.87-16.24 37.83-15.95 14.96-37.54 14.67-21.59-.28-36.54-15.24L284.39-442.39q-7.69-7.7-11.61-17.52-3.91-9.83-3.91-20.09t3.91-20.09q3.92-9.82 11.61-17.52l183.44-183.43Q482.78-716 504.87-716t37.04 14.96q15.4 15.39 15.18 37.26-.22 21.87-15.18 36.82L448.96-533h397.26q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q868.3-427 846.22-427H448.96Z" /></svg>
|
||||
icon:margin_right = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M846.22-227q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54v-400q0-22.09 15.45-37.54Q824.13-733 846.22-733q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54v400q0 22.09-15.46 37.54Q868.3-227 846.22-227ZM511.04-427H113.78q-22.08 0-37.54-15.46Q60.78-457.91 60.78-480t15.46-37.54Q91.7-533 113.78-533h397.26l-92.95-93.96q-14.96-14.95-15.18-36.82-.22-21.87 15.18-37.26Q433.04-716 455.13-716t37.04 14.96l183.44 183.43q7.69 7.7 11.61 17.52 3.91 9.83 3.91 20.09t-3.91 20.09q-3.92 9.82-11.61 17.52L492.17-258.96q-14.95 14.96-36.54 15.24-21.59.29-37.54-14.67-15.96-15.96-16.24-37.83-.29-21.87 15.67-37.82L511.04-427Z" /></svg>
|
||||
icon:margin_top = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M193.78-753.22q-22.08 0-37.54-15.45-15.46-15.46-15.46-37.55 0-22.08 15.46-37.54t37.54-15.46h572.44q22.08 0 37.54 15.46t15.46 37.54q0 22.09-15.46 37.55-15.46 15.45-37.54 15.45H193.78ZM480-100.78q-22.09 0-37.54-15.46Q427-131.7 427-153.78V-474.3l-53.96 53.95q-14.95 14.96-37.04 14.96t-37.04-14.96Q284-435.3 284-457.39t14.96-37.04l143.43-143.44q7.7-7.69 17.52-11.61 9.83-3.91 20.09-3.91t20.09 3.91q9.82 3.92 17.52 11.61l143.43 143.44Q676-479.48 676-457.39t-14.96 37.04q-14.95 14.96-37.04 14.96t-37.04-14.96L533-474.3v320.52q0 22.08-15.46 37.54-15.45 15.46-37.54 15.46Z" /></svg>
|
||||
icon:maximise = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-206.78h74.92q22.08 0 37.54 15.45 15.46 15.46 15.46 37.55 0 22.08-15.46 37.54t-37.54 15.46H153.78q-22.08 0-37.54-15.46t-15.46-37.54V-281.7q0-22.08 15.46-37.54t37.54-15.46q22.09 0 37.55 15.46 15.45 15.46 15.45 37.54v74.92Zm546.44 0v-74.92q0-22.08 15.45-37.54 15.46-15.46 37.55-15.46 22.08 0 37.54 15.46t15.46 37.54v127.92q0 22.08-15.46 37.54t-37.54 15.46H678.87q-22.09 0-37.54-15.46-15.46-15.46-15.46-37.54 0-22.09 15.46-37.55 15.45-15.45 37.54-15.45h74.35ZM206.78-753.22v74.35q0 22.09-15.45 37.54-15.46 15.46-37.55 15.46-22.08 0-37.54-15.46-15.46-15.45-15.46-37.54v-127.35q0-22.08 15.46-37.54t37.54-15.46H281.7q22.08 0 37.54 15.46t15.46 37.54q0 22.09-15.46 37.55-15.46 15.45-37.54 15.45h-74.92Zm546.44 0h-74.35q-22.09 0-37.54-15.45-15.46-15.46-15.46-37.55 0-22.08 15.46-37.54 15.45-15.46 37.54-15.46h127.35q22.08 0 37.54 15.46t15.46 37.54v127.35q0 22.09-15.46 37.54-15.46 15.46-37.54 15.46-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54v-74.35Z" /></svg>
|
||||
icon:minimise = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M228.7-228.7h-74.92q-22.08 0-37.54-15.45-15.46-15.46-15.46-37.55 0-22.08 15.46-37.54t37.54-15.46H281.7q22.08 0 37.54 15.46t15.46 37.54v127.92q0 22.08-15.46 37.54t-37.54 15.46q-22.09 0-37.55-15.46-15.45-15.46-15.45-37.54v-74.92Zm503.17 0v74.92q0 22.08-15.46 37.54-15.45 15.46-37.54 15.46t-37.54-15.46q-15.46-15.46-15.46-37.54V-281.7q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46h127.35q22.08 0 37.54 15.46t15.46 37.54q0 22.09-15.46 37.55-15.46 15.45-37.54 15.45h-74.35ZM228.7-731.87v-74.35q0-22.08 15.45-37.54 15.46-15.46 37.55-15.46 22.08 0 37.54 15.46t15.46 37.54v127.35q0 22.09-15.46 37.54-15.46 15.46-37.54 15.46H153.78q-22.08 0-37.54-15.46-15.46-15.45-15.46-37.54t15.46-37.54q15.46-15.46 37.54-15.46h74.92Zm503.17 0h74.35q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54q-15.46 15.46-37.54 15.46H678.87q-22.09 0-37.54-15.46-15.46-15.45-15.46-37.54v-127.35q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46t37.54 15.46q15.46 15.46 15.46 37.54v74.35Z" /></svg>
|
||||
icon:more_arrow = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M413.78-285.96q-10.26 0-18.52-7.47-8.26-7.48-8.26-19.31v-334.52q0-11.83 8.26-19.31 8.26-7.47 18.52-7.47 3.13 0 18.52 8.26l158 158q6.14 6.13 8.7 13.11 2.57 6.97 2.57 14.67T599-465.33q-2.56 6.98-8.7 13.11l-158 158q-4.13 4.13-8.76 6.2-4.63 2.06-9.76 2.06Z" /></svg>
|
||||
icon:more_vertical = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480.28-134q-36.67 0-62.72-25.99-26.04-25.99-26.04-62.49 0-36.73 25.99-62.88 25.99-26.16 62.49-26.16 36.96 0 62.72 26.08 25.76 26.09 25.76 62.72 0 36.63-25.76 62.68Q516.96-134 480.28-134Zm0-257.52q-36.67 0-62.72-25.99-26.04-25.99-26.04-62.49 0-36.96 25.99-62.72 25.99-25.76 62.49-25.76 36.96 0 62.72 25.76 25.76 25.76 25.76 62.44 0 36.67-25.76 62.72-25.76 26.04-62.44 26.04Zm0-256.96q-36.67 0-62.72-26.2-26.04-26.21-26.04-63 0-36.8 25.99-62.56Q443.5-826 480-826q36.96 0 62.72 25.76 25.76 25.76 25.76 62.56 0 36.79-25.76 63-25.76 26.2-62.44 26.2Z" /></svg>
|
||||
icon:noncheckable = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M328.48-431.52h303.04q20.39 0 34.44-14.04Q680-459.61 680-480q0-20.39-14.04-34.44-14.05-14.04-34.44-14.04H328.48q-20.39 0-34.44 14.04Q280-500.39 280-480q0 20.39 14.04 34.44 14.05 14.04 34.44 14.04Zm-121.7 330.74q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h546.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v546.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Z" /></svg>
|
||||
icon:open = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85H427q22.09 0 37.54 15.46Q480-828.3 480-806.22q0 22.09-15.46 37.55-15.45 15.45-37.54 15.45H206.78v546.44h546.44V-427q0-22.09 15.45-37.54Q784.13-480 806.22-480q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54v220.22q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm546.44-578.91L442-368.48q-14.96 14.96-36.48 14.68-21.52-.29-36.48-15.24-14.95-14.96-14.95-36.77 0-21.8 14.95-36.76l310.65-310.65H613q-22.09 0-37.54-15.45Q560-784.13 560-806.22q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46h193.22q22.08 0 37.54 15.46t15.46 37.54V-613q0 22.09-15.46 37.54Q828.3-560 806.22-560q-22.09 0-37.55-15.46-15.45-15.45-15.45-37.54v-66.69Z" /></svg>
|
||||
icon:panel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M206.78-100.78q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h546.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v546.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Zm0-320.7h546.44v-331.74H206.78v331.74Z" /></svg>
|
||||
icon:pin = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M659.22-767.35v267.57l64.61 64.6q7.69 7.7 11.54 17.18 3.85 9.48 3.85 20.3v31.48q0 22.09-15.46 37.55-15.46 15.45-37.54 15.45H533v215.65q0 10.83-3.85 20.31-3.85 9.48-11.54 17.17L498.52-41q-7.69 7.7-18.52 7.7-10.83 0-18.52-7.7l-19.09-19.09q-7.69-7.69-11.54-17.17Q427-86.74 427-97.57v-215.65H273.78q-22.08 0-37.54-15.45-15.46-15.46-15.46-37.55v-31.48q0-10.82 3.85-20.3t11.54-17.18l64.61-64.6v-267.57q-17-3.95-28.5-18-11.5-14.04-11.5-32.74 0-22.09 15.46-37.54 15.46-15.46 37.54-15.46h332.44q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54 0 18.7-11.5 32.74-11.5 14.05-28.5 18Z" /></svg>
|
||||
icon:project_copy = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M123.39-100.78q-43.72 0-74.86-31.14t-31.14-74.86v-444.96q0-22.08 15.46-37.54 15.45-15.46 37.54-15.46t37.54 15.46q15.46 15.46 15.46 37.54v444.96h642.83q22.08 0 37.54 15.45 15.46 15.46 15.46 37.55 0 22.08-15.46 37.54t-37.54 15.46H123.39Zm186-186q-43.72 0-74.86-31.14t-31.14-74.86v-400.44q0-43.72 31.14-74.86t74.86-31.14h141q21.23 0 40.46 7.98 19.24 7.98 34.19 22.94l49.09 49.08h262.48q43.72 0 74.86 31.14t31.14 74.86v320.44q0 43.72-31.14 74.86t-74.86 31.14H309.39Z" /></svg>
|
||||
icon:quote = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m241.09-296.04 55.73-95.48q-67.69-4.52-112.71-53.5Q139.09-494 139.09-560q0-71.09 49.82-120.63 49.83-49.54 120.92-49.54 71.08 0 120.63 49.54Q480-631.09 480-560q0 23-5.22 42.78-5.21 19.79-15.08 37.22L325.35-247q-6.7 11.26-17.68 17.89-10.97 6.63-24.24 6.63-28.08 0-42.41-24.52-14.33-24.52.07-49.04Zm380.34.56 55.74-96.04q-67.69-4.52-112.43-53.5Q520-494 520-560q0-71.09 49.54-120.63 49.55-49.54 120.63-49.54 71.09 0 120.92 49.54 49.82 49.54 49.82 120.63 0 23-5.21 42.78-5.22 19.79-15.09 37.22L705.7-247q-6.7 11.26-17.68 17.89-10.98 6.63-24.24 6.63-28.08 0-42.13-24.24-14.04-24.24-.22-48.76Z" /></svg>
|
||||
icon:refresh = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M477.74-140.78q-141.35 0-240.28-98.94-98.94-98.93-98.94-240.28t98.94-240.28q98.93-98.94 240.28-98.94 74.09 0 140.76 30.2 66.67 30.19 113.94 87.15v-72.83q0-18.92 12.8-31.72 12.8-12.8 31.72-12.8 18.92 0 31.72 12.8 12.8 12.8 12.8 31.72v210.18q0 22.09-15.46 37.54-15.45 15.46-37.54 15.46H557.17q-18.68 0-31.32-12.8-12.63-12.8-12.63-31.72 0-18.68 12.8-31.32T557.74-600h120.09q-32-52.61-85.01-82.91-53-30.31-115.08-30.31-97.17 0-165.2 68.02-68.02 68.03-68.02 165.2 0 97.17 68.02 165.2 68.03 68.02 165.2 68.02 61.78 0 114.04-30.26 52.26-30.26 83.83-80.92 11.18-17.48 31.43-24.35 20.26-6.86 39.64.4 20.67 7.26 29.93 26.65 9.26 19.39-1 36.78-44.39 80.57-123.5 129.13-79.11 48.57-174.37 48.57Z" /></svg>
|
||||
icon:remove = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M233.78-427q-22.08 0-37.54-15.46-15.46-15.45-15.46-37.54t15.46-37.54Q211.7-533 233.78-533h492.44q22.08 0 37.54 15.46 15.46 15.45 15.46 37.54t-15.46 37.54Q748.3-427 726.22-427H233.78Z" /></svg>
|
||||
icon:revert = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M479.43-100.78q-130.22 0-230.48-77.35-100.25-77.35-133.78-198.61-5.69-19.52 7.42-35.98 13.11-16.45 35.35-19.58 20.93-3.13 38.73 7.41 17.81 10.54 24.5 30.5 26.83 83.22 97.68 135.41 70.85 52.2 160.58 52.2 114.17 0 193.7-79.53 79.52-79.53 79.52-193.7 0-114.16-79.52-193.69-79.53-79.52-193.7-79.52-62.21 0-117.69 27.2-55.48 27.19-94.78 76.41h49.65q18.92 0 31.72 12.8 12.8 12.8 12.8 31.72 0 18.7-12.8 31.89-12.8 13.2-31.72 13.2H158.87q-22.09 0-37.54-15.46-15.46-15.45-15.46-37.54v-157.17q0-18.69 12.8-31.32 12.8-12.64 31.72-12.64 18.68 0 31.32 12.64 12.64 12.63 12.64 31.32v41.56q53.82-62.87 128.05-96.74 74.23-33.87 157.03-33.87 78.91 0 147.83 29.91 68.91 29.92 120.24 81.24 51.33 51.33 81.24 120.26 29.91 68.92 29.91 147.84 0 78.93-29.91 147.82-29.91 68.89-81.24 120.22-51.33 51.32-120.24 81.24-68.92 29.91-147.83 29.91Zm.24-290.74q-36.63 0-62.67-25.97t-26.04-62.43q0-36.47 25.99-62.52 25.99-26.04 62.48-26.04 36.74 0 62.89 25.76 26.16 25.76 26.16 62.72 0 36.96-26.09 62.72-26.08 25.76-62.72 25.76Z" /></svg>
|
||||
icon:settings = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M422.26-60.78q-29.83 0-51.3-19.41-21.48-19.42-25.48-48.24l-9-66.57q-8.48-3.3-16.31-8.04-7.82-4.74-15.43-9.92l-61.44 26q-27.26 11.57-55.08 2.29-27.83-9.29-42.96-35.11L87.52-321.57q-15.13-25.26-8.85-53.8 6.29-28.54 29.55-46.67l52.43-40q-.43-4.74-.43-8.98v-17.96q0-4.24.43-8.98l-52.43-39.43q-23.83-18.13-29.83-46.67-6-28.55 9.13-54.37l57.74-101.22q15.13-25.26 42.67-34.83 27.55-9.56 54.81 2l63.13 26q7.61-5.17 15.09-9.63 7.47-4.46 15.52-7.76l9-67.13q4-29.39 25.48-48.81 21.47-19.41 51.3-19.41h115.48q29.83 0 51.3 19.41 21.48 19.42 25.48 48.81l9 67.13q8.48 3.3 16.31 7.76 7.82 4.46 15.43 9.63l61.44-26q27.26-11.56 55.08-2 27.83 9.57 42.96 34.83l57.74 101.22q15.13 25.82 9.13 54.37-6 28.54-29.83 46.67l-53 39.43q.44 4.74.44 8.98v8.98q0 4.74-.28 8.98-.29 4.24-1.16 8.98l53 39.43q23.83 18.13 29.83 46.67 6 28.55-9.13 54.37l-58.74 101.79q-15.13 25.26-42.67 34.82-27.55 9.57-54.81-2l-61.13-26q-7.61 5.18-15.09 9.92-7.47 4.74-15.52 8.04l-9 66.57q-4 28.82-25.48 48.24-21.47 19.41-51.3 19.41H422.26ZM480.3-340q58 0 99-41t41-99q0-58-41-99t-99-41q-58.43 0-99.21 41-40.79 41-40.79 99t40.79 99q40.78 41 99.21 41Z" /></svg>
|
||||
icon:star = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-247.52 312.3-146.39q-14.95 9.26-30.91 7.98-15.96-1.28-27.78-10.55-11.83-9.26-18.24-23.43-6.41-14.17-2.28-31.13l44.56-190.7-148.69-128.69q-13.4-11.83-16.74-27-3.35-15.18 1.21-29.57 4.57-14.39 16.24-24.22 11.68-9.82 29.63-11.82l195.7-17 76.13-180.26q6.7-16.53 20.3-24.22 13.61-7.7 28.57-7.7t28.57 7.7q13.6 7.69 20.3 24.22L605-632.52l195.7 17q17.95 2 29.63 11.82 11.67 9.83 16.24 24.22 4.56 14.39 1.21 29.57-3.34 15.17-16.74 27L682.35-394.22l44.56 190.7q4.13 16.96-2.28 31.13-6.41 14.17-18.24 23.43-11.82 9.27-27.78 10.55-15.96 1.28-30.91-7.98L480-247.52Z" /></svg>
|
||||
icon:stats = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m100.96-187.17 203.95-203.96q30.92-30.91 75.09-30.63 44.17.28 75.09 31.2l83.78 83.78 246.96-278.83q14.95-16.96 37.54-17.52 22.59-.57 39.11 15.39 14.96 14.39 15.74 35.54.78 21.16-13.61 37.11L615.22-233.26q-30.35 34.48-75.94 35.98-45.58 1.5-77.93-30.85L380-309.48 179.04-108.52Q162.09-91.56 140-91.85q-22.09-.28-39.04-17.24-16.4-16.95-16.4-39.32t16.4-38.76Zm0-262.05 203.95-203.95q30.92-30.92 75.09-31.2 44.17-.28 75.09 31.2l83.78 83.78 246.96-278.83q14.95-16.96 37.54-17.52 22.59-.57 39.11 15.39 14.96 14.39 15.74 35.55.78 21.15-13.61 37.1L615.22-495.87q-30.35 34.48-75.94 35.98-45.58 1.5-77.93-30.85L380-572.09 179.04-371.13q-16.39 16.39-38.76 16.67-22.37.29-39.32-16.67-16.4-16.39-16.4-39.04 0-22.66 16.4-39.05Z" /></svg>
|
||||
icon:text = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M191.52-158.17q-20.96 0-35.85-14.89t-14.89-35.85q0-20.96 14.89-35.57t35.85-14.61h336.39q20.39.57 35 14.9 14.61 14.32 14.61 35.84 0 20.96-14.61 35.57t-35.56 14.61H191.52Zm-.56-179.79q-20.96 0-35.57-14.6-14.61-14.61-14.61-35.57t14.61-35.57q14.61-14.6 35.57-14.6h578.08q20.96 0 35.57 14.6 14.61 14.61 14.61 35.57t-14.61 35.57q-14.61 14.6-35.57 14.6H190.96Zm0-178.65q-20.96 0-35.57-14.61t-14.61-35.56q0-20.96 14.61-35.57t35.57-14.61h578.08q20.96 0 35.57 14.61t14.61 35.57q0 20.95-14.61 35.56-14.61 14.61-35.57 14.61H190.96Zm2.82-179.22q-22.08 0-37.54-15.45-15.46-15.46-15.46-37.55 0-22.08 15.46-37.54t37.54-15.46h572.44q22.08 0 37.54 15.46t15.46 37.54q0 22.09-15.46 37.55-15.46 15.45-37.54 15.45H193.78Z" /></svg>
|
||||
icon:timer_off = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-45.52q-78.52 0-147.41-29.91-68.89-29.92-120.44-81.18-51.54-51.26-81.46-120.15-29.91-68.89-29.91-147.41 0-61.13 18.5-118.33 18.5-57.2 53.5-105.02l-92.17-92.17q-12.7-12.7-12.41-30.83.28-18.13 12.97-30.83 12.7-12.69 30.83-12.69t30.83 12.69L820-124.74q12.7 12.7 12.7 30.83T820-63.09q-12.7 12.7-31.11 12.7t-31.11-12.7l-55-54.43q-48 35-104.91 53.5T480-45.52ZM390.96-840q-20.4 0-34.44-14.33-14.04-14.32-14.04-34.71 0-20.4 14.32-34.44 14.33-14.04 34.72-14.04h177.52q20.4 0 34.44 14.04t14.04 34.44q0 20.39-14.04 34.71Q589.44-840 569.04-840H390.96Zm359.3 521.09L528.48-540.7v-45.17q0-17-11.5-28.5t-28.5-11.5q-9.44 0-17.65 3.72-8.22 3.72-13.22 10.59l-83.31-83.31q-24.21-24.22-16.95-57.41 7.26-33.2 39.17-41.2 20.05-5.74 41.02-7.82 20.98-2.09 42.46-2.09 63.39 0 122.59 20 59.19 20 109.63 58.56l28.56-28.56q14.39-14.39 34.5-14.39t34.5 14.39q14.4 14.39 14.4 34.5t-14.4 34.5l-28.56 28.56q38 49.87 58 109.07 20 59.2 20 122.59 0 21.47-2.37 41.95-2.37 20.48-7.54 40.96-7.44 31.91-40.35 39.74-32.92 7.82-58.7-17.39Z" /></svg>
|
||||
icon:timer = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M390.96-840q-20.61 0-34.55-14.33-13.93-14.32-13.93-34.71 0-20.4 13.93-34.44 13.94-14.04 34.55-14.04h178.08q20.61 0 34.55 13.93 13.93 13.94 13.93 34.55 0 20.39-13.93 34.71Q589.65-840 569.04-840H390.96ZM480-384.17q20.6 0 34.54-13.94 13.94-13.94 13.94-34.54v-144.74q0-20.6-13.94-34.54-13.94-13.94-34.54-13.94t-34.54 13.94q-13.94 13.94-13.94 34.54v144.74q0 20.6 13.94 34.54 13.94 13.94 34.54 13.94Zm0 338.65q-78.52 0-147.42-29.85-68.89-29.85-120.43-81.18-51.54-51.32-81.46-120.21-29.91-68.89-29.91-147.41 0-78.53 29.97-147.39 29.96-68.87 81.48-120.38 51.52-51.52 120.38-81.49 68.87-29.96 147.39-29.96 63.13 0 122.39 20t109.83 58.56l28.56-28.56q14.39-14.39 34.5-14.39t34.5 14.39q14.4 14.39 14.4 34.5t-14.4 34.5l-28.56 28.56q38.56 50.57 58.28 109.55t19.72 122.11q0 78.52-29.91 147.41-29.92 68.89-81.46 120.21-51.54 51.33-120.43 81.18Q558.52-45.52 480-45.52Z" /></svg>
|
||||
icon:unchecked = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-417.78 113.17 113.17q12.7 12.7 31.11 12.41 18.42-.28 31.11-12.97 12.7-12.7 12.7-31.11 0-18.42-12.7-31.11L542.22-480l113.17-113.17q12.7-12.7 12.7-31.11 0-18.42-12.7-31.11-12.69-12.7-31.11-12.7-18.41 0-31.11 12.7L480-542.22 366.83-655.39q-12.7-12.7-30.83-12.7t-30.83 12.7q-12.69 12.69-12.69 31.11 0 18.41 12.69 31.11L417.78-480 304.61-366.83q-12.7 12.7-12.41 30.83.28 18.13 12.97 30.83 12.7 12.69 31.11 12.69 18.42 0 31.11-12.69L480-417.78Zm-273.22 317q-44.3 0-75.15-30.85-30.85-30.85-30.85-75.15v-546.44q0-44.3 30.85-75.15 30.85-30.85 75.15-30.85h546.44q44.3 0 75.15 30.85 30.85 30.85 30.85 75.15v546.44q0 44.3-30.85 75.15-30.85 30.85-75.15 30.85H206.78Z" /></svg>
|
||||
icon:view = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm.1-83.87q-40.01 0-68.12-28.01-28.11-28.01-28.11-68.02 0-40.01 28.01-68.12 28.01-28.11 68.02-28.11 40.01 0 68.12 28.01 28.11 28.01 28.11 68.02 0 40.01-28.01 68.12-28.01 28.11-68.02 28.11Zm-.1 221.39q-137.39 0-251.28-73.13Q114.83-328.74 49.7-450.13q-6.7-11.83-9.77-24.43-3.06-12.61-3.06-25.44 0-12.83 3.06-25.44 3.07-12.6 9.77-24.43 65.13-121.39 179.02-194.52Q342.61-817.52 480-817.52t251.28 73.13q113.89 73.13 179.02 194.52 6.7 11.83 9.77 24.43 3.06 12.61 3.06 25.44 0 12.83-3.06 25.44-3.07 12.6-9.77 24.43-65.13 121.39-179.02 194.52Q617.39-182.48 480-182.48Z" /></svg>
|
||||
@@ -1,7 +1,7 @@
|
||||
# This file is automatically generated. Do not edit.
|
||||
|
||||
# Meta
|
||||
meta:name = Material Symbols - Filled Medium
|
||||
meta:name = Material Symbols - Filled
|
||||
meta:author = Google Inc
|
||||
meta:license = Apache 2.0
|
||||
|
||||
@@ -31,12 +31,14 @@ icon:prj_note = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:fmt_bold = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M352-200q-33 0-56.5-23.5T272-280v-400q0-33 23.5-56.5T352-760h141q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H352Zm41-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z" /></svg>
|
||||
icon:fmt_italic = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M250-200q-21 0-35.5-14.5T200-250q0-21 14.5-35.5T250-300h110l120-360H370q-21 0-35.5-14.5T320-710q0-21 14.5-35.5T370-760h300q21 0 35.5 14.5T720-710q0 21-14.5 35.5T670-660h-90L460-300h90q21 0 35.5 14.5T600-250q0 21-14.5 35.5T550-200H250Z" /></svg>
|
||||
icon:fmt_mark = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M160 0q-33 0-56.5-23.5T80-80q0-33 23.5-56.5T160-160h640q33 0 56.5 23.5T880-80q0 33-23.5 56.5T800 0H160Zm264-640 216 217-160 160q-24 24-56.5 24T367-263l-5 4q-11 9-24 14t-27 5H189q-14 0-19.5-12t4.5-22l92-91q-24-24-25-57.5t23-57.5l160-160Zm56-57 160-159q24-24 56.5-24t56.5 24l104 103q24 24 24 56.5T857-640L697-480 480-697Z" /></svg>
|
||||
icon:fmt_size = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M560-680H420q-25 0-42.5-17.5T360-740q0-25 17.5-42.5T420-800h400q25 0 42.5 17.5T880-740q0 25-17.5 42.5T820-680H680v460q0 25-17.5 42.5T620-160q-25 0-42.5-17.5T560-220v-460ZM200-480h-60q-25 0-42.5-17.5T80-540q0-25 17.5-42.5T140-600h240q25 0 42.5 17.5T440-540q0 25-17.5 42.5T380-480h-60v260q0 25-17.5 42.5T260-160q-25 0-42.5-17.5T200-220v-260Z" /></svg>
|
||||
icon:fmt_strike = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M486-160q-63 0-116.5-33.5T285-283q-9-16-2.5-33.5T306-343q18-10 37.5-3.5T374-322q18 30 48.5 48t65.5 18q44 0 76.5-27t32.5-69q0-20 14-34t34-14q20 0 34.5 14t14.5 34v12q0 79-62.5 129.5T486-160ZM120-480q-17 0-28.5-11.5T80-520q0-17 11.5-28.5T120-560h720q17 0 28.5 11.5T880-520q0 17-11.5 28.5T840-480H120Zm208-165q-17-10-23-29.5t4-36.5q25-47 72-71t101-24q48 0 90.5 20t71.5 58q11 14 7 32t-19 29q-17 12-36.5 9T562-677q-15-17-35-25t-43-8q-27 0-52 11t-38 34q-10 18-29.5 24t-36.5-4Z" /></svg>
|
||||
icon:fmt_subscript = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M800-160q-17 0-28.5-11.5T760-200v-40q0-17 11.5-28.5T800-280h80v-40H780q-8 0-14-6t-6-14q0-8 6-14t14-6h100q17 0 28.5 11.5T920-320v40q0 17-11.5 28.5T880-240h-80v40h100q8 0 14 6t6 14q0 8-6 14t-14 6H800Zm-483-80q-27 0-39.5-23t1.5-46l141-222-128-201q-14-22-1.5-45t38.5-23q12 0 22 5.5t16 15.5l111 179h4l110-179q6-10 16.5-15.5T630-800q27 0 39 23t-2 46L539-531l142 222q14 23 1 46t-39 23q-12 0-22-5.5T605-261L482-457h-4L355-261q-6 10-16.5 15.5T317-240Z" /></svg>
|
||||
icon:fmt_superscript = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M800-600q-17 0-28.5-11.5T760-640v-40q0-17 11.5-28.5T800-720h80v-40H780q-8 0-14-6t-6-14q0-8 6-14t14-6h100q17 0 28.5 11.5T920-760v40q0 17-11.5 28.5T880-680h-80v40h100q8 0 14 6t6 14q0 8-6 14t-14 6H800ZM317-160q-27 0-39.5-23t1.5-46l141-222-128-201q-14-22-1.5-45t38.5-23q12 0 22 5.5t16 15.5l111 179h4l110-179q6-10 16.5-15.5T630-720q27 0 39 23t-2 46L539-451l142 222q14 23 1 46t-39 23q-12 0-22-5.5T605-181L482-377h-4L355-181q-6 10-16.5 15.5T317-160Z" /></svg>
|
||||
icon:fmt_underline = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M240-120q-17 0-28.5-11.5T200-160q0-17 11.5-28.5T240-200h480q17 0 28.5 11.5T760-160q0 17-11.5 28.5T720-120H240Zm240-160q-101 0-157-63t-56-167v-279q0-21 15.5-36t36.5-15q21 0 36 15t15 36v285q0 56 28 91t82 35q54 0 82-35t28-91v-285q0-21 15.5-36t36.5-15q21 0 36 15t15 36v279q0 104-56 167t-157 63Z" /></svg>
|
||||
icon:fmt_toolbar = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M240-200q-17 0-28.5-11.5T200-240q0-17 11.5-28.5T240-280h480q17 0 28.5 11.5T760-240q0 17-11.5 28.5T720-200H240Zm54-208 137-368q4-11 13.5-17.5T466-800h28q12 0 21.5 6.5T529-776l137 369q6 17-4 32t-28 15q-11 0-20.5-6.5T600-384l-30-88H392l-32 89q-4 11-13 17t-20 6q-19 0-29.5-15.5T294-408Zm120-128h132l-64-182h-4l-64 182Z" /></svg>
|
||||
icon:search = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z" /></svg>
|
||||
icon:search_auto = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m646-438-86 138q-11 17-30.5 14T505-309l-28-112-273 273q-11 11-27.5 11.5T148-148q-11-11-11-28t11-28l273-274-112-28q-20-5-23-24.5t14-30.5l138-85-12-163q-2-20 16-29t33 4l125 105 151-61q19-8 33 6t6 33l-61 151 105 124q13 15 4 33t-29 16l-163-11ZM134-706q-6-6-6-14t6-14l52-52q6-6 14-6t14 6l52 52q6 6 6 14t-6 14l-52 52q-6 6-14 6t-14-6l-52-52Zm572 572-52-52q-6-6-6-14t6-14l52-52q6-6 14-6t14 6l52 52q6 6 6 14t-6 14l-52 52q-6 6-14 6t-14-6Z" /></svg>
|
||||
icon:search_cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z" /></svg>
|
||||
icon:search_case = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m247-364-32 89q-4 11-13 17t-20 6q-19 0-29.5-15.5T149-300l138-368q4-11 13.5-17.5T321-692h28q11 0 21 6.5t14 17.5l138 369q7 17-4 32t-29 15q-11 0-20-6.5T456-276l-31-88H247Zm23-64h131l-64-182h-4l-63 182Zm395 186q-51 0-81-27.5T554-342q0-44 34.5-72.5T677-443q23 0 45 4t38 11v-12q0-29-20.5-47T685-505q-15 0-29.5 4.5T629-487q-13 10-24.5 7T586-491q-7-8-7-19t11-19q20-16 45-23.5t51-7.5q69 0 103 32.5t34 97.5v147q0 13-9.5 22t-22.5 9q-13 0-22-9.5t-9-22.5v-5h-4q-14 23-38 35t-53 12Zm12-54q35 0 59.5-24t24.5-56q-14-8-33.5-12.5T689-393q-32 0-50 14t-18 37q0 20 16 33t40 13Z" /></svg>
|
||||
icon:search_loop = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M80-520q0-117 81.5-198.5T360-800h240q117 0 198.5 81.5T880-520q0 103-66 181t-168 95q-18 3-32-8t-14-28q0-17 13.5-29t31.5-16q69-16 112-70.5T800-520q0-83-58.5-141.5T600-720H360q-83 0-141.5 58.5T160-520q0 83 58.5 141.5T360-320h7l-36-36q-11-11-11-27.5t12-28.5q11-11 28-11t28 11l104 104q12 12 12 28t-12 28L388-148q-11 11-27.5 11T332-148q-12-12-12-28.5t12-28.5l35-35h-7q-117 0-198.5-81.5T80-520Z" /></svg>
|
||||
@@ -56,10 +58,31 @@ icon:sb_outline = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:sb_project = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M560-120v-66q0-8 3-15.5t9-13.5l209-208q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q8 9 12.5 20t4.5 22q0 11-4 22.5T903-300L695-92q-6 6-13.5 9T666-80h-66q-17 0-28.5-11.5T560-120Zm263-184 37-39-37-37-38 38 38 38ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h207q16 0 30.5 6t25.5 17l57 57h320q33 0 56.5 23.5T880-640v83q0 18-14.5 29t-33.5 8h-11q-28 0-52.5 10T724-480L503-259q-11 11-17 25.5t-6 30.5v3q0 17-11.5 28.5T440-160H160Z" /></svg>
|
||||
icon:sb_search = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z" /></svg>
|
||||
icon:sb_stats = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M680-160q-17 0-28.5-11.5T640-200v-200q0-17 11.5-28.5T680-440h80q17 0 28.5 11.5T800-400v200q0 17-11.5 28.5T760-160h-80Zm-240 0q-17 0-28.5-11.5T400-200v-560q0-17 11.5-28.5T440-800h80q17 0 28.5 11.5T560-760v560q0 17-11.5 28.5T520-160h-80Zm-240 0q-17 0-28.5-11.5T160-200v-360q0-17 11.5-28.5T200-600h80q17 0 28.5 11.5T320-560v360q0 17-11.5 28.5T280-160h-80Z" /></svg>
|
||||
icon:theme_light = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-280q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM80-440q-17 0-28.5-11.5T40-480q0-17 11.5-28.5T80-520h80q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440H80Zm720 0q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520h80q17 0 28.5 11.5T920-480q0 17-11.5 28.5T880-440h-80ZM480-760q-17 0-28.5-11.5T440-800v-80q0-17 11.5-28.5T480-920q17 0 28.5 11.5T520-880v80q0 17-11.5 28.5T480-760Zm0 720q-17 0-28.5-11.5T440-80v-80q0-17 11.5-28.5T480-200q17 0 28.5 11.5T520-160v80q0 17-11.5 28.5T480-40ZM226-678l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226-678Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734-282l43 42q12 11 11.5 28T777-183q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678-734l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183-183q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282-226l-42 43q-11 12-28 11.5T183-183Z" /></svg>
|
||||
icon:theme_dark = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-120q-151 0-255.5-104.5T120-480q0-138 90-239.5T440-838q13-2 23 3.5t16 14.5q6 9 6.5 21t-7.5 23q-17 26-25.5 55t-8.5 61q0 90 63 153t153 63q31 0 61.5-9t54.5-25q11-7 22.5-6.5T819-479q10 5 15.5 15t3.5 24q-14 138-117.5 229T480-120Z" /></svg>
|
||||
icon:theme_auto = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm40-83q119-15 199.5-104.5T800-480q0-123-80.5-212.5T520-797v634Z" /></svg>
|
||||
icon:btn_ok = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" /></svg>
|
||||
icon:btn_cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" /></svg>
|
||||
icon:btn_yes = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" /></svg>
|
||||
icon:btn_no = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M320-440h320q17 0 28.5-11.5T680-480q0-17-11.5-28.5T640-520H320q-17 0-28.5 11.5T280-480q0 17 11.5 28.5T320-440ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" /></svg>
|
||||
icon:btn_open = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z" /></svg>
|
||||
icon:btn_close = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" /></svg>
|
||||
icon:btn_save = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M692-148 588-252q-11-11-11-28t11-28q11-11 28-11t28 11l36 36v-127q0-17 11.5-28.5T720-439q17 0 28.5 11.5T760-399v127l36-36q11-11 28-11t28 11q11 11 11 28t-11 28L748-148q-12 12-28 12t-28-12ZM600 0q-17 0-28.5-11.5T560-40q0-17 11.5-28.5T600-80h240q17 0 28.5 11.5T880-40q0 17-11.5 28.5T840 0H600ZM240-160q-33 0-56.5-23.5T160-240v-560q0-33 23.5-56.5T240-880h247q16 0 30.5 6t25.5 17l194 194q11 11 17 25.5t6 30.5v48q0 17-11.5 28.5T720-519H560q-33 0-56.5 23.5T480-439v239q0 17-11.5 28.5T440-160H240Zm300-440h140L480-800l200 200-200-200v140q0 25 17.5 42.5T540-600Z" /></svg>
|
||||
icon:btn_browse = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h207q16 0 30.5 6t25.5 17l57 57h360q17 0 28.5 11.5T880-680q0 17-11.5 28.5T840-640H314q-62 0-108 39t-46 99v262l79-263q8-26 29.5-41.5T316-560h516q41 0 64.5 32.5T909-457l-72 240q-8 26-29.5 41.5T760-160H160Z" /></svg>
|
||||
icon:btn_list = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M400-200q-17 0-28.5-11.5T360-240q0-17 11.5-28.5T400-280h400q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H400Zm0-240q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h400q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H400Zm0-240q-17 0-28.5-11.5T360-720q0-17 11.5-28.5T400-760h400q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H400ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm0-240q-33 0-56.5-23.5T120-720q0-33 23.5-56.5T200-800q33 0 56.5 23.5T280-720q0 33-23.5 56.5T200-640Z" /></svg>
|
||||
icon:btn_new = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h200q17 0 28.5 11.5T440-800q0 17-11.5 28.5T400-760H200v560h560v-200q0-17 11.5-28.5T800-440q17 0 28.5 11.5T840-400v200q0 33-23.5 56.5T760-120H200Zm440-520h-80q-17 0-28.5-11.5T520-680q0-17 11.5-28.5T560-720h80v-80q0-17 11.5-28.5T680-840q17 0 28.5 11.5T720-800v80h80q17 0 28.5 11.5T840-680q0 17-11.5 28.5T800-640h-80v80q0 17-11.5 28.5T680-520q-17 0-28.5-11.5T640-560v-80Z" /></svg>
|
||||
icon:btn_create = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-269 314-169q-11 7-23 6t-21-8q-9-7-14-17.5t-2-23.5l44-189-147-127q-10-9-12.5-20.5T140-571q4-11 12-18t22-9l194-17 75-178q5-12 15.5-18t21.5-6q11 0 21.5 6t15.5 18l75 178 194 17q14 2 22 9t12 18q4 11 1.5 22.5T809-528L662-401l44 189q3 13-2 23.5T690-171q-9 7-21 8t-23-6L480-269Z" /></svg>
|
||||
icon:btn_reset = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M320-200q-17 0-28.5-11.5T280-240q0-17 11.5-28.5T320-280h244q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l76 76q11 11 11 28t-11 28q-11 11-28 11t-28-11L188-572q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l144-144q11-11 28-11t28 11q11 11 11 28t-11 28l-76 76h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H320Z" /></svg>
|
||||
icon:btn_insert = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M440-560h-80q-17 0-28.5-11.5T320-600q0-17 11.5-28.5T360-640h240q17 0 28.5 11.5T640-600q0 17-11.5 28.5T600-560h-80v200q0 17-11.5 28.5T480-320q-17 0-28.5-11.5T440-360v-200ZM40-80v-160q0-17 11.5-28.5T80-280h40v-400H80q-17 0-28.5-11.5T40-720v-160q0-17 11.5-28.5T80-920h160q17 0 28.5 11.5T280-880v40h400v-40q0-17 11.5-28.5T720-920h160q17 0 28.5 11.5T920-880v160q0 17-11.5 28.5T880-680h-40v400h40q17 0 28.5 11.5T920-240v160q0 17-11.5 28.5T880-40H720q-17 0-28.5-11.5T680-80v-40H280v40q0 17-11.5 28.5T240-40H80q-17 0-28.5-11.5T40-80Zm240-120h400v-40q0-17 11.5-28.5T720-280h40v-400h-40q-17 0-28.5-11.5T680-720v-40H280v40q0 17-11.5 28.5T240-680h-40v400h40q17 0 28.5 11.5T280-240v40Z" /></svg>
|
||||
icon:btn_apply = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m424-424-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-424ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z" /></svg>
|
||||
icon:btn_build = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M760-252v72q0 8 6 14t14 6q8 0 14-6t6-14v-120q0-8-6-14t-14-6H660q-8 0-14 6t-6 14q0 8 6 14t14 6h72l-98 98q-6 6-6 14t6 14q6 6 14 6t14-6l98-98ZM720-40q-83 0-141.5-58.5T520-240q0-83 58.5-141.5T720-440q83 0 141.5 58.5T920-240q0 83-58.5 141.5T720-40ZM320-600h320q17 0 28.5-11.5T680-640q0-17-11.5-28.5T640-680H320q-17 0-28.5 11.5T280-640q0 17 11.5 28.5T320-600ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v218q0 18-15 28t-32 4q-17-5-35.5-7.5T720-520q-11 0-20.5.5T680-517q-9-2-20-2.5t-20-.5H320q-17 0-28.5 11.5T280-480q0 17 11.5 28.5T320-440h205q-18 17-32.5 37T467-360H320q-17 0-28.5 11.5T280-320q0 17 11.5 28.5T320-280h123q-2 10-2.5 19.5T440-240q0 20 2 38t7 35q5 17-5 32t-27 15H200Z" /></svg>
|
||||
icon:btn_print = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M320-120q-33 0-56.5-23.5T240-200v-80h-80q-33 0-56.5-23.5T80-360v-160q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v160q0 33-23.5 56.5T800-280h-80v80q0 33-23.5 56.5T640-120H320Zm400-560H240v-80q0-33 23.5-56.5T320-840h320q33 0 56.5 23.5T720-760v80Zm0 220q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460ZM320-200h320v-160H320v160Z" /></svg>
|
||||
icon:btn_preview = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-480H200v480Zm280-80q-82 0-146.5-44.5T240-440q29-71 93.5-115.5T480-600q82 0 146.5 44.5T720-440q-29 71-93.5 115.5T480-280Zm0-100q-25 0-42.5-17.5T420-440q0-25 17.5-42.5T480-500q25 0 42.5 17.5T540-440q0 25-17.5 42.5T480-380Zm0 40q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29Z" /></svg>
|
||||
icon:add = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M440-440H240q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h200v-200q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v200h200q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H520v200q0 17-11.5 28.5T480-200q-17 0-28.5-11.5T440-240v-200Z" /></svg>
|
||||
icon:bookmarks = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M400-160 232-88q-40 17-76-6.5T120-161v-519q0-33 23.5-56.5T200-760h400q33 0 56.5 23.5T680-680v519q0 43-36 66.5T568-88l-168-72Zm400 0q-17 0-28.5-11.5T760-200v-640H280q-17 0-28.5-11.5T240-880q0-17 11.5-28.5T280-920h480q33 0 56.5 23.5T840-840v640q0 17-11.5 28.5T800-160Z" /></svg>
|
||||
icon:browse = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h207q16 0 30.5 6t25.5 17l57 57h360q17 0 28.5 11.5T880-680q0 17-11.5 28.5T840-640H314q-62 0-108 39t-46 99v262l79-263q8-26 29.5-41.5T316-560h516q41 0 64.5 32.5T909-457l-72 240q-8 26-29.5 41.5T760-160H160Z" /></svg>
|
||||
icon:build_settings = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M760-252v72q0 8 6 14t14 6q8 0 14-6t6-14v-120q0-8-6-14t-14-6H660q-8 0-14 6t-6 14q0 8 6 14t14 6h72l-98 98q-6 6-6 14t6 14q6 6 14 6t14-6l98-98ZM720-40q-83 0-141.5-58.5T520-240q0-83 58.5-141.5T720-440q83 0 141.5 58.5T920-240q0 83-58.5 141.5T720-40ZM320-600h320q17 0 28.5-11.5T680-640q0-17-11.5-28.5T640-680H320q-17 0-28.5 11.5T280-640q0 17 11.5 28.5T320-600ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v218q0 18-15 28t-32 4q-17-5-35.5-7.5T720-520q-11 0-20.5.5T680-517q-9-2-20-2.5t-20-.5H320q-17 0-28.5 11.5T280-480q0 17 11.5 28.5T320-440h205q-18 17-32.5 37T467-360H320q-17 0-28.5 11.5T280-320q0 17 11.5 28.5T320-280h123q-2 10-2.5 19.5T440-240q0 20 2 38t7 35q5 17-5 32t-27 15H200Z" /></svg>
|
||||
icon:calendar = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-40q0-17 11.5-28.5T280-880q17 0 28.5 11.5T320-840v40h320v-40q0-17 11.5-28.5T680-880q17 0 28.5 11.5T720-840v40h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Z" /></svg>
|
||||
icon:cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" /></svg>
|
||||
icon:checked = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m424-424-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-424ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z" /></svg>
|
||||
icon:chevron_down = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z" /></svg>
|
||||
@@ -81,6 +104,7 @@ icon:font = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:import = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-120q-33 0-56.5-23.5T120-200v-80q0-17 11.5-28.5T160-320q17 0 28.5 11.5T200-280v80h560v-480H200v80q0 17-11.5 28.5T160-560q-17 0-28.5-11.5T120-600v-160q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm287-280H160q-17 0-28.5-11.5T120-440q0-17 11.5-28.5T160-480h327l-55-56q-11-11-11.5-27.5T432-592q11-11 28-11t28 11l124 124q12 12 12 28t-12 28L488-288q-11 11-27.5 11.5T432-288q-11-11-11-28t11-28l55-56Z" /></svg>
|
||||
icon:language = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m603-202-34 97q-4 11-14 18t-22 7q-20 0-32.5-16.5T496-133l152-402q5-11 15-18t22-7h30q12 0 22 7t15 18l152 403q8 19-4 35.5T868-80q-13 0-22.5-7T831-106l-34-96H603ZM362-401 188-228q-11 11-27.5 11.5T132-228q-11-11-11-28t11-28l174-174q-35-35-63.5-80T190-640h84q20 39 40 68t48 58q33-33 68.5-92.5T484-720H80q-17 0-28.5-11.5T40-760q0-17 11.5-28.5T80-800h240v-40q0-17 11.5-28.5T360-880q17 0 28.5 11.5T400-840v40h240q17 0 28.5 11.5T680-760q0 17-11.5 28.5T640-720h-76q-21 72-63 148t-83 116l96 98-30 82-122-125Zm266 129h144l-72-204-72 204Z" /></svg>
|
||||
icon:lines = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M160-200q-17 0-28.5-11.5T120-240q0-17 11.5-28.5T160-280h640q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H160Zm0-160q-17 0-28.5-11.5T120-400q0-17 11.5-28.5T160-440h640q17 0 28.5 11.5T840-400q0 17-11.5 28.5T800-360H160Zm0-160q-17 0-28.5-11.5T120-560q0-17 11.5-28.5T160-600h640q17 0 28.5 11.5T840-560q0 17-11.5 28.5T800-520H160Zm0-160q-17 0-28.5-11.5T120-720q0-17 11.5-28.5T160-760h640q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H160Z" /></svg>
|
||||
icon:link = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M280-280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h120q17 0 28.5 11.5T440-640q0 17-11.5 28.5T400-600H280q-50 0-85 35t-35 85q0 50 35 85t85 35h120q17 0 28.5 11.5T440-320q0 17-11.5 28.5T400-280H280Zm80-160q-17 0-28.5-11.5T320-480q0-17 11.5-28.5T360-520h240q17 0 28.5 11.5T640-480q0 17-11.5 28.5T600-440H360Zm200 160q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h120q50 0 85-35t35-85q0-50-35-85t-85-35H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h120q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H560Z" /></svg>
|
||||
icon:list = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M400-200q-17 0-28.5-11.5T360-240q0-17 11.5-28.5T400-280h400q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H400Zm0-240q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h400q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H400Zm0-240q-17 0-28.5-11.5T360-720q0-17 11.5-28.5T400-760h400q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H400ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm0-240q-33 0-56.5-23.5T120-720q0-33 23.5-56.5T200-800q33 0 56.5 23.5T280-720q0 33-23.5 56.5T200-640Z" /></svg>
|
||||
icon:margin_bottom = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-120q-17 0-28.5-11.5T160-160q0-17 11.5-28.5T200-200h560q17 0 28.5 11.5T800-160q0 17-11.5 28.5T760-120H200Zm280-177q-8 0-15-2.5t-13-8.5L308-452q-11-11-11-28t11-28q11-11 28-11t28 11l76 76v-368q0-17 11.5-28.5T480-840q17 0 28.5 11.5T520-800v368l76-76q11-11 28-11t28 11q11 11 11 28t-11 28L508-308q-6 6-13 8.5t-15 2.5Z" /></svg>
|
||||
icon:margin_left = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M120-240q-17 0-28.5-11.5T80-280v-400q0-17 11.5-28.5T120-720q17 0 28.5 11.5T160-680v400q0 17-11.5 28.5T120-240Zm273-200 115 115q12 12 12 28.5T508-268q-12 11-28.5 11T452-268L268-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 28-11t28 11q12 12 11.5 28.5T508-636L393-520h447q17 0 28.5 11.5T880-480q0 17-11.5 28.5T840-440H393Z" /></svg>
|
||||
@@ -91,7 +115,6 @@ icon:minimise = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:more_arrow = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M420-308q-8 0-14-5.5t-6-14.5v-304q0-9 6-14.5t14-5.5q2 0 14 6l145 145q5 5 7 10t2 11q0 6-2 11t-7 10L434-314q-3 3-6.5 4.5T420-308Z" /></svg>
|
||||
icon:more_vertical = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z" /></svg>
|
||||
icon:noncheckable = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M320-440h320q17 0 28.5-11.5T680-480q0-17-11.5-28.5T640-520H320q-17 0-28.5 11.5T280-480q0 17 11.5 28.5T320-440ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z" /></svg>
|
||||
icon:open = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z" /></svg>
|
||||
icon:panel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-280h560v-360H200v360Z" /></svg>
|
||||
icon:pin = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M640-760v280l68 68q6 6 9 13.5t3 15.5v23q0 17-11.5 28.5T680-320H520v223q0 8-3 15.5T508-68l-14 14q-6 6-14 6t-14-6l-14-14q-6-6-9-13.5T440-97v-223H280q-17 0-28.5-11.5T240-360v-23q0-8 3-15.5t9-13.5l68-68v-280q-17 0-28.5-11.5T280-800q0-17 11.5-28.5T320-840h320q17 0 28.5 11.5T680-800q0 17-11.5 28.5T640-760Z" /></svg>
|
||||
icon:project_copy = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M120-120q-33 0-56.5-23.5T40-200v-480q0-17 11.5-28.5T80-720q17 0 28.5 11.5T120-680v480h640q17 0 28.5 11.5T800-160q0 17-11.5 28.5T760-120H120Zm160-160q-33 0-56.5-23.5T200-360v-440q0-33 23.5-56.5T280-880h167q16 0 30.5 6t25.5 17l57 57h280q33 0 56.5 23.5T920-720v360q0 33-23.5 56.5T840-280H280Z" /></svg>
|
||||
@@ -100,7 +123,6 @@ icon:refresh = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:remove = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M240-440q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h480q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H240Z" /></svg>
|
||||
icon:revert = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-120q-126 0-223-76.5T131-392q-4-15 6-27.5t27-14.5q16-2 29 6t18 24q24 90 99 147t170 57q117 0 198.5-81.5T760-480q0-117-81.5-198.5T480-760q-69 0-129 32t-101 88h70q17 0 28.5 11.5T360-600q0 17-11.5 28.5T320-560H160q-17 0-28.5-11.5T120-600v-160q0-17 11.5-28.5T160-800q17 0 28.5 11.5T200-760v54q51-64 124.5-99T480-840q75 0 140.5 28.5t114 77q48.5 48.5 77 114T840-480q0 75-28.5 140.5t-77 114q-48.5 48.5-114 77T480-120Zm0-280q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Z" /></svg>
|
||||
icon:settings = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M433-80q-27 0-46.5-18T363-142l-9-66q-13-5-24.5-12T307-235l-62 26q-25 11-50 2t-39-32l-47-82q-14-23-8-49t27-43l53-40q-1-7-1-13.5v-27q0-6.5 1-13.5l-53-40q-21-17-27-43t8-49l47-82q14-23 39-32t50 2l62 26q11-8 23-15t24-12l9-66q4-26 23.5-44t46.5-18h94q27 0 46.5 18t23.5 44l9 66q13 5 24.5 12t22.5 15l62-26q25-11 50-2t39 32l47 82q14 23 8 49t-27 43l-53 40q1 7 1 13.5v27q0 6.5-2 13.5l53 40q21 17 27 43t-8 49l-48 82q-14 23-39 32t-50-2l-60-26q-11 8-23 15t-24 12l-9 66q-4 26-23.5 44T527-80h-94Zm49-260q58 0 99-41t41-99q0-58-41-99t-99-41q-59 0-99.5 41T342-480q0 58 40.5 99t99.5 41Z" /></svg>
|
||||
icon:star = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-269 314-169q-11 7-23 6t-21-8q-9-7-14-17.5t-2-23.5l44-189-147-127q-10-9-12.5-20.5T140-571q4-11 12-18t22-9l194-17 75-178q5-12 15.5-18t21.5-6q11 0 21.5 6t15.5 18l75 178 194 17q14 2 22 9t12 18q4 11 1.5 22.5T809-528L662-401l44 189q3 13-2 23.5T690-171q-9 7-21 8t-23-6L480-269Z" /></svg>
|
||||
icon:stats = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m110-190 213-213q23-23 57-23t57 23l103 103 256-289q11-13 28.5-13t29.5 12q11 11 11.5 26.5T855-536L596-244q-23 26-57 27.5T480-240L380-340 170-130q-13 13-30 13t-30-13q-13-13-13-30t13-30Zm0-240 213-213q23-23 57-23t57 23l103 103 256-289q11-13 28.5-13t29.5 12q11 11 11.5 26.5T855-776L596-484q-23 26-57 27.5T480-480L380-580 170-370q-13 13-30 13t-30-13q-13-13-13-30t13-30Z" /></svg>
|
||||
icon:text = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M200-200q-17 0-28.5-11.5T160-240q0-17 11.5-28.5T200-280h320q17 0 28.5 11.5T560-240q0 17-11.5 28.5T520-200H200Zm0-160q-17 0-28.5-11.5T160-400q0-17 11.5-28.5T200-440h560q17 0 28.5 11.5T800-400q0 17-11.5 28.5T760-360H200Zm0-160q-17 0-28.5-11.5T160-560q0-17 11.5-28.5T200-600h560q17 0 28.5 11.5T800-560q0 17-11.5 28.5T760-520H200Zm0-160q-17 0-28.5-11.5T160-720q0-17 11.5-28.5T200-760h560q17 0 28.5 11.5T800-720q0 17-11.5 28.5T760-680H200Z" /></svg>
|
||||
icon:timer_off = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-80q-74 0-139.5-28.5T226-186q-49-49-77.5-114.5T120-440q0-60 18.5-115.5T192-656L84-764q-11-11-11-28t11-28q11-11 28-11t28 11l680 680q11 11 11 28t-11 28q-11 11-28 11t-28-11l-68-68q-48 35-103.5 53.5T480-80Zm-80-760q-17 0-28.5-11.5T360-880q0-17 11.5-28.5T400-920h160q17 0 28.5 11.5T600-880q0 17-11.5 28.5T560-840H400Zm348 516L520-552v-48q0-17-11.5-28.5T480-640q-10 0-18.5 4T448-624l-85-85q-18-18-13-43t29-33q24-8 49.5-11.5T480-800q60 0 117.5 20T706-722l28-28q11-11 28-11t28 11q11 11 11 28t-11 28l-28 28q38 51 58 108.5T840-440q0 26-3.5 51T825-339q-8 24-33 29t-44-14Z" /></svg>
|
||||
|
||||
@@ -31,12 +31,14 @@ icon:prj_note = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:fmt_bold = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M356.62-230q-17.62 0-29.58-11.96-11.96-11.96-11.96-29.58v-416.92q0-17.62 11.96-29.58Q339-730 356.62-730H483q57.31 0 101.15 36.15Q628-657.69 628-599.77q0 38.69-20.31 67.73-20.31 29.04-50.31 42.58 36.54 10.23 62.04 42.92t25.5 78.85q0 64.38-48.07 101.04Q548.77-230 491-230H356.62Zm9.46-47.38h122.46q46.46 0 75.04-27.97 28.57-27.96 28.57-65.11 0-37.16-28.57-65.12-28.58-27.96-75.73-27.96H366.08v186.16Zm0-232.62h114.54q39.92 0 67.61-24.69 27.69-24.69 27.69-61.85 0-37.84-28.15-62.08-28.15-24.23-66.69-24.23h-115V-510Z" /></svg>
|
||||
icon:fmt_italic = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M253.85-230q-9.37 0-15.84-6.49-6.47-6.49-6.47-15.88 0-9.4 6.47-15.82 6.47-6.43 15.84-6.43h123.07l139.23-410.76H393.08q-9.37 0-15.84-6.49-6.47-6.49-6.47-15.89 0-9.39 6.47-15.82 6.47-6.42 15.84-6.42h287.69q9.37 0 15.84 6.49 6.47 6.49 6.47 15.88 0 9.4-6.47 15.82-6.47 6.43-15.84 6.43H562.31L423.08-274.62h118.46q9.37 0 15.84 6.49 6.47 6.49 6.47 15.89 0 9.39-6.47 15.82-6.47 6.42-15.84 6.42H253.85Z" /></svg>
|
||||
icon:fmt_mark = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M120 0q-16.08 0-28.04-11.58Q80-23.15 80-40q0-16.08 11.96-28.04T120-80h720q16.08 0 28.04 11.58Q880-56.85 880-40q0 16.08-11.96 28.04T840 0H120Zm307.85-600.77 160.61 160.85-155.38 155.38q-19.39 19.39-45.35 19.39t-45.35-19.39l-7.69-7.69-27.31 27.08q-8.69 8.23-20.53 13.23-11.85 5-24.31 5h-45.85q-10.92 0-14.88-10.08-3.96-10.08 3.73-17.77l73.54-73.31-6.16-6.15q-19.38-19.39-19.61-45.58-.23-26.19 19.15-45.57l155.39-155.39Zm28.3-28.54 182.31-182.07q19.39-19.39 45.35-19.39t45.34 19.39l70.16 69.92q19.38 19.38 19.38 45.34 0 25.97-19.38 45.35L617-468.46 456.15-629.31Z" /></svg>
|
||||
icon:fmt_size = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M593.08-710H420.77q-10.26 0-17.44-7.21-7.18-7.2-7.18-17.5 0-10.29 7.18-17.79t17.44-7.5h394.61q10.26 0 17.44 7.21 7.18 7.2 7.18 17.5 0 10.29-7.18 17.79t-17.44 7.5h-172.3v485.38q0 10.26-7.21 17.44-7.2 7.18-17.5 7.18-10.29 0-17.79-7.4-7.5-7.41-7.5-17.98V-710ZM238.46-513.85h-93.84q-10.26 0-17.44-7.2-7.18-7.21-7.18-17.5 0-10.3 7.18-17.8t17.44-7.5h236.92q10.25 0 17.43 7.21t7.18 17.5q0 10.29-7.18 17.79t-17.43 7.5h-93.85v289.23q0 10.26-7.2 17.44-7.21 7.18-17.5 7.18-10.3 0-17.41-7.18-7.12-7.18-7.12-17.44v-289.23Z" /></svg>
|
||||
icon:fmt_strike = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M486-184.62q-56.85 0-104.96-30.03-48.12-30.04-75.27-80.66-3.62-7.54-.58-15.81 3.04-8.26 10.81-11.88 8-3.85 16.73-.81t13.58 11.04q21.84 39.23 58.88 61.85 37.04 22.61 81.27 22.61 55.54 0 98.04-31.61 42.5-31.62 42.5-82.85 0-13.08-2.31-26.15-2.31-13.08-9.23-24.62-2.31-8.46 2.46-15.54 4.77-7.07 13.23-9.38 8.47-2.31 16.04 2.46 7.58 4.77 9.89 13.23 8.46 13.77 11.15 30.23 2.69 16.46 2.69 32.54 0 69-55.96 112.19T486-184.62ZM120-500q-8.54 0-14.27-5.73T100-520q0-8.54 5.73-14.27T120-540h720q8.54 0 14.27 5.73T860-520q0 8.54-5.73 14.27T840-500H120Zm211.85-121.15q-8.54-2.31-13-9.89-4.47-7.58-2.16-16.11 4.23-58.54 53.16-94.85 48.92-36.31 112.15-36.31 42.62 0 80.12 18.08 37.5 18.08 62.65 51.46 4.85 7.08 3.54 15.46-1.31 8.39-8.62 13.23-7.77 5.08-16.5 3.62t-15.04-9q-18.84-24.69-46.53-36.92-27.7-12.24-59.16-12.24-47.77 0-84.69 26.77-36.92 26.77-39.92 71.31-2.31 8.77-9.89 13.23-7.58 4.46-16.11 2.16Z" /></svg>
|
||||
icon:fmt_subscript = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M767.69-200q-13.73 0-23.02-9.29t-9.29-23.02v-30.77q0-13.73 9.29-23.02 9.29-9.28 23.02-9.28H840v-33.85h-89.23q-6.15 0-10.77-4.62-4.62-4.61-4.62-10.77 0-6.15 4.62-10.76 4.62-4.62 10.77-4.62h87.69q13.73 0 23.02 9.29t9.29 23.02v30.77q0 13.73-9.29 23.02-9.29 9.28-23.02 9.28h-72.31v33.85h89.23q6.16 0 10.77 4.62 4.62 4.61 4.62 10.77 0 6.15-4.62 10.76-4.61 4.62-10.77 4.62h-87.69Zm-447.36-64.62q-13.15 0-19.24-11.07-6.09-11.08.99-22.54l145.61-225.08-131.84-203.31q-7.08-11.23-.99-22.3Q320.95-760 333.62-760q5.84 0 10.52 2.68 4.67 2.68 7.48 7.55l127.15 197.46h.92l129.23-198.23q2.76-4.5 7.57-6.98 4.82-2.48 10.22-2.48 13.27 0 19.16 11.08 5.9 11.07-1.18 22.54L510.54-523.31l147.38 225.08q7.08 11.46.81 22.54-6.27 11.07-18.81 11.07-5.68 0-10.42-2.67-4.73-2.68-7.58-7.56l-142.23-218.3h-.92l-140.69 218.3q-2.76 4.88-7.57 7.56-4.82 2.67-10.18 2.67Z" /></svg>
|
||||
icon:fmt_superscript = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M767.69-600q-13.73 0-23.02-9.29t-9.29-23.02v-30.77q0-13.73 9.29-23.02 9.29-9.28 23.02-9.28H840v-33.85h-89.23q-6.15 0-10.77-4.62-4.62-4.61-4.62-10.77 0-6.15 4.62-10.76 4.62-4.62 10.77-4.62h87.69q13.73 0 23.02 9.29t9.29 23.02v30.77q0 13.73-9.29 23.02-9.29 9.28-23.02 9.28h-72.31v33.85h89.23q6.16 0 10.77 4.62 4.62 4.61 4.62 10.77 0 6.15-4.62 10.76-4.61 4.62-10.77 4.62h-87.69ZM320.33-200q-13.15 0-19.24-11.08-6.09-11.07.99-22.54l145.61-225.07L315.85-662q-7.08-11.23-.99-22.31 6.09-11.07 18.76-11.07 5.84 0 10.52 2.67 4.67 2.68 7.48 7.56l127.15 197.46h.92l129.23-198.23q2.76-4.51 7.57-6.99 4.82-2.47 10.22-2.47 13.27 0 19.16 11.07 5.9 11.08-1.18 22.54L510.54-458.69l147.38 225.07q7.08 11.47.81 22.54Q652.46-200 639.92-200q-5.68 0-10.42-2.68-4.73-2.68-7.58-7.55L479.69-428.54h-.92L338.08-210.23q-2.76 4.87-7.57 7.55-4.82 2.68-10.18 2.68Z" /></svg>
|
||||
icon:fmt_underline = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M247.69-190q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73h464.62q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T712.31-190H247.69ZM480-317.69q-85.62 0-134.31-50.31T297-504.62v-279.76q0-9.29 6.84-15.91 6.85-6.63 16.12-6.63 9.27 0 15.81 6.63 6.54 6.62 6.54 15.91v281.15q0 65.23 36.46 103.31 36.46 38.07 101.23 38.07 64.77 0 101.23-38.07 36.46-38.08 36.46-103.31v-281.15q0-9.29 6.85-15.91 6.84-6.63 16.11-6.63t15.81 6.63q6.54 6.62 6.54 15.91v279.76q0 86.31-48.69 136.62T480-317.69Z" /></svg>
|
||||
icon:fmt_toolbar = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M240-218.46q-8.54 0-14.27-5.73T220-238.46q0-8.54 5.73-14.27t14.27-5.73h480q8.54 0 14.27 5.73t5.73 14.27q0 8.54-5.73 14.27T720-218.46H240Zm74-176.46 142.38-374.93q2.47-5.61 6.97-8.65t10.34-3.04h14.16q5.84 0 10.34 3.42 4.5 3.43 6.96 9.04l139.31 374.39q2.92 9.31-2.08 17.38-5 8.08-15.3 8.08-6.39 0-10.89-3.04-4.5-3.04-6.96-9.42l-36.92-101.08H386.62l-37.39 101.31q-2.46 5.61-6.85 8.92-4.38 3.31-10.76 3.31-10.54 0-15.66-8.19-5.11-8.2-1.96-17.5Zm85.38-122.62h159.7l-76.31-211.23h-4l-79.39 211.23Z" /></svg>
|
||||
icon:search = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M381.54-350.77q-95.92 0-162.58-66.65-66.65-66.66-66.65-162.58 0-95.92 66.65-162.58 66.66-66.65 162.58-66.65 95.92 0 162.58 66.65 66.65 66.66 66.65 162.58 0 41.69-14.77 80.69t-38.77 66.69l236.31 236.31q5.61 5.62 6 13.77.38 8.16-6 14.54-6.39 6.38-14.16 6.38-7.76 0-14.15-6.38L528.92-404.31q-30 25.54-69 39.54t-78.38 14Zm0-40q79.61 0 134.42-54.81 54.81-54.8 54.81-134.42 0-79.62-54.81-134.42-54.81-54.81-134.42-54.81-79.62 0-134.42 54.81-54.81 54.8-54.81 134.42 0 79.62 54.81 134.42 54.8 54.81 134.42 54.81Z" /></svg>
|
||||
icon:search_auto = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m642.92-468-80.61 130.31q-6.39 10.07-18.96 8.61-12.58-1.46-15.27-13.77L497-469.46 202.46-174.15q-5.61 5.61-13.65 6.11t-14.66-6.11q-6.38-6.39-6.38-14.16 0-7.77 6.38-14.15L469.46-498l-125.84-31.08q-12.31-2.69-14.16-14.88-1.84-12.19 8.23-18.58L468-642.92l-11.23-153q-1.23-12.31 9.46-18.23 10.69-5.93 20.31 2.46l117.31 98.84 141.77-57.92q11.3-4.92 20.3 4.08t4.08 20.31l-57.15 141.76 98.84 117.08q8.39 9.62 2.85 20.69-5.54 11.08-17.85 9.85l-153.77-11ZM171.69-727.54q-5.23-5.23-5.23-11.69 0-6.46 5.23-11.69l28.16-28.16q5.23-5.23 11.69-5.23 6.46 0 11.69 5.23l28.15 28.16q5.24 5.23 5.24 11.69 0 6.46-5.24 11.69l-28.15 28.16q-5.23 5.23-11.69 5.23-6.46 0-11.69-5.23l-28.16-28.16Zm555.85 555.85-28.16-28.16q-5.23-5.23-5.23-11.69 0-6.46 5.23-11.69l28.16-28.15q5.23-5.24 11.69-5.24 6.46 0 11.69 5.24l28.16 28.15q5.23 5.23 5.23 11.69 0 6.46-5.23 11.69l-28.16 28.16q-5.23 5.23-11.69 5.23-6.46 0-11.69-5.23Z" /></svg>
|
||||
icon:search_cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-451.69 270.15-241.85q-5.61 5.62-13.77 6-8.15.39-14.53-6-6.39-6.38-6.39-14.15 0-7.77 6.39-14.15L451.69-480 241.85-689.85q-5.62-5.61-6-13.77-.39-8.15 6-14.53 6.38-6.39 14.15-6.39 7.77 0 14.15 6.39L480-508.31l209.85-209.84q5.61-5.62 13.77-6 8.15-.39 14.53 6 6.39 6.38 6.39 14.15 0 7.77-6.39 14.15L508.31-480l209.84 209.85q5.62 5.61 6 13.77.39 8.15-6 14.53-6.38 6.39-14.15 6.39-7.77 0-14.15-6.39L480-451.69Z" /></svg>
|
||||
icon:search_case = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m246.23-391.69-36.61 105.15q-2.47 6.39-7.24 9.69-4.76 3.31-11.15 3.31-10.54 0-16.42-8.58-5.89-8.57-1.96-18.65l134.92-368.77q2.46-6.38 7.73-9.81 5.27-3.42 11.65-3.42h14.93q6.38 0 11.77 3.42 5.38 3.43 7.84 9.81l137.23 368.23q3.93 10.08-2.46 18.93-6.38 8.84-16.69 8.84-6.39 0-11.92-3.81-5.54-3.8-8-10.19l-36.39-104.15H246.23ZM260-428h150.23l-74-208.92h-2.46L260-428Zm385.77 163.69q-46.39 0-74.46-25.96-28.08-25.96-28.08-64.81 0-42.46 33.35-67.88 33.34-25.42 85.8-25.42 21.47 0 43.47 4.38t38.77 12.15v-23.53q0-39-19.74-59.31Q705.15-535 667.31-535q-16.54 0-32.58 5.27t-29.58 14.27q-6.84 5.38-13.34 3.15t-10.43-7.92q-3.92-5.69-3.15-12.08.77-6.38 7.92-11.31 17.7-12.15 38.85-18.11 21.15-5.96 42.54-5.96 57.46 0 85.31 29.42 27.84 29.42 27.84 88.27v158.54q0 7.61-5.27 12.77-5.27 5.15-12.88 5.15-7.62 0-12.77-5.27-5.15-5.27-5.15-12.88v-22.69h-4q-17.08 25.3-39.93 37.69-22.84 12.38-54.92 12.38Zm2.77-32.46q41.15 0 68.73-29.38 27.58-29.39 27.58-73.7-14-8-35.43-12.5-21.42-4.5-41.96-4.5-39.69 0-63.08 15.93Q581-385 581-355.08q0 24.62 18.69 41.46 18.69 16.85 48.85 16.85Z" /></svg>
|
||||
icon:search_loop = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M120-520q0-100.08 69.96-170.04T360-760h240q100.08 0 170.04 69.96T840-520q0 93-61.38 161-61.39 68-153.39 78.08-10.31 1.46-17.77-3.77-7.46-5.23-7.46-14.54 0-9.31 7.73-14.77 7.73-5.46 18.04-7.15 75.92-9.85 125.08-66.27Q800-443.85 800-520q0-83-58.5-141.5T600-720H360q-83 0-141.5 58.5T160-520q0 83.77 58.12 142.27 58.11 58.5 141.88 58.5h54.69l-69.07-69.85q-5.62-5.61-5.62-13.65t5.85-13.89Q352.23-423 360-423q7.77 0 14.15 6.38l94.77 94.77q9.7 9.7 9.7 22.62 0 12.92-9.7 22.61l-95.54 95.54q-5.61 5.62-13.65 5.62t-13.88-5.62q-6.62-5.84-6.23-14.27.38-8.42 6.23-14.27l69.61-69.61H360q-100.08 0-170.04-70.35Q120-419.92 120-520Z" /></svg>
|
||||
@@ -56,10 +58,31 @@ icon:sb_outline = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:sb_project = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M569.23-152.31v-42.92q0-6.46 2.23-12.04 2.23-5.58 7.46-10.81l203.62-202.61q5.92-5.16 12.31-7.62 6.38-2.46 12.77-2.46 6.61 0 13.38 2.58 6.77 2.57 11.92 7.73l37 37.77q4.93 5.92 7.5 12.31Q880-364 880-357.62q0 6.39-2.08 12.89-2.07 6.5-8 12.42L667.31-129.69q-5.23 5.23-10.81 7.46-5.58 2.23-12.04 2.23h-42.92q-13.92 0-23.12-9.19-9.19-9.19-9.19-23.12Zm238.39-167.07 37-38.24-37-37.76-38 38 38 38ZM184.62-200q-27.62 0-46.12-18.5Q120-237 120-264.62v-430.76q0-27.62 18.5-46.12Q157-760 184.62-760H357q12.92 0 25.12 5.23 12.19 5.23 20.88 13.92L463.85-680h311.53q27.62 0 46.12 18.5Q840-643 840-615.38v61.46q0 12.61-9.88 20.92-9.89 8.31-22.74 6.85H804.85q-22.62 0-44.43 8.46-21.8 8.46-40.27 24.61L493-266.69q-8.69 8.69-13.92 20.5t-5.23 24.73v.69q0 8.54-6.12 14.65-6.11 6.12-14.65 6.12H184.62Z" /></svg>
|
||||
icon:sb_search = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M381.54-350.77q-95.92 0-162.58-66.65-66.65-66.66-66.65-162.58 0-95.92 66.65-162.58 66.66-66.65 162.58-66.65 95.92 0 162.58 66.65 66.65 66.66 66.65 162.58 0 41.69-14.77 80.69t-38.77 66.69l236.31 236.31q5.61 5.62 6 13.77.38 8.16-6 14.54-6.39 6.38-14.16 6.38-7.76 0-14.15-6.38L528.92-404.31q-30 25.54-69 39.54t-78.38 14Zm0-40q79.61 0 134.42-54.81 54.81-54.8 54.81-134.42 0-79.62-54.81-134.42-54.81-54.81-134.42-54.81-79.62 0-134.42 54.81-54.81 54.8-54.81 134.42 0 79.62 54.81 134.42 54.8 54.81 134.42 54.81Z" /></svg>
|
||||
icon:sb_stats = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M672.31-200q-13.73 0-23.02-9.29T640-232.31V-360q0-13.73 9.29-23.02t23.02-9.29h55.38q13.73 0 23.02 9.29T760-360v127.69q0 13.73-9.29 23.02T727.69-200h-55.38Zm-220 0q-13.73 0-23.02-9.29T420-232.31v-495.38q0-13.73 9.29-23.02t23.02-9.29h55.38q13.73 0 23.02 9.29t9.29 23.02v495.38q0 13.73-9.29 23.02T507.69-200h-55.38Zm-220 0q-13.73 0-23.02-9.29T200-232.31v-302.7q0-14.3 9.29-23.49 9.29-9.19 23.02-9.19h55.38q13.73 0 23.02 9.29 9.29 9.28 9.29 23.02v302.7q0 14.3-9.29 23.49-9.29 9.19-23.02 9.19h-55.38Z" /></svg>
|
||||
icon:theme_light = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-320q-66.85 0-113.42-46.58Q320-413.15 320-480t46.58-113.42Q413.15-640 480-640t113.42 46.58Q640-546.85 640-480t-46.58 113.42Q546.85-320 480-320ZM80-460q-8.5 0-14.25-5.76T60-480.03q0-8.51 5.75-14.24T80-500h100q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T180-460H80Zm700 0q-8.5 0-14.25-5.76T760-480.03q0-8.51 5.75-14.24T780-500h100q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T880-460H780ZM479.97-760q-8.51 0-14.24-5.75T460-780v-100q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T500-880v100q0 8.5-5.76 14.25T479.97-760Zm0 700q-8.51 0-14.24-5.75T460-80v-100q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T500-180v100q0 8.5-5.76 14.25T479.97-60ZM254.46-678.77l-57.61-55.85q-5.85-5.61-5.73-13.76.11-8.16 5.96-14.77 6.38-6.62 14.15-6.62 7.77 0 14.15 6.62L282-706.31q6.38 6.62 6.38 14.16 0 7.53-6 14.15t-13.65 6.12q-7.65-.5-14.27-6.89Zm480.16 481.92L678-253.69q-6.38-6.62-6.38-14.27 0-7.66 6.38-14.04 5.23-6.62 13.08-6.12 7.84.5 14.46 6.89l57.61 55.85q5.85 5.61 5.73 13.76-.11 8.16-5.96 14.77-6.38 6.62-14.15 6.62-7.77 0-14.15-6.62ZM678-677.62q-6.62-6-6.12-13.65t6.89-14.27l55.85-57.61q5.61-5.85 13.76-5.73 8.16.11 14.77 5.96 6.62 6.38 6.62 14.15 0 7.77-6.62 14.15L706.31-678q-6.62 6.38-14.16 6.38-7.53 0-14.15-6ZM196.85-196.68q-6.62-6.78-6.62-14.55 0-7.77 6.62-14.15L253.69-282q6.62-6.38 14.27-6.38 7.66 0 14.04 6.38 5.85 5.23 5.35 13.08-.5 7.84-6.12 14.46l-55.85 57.61q-6.38 6.62-14.15 6.5-7.77-.11-14.38-6.33Z" /></svg>
|
||||
icon:theme_dark = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M482.31-160Q349-160 255.65-253.35 162.31-346.69 162.31-480q0-98.77 56.54-181.42 56.53-82.66 160.38-118.89 12.23-4.31 21.46-2.27 9.23 2.04 15.23 7.96 6 5.93 7.66 15.24 1.65 9.3-2.5 19.53-7.77 19.08-11.27 38.85-3.5 19.77-3.5 41 0 106.92 74.54 181.46Q555.38-404 662.31-404q27.92 0 51.11-5.92 23.2-5.93 39.5-9.62 8.7-1.61 15.96.42 7.27 2.04 11.66 7.04 4.61 5 6.27 12.31 1.65 7.31-1.89 16.69-28.61 98-112.11 160.54Q589.31-160 482.31-160Z" /></svg>
|
||||
icon:theme_auto = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480.13-120q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120ZM500-160.69q123.62-8.08 211.81-98.35T800-480q0-130.69-87.42-220.19-87.43-89.5-212.58-99.12v638.62Z" /></svg>
|
||||
icon:btn_ok = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m422.46-380.31-99.84-99.84q-5.62-5.62-13.77-6-8.16-.39-14.54 6-6.39 6.38-6.39 14.15 0 7.77 6.39 14.15l105.54 105.54q9.69 9.69 22.61 9.69t22.62-9.69l219.07-219.07q5.62-5.62 6-13.77.39-8.16-6-14.54-6.38-6.39-14.15-6.39-7.77 0-14.15 6.39L422.46-380.31ZM480.13-120q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Z" /></svg>
|
||||
icon:btn_cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-451.69 129.85 129.84q5.61 5.62 13.77 6 8.15.39 14.53-6 6.39-6.38 6.39-14.15 0-7.77-6.39-14.15L508.31-480l129.84-129.85q5.62-5.61 6-13.77.39-8.15-6-14.53-6.38-6.39-14.15-6.39-7.77 0-14.15 6.39L480-508.31 350.15-638.15q-5.61-5.62-13.77-6-8.15-.39-14.53 6-6.39 6.38-6.39 14.15 0 7.77 6.39 14.15L451.69-480 321.85-350.15q-5.62 5.61-6 13.77-.39 8.15 6 14.53 6.38 6.39 14.15 6.39 7.77 0 14.15-6.39L480-451.69Zm.13 331.69q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Z" /></svg>
|
||||
icon:btn_yes = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m422.46-380.31-99.84-99.84q-5.62-5.62-13.77-6-8.16-.39-14.54 6-6.39 6.38-6.39 14.15 0 7.77 6.39 14.15l105.54 105.54q9.69 9.69 22.61 9.69t22.62-9.69l219.07-219.07q5.62-5.62 6-13.77.39-8.16-6-14.54-6.38-6.39-14.15-6.39-7.77 0-14.15 6.39L422.46-380.31ZM480.13-120q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Z" /></svg>
|
||||
icon:btn_no = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M320-460h320q8.5 0 14.25-5.76t5.75-14.27q0-8.51-5.75-14.24T640-500H320q-8.5 0-14.25 5.76T300-479.97q0 8.51 5.75 14.24T320-460Zm160.13 340q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Z" /></svg>
|
||||
icon:btn_open = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-160q-27.62 0-46.12-18.5Q160-197 160-224.62v-510.76q0-27.62 18.5-46.12Q197-800 224.62-800h204.61q8.54 0 14.27 5.73t5.73 14.27q0 8.54-5.73 14.27T429.23-760H224.62q-9.24 0-16.93 7.69-7.69 7.69-7.69 16.93v510.76q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69h510.76q9.24 0 16.93-7.69 7.69-7.69 7.69-16.93v-204.61q0-8.54 5.73-14.27t14.27-5.73q8.54 0 14.27 5.73t5.73 14.27v204.61q0 27.62-18.5 46.12Q763-160 735.38-160H224.62ZM760-731.69 403.69-375.38q-5.61 5.61-13.77 6-8.15.38-14.54-6-6.38-6.39-6.38-14.16 0-7.77 6.38-14.15L731.69-760H580q-8.54 0-14.27-5.73T560-780q0-8.54 5.73-14.27T580-800h187.69q13.93 0 23.12 9.19 9.19 9.19 9.19 23.12V-580q0 8.54-5.73 14.27T780-560q-8.54 0-14.27-5.73T760-580v-151.69Z" /></svg>
|
||||
icon:btn_close = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-451.69 129.85 129.84q5.61 5.62 13.77 6 8.15.39 14.53-6 6.39-6.38 6.39-14.15 0-7.77-6.39-14.15L508.31-480l129.84-129.85q5.62-5.61 6-13.77.39-8.15-6-14.53-6.38-6.39-14.15-6.39-7.77 0-14.15 6.39L480-508.31 350.15-638.15q-5.61-5.62-13.77-6-8.15-.39-14.53 6-6.39 6.38-6.39 14.15 0 7.77 6.39 14.15L451.69-480 321.85-350.15q-5.62 5.61-6 13.77-.39 8.15 6 14.53 6.38 6.39 14.15 6.39 7.77 0 14.15-6.39L480-451.69Zm.13 331.69q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Z" /></svg>
|
||||
icon:btn_save = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m697.38-171.08-94.76-94.77q-5.62-5.36-5.62-13.64 0-8.28 5.62-13.89 5.61-5.62 13.38-6 7.77-.39 13.38 5.23L700-223.54V-399q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T740-399v175.46l70.62-70.61q5.35-5.62 13.64-5.62 8.28 0 13.89 5.62 5.62 5.61 5.62 13.89 0 8.29-5.62 13.64l-95.53 95.54q-9.7 9.7-22.62 9.7-12.92 0-22.62-9.7ZM600-20q-8.5 0-14.25-5.76T580-40.03q0-8.51 5.75-14.24T600-60h240q8.5 0 14.25 5.76T860-39.97q0 8.51-5.75 14.24T840-20H600ZM244.62-180q-26.08 0-45.35-19.27Q180-218.54 180-244.62v-550.76q0-26.08 19.27-45.35Q218.54-860 244.62-860h248.53q13.27 0 25.29 5.23t20.71 13.92l181.7 181.7q8.69 8.69 13.92 20.71 5.23 12.02 5.23 25.29v66.46q0 13.73-9.29 23.02t-23.02 9.29H549.23q-26.65 0-45.63 18.98-18.98 18.98-18.98 45.63v237.46q0 13.73-9.29 23.02T452.31-180H244.62Zm303.84-440H700L500-820l200 200-200-200v151.54q0 20.19 14.13 34.33Q528.27-620 548.46-620Z" /></svg>
|
||||
icon:btn_browse = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M180-200q-25.31 0-42.65-17.35Q120-234.69 120-260v-435.38q0-25.31 19.65-44.97Q159.31-760 184.62-760H357q12.92 0 25.12 5.23 12.19 5.23 20.88 13.92L463.85-680h349.23q8.54 0 14.27 5.73t5.73 14.27q0 8.54-5.73 14.27T813.08-640H297.85Q242-640 201-604.08q-41 35.93-41 90.54v248.92q0 8.47 4.23 13.85 4.23 5.39 11.15 9.23l76.7-256.84q6.46-20.62 23.73-33.43 17.27-12.81 38.65-12.81h512.92q32.54 0 52.2 25.97 19.65 25.96 10.19 57.03l-65.85 219.24q-5.69 19.07-21.8 30.73Q786-200 766.15-200H180Z" /></svg>
|
||||
icon:btn_list = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M404.62-220q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73H780q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-220H404.62Zm0-240q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73H780q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-460H404.62Zm0-240q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73H780q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-700H404.62ZM213.08-186.92q-21.9 0-37.49-15.59Q160-218.11 160-240t15.59-37.49q15.59-15.59 37.49-15.59 21.89 0 37.48 15.59 15.59 15.6 15.59 37.49t-15.59 37.49q-15.59 15.59-37.48 15.59Zm0-240q-21.9 0-37.49-15.59Q160-458.11 160-480t15.59-37.49q15.59-15.59 37.49-15.59 21.89 0 37.48 15.59 15.59 15.6 15.59 37.49t-15.59 37.49q-15.59 15.59-37.48 15.59Zm0-240q-21.9 0-37.49-15.59Q160-698.11 160-720t15.59-37.49q15.59-15.59 37.49-15.59 21.89 0 37.48 15.59 15.59 15.6 15.59 37.49t-15.59 37.49q-15.59 15.59-37.48 15.59Z" /></svg>
|
||||
icon:btn_new = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-160q-27.62 0-46.12-18.5Q160-197 160-224.62v-510.76q0-27.62 18.5-46.12Q197-800 224.62-800h180q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T404.62-760h-180q-9.24 0-16.93 7.69-7.69 7.69-7.69 16.93v510.76q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69h510.76q9.24 0 16.93-7.69 7.69-7.69 7.69-16.93v-180q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75t5.73 14.25v180q0 27.62-18.5 46.12Q763-160 735.38-160H224.62ZM640-640H540q-8.5 0-14.25-5.76T520-660.03q0-8.51 5.75-14.24T540-680h100v-100q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T680-780v100h100q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-640H680v100q0 8.5-5.76 14.25T659.97-520q-8.51 0-14.24-5.75T640-540v-100Z" /></svg>
|
||||
icon:btn_create = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-315.92-145.23 87.69q-6.39 3.15-11.85 2.54-5.46-.62-10.61-3.77-5.16-3.16-7.85-9.04-2.69-5.88-.46-12.73l38.62-164.39-127.77-110.84q-5.39-4.39-7.12-10.5-1.73-6.12.73-11.73 2.46-5.62 6.62-9.16 4.15-3.53 11.23-4.77l168.61-14.69L460.69-733q2.69-6.62 7.81-9.54 5.12-2.92 11.5-2.92t11.5 2.92q5.12 2.92 7.81 9.54l65.77 155.69 168.61 14.69q7.08 1.24 11.23 4.77 4.16 3.54 6.62 9.16 2.46 5.61.73 11.73-1.73 6.11-7.12 10.5L617.38-415.62 656-251.23q2.23 6.85-.46 12.73-2.69 5.88-7.85 9.04-5.15 3.15-10.61 3.77-5.46.61-11.85-2.54L480-315.92Z" /></svg>
|
||||
icon:btn_reset = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M316.15-240q-8.53 0-14.27-5.73-5.73-5.73-5.73-14.27t5.73-14.27q5.74-5.73 14.27-5.73h270.16q62.23 0 106.04-42.69 43.8-42.69 43.8-104.23 0-61.54-43.8-103.85-43.81-42.31-106.04-42.31H276.62l104.46 104.46q6.38 6.39 6.38 14.16 0 7.77-6.38 14.15-6.39 6.39-14.54 6-8.16-.38-13.77-6L222.62-570.46q-5.24-5.23-7.35-10.69-2.12-5.47-2.12-11.93t2.12-11.92q2.11-5.46 7.35-10.69l130.15-130.16q6.38-6.38 14.15-6.38 7.77 0 14.16 6.38 6.38 6.39 6 14.54-.39 8.16-6 13.77L276.62-613.08h309.69q78.54 0 134.19 54.16 55.65 54.15 55.65 132 0 77.84-55.65 132.38Q664.85-240 586.31-240H316.15Z" /></svg>
|
||||
icon:btn_insert = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M460-600H360q-8.5 0-14.25-5.76T340-620.03q0-8.51 5.75-14.24T360-640h240q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T600-600H500v260q0 8.5-5.76 14.25T479.97-320q-8.51 0-14.24-5.75T460-340v-260ZM95.38-127.69v-104.62q0-13.73 9.29-23.02t23.02-9.29H160v-430.76h-32.44q-13.79 0-22.98-9.29-9.2-9.29-9.2-23.02v-104.62q0-13.73 9.29-23.02t23.02-9.29h104.62q13.73 0 23.02 9.29t9.29 23.02V-800h430.76v-32.44q0-13.79 9.29-22.98 9.29-9.2 23.02-9.2h104.62q13.73 0 23.02 9.29t9.29 23.02v104.62q0 13.73-9.29 23.02t-23.02 9.29H800v430.76h32.44q13.79 0 22.98 9.29 9.2 9.29 9.2 23.02v104.62q0 13.73-9.29 23.02t-23.02 9.29H727.69q-13.73 0-23.02-9.29t-9.29-23.02V-160H264.62v32.44q0 13.79-9.29 22.98-9.29 9.2-23.02 9.2H127.69q-13.73 0-23.02-9.29t-9.29-23.02ZM264.62-200h430.76v-32.44q0-13.79 9.29-22.98 9.29-9.2 23.02-9.2H760v-430.76h-32.44q-13.79 0-22.98-9.29-9.2-9.29-9.2-23.02V-760H264.62v32.44q0 13.79-9.29 22.98-9.29 9.2-23.02 9.2H200v430.76h32.44q13.79 0 22.98 9.29 9.2 9.29 9.2 23.02V-200Z" /></svg>
|
||||
icon:btn_apply = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m424-396.31-99.85-99.84q-5.61-5.62-13.77-6-8.15-.39-14.53 6-6.39 6.38-6.39 14.15 0 7.77 6.39 14.15l105.53 105.54q9.7 9.69 22.62 9.69 12.92 0 22.62-9.69l219.07-219.07q5.62-5.62 6-13.77.39-8.16-6-14.54-6.38-6.39-14.15-6.39-7.77 0-14.16 6.39L424-396.31ZM224.62-160q-27.62 0-46.12-18.5Q160-197 160-224.62v-510.76q0-27.62 18.5-46.12Q197-800 224.62-800h510.76q27.62 0 46.12 18.5Q800-763 800-735.38v510.76q0 27.62-18.5 46.12Q763-160 735.38-160H224.62Z" /></svg>
|
||||
icon:btn_build = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M763.85-257.38V-190q0 6.15 4.61 10.77 4.62 4.61 10.77 4.61 6.15 0 10.77-4.61 4.62-4.62 4.62-10.77v-103.85q0-6.46-4.85-11.3-4.85-4.85-11.31-4.85H674.62q-6.16 0-10.77 4.62-4.62 4.61-4.62 10.76 0 6.16 4.62 10.77 4.61 4.62 10.77 4.62H742l-90.31 90.31q-4.46 4.46-4.84 10.54-.39 6.07 4.84 11.3 4.74 4.46 11.07 4.46 6.32 0 10.78-4.46l90.31-90.3ZM720-75.38q-66.85 0-113.42-46.58Q560-168.54 560-235.38q0-66.85 46.58-113.43 46.57-46.57 113.42-46.57t113.42 46.57Q880-302.23 880-235.38q0 66.84-46.58 113.42Q786.85-75.38 720-75.38ZM320-610.77h320q8.5 0 14.25-5.76 5.75-5.75 5.75-14.27 0-8.51-5.75-14.24T640-650.77H320q-8.5 0-14.25 5.76T300-630.74q0 8.51 5.75 14.24t14.25 5.73ZM224.62-160q-26.66 0-45.64-18.98T160-224.62v-510.76q0-26.66 18.98-45.64T224.62-800h510.76q26.66 0 45.64 18.98T800-735.38v200.3q0 15.09-11.15 23.47-11.16 8.38-25.85 5.46-10.08-2.7-20.95-3.66-10.88-.96-22.05-.96-20.23 0-39.35 3.19-19.11 3.2-37.57 9.04-4.5-.97-10-1.22-5.5-.24-10-.24H320q-8.5 0-14.25 5.76T300-479.97q0 8.51 5.75 14.24T320-460h243.46q-30.31 20.85-53.27 48.92-22.96 28.08-37.81 61.85H320q-8.5 0-14.25 5.76-5.75 5.75-5.75 14.27 0 8.51 5.75 14.24t14.25 5.73h138.38q-4.3 16.92-6.73 34.11-2.42 17.2-2.42 35.12 0 10 .46 21.08.46 11.07 2.39 22.69 1.92 13.92-6.21 25.08Q437.74-160 423.92-160h-199.3Z" /></svg>
|
||||
icon:btn_print = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M344.62-160q-26.66 0-45.64-18.98T280-224.62V-320h-72.31q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.64v-150.76q0-34 23.07-57 23.08-23 56.93-23h513.84q34 0 57 23t23 57v150.76q0 26.66-18.98 45.64T752.31-320H680v95.38q0 26.66-18.98 45.64T615.38-160H344.62ZM680-646.15H280v-64.76q0-26.71 18.98-45.59 18.98-18.89 45.64-18.89h270.76q26.66 0 45.64 18.99Q680-737.42 680-710.77v64.62Zm24.62 170.77q17 0 28.5-11.5t11.5-28.5q0-17-11.5-28.5t-28.5-11.5q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5ZM344.62-200h270.76q10.77 0 17.7-6.92 6.92-6.93 6.92-17.7v-132.3q0-10.77-6.92-17.7-6.93-6.92-17.7-6.92H344.62q-10.77 0-17.7 6.92-6.92 6.93-6.92 17.7v132.3q0 10.77 6.92 17.7 6.93 6.92 17.7 6.92Z" /></svg>
|
||||
icon:btn_preview = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-160q-26.66 0-45.64-18.98T160-224.62v-510.76q0-26.66 18.98-45.64T224.62-800h510.76q26.66 0 45.64 18.98T800-735.38v510.76q0 26.66-18.98 45.64T735.38-160H224.62Zm0-40h510.76q10.77 0 17.7-6.92 6.92-6.93 6.92-17.7V-680H200v455.38q0 10.77 6.92 17.7 6.93 6.92 17.7 6.92ZM480-320q-65.08 0-117.27-33.35-52.19-33.34-78.88-86.65 26.69-53.31 78.88-86.65Q414.92-560 480-560t117.27 33.35q52.19 33.34 78.88 86.65-26.69 53.31-78.88 86.65Q545.08-320 480-320Zm-.18-75.38q-18.67 0-31.55-13.07-12.89-13.07-12.89-31.73 0-18.67 13.07-31.55 13.07-12.89 31.73-12.89 18.67 0 31.55 13.07 12.89 13.07 12.89 31.73 0 18.67-13.07 31.55-13.07 12.89-31.73 12.89Zm.18 30.76q31.23 0 53.31-22.07 22.07-22.08 22.07-53.31 0-31.23-22.07-53.31-22.08-22.07-53.31-22.07-31.23 0-53.31 22.07-22.07 22.08-22.07 53.31 0 31.23 22.07 53.31 22.08 22.07 53.31 22.07Z" /></svg>
|
||||
icon:add = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M460-460H260q-8.5 0-14.25-5.76T240-480.03q0-8.51 5.75-14.24T260-500h200v-200q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T500-700v200h200q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T700-460H500v200q0 8.5-5.76 14.25T479.97-240q-8.51 0-14.24-5.75T460-260v-200Z" /></svg>
|
||||
icon:bookmarks = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m420-203.08-149.54 64.31q-32.31 13.92-61.38-5.35Q180-163.38 180-197.92v-457.46q0-27.62 18.5-46.12Q217-720 244.62-720h350.76q27.62 0 46.12 18.5Q660-683 660-655.38v457.46q0 34.54-29.08 53.8-29.07 19.27-61.38 5.35L420-203.08ZM760-220q-8.54 0-14.27-5.73T740-240v-535.39q0-9.23-7.69-16.92-7.69-7.69-16.93-7.69H320q-8.54 0-14.27-5.73T300-820q0-8.54 5.73-14.27T320-840h395.38q27.62 0 46.12 18.5Q780-803 780-775.39V-240q0 8.54-5.73 14.27T760-220Z" /></svg>
|
||||
icon:browse = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M180-200q-25.31 0-42.65-17.35Q120-234.69 120-260v-435.38q0-25.31 19.65-44.97Q159.31-760 184.62-760H357q12.92 0 25.12 5.23 12.19 5.23 20.88 13.92L463.85-680h349.23q8.54 0 14.27 5.73t5.73 14.27q0 8.54-5.73 14.27T813.08-640H297.85Q242-640 201-604.08q-41 35.93-41 90.54v248.92q0 8.47 4.23 13.85 4.23 5.39 11.15 9.23l76.7-256.84q6.46-20.62 23.73-33.43 17.27-12.81 38.65-12.81h512.92q32.54 0 52.2 25.97 19.65 25.96 10.19 57.03l-65.85 219.24q-5.69 19.07-21.8 30.73Q786-200 766.15-200H180Z" /></svg>
|
||||
icon:build_settings = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M763.85-257.38V-190q0 6.15 4.61 10.77 4.62 4.61 10.77 4.61 6.15 0 10.77-4.61 4.62-4.62 4.62-10.77v-103.85q0-6.46-4.85-11.3-4.85-4.85-11.31-4.85H674.62q-6.16 0-10.77 4.62-4.62 4.61-4.62 10.76 0 6.16 4.62 10.77 4.61 4.62 10.77 4.62H742l-90.31 90.31q-4.46 4.46-4.84 10.54-.39 6.07 4.84 11.3 4.74 4.46 11.07 4.46 6.32 0 10.78-4.46l90.31-90.3ZM720-75.38q-66.85 0-113.42-46.58Q560-168.54 560-235.38q0-66.85 46.58-113.43 46.57-46.57 113.42-46.57t113.42 46.57Q880-302.23 880-235.38q0 66.84-46.58 113.42Q786.85-75.38 720-75.38ZM320-610.77h320q8.5 0 14.25-5.76 5.75-5.75 5.75-14.27 0-8.51-5.75-14.24T640-650.77H320q-8.5 0-14.25 5.76T300-630.74q0 8.51 5.75 14.24t14.25 5.73ZM224.62-160q-26.66 0-45.64-18.98T160-224.62v-510.76q0-26.66 18.98-45.64T224.62-800h510.76q26.66 0 45.64 18.98T800-735.38v200.3q0 15.09-11.15 23.47-11.16 8.38-25.85 5.46-10.08-2.7-20.95-3.66-10.88-.96-22.05-.96-20.23 0-39.35 3.19-19.11 3.2-37.57 9.04-4.5-.97-10-1.22-5.5-.24-10-.24H320q-8.5 0-14.25 5.76T300-479.97q0 8.51 5.75 14.24T320-460h243.46q-30.31 20.85-53.27 48.92-22.96 28.08-37.81 61.85H320q-8.5 0-14.25 5.76-5.75 5.75-5.75 14.27 0 8.51 5.75 14.24t14.25 5.73h138.38q-4.3 16.92-6.73 34.11-2.42 17.2-2.42 35.12 0 10 .46 21.08.46 11.07 2.39 22.69 1.92 13.92-6.21 25.08Q437.74-160 423.92-160h-199.3Z" /></svg>
|
||||
icon:calendar = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-120q-27.62 0-46.12-18.5Q160-157 160-184.62v-510.76q0-27.62 18.5-46.12Q197-760 224.62-760h70.76v-67.69q0-9.31 6.12-15.43 6.12-6.11 15.42-6.11 9.31 0 15.43 6.11 6.11 6.12 6.11 15.43V-760h286.16v-69.23q0-8.54 5.73-14.27t14.27-5.73q8.53 0 14.26 5.73 5.74 5.73 5.74 14.27V-760h70.76q27.62 0 46.12 18.5Q800-723 800-695.38v510.76q0 27.62-18.5 46.12Q763-120 735.38-120H224.62Zm0-40h510.76q9.24 0 16.93-7.69 7.69-7.69 7.69-16.93v-350.76H200v350.76q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69Z" /></svg>
|
||||
icon:cancel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-451.69 129.85 129.84q5.61 5.62 13.77 6 8.15.39 14.53-6 6.39-6.38 6.39-14.15 0-7.77-6.39-14.15L508.31-480l129.84-129.85q5.62-5.61 6-13.77.39-8.15-6-14.53-6.38-6.39-14.15-6.39-7.77 0-14.15 6.39L480-508.31 350.15-638.15q-5.61-5.62-13.77-6-8.15-.39-14.53 6-6.39 6.38-6.39 14.15 0 7.77 6.39 14.15L451.69-480 321.85-350.15q-5.62 5.61-6 13.77-.39 8.15 6 14.53 6.38 6.39 14.15 6.39 7.77 0 14.15-6.39L480-451.69Zm.13 331.69q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Z" /></svg>
|
||||
icon:checked = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m424-396.31-99.85-99.84q-5.61-5.62-13.77-6-8.15-.39-14.53 6-6.39 6.38-6.39 14.15 0 7.77 6.39 14.15l105.53 105.54q9.7 9.69 22.62 9.69 12.92 0 22.62-9.69l219.07-219.07q5.62-5.62 6-13.77.39-8.16-6-14.54-6.38-6.39-14.15-6.39-7.77 0-14.16 6.39L424-396.31ZM224.62-160q-27.62 0-46.12-18.5Q160-197 160-224.62v-510.76q0-27.62 18.5-46.12Q197-800 224.62-800h510.76q27.62 0 46.12 18.5Q800-763 800-735.38v510.76q0 27.62-18.5 46.12Q763-160 735.38-160H224.62Z" /></svg>
|
||||
icon:chevron_down = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-384.85q-6.46 0-11.92-2.11-5.46-2.12-10.7-7.35L281.85-569.85q-5.62-5.61-6-13.77-.39-8.15 6-14.53 6.38-6.39 14.15-6.39 7.77 0 14.15 6.39L480-428.31l169.85-169.84q5.61-5.62 13.77-6 8.15-.39 14.53 6 6.39 6.38 6.39 14.15 0 7.77-6.39 14.15L502.62-394.31q-5.24 5.23-10.7 7.35-5.46 2.11-11.92 2.11Z" /></svg>
|
||||
@@ -81,6 +104,7 @@ icon:font = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:import = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-160q-27.62 0-46.12-18.5Q160-197 160-224.62v-76.92q0-8.54 5.73-14.27t14.27-5.73q8.54 0 14.27 5.73t5.73 14.27v76.92q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69h510.76q9.24 0 16.93-7.69 7.69-7.69 7.69-16.93v-449.23H200v101.54q0 8.54-5.73 14.27T180-552.31q-8.54 0-14.27-5.73T160-572.31v-163.07q0-27.62 18.5-46.12Q197-800 224.62-800h510.76q27.62 0 46.12 18.5Q800-763 800-735.38v510.76q0 27.62-18.5 46.12Q763-160 735.38-160H224.62Zm294.69-256.92H180q-8.54 0-14.27-5.73T160-436.92q0-8.54 5.73-14.27t14.27-5.73h339.31l-88.85-90.62q-5.61-5.61-5.34-13.65.26-8.04 6.11-13.89 5.62-5.61 13.77-5.61 8.15 0 13.77 5.61l114.77 115.54q9.69 9.69 9.69 22.62 0 12.92-9.69 22.61L458-298.77q-5.62 5.62-13.65 5.35-8.04-.27-13.89-6.12-5.61-5.61-5.61-13.38 0-7.77 5.61-13.39l88.85-90.61Z" /></svg>
|
||||
icon:language = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m566.85-242-42.47 109.31q-2.46 5.61-7.46 9.15T505.31-120q-10.77 0-16.73-8.81-5.96-8.81-1.81-18.81l158.92-400.46q2.69-5.61 7.31-8.77 4.62-3.15 10.46-3.15h14.62q5.84 0 10.46 3.15 4.61 3.16 7.31 8.77l158.92 400.7q4.15 9.76-1.69 18.57-5.85 8.81-16.62 8.81-6.84 0-11.73-3.54-4.88-3.54-7.58-9.38L774.69-242H566.85ZM356.62-431.77l-181.7 182.23q-5.61 6.39-13.65 6.5-8.04.12-14.65-6.5-6.39-6.38-6.39-14.15 0-7.77 6.39-14.16l181.69-182.46q-34.23-35-68.12-86.15Q226.31-597.62 210-640h43.23q14.62 33.62 44.23 77.23 29.62 43.62 59.16 74.15 52.23-53 92.73-116.34 40.5-63.35 53.88-115.04H115.38q-8.53 0-14.26-5.73-5.74-5.73-5.74-14.27t5.74-14.27q5.73-5.73 14.26-5.73H340v-29.23q0-8.54 5.73-14.27t14.27-5.73q8.54 0 14.27 5.73t5.73 14.27V-760h224.62q8.53 0 14.26 5.73 5.74 5.73 5.74 14.27t-5.74 14.27q-5.73 5.73-14.26 5.73h-59.85q-17.92 62.77-61.08 133.77-43.15 71-98.77 126.38l101.39 104.16-15.39 41.23-114.3-117.31Zm223.69 153.62h180.92l-90.46-232.47-90.46 232.47Z" /></svg>
|
||||
icon:lines = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M180-240q-8.5 0-14.25-5.76T160-260.03q0-8.51 5.75-14.24T180-280h600q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-240H180Zm0-146.92q-8.5 0-14.25-5.76T160-406.95q0-8.51 5.75-14.24t14.25-5.73h600q8.5 0 14.25 5.75 5.75 5.76 5.75 14.27 0 8.52-5.75 14.25T780-386.92H180Zm0-146.16q-8.5 0-14.25-5.75-5.75-5.76-5.75-14.27 0-8.52 5.75-14.25t14.25-5.73h600q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-533.08H180ZM180-680q-8.5 0-14.25-5.76T160-700.03q0-8.51 5.75-14.24T180-720h600q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-680H180Z" /></svg>
|
||||
icon:link = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M283.08-316.92q-67.68 0-115.38-47.69Q120-412.3 120-479.96t47.7-115.39q47.7-47.73 115.38-47.73h121.54q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24t-14.25 5.73H282.99q-50.68 0-86.84 36.16Q160-530.77 160-480t36.15 86.92q36.16 36.16 86.84 36.16h121.63q8.5 0 14.25 5.75 5.75 5.76 5.75 14.27 0 8.52-5.75 14.25t-14.25 5.73H283.08ZM360-460q-8.5 0-14.25-5.76T340-480.03q0-8.51 5.75-14.24T360-500h240q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T600-460H360Zm195.38 143.08q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73h121.63q50.68 0 86.84-36.16Q800-429.23 800-480t-36.15-86.92q-36.16-36.16-86.84-36.16H555.38q-8.5 0-14.25-5.75-5.75-5.76-5.75-14.27 0-8.52 5.75-14.25t14.25-5.73h121.54q67.68 0 115.38 47.69Q840-547.7 840-480.04t-47.7 115.39q-47.7 47.73-115.38 47.73H555.38Z" /></svg>
|
||||
icon:list = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M404.62-220q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73H780q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-220H404.62Zm0-240q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73H780q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-460H404.62Zm0-240q-8.5 0-14.25-5.76t-5.75-14.27q0-8.51 5.75-14.24t14.25-5.73H780q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T780-700H404.62ZM213.08-186.92q-21.9 0-37.49-15.59Q160-218.11 160-240t15.59-37.49q15.59-15.59 37.49-15.59 21.89 0 37.48 15.59 15.59 15.6 15.59 37.49t-15.59 37.49q-15.59 15.59-37.48 15.59Zm0-240q-21.9 0-37.49-15.59Q160-458.11 160-480t15.59-37.49q15.59-15.59 37.49-15.59 21.89 0 37.48 15.59 15.59 15.6 15.59 37.49t-15.59 37.49q-15.59 15.59-37.48 15.59Zm0-240q-21.9 0-37.49-15.59Q160-698.11 160-720t15.59-37.49q15.59-15.59 37.49-15.59 21.89 0 37.48 15.59 15.59 15.6 15.59 37.49t-15.59 37.49q-15.59 15.59-37.48 15.59Z" /></svg>
|
||||
icon:margin_bottom = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M220-160q-8.5 0-14.25-5.76T200-180.03q0-8.51 5.75-14.24T220-200h520q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T740-160H220Zm259.9-160.85q-6.36 0-11.82-2.11-5.46-2.12-10.7-7.35L321.85-465.85q-5.62-5.61-6-13.77-.39-8.15 6-14.53 6.38-6.39 14.15-6.39 7.77 0 14.15 6.39L460-384.31V-780q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T500-780v395.69l109.85-109.84q5.61-5.62 13.77-6 8.15-.39 14.53 6 6.39 6.38 6.39 14.15 0 7.77-6.39 14.15L502.62-330.31q-5.24 5.23-10.8 7.35-5.56 2.11-11.92 2.11Z" /></svg>
|
||||
icon:margin_left = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M139.97-260q-8.51 0-14.24-5.75T120-280v-400q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75T160-680v400q0 8.5-5.76 14.25T139.97-260Zm191.49-200 149.62 149.62q5.84 5.84 6.23 14.26.38 8.43-6.23 14.27-5.85 5.62-13.89 5.62-8.04 0-13.65-5.62L278-457.38q-5.23-5.24-7.35-10.8-2.11-5.56-2.11-11.92t2.11-11.82q2.12-5.46 7.35-10.7l174.77-175.53q5.36-5.62 13.64-5.62 8.28 0 13.76 5.48 5.98 5.98 6.25 14.02.27 8.04-5.34 13.65L332.23-500H820q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T820-460H331.46Z" /></svg>
|
||||
@@ -91,7 +115,6 @@ icon:minimise = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:more_arrow = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M436.4-350.31q-6.71 0-11.55-4.44-4.85-4.44-4.85-11.71v-227.08q0-7.27 4.95-11.71 4.95-4.44 11.55-4.44 1.65 0 11.35 5.23l107.07 107.08q3.7 3.69 5.7 7.97 2 4.28 2 9.41t-2 9.41q-2 4.28-5.7 7.98L447.83-355.52q-2.21 2.21-5.15 3.71-2.93 1.5-6.28 1.5Z" /></svg>
|
||||
icon:more_vertical = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-218.46q-16.5 0-28.25-11.75T440-258.46q0-16.5 11.75-28.25T480-298.46q16.5 0 28.25 11.75T520-258.46q0 16.5-11.75 28.25T480-218.46ZM480-440q-16.5 0-28.25-11.75T440-480q0-16.5 11.75-28.25T480-520q16.5 0 28.25 11.75T520-480q0 16.5-11.75 28.25T480-440Zm0-221.54q-16.5 0-28.25-11.75T440-701.54q0-16.5 11.75-28.25T480-741.54q16.5 0 28.25 11.75T520-701.54q0 16.5-11.75 28.25T480-661.54Z" /></svg>
|
||||
icon:noncheckable = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M320-460h320q8.54 0 14.27-5.73T660-480q0-8.54-5.73-14.27T640-500H320q-8.54 0-14.27 5.73T300-480q0 8.54 5.73 14.27T320-460Zm-95.38 300q-27.62 0-46.12-18.5Q160-197 160-224.62v-510.76q0-27.62 18.5-46.12Q197-800 224.62-800h510.76q27.62 0 46.12 18.5Q800-763 800-735.38v510.76q0 27.62-18.5 46.12Q763-160 735.38-160H224.62Z" /></svg>
|
||||
icon:open = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-160q-27.62 0-46.12-18.5Q160-197 160-224.62v-510.76q0-27.62 18.5-46.12Q197-800 224.62-800h204.61q8.54 0 14.27 5.73t5.73 14.27q0 8.54-5.73 14.27T429.23-760H224.62q-9.24 0-16.93 7.69-7.69 7.69-7.69 16.93v510.76q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69h510.76q9.24 0 16.93-7.69 7.69-7.69 7.69-16.93v-204.61q0-8.54 5.73-14.27t14.27-5.73q8.54 0 14.27 5.73t5.73 14.27v204.61q0 27.62-18.5 46.12Q763-160 735.38-160H224.62ZM760-731.69 403.69-375.38q-5.61 5.61-13.77 6-8.15.38-14.54-6-6.38-6.39-6.38-14.16 0-7.77 6.38-14.15L731.69-760H580q-8.54 0-14.27-5.73T560-780q0-8.54 5.73-14.27T580-800h187.69q13.93 0 23.12 9.19 9.19 9.19 9.19 23.12V-580q0 8.54-5.73 14.27T780-560q-8.54 0-14.27-5.73T760-580v-151.69Z" /></svg>
|
||||
icon:panel = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-160q-26.85 0-45.74-18.88Q160-197.77 160-224.62v-510.76q0-26.85 18.88-45.74Q197.77-800 224.62-800h510.76q26.85 0 45.74 18.88Q800-762.23 800-735.38v510.76q0 26.85-18.88 45.74Q762.23-160 735.38-160H224.62ZM200-360h560v-375.38q0-9.24-7.69-16.93-7.69-7.69-16.93-7.69H224.62q-9.24 0-16.93 7.69-7.69 7.69-7.69 16.93V-360Z" /></svg>
|
||||
icon:pin = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M600-760v296.92l57.23 57.23q2.92 2.93 4.39 6.58 1.46 3.65 1.46 7.55v11.21q0 8.28-5.97 14.39-5.98 6.12-14.8 6.12H500v186.61q0 6.7-2.23 12.28-2.23 5.57-7.46 10.8l-3.23 3.23q-3.07 2.93-7.15 2.93t-7.01-2.93l-3.23-3.23q-5.23-5.23-7.46-10.97-2.23-5.75-2.23-11.87V-360H317.69q-8.82 0-14.8-6.12-5.97-6.11-5.97-14.39v-11.21q0-3.9 1.46-7.55 1.47-3.65 4.39-6.58L360-463.08V-760h-20q-8.5 0-14.25-5.76T320-780.03q0-8.51 5.75-14.24T340-800h280q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T620-760h-20Z" /></svg>
|
||||
icon:project_copy = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M144.62-169.23q-26.66 0-45.64-18.98T80-233.85v-423.07q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75t5.73 14.25v423.07q0 10.77 6.92 17.7 6.93 6.92 17.7 6.92H740q8.5 0 14.25 5.76 5.75 5.75 5.75 14.27 0 8.51-5.75 14.24T740-169.23H144.62Zm120-120q-26.66 0-45.64-18.98T200-353.85v-421.53q0-26.66 18.98-45.64T264.62-840h171.61q13.27 0 25.29 5.23t20.71 13.92L543.08-760h272.3q26.66 0 45.64 18.98T880-695.38v341.53q0 26.66-18.98 45.64t-45.64 18.98H264.62Z" /></svg>
|
||||
@@ -100,7 +123,6 @@ icon:refresh = <svg xmlns="http://www.w3.org/2000/svg" height="128" view
|
||||
icon:remove = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M260-460q-8.5 0-14.25-5.76T240-480.03q0-8.51 5.75-14.24T260-500h440q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T700-460H260Z" /></svg>
|
||||
icon:revert = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M478.46-160q-115.23 0-202.61-71.12Q188.46-302.23 165.62-412q-2.47-8.85 2.6-16.37 5.06-7.53 13.68-8.73 8.1-1.21 14.56 3.72 6.46 4.92 9.16 14Q227.31-324 303.46-262q76.16 62 175 62 117 0 198.5-81.5t81.5-198.5q0-117-81.5-198.5T478.46-760q-62.08 0-116.69 26.23-54.62 26.23-96.39 72.23h79.24q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24t-14.25 5.73H230.77q-13.73 0-23.02-9.29t-9.29-23.02v-113.84q0-8.5 5.76-14.25t14.27-5.75q8.51 0 14.24 5.75t5.73 14.25v75.54q46.39-50.93 108.73-79.39Q409.54-800 478.46-800q66.6 0 124.76 25.04 58.16 25.04 101.66 68.54 43.5 43.5 68.54 101.65 25.04 58.14 25.04 124.73 0 66.58-25.04 124.77t-68.54 101.69q-43.5 43.5-101.66 68.54Q545.06-160 478.46-160Zm0-280q-16.08 0-28.04-11.96T438.46-480q0-16.08 11.96-28.04T478.46-520q16.08 0 28.04 11.96T518.46-480q0 16.08-11.96 28.04T478.46-440Z" /></svg>
|
||||
icon:settings = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M438.38-120q-13.92 0-24.19-9.15-10.27-9.16-12.73-22.85l-10.54-83.69q-19.15-5.77-41.42-18.16-22.27-12.38-37.88-26.53L235-247.46q-12.69 5.61-25.77 1.23-13.08-4.39-20.15-16.62l-43.16-74.3q-7.07-12.23-4.15-25.54 2.92-13.31 13.92-21.85l66.85-50q-1.77-10.84-2.92-22.34-1.16-11.5-1.16-22.35 0-10.08 1.16-21.19 1.15-11.12 2.92-25.04l-66.85-50q-11-8.54-13.54-22.23-2.53-13.69 4.54-25.93l42.39-72q7.07-11.46 20.15-16.23 13.08-4.77 25.77.85l75.85 32.15q17.92-14.92 38.77-26.92 20.84-12 40.53-18.54L401.46-808q2.46-13.69 12.73-22.85 10.27-9.15 24.19-9.15h83.24q13.92 0 24.19 9.15 10.27 9.16 12.73 22.85l10.54 84.46q23 8.08 40.65 18.54 17.65 10.46 36.35 26.15L725.77-711q12.69-5.62 25.77-.85 13.08 4.77 20.15 16.23l42.39 72.77q7.07 12.23 4.15 25.54-2.92 13.31-13.92 21.85l-69.93 52.31q3.31 12.38 3.7 22.73.38 10.34.38 20.42 0 9.31-.77 19.65-.77 10.35-3.54 25.04l67.62 50.77q11 8.54 14.31 21.85 3.3 13.31-3.77 25.54l-42.62 73.53q-7.07 12.24-20.54 16.62-13.46 4.38-26.15-1.23l-76.92-32.92q-18.7 15.69-37.62 26.92-18.92 11.23-39.38 17.77L558.54-152q-2.46 13.69-12.73 22.85-10.27 9.15-24.19 9.15h-83.24Zm40.54-260q41.85 0 70.93-29.08 29.07-29.07 29.07-70.92t-29.07-70.92Q520.77-580 478.92-580q-42.07 0-71.04 29.08-28.96 29.07-28.96 70.92t28.96 70.92Q436.85-380 478.92-380Z" /></svg>
|
||||
icon:star = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m480-315.92-145.23 87.69q-6.39 3.15-11.85 2.54-5.46-.62-10.61-3.77-5.16-3.16-7.85-9.04-2.69-5.88-.46-12.73l38.62-164.39-127.77-110.84q-5.39-4.39-7.12-10.5-1.73-6.12.73-11.73 2.46-5.62 6.62-9.16 4.15-3.53 11.23-4.77l168.61-14.69L460.69-733q2.69-6.62 7.81-9.54 5.12-2.92 11.5-2.92t11.5 2.92q5.12 2.92 7.81 9.54l65.77 155.69 168.61 14.69q7.08 1.24 11.23 4.77 4.16 3.54 6.62 9.16 2.46 5.61.73 11.73-1.73 6.11-7.12 10.5L617.38-415.62 656-251.23q2.23 6.85-.46 12.73-2.69 5.88-7.85 9.04-5.15 3.15-10.61 3.77-5.46.61-11.85-2.54L480-315.92Z" /></svg>
|
||||
icon:stats = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="m125.38-174.62 212.24-212.23q18.38-18.38 45.46-18.38 27.07 0 45.46 18.38l96.08 96.08q7.69 7.69 18.46 7.31 10.77-.39 17.69-8.85l248.31-285.15q5.61-6.85 13.5-6.85 7.88 0 14.5 5.85 5.61 5.61 6.11 13.04.5 7.42-5.11 14.04L589.85-264.77q-18.39 21.39-46.23 22.5-27.85 1.12-48.24-19.27l-94.61-94.61q-6.92-6.93-17.69-6.93-10.77 0-17.7 6.93L154.62-145.38q-6.08 6.07-14.24 6.46-8.15.38-15-6.46-6.84-6.85-6.84-14.62t6.84-14.62Zm0-240 212.24-212.23q18.38-18.38 45.46-18.38 27.07 0 45.46 18.38l96.08 96.08q7.69 7.69 18.46 7.31 10.77-.39 17.69-8.85l248.31-285.15q5.61-6.85 13.5-6.85 7.88 0 14.5 5.85 5.61 5.61 6.11 13.04.5 7.42-5.11 14.04L589.85-504.77q-18.39 21.39-46.23 22.5-27.85 1.12-48.24-19.27l-94.61-94.61q-6.92-6.93-17.69-6.93-10.77 0-17.7 6.93L154.62-385.38q-6.08 6.07-14.24 6.46-8.15.38-15-6.46-6.84-6.85-6.84-14.62t6.84-14.62Z" /></svg>
|
||||
icon:text = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M224.62-231.54q-10.47 0-17.54-6.84-7.08-6.85-7.08-16.96 0-10.12 7.08-17.39 7.07-7.27 17.54-7.27H500q8.5 0 14.25 5.97t5.75 14.8q0 8.5-5.73 14.25t-13.5 5.75l-276.15 7.69ZM220-386.92q-8.5 0-14.25-5.76T200-406.95q0-8.51 5.75-14.24t14.25-5.73h520q8.5 0 14.25 5.75 5.75 5.76 5.75 14.27 0 8.52-5.75 14.25T740-386.92H220Zm0-146.16q-8.5 0-14.25-5.75-5.75-5.76-5.75-14.27 0-8.52 5.75-14.25t14.25-5.73h520q8.5 0 14.25 5.76t5.75 14.27q0 8.51-5.75 14.24T740-533.08H220ZM224.62-680q-10.47 0-17.54-7.08-7.08-7.07-7.08-17.54 0-10.46 7.08-17.53 7.07-7.08 17.54-7.08h510.76q10.47 0 17.54 7.08 7.08 7.07 7.08 17.53 0 10.47-7.08 17.54-7.07 7.08-17.54 7.08H224.62Z" /></svg>
|
||||
icon:timer_off = <svg xmlns="http://www.w3.org/2000/svg" height="128" viewBox="0 -960 960 960" width="128" fill="#000000"><path d="M480-120q-66.31 0-124.5-25.04t-101.81-68.65q-43.61-43.62-68.65-101.81Q160-373.69 160-440q0-61.54 21.96-117.42 21.96-55.89 63.89-100.12L119.38-784q-5.61-5.62-6-13.77-.38-8.15 6-14.54 6.39-6.38 14.16-6.38 7.77 0 14.15 6.38l664.62 664.62q5.61 5.61 6 13.77.38 8.15-6 14.54-6.39 6.38-14.16 6.38-7.77 0-14.15-6.38l-86.46-86.47q-42.62 40.39-99.66 63.12Q540.85-120 480-120Zm-84.62-740q-8.53 0-14.26-5.73-5.74-5.73-5.74-14.27t5.74-14.27q5.73-5.73 14.26-5.73h169.24q8.53 0 14.26 5.73 5.74 5.73 5.74 14.27t-5.74 14.27q-5.73 5.73-14.26 5.73H395.38Zm331.85 514.46L500-572.77v-31.85q0-8.53-5.73-14.26-5.73-5.74-14.27-5.74-6.15 0-11.19 4-5.04 4-6.96 9.7l-76.54-76.54q-14.93-14.92-10.69-35.69 4.23-20.77 24.38-26.47 20.15-5.69 40.65-8.03Q460.15-760 480-760q56.92 0 110.96 20.38 54.04 20.39 100.42 59.16L720.92-710q5.62-5.62 13.77-6 8.16-.38 14.54 6 6.39 6.38 6.39 14.15 0 7.77-6.39 14.16l-29.54 29.54q38.77 46.38 59.54 100.8Q800-496.92 800-440q0 19.85-2.35 40.23-2.34 20.39-8.03 40.77-5.7 20.15-26.47 24.38-20.77 4.24-35.92-10.92Z" /></svg>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user