Compare commits
732 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af3e2fc6ce | ||
|
|
795007f3f8 | ||
|
|
ea3c5fa758 | ||
|
|
30acf11055 | ||
|
|
d846811fb9 | ||
|
|
175b6747ea | ||
|
|
466eb65a44 | ||
|
|
ef85b2109f | ||
|
|
8cfeb2ce7d | ||
|
|
35563373a6 | ||
|
|
f23164a17b | ||
|
|
52b27b6e56 | ||
|
|
99ec268dd9 | ||
|
|
d304c0919f | ||
|
|
6f3a11ade3 | ||
|
|
52ffa0b675 | ||
|
|
03ee8edda1 | ||
|
|
6dc3e29535 | ||
|
|
d35db6e925 | ||
|
|
fbf0839c73 | ||
|
|
6f885efb7f | ||
|
|
df5b391f27 | ||
|
|
524b965665 | ||
|
|
a3ebe24eb7 | ||
|
|
cae0977a01 | ||
|
|
ecf94d812d | ||
|
|
807a50dae4 | ||
|
|
d574b2796f | ||
|
|
1cae0503e7 | ||
|
|
e4d3e609f8 | ||
|
|
4c86c1a75a | ||
|
|
2f55055c75 | ||
|
|
3e711ebe7f | ||
|
|
61e634a86c | ||
|
|
afd4aa5d1f | ||
|
|
4b5383f1c7 | ||
|
|
95d91562ec | ||
|
|
a43c351e25 | ||
|
|
77a90256ed | ||
|
|
6393ae7621 | ||
|
|
6b3742fa56 | ||
|
|
6b9c81e8c4 | ||
|
|
ab33312872 | ||
|
|
1345bc8fe6 | ||
|
|
5d3a5a335f | ||
|
|
4d877d411b | ||
|
|
c1154682b5 | ||
|
|
99c4b0acd0 | ||
|
|
80520c075d | ||
|
|
17cf9f006a | ||
|
|
a8034b2fb5 | ||
|
|
7999251353 | ||
|
|
2111af8c0c | ||
|
|
6f7745c46a | ||
|
|
a7cf236ba5 | ||
|
|
f22197d494 | ||
|
|
af8af45f39 | ||
|
|
4b112cf9c0 | ||
|
|
733bc89a47 | ||
|
|
17baceb807 | ||
|
|
86487ace10 | ||
|
|
a7422e5bb3 | ||
|
|
b64418c2e9 | ||
|
|
8e895bd797 | ||
|
|
6562f645fe | ||
|
|
80ebf60ec5 | ||
|
|
d569001f32 | ||
|
|
12318b5c31 | ||
|
|
de55106961 | ||
|
|
edca735f2a | ||
|
|
b076de6f81 | ||
|
|
6ddc59bc5b | ||
|
|
ba4a3c16f3 | ||
|
|
de0fb2eba8 | ||
|
|
e40a0ff4aa | ||
|
|
5b126716f7 | ||
|
|
df3f4e2ef7 | ||
|
|
a081a63ba1 | ||
|
|
3a631449ed | ||
|
|
c01c8b2023 | ||
|
|
f7736b87bb | ||
|
|
5b8212f2fa | ||
|
|
dd539be64e | ||
|
|
53e5756745 | ||
|
|
d0d6da3436 | ||
|
|
c6423ffc21 | ||
|
|
cf9a141dc7 | ||
|
|
2480c7ae9f | ||
|
|
8fff376076 | ||
|
|
20c5993e2d | ||
|
|
46c5f1c10d | ||
|
|
f95bbb8760 | ||
|
|
c8fe5e6620 | ||
|
|
2744fb2fd4 | ||
|
|
7fb771eba4 | ||
|
|
760b2dbf0c | ||
|
|
751d0ed857 | ||
|
|
55e1233ca5 | ||
|
|
b83042e456 | ||
|
|
c0fd1f1466 | ||
|
|
03cb6ccb2b | ||
|
|
3fb5d12487 | ||
|
|
b44072a9fa | ||
|
|
24e45fb661 | ||
|
|
c3467d89c2 | ||
|
|
468a0e7416 | ||
|
|
1eafa1c8b6 | ||
|
|
c000307f14 | ||
|
|
cfde84f851 | ||
|
|
d261aee1d0 | ||
|
|
c05463f0ae | ||
|
|
247cd65bb6 | ||
|
|
7149e363b1 | ||
|
|
536e828cc6 | ||
|
|
821e3c4be5 | ||
|
|
a06144730f | ||
|
|
d162b77234 | ||
|
|
ec5352c13c | ||
|
|
4e5a08d3dd | ||
|
|
2d9b57b534 | ||
|
|
3e66968387 | ||
|
|
1771dd2130 | ||
|
|
b0a4ac055a | ||
|
|
8bb0588b2b | ||
|
|
147d6b95d7 | ||
|
|
6a7262b817 | ||
|
|
738f022212 | ||
|
|
9081380255 | ||
|
|
e64fb28d89 | ||
|
|
eb0fac8a43 | ||
|
|
bdc1f0a5d4 | ||
|
|
8a12b03a1f | ||
|
|
01a4ec8d76 | ||
|
|
16954c3bba | ||
|
|
c6944876f1 | ||
|
|
33e0895cdf | ||
|
|
a4d8c22cd0 | ||
|
|
becb404203 | ||
|
|
026aeb3d82 | ||
|
|
9153707075 | ||
|
|
0feac3163f | ||
|
|
7ddb1819f2 | ||
|
|
9ddbe2f789 | ||
|
|
102885da6e | ||
|
|
ded03e10c5 | ||
|
|
991e4fd3e2 | ||
|
|
c0b1d0ad3d | ||
|
|
5befd244e6 | ||
|
|
144ba66d9d | ||
|
|
46c8bedd66 | ||
|
|
d42074f8ea | ||
|
|
bcadc40998 | ||
|
|
ace1df7336 | ||
|
|
3a2e2ff478 | ||
|
|
cd1f19355a | ||
|
|
05174cd84c | ||
|
|
7247d4dc76 | ||
|
|
239ca55ba9 | ||
|
|
523aef38cc | ||
|
|
294bf51f8a | ||
|
|
8133e374d1 | ||
|
|
6bb9ec0dc1 | ||
|
|
c26cfd5372 | ||
|
|
8afe3ed039 | ||
|
|
b156eee209 | ||
|
|
add499af89 | ||
|
|
ca3337914c | ||
|
|
5453d2ada1 | ||
|
|
c3aa8fec56 | ||
|
|
cfcf05fdad | ||
|
|
423bde0c03 | ||
|
|
c254581a3f | ||
|
|
ca27dc65b7 | ||
|
|
cdb84851b2 | ||
|
|
227c30cce3 | ||
|
|
b1c6021545 | ||
|
|
aed843a4f2 | ||
|
|
101c595a48 | ||
|
|
cdaae3fb46 | ||
|
|
0ae7694954 | ||
|
|
f79c0b93ab | ||
|
|
439938ba58 | ||
|
|
85cb93b396 | ||
|
|
8ef5eea825 | ||
|
|
b8af6d3990 | ||
|
|
f78f59dc2a | ||
|
|
4defc1d4a3 | ||
|
|
fb7bf6fb98 | ||
|
|
c0f48b91e6 | ||
|
|
9da99e3183 | ||
|
|
beaa583bc8 | ||
|
|
c7e953fc24 | ||
|
|
44a0d21b35 | ||
|
|
70f748efac | ||
|
|
6e2c5be14e | ||
|
|
7d9040005e | ||
|
|
dc2c6d2a0d | ||
|
|
370116718a | ||
|
|
9a9b2c6d2f | ||
|
|
37c935d027 | ||
|
|
1279834849 | ||
|
|
ea50ae3279 | ||
|
|
f51720dbd8 | ||
|
|
d090230b67 | ||
|
|
6a3f6048c2 | ||
|
|
1bd82954c2 | ||
|
|
44721fc797 | ||
|
|
66cf7cce78 | ||
|
|
c5c9726794 | ||
|
|
8f25be8cb2 | ||
|
|
78958ed5cf | ||
|
|
bdff3b4ee2 | ||
|
|
459a8e5cde | ||
|
|
0869f209ab | ||
|
|
d15e4ebb17 | ||
|
|
d6fae17b3b | ||
|
|
dd82c935e5 | ||
|
|
bc414246d2 | ||
|
|
27ea697b90 | ||
|
|
f38f25f65a | ||
|
|
3edb76abbf | ||
|
|
91c6e13cbc | ||
|
|
a5064d6237 | ||
|
|
483a9aedfd | ||
|
|
98f94efbdd | ||
|
|
3335c08a42 | ||
|
|
c6aa6d575d | ||
|
|
013e94afc9 | ||
|
|
7829c894ff | ||
|
|
924bf67bfb | ||
|
|
7aea468103 | ||
|
|
9336410180 | ||
|
|
22162d3915 | ||
|
|
edf4256648 | ||
|
|
29f9ea2a55 | ||
|
|
8d614c2aeb | ||
|
|
604df85e62 | ||
|
|
075a9bf850 | ||
|
|
02f20b7a4f | ||
|
|
5df369a831 | ||
|
|
ead1740f83 | ||
|
|
791eebe8a6 | ||
|
|
5178c41e54 | ||
|
|
4c55bfe49f | ||
|
|
7137494740 | ||
|
|
569cb68cca | ||
|
|
fcd94326ef | ||
|
|
a3bd0d38a4 | ||
|
|
925d9fd5ad | ||
|
|
d12e626bc4 | ||
|
|
c182cc4383 | ||
|
|
ee97dce900 | ||
|
|
72ba4ae74d | ||
|
|
58a7dc0a5a | ||
|
|
7799e9f253 | ||
|
|
d97ce592f8 | ||
|
|
8859fc7b6b | ||
|
|
57b3aa2032 | ||
|
|
79513bcbe5 | ||
|
|
ef9e84f2ce | ||
|
|
9270550364 | ||
|
|
2af1d60480 | ||
|
|
5b5134148b | ||
|
|
210c1079cd | ||
|
|
20c996e87e | ||
|
|
37f56a34f4 | ||
|
|
24ea5f2f2b | ||
|
|
53a4725d62 | ||
|
|
d932beb37d | ||
|
|
868526e806 | ||
|
|
bce4a164b8 | ||
|
|
aea4192213 | ||
|
|
415d46d659 | ||
|
|
c6cbe4cc0d | ||
|
|
82349d39b7 | ||
|
|
3e3335be39 | ||
|
|
44adc42fa6 | ||
|
|
ef1fc0943d | ||
|
|
bb2c2bb7fe | ||
|
|
fa8a954bc0 | ||
|
|
750ba36d32 | ||
|
|
72b14ff08c | ||
|
|
4ac050fe75 | ||
|
|
311b611afe | ||
|
|
45ab705175 | ||
|
|
acf8170f29 | ||
|
|
6e57bc0fc0 | ||
|
|
b3fb1db07c | ||
|
|
cca309d7d7 | ||
|
|
dccc442852 | ||
|
|
9f7fc90f2d | ||
|
|
c3415ade1b | ||
|
|
30bedb29d6 | ||
|
|
37e2392237 | ||
|
|
a1e6398116 | ||
|
|
b0b1c0d386 | ||
|
|
29e83da077 | ||
|
|
56ed4b88f8 | ||
|
|
2a2b12f0a5 | ||
|
|
3bd67b4f1d | ||
|
|
3c4673724e | ||
|
|
a87a94ffeb | ||
|
|
f1ac1f7c21 | ||
|
|
eda054ae11 | ||
|
|
5fa6c2ad99 | ||
|
|
a6647a0f4f | ||
|
|
5f79186d10 | ||
|
|
87a1bb050e | ||
|
|
de16d2d6a1 | ||
|
|
4fa21107ee | ||
|
|
fc75bdbebb | ||
|
|
ac549f75b0 | ||
|
|
a2b2f70671 | ||
|
|
23bd5dfc41 | ||
|
|
0566fc38af | ||
|
|
69bf6a64aa | ||
|
|
97371533bc | ||
|
|
c3cf69cbe6 | ||
|
|
1353eaa460 | ||
|
|
3ca2c6de66 | ||
|
|
4273ba5158 | ||
|
|
368cbdc62c | ||
|
|
b0614e8c25 | ||
|
|
6ef646acb2 | ||
|
|
6db7f049bc | ||
|
|
404b102a54 | ||
|
|
ef84588145 | ||
|
|
eb105951ac | ||
|
|
9f6a1b4bc0 | ||
|
|
dfd4df46ce | ||
|
|
3c8e3b3653 | ||
|
|
6500975cc3 | ||
|
|
2fb87c415e | ||
|
|
996f48a85f | ||
|
|
1c91ba6fd9 | ||
|
|
10764a2041 | ||
|
|
576c13d045 | ||
|
|
f0e86dad10 | ||
|
|
4bf82e4df7 | ||
|
|
eab8bb2351 | ||
|
|
02d805122f | ||
|
|
595fd01863 | ||
|
|
7b8b303886 | ||
|
|
8b701f8651 | ||
|
|
e6071e613b | ||
|
|
75de1a1888 | ||
|
|
f25c172705 | ||
|
|
b741b21db8 | ||
|
|
a350d38d4e | ||
|
|
2e55d28a10 | ||
|
|
76864f2a2f | ||
|
|
25b6d1c001 | ||
|
|
1a635f60a9 | ||
|
|
c6524d02ea | ||
|
|
ed7dde2aaa | ||
|
|
5917c9da08 | ||
|
|
3a1f77b8f8 | ||
|
|
bdf100e608 | ||
|
|
f8d57539d4 | ||
|
|
453a228182 | ||
|
|
ea14f06245 | ||
|
|
5e9d96788e | ||
|
|
b793842f6d | ||
|
|
827702159d | ||
|
|
17aae16345 | ||
|
|
16d2f1cc2a | ||
|
|
e778d05ee3 | ||
|
|
fb92c6c333 | ||
|
|
701fe29de9 | ||
|
|
642b5e3681 | ||
|
|
81a9d51986 | ||
|
|
e6efd15b9a | ||
|
|
f883de6e03 | ||
|
|
dc661b7a70 | ||
|
|
edfb4e60c6 | ||
|
|
e185f87875 | ||
|
|
ce3a8f56c8 | ||
|
|
23b7baf62c | ||
|
|
56cb545fab | ||
|
|
71c4d7aa94 | ||
|
|
c8b1a10f26 | ||
|
|
e9e4788602 | ||
|
|
2f20266602 | ||
|
|
1c3b252b6b | ||
|
|
bc2f91e54f | ||
|
|
8a41748173 | ||
|
|
c3e6b4e10a | ||
|
|
9c1bdef9ad | ||
|
|
fe22949cb4 | ||
|
|
a9bda1deed | ||
|
|
492dd58068 | ||
|
|
186cead603 | ||
|
|
467772c489 | ||
|
|
8ff292fec8 | ||
|
|
4113be7a4c | ||
|
|
0aaf42de21 | ||
|
|
d9a5db5884 | ||
|
|
fe8a112328 | ||
|
|
bbb23b4bc9 | ||
|
|
c420d8ae38 | ||
|
|
e78545fcdb | ||
|
|
0a1c5b20ed | ||
|
|
321e57a3b7 | ||
|
|
4d016c3b75 | ||
|
|
d5064a8333 | ||
|
|
a11657c145 | ||
|
|
64889ac5d8 | ||
|
|
8af720cbd6 | ||
|
|
68a6390868 | ||
|
|
a8f61f2b98 | ||
|
|
c866491910 | ||
|
|
c1a14e7aa5 | ||
|
|
27fa356846 | ||
|
|
54f36d4e8e | ||
|
|
3b9ef47e0f | ||
|
|
d504c0a7ec | ||
|
|
58fa3e64ec | ||
|
|
b0f1db0aea | ||
|
|
90dda43205 | ||
|
|
d20af1283c | ||
|
|
2cd6cc299e | ||
|
|
a227c58d55 | ||
|
|
d23fdf28ad | ||
|
|
9803dc16fd | ||
|
|
7fcc9a3928 | ||
|
|
ec7f50b566 | ||
|
|
76ab9c3908 | ||
|
|
e6193ed858 | ||
|
|
5b4ccad19b | ||
|
|
e1531009d3 | ||
|
|
ca188fee08 | ||
|
|
c5edbbfaf6 | ||
|
|
f15563cf6e | ||
|
|
e5c6dae080 | ||
|
|
6952211607 | ||
|
|
b396cff9a7 | ||
|
|
ca7ae6b666 | ||
|
|
cbf5f1ead3 | ||
|
|
a48a4e5674 | ||
|
|
1ec0bff159 | ||
|
|
116409bb8d | ||
|
|
0e41a48ad1 | ||
|
|
f732d13807 | ||
|
|
8e4e6903b1 | ||
|
|
97b791511f | ||
|
|
100989030d | ||
|
|
6c75bdecdc | ||
|
|
51314804bf | ||
|
|
6b106599dd | ||
|
|
82d5899f2e | ||
|
|
11c4428a8a | ||
|
|
c0a5d257ac | ||
|
|
6a30ce5fe3 | ||
|
|
3ba345acc8 | ||
|
|
b27589d3d6 | ||
|
|
5979503dc8 | ||
|
|
b008721bdb | ||
|
|
bcd1e7e245 | ||
|
|
d455cb714d | ||
|
|
9311117257 | ||
|
|
855c525670 | ||
|
|
d113b3feb3 | ||
|
|
7a2d239aaa | ||
|
|
9ae36eaa24 | ||
|
|
a76268743f | ||
|
|
7d9ca66fd6 | ||
|
|
e752a97ea7 | ||
|
|
ed3e513544 | ||
|
|
d6eafccde6 | ||
|
|
119d572050 | ||
|
|
7a1fab0c0a | ||
|
|
de6fd65664 | ||
|
|
838a2a8062 | ||
|
|
e03305d601 | ||
|
|
4c5f68242a | ||
|
|
40a8d728bb | ||
|
|
a7a2eaff55 | ||
|
|
3761b1729f | ||
|
|
0dc4719400 | ||
|
|
c6ee6746a2 | ||
|
|
ee21045ee2 | ||
|
|
5abb8d566a | ||
|
|
2772c9bf0b | ||
|
|
883ef3457b | ||
|
|
a10fff92e7 | ||
|
|
df4993c38e | ||
|
|
d73763b1f7 | ||
|
|
10012054be | ||
|
|
b6c9f1160f | ||
|
|
483528b3b2 | ||
|
|
4ef40f2c4d | ||
|
|
23713bb791 | ||
|
|
6b53a2665e | ||
|
|
6f5cbea95f | ||
|
|
09855730d7 | ||
|
|
6622a7e8e0 | ||
|
|
cc4d92f0f7 | ||
|
|
a14e544e78 | ||
|
|
269fa700b0 | ||
|
|
bd45619e2f | ||
|
|
97384ee4bd | ||
|
|
415f1a1d1a | ||
|
|
b33a3b480d | ||
|
|
9f2c5379b7 | ||
|
|
f35722ab35 | ||
|
|
8a8a218e6b | ||
|
|
fe0098ebbc | ||
|
|
ca02bbf20d | ||
|
|
e10140b1cd | ||
|
|
b92112e933 | ||
|
|
82c63723a4 | ||
|
|
ce2ac9b1a1 | ||
|
|
97ea3ebc16 | ||
|
|
ae7c19f923 | ||
|
|
3135bee47d | ||
|
|
c15ffb0813 | ||
|
|
a2a62f8b26 | ||
|
|
ca4aa75880 | ||
|
|
427a910ec0 | ||
|
|
beb01d572f | ||
|
|
16461279cf | ||
|
|
f40722d196 | ||
|
|
34eb39e10d | ||
|
|
2cb772847e | ||
|
|
7b5b82136f | ||
|
|
fa9d0f3503 | ||
|
|
4afbd98d6f | ||
|
|
944e2455d5 | ||
|
|
2504965f8d | ||
|
|
34fcbdd350 | ||
|
|
671d7130e1 | ||
|
|
1fbd50334d | ||
|
|
1ed3cea414 | ||
|
|
978a8145a8 | ||
|
|
1482451e87 | ||
|
|
5c99e2186a | ||
|
|
df690ceb36 | ||
|
|
10435945db | ||
|
|
df95cd85e8 | ||
|
|
05e9729c22 | ||
|
|
bc17305c4f | ||
|
|
c3ea32a165 | ||
|
|
9660d82f9b | ||
|
|
7feb3ec2f9 | ||
|
|
25686e46a8 | ||
|
|
53228faaa3 | ||
|
|
bbabc41ac2 | ||
|
|
18b3edbf87 | ||
|
|
63fd7bf06a | ||
|
|
ba538920aa | ||
|
|
8b6691c056 | ||
|
|
41b7495a06 | ||
|
|
a71d0d8cfe | ||
|
|
956abf3e8e | ||
|
|
054d4f965e | ||
|
|
f26b405f42 | ||
|
|
8a61d57ce4 | ||
|
|
818fa2bf11 | ||
|
|
856c14ce76 | ||
|
|
f9089fd506 | ||
|
|
b6282772ae | ||
|
|
bfecebc047 | ||
|
|
904f954d4d | ||
|
|
186737a170 | ||
|
|
f32383ea99 | ||
|
|
4097949c44 | ||
|
|
10feafeab4 | ||
|
|
399a867836 | ||
|
|
6f3702f2df | ||
|
|
7dc9e65f68 | ||
|
|
1740bbedbd | ||
|
|
356ecde88a | ||
|
|
8585334a51 | ||
|
|
553b76cafc | ||
|
|
c04e1035a7 | ||
|
|
dfbb61a37e | ||
|
|
cb485c5c86 | ||
|
|
62a94850a6 | ||
|
|
99c00f8b93 | ||
|
|
cbb000a18f | ||
|
|
847d8ab726 | ||
|
|
9f1e2d322e | ||
|
|
b7c657141f | ||
|
|
023f6bed01 | ||
|
|
fff6ba98bc | ||
|
|
776eedc5f2 | ||
|
|
f2eaaa09b6 | ||
|
|
ded91bc3b0 | ||
|
|
6d769cb512 | ||
|
|
ecaaffb029 | ||
|
|
8952bbab1d | ||
|
|
3fe2ee3058 | ||
|
|
f2b35d798b | ||
|
|
d11a8ee789 | ||
|
|
5278eb7895 | ||
|
|
4f42407c23 | ||
|
|
60b0a4c901 | ||
|
|
a6d346fcb6 | ||
|
|
78a75d5719 | ||
|
|
f59317c2b5 | ||
|
|
b203bcdcff | ||
|
|
a31f42b04c | ||
|
|
ce666d9d7a | ||
|
|
ef93b41240 | ||
|
|
1118f01c91 | ||
|
|
b526315084 | ||
|
|
1d1dae0c7e | ||
|
|
1edfcfcd91 | ||
|
|
82e9fb0c44 | ||
|
|
1b8d424b27 | ||
|
|
4ab2b04e6b | ||
|
|
d291995c0e | ||
|
|
54510951de | ||
|
|
52d1d87985 | ||
|
|
62847e55f0 | ||
|
|
bf6cefa840 | ||
|
|
4e1fa01562 | ||
|
|
83c9fb96e9 | ||
|
|
ff7f27ff97 | ||
|
|
50a9b5b5e2 | ||
|
|
4fa20273f7 | ||
|
|
93b36406f1 | ||
|
|
a0e6f9cf82 | ||
|
|
1f9b6d7624 | ||
|
|
ccc444f355 | ||
|
|
ba0198407f | ||
|
|
918b077252 | ||
|
|
b348ba6aff | ||
|
|
e521a30612 | ||
|
|
2e2ab5ad6f | ||
|
|
47781f981f | ||
|
|
0676056968 | ||
|
|
65562ae790 | ||
|
|
623f74019f | ||
|
|
55e0dc3030 | ||
|
|
9af7ff447b | ||
|
|
c71a5c0997 | ||
|
|
efea1a3140 | ||
|
|
1fcae908ec | ||
|
|
b9b4969b85 | ||
|
|
f919149c58 | ||
|
|
6fd4417350 | ||
|
|
bedd71b105 | ||
|
|
53aa970427 | ||
|
|
9fc815abe1 | ||
|
|
b17b5d32c2 | ||
|
|
05e63cb01e | ||
|
|
519e5857d1 | ||
|
|
6a6b05c338 | ||
|
|
8ed85363e2 | ||
|
|
887b4379b2 | ||
|
|
3a030c9acb | ||
|
|
e216f80d64 | ||
|
|
74c5a66a4c | ||
|
|
8738bc562e | ||
|
|
c6f06866bd | ||
|
|
b7eede22da | ||
|
|
e02d2b9298 | ||
|
|
de11ea389a | ||
|
|
3f842c2fbe | ||
|
|
d35dfda92f | ||
|
|
84eff433fb | ||
|
|
8c3c85f259 | ||
|
|
39e1c54c33 | ||
|
|
2998f2c363 | ||
|
|
4bd830f0d6 | ||
|
|
30b4e5511a | ||
|
|
4f9aab3c81 | ||
|
|
445414d126 | ||
|
|
62ea54e1ed | ||
|
|
ea0358b2ed | ||
|
|
d7730fb7c2 | ||
|
|
40f6a108ed | ||
|
|
33a30f3875 | ||
|
|
f75ed33cec | ||
|
|
1a2bd7d640 | ||
|
|
afc04514a0 | ||
|
|
d741a75de8 | ||
|
|
71d17da483 | ||
|
|
e00e64dc46 | ||
|
|
c585c87633 | ||
|
|
40c07973ce | ||
|
|
2fca22359b | ||
|
|
83187c517f | ||
|
|
208b9334e1 | ||
|
|
17fc370609 | ||
|
|
ab35d1a0bf | ||
|
|
69ccb1560c | ||
|
|
d4560b3be8 | ||
|
|
fca941b726 | ||
|
|
eda9a076d6 | ||
|
|
1279b0e5b7 | ||
|
|
16a56d6f60 | ||
|
|
c501e12c9d | ||
|
|
dd05f6532a | ||
|
|
1098354fca | ||
|
|
f81c9aa319 | ||
|
|
9d662a0d40 | ||
|
|
123d9df170 | ||
|
|
844240b5b8 | ||
|
|
3d17d8e08c | ||
|
|
f51223e7c3 | ||
|
|
b94e012f8f | ||
|
|
2fc8e43e71 | ||
|
|
565350fcfb | ||
|
|
e82d5277c0 | ||
|
|
6b9d92e75a | ||
|
|
8508248f12 | ||
|
|
2cb6020cac | ||
|
|
3f8220f350 | ||
|
|
f5901a4c8c | ||
|
|
f4be38dd65 | ||
|
|
4d7ef63e83 | ||
|
|
1d89e4935f | ||
|
|
51337ae4e5 | ||
|
|
66dfe25e17 | ||
|
|
c5322341ec | ||
|
|
a5755c47e5 | ||
|
|
68af4aec86 | ||
|
|
0b35227756 | ||
|
|
a5b2e47098 | ||
|
|
a3f9d88271 | ||
|
|
28b3046e51 | ||
|
|
e7ea9d45e5 | ||
|
|
45b278f999 | ||
|
|
37e0319598 | ||
|
|
7cf7eb4a48 | ||
|
|
597b788254 | ||
|
|
e4206bdcc0 | ||
|
|
5f80a6b400 | ||
|
|
09022ba41a | ||
|
|
fa32ef248b |
5
.flake8
Normal file
@@ -0,0 +1,5 @@
|
||||
[flake8]
|
||||
ignore = E133,E221,E226,E228,E241,W503,ANN101,ANN102,ANN401
|
||||
per-file-ignores=tests/*:ANN
|
||||
max-line-length = 99
|
||||
exclude = docs/*
|
||||
32
.github/workflows/build.yml
vendored
@@ -7,7 +7,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
architecture: x64
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
sudo apt install qttools5-dev-tools latexmk texlive texlive-latex-extra
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Packages (pip)
|
||||
run: pip install -r docs/source/requirements.txt
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
run: python pkgutils.py qtlrelease sample manual
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: |
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
linux-tag: ["manylinux_2_24_x86_64", "manylinux_2_28_x86_64"]
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
architecture: x64
|
||||
@@ -55,10 +55,10 @@ jobs:
|
||||
run: pip install python-appimage
|
||||
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
@@ -67,12 +67,10 @@ jobs:
|
||||
run: python pkgutils.py build-appimage --linux-tag ${{ matrix.linux-tag }} --python-version ${{ matrix.python-version }}
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: novelWriter-Packages
|
||||
path: |
|
||||
dist_appimage/novelWriter*.AppImage
|
||||
dist_appimage/novelWriter*.AppImage.sha256
|
||||
name: AppImage-${{ matrix.python-version }}-${{ matrix.linux-tag }}
|
||||
path: dist_appimage
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
@@ -81,10 +79,10 @@ jobs:
|
||||
runs-on: macos-12
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: nw-assets
|
||||
path: novelwriter/assets
|
||||
@@ -93,11 +91,9 @@ jobs:
|
||||
run: ./setup/macos/build.sh
|
||||
|
||||
- name: Upload DMG
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: novelWriter-Packages
|
||||
path: |
|
||||
dist_macos/novelWriter*.dmg
|
||||
dist_macos/novelWriter*.dmg.sha256
|
||||
name: MacOS-DMG
|
||||
path: dist_macos
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
32
.github/workflows/i18n.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
name: i18n
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- i18n/*
|
||||
|
||||
jobs:
|
||||
buildI18n:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
architecture: x64
|
||||
- name: Install Packages (apt)
|
||||
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
|
||||
with:
|
||||
name: nw-i18n
|
||||
path: |
|
||||
novelwriter/assets/i18n/*.qm
|
||||
if-no-files-found: error
|
||||
retention-days: 7
|
||||
12
.github/workflows/syntax.yml
vendored
@@ -4,27 +4,27 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
|
||||
jobs:
|
||||
checkSyntax:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3
|
||||
architecture: x64
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
- name: Install flake8
|
||||
run: pip install flake8
|
||||
run: pip install -r requirements-dev.txt
|
||||
- name: Syntax Check
|
||||
run: |
|
||||
flake8 --version
|
||||
flake8 novelwriter --count --show-source --statistics
|
||||
flake8 tests --count --show-source --statistics
|
||||
flake8 tests --count --show-source --statistics --extend-ignore ANN
|
||||
|
||||
12
.github/workflows/test_linux.yml
vendored
@@ -4,11 +4,11 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
|
||||
jobs:
|
||||
testLinux:
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
architecture: x64
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
sudo apt update
|
||||
sudo apt install libenchant-2-dev qttools5-dev-tools aspell-en
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies (pip)
|
||||
run: |
|
||||
pip install -U -r requirements.txt -r tests/requirements.txt
|
||||
@@ -38,4 +38,6 @@ jobs:
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
pytest -v --cov=novelwriter --timeout=60
|
||||
- name: Upload to Codecov
|
||||
uses: codecov/codecov-action@v3
|
||||
uses: codecov/codecov-action@v4
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
14
.github/workflows/test_mac.yml
vendored
@@ -4,26 +4,26 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
|
||||
jobs:
|
||||
testMac:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: "3.12"
|
||||
architecture: x64
|
||||
- name: Install Packages (brew)
|
||||
run: |
|
||||
brew install enchant
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies (pip)
|
||||
run: |
|
||||
pip install -U pyobjc -r requirements.txt -r tests/requirements.txt
|
||||
@@ -32,4 +32,6 @@ jobs:
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
pytest -v --cov=novelwriter --timeout=60
|
||||
- name: Upload to Codecov
|
||||
uses: codecov/codecov-action@v3
|
||||
uses: codecov/codecov-action@v4
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
14
.github/workflows/test_win.yml
vendored
@@ -4,23 +4,23 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- release
|
||||
|
||||
jobs:
|
||||
testWin:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Python Setup
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: "3.12"
|
||||
architecture: x64
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies (pip)
|
||||
run: |
|
||||
pip install -U -r requirements.txt -r tests/requirements.txt
|
||||
@@ -28,4 +28,6 @@ jobs:
|
||||
run: |
|
||||
pytest -v --cov=novelwriter --timeout=60
|
||||
- name: Upload to Codecov
|
||||
uses: codecov/codecov-action@v3
|
||||
uses: codecov/codecov-action@v4
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
3
.gitignore
vendored
@@ -50,3 +50,6 @@ ToC.txt
|
||||
# Coverage
|
||||
/.coverage
|
||||
/coverage.*
|
||||
|
||||
# Other
|
||||
/test.py
|
||||
|
||||
644
CHANGELOG.md
@@ -1,5 +1,551 @@
|
||||
# novelWriter Changelog
|
||||
|
||||
## Version 2.4 [2024-04-20]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This release adds a new global search feature. The tool is still relatively basic, and will likely
|
||||
be extended in later releases.
|
||||
|
||||
Among new text editing features is the ability to highlight text using `[m]text[/m]` shortcodes.
|
||||
The code `[m]` is for "mark", which is the equivalent code in HTML.
|
||||
|
||||
A second feature added for text editing is the ability to add an alternatively formatted scene
|
||||
heading by adding a `!` to the markup, like for chapters and main titles. This allows to
|
||||
distinguish between two scene formatting styles, `### Title` and `###! Title`, which can for
|
||||
instance be used for soft and hard scene breaks.
|
||||
|
||||
The **Manuscript Build** tool has also been extended with multiple new formatting options.
|
||||
|
||||
See the website for complete [Release Notes](https://novelwriter.io/releases/release_2_4.html).
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fixed background colour on some widgets on the new Project Search tool. PR #1800.
|
||||
* Fixed a bug when using bold/italic/strike through toggle on an existing text selection in the
|
||||
editor. Issue #1807. PR #1808.
|
||||
* An index out of bounds error in the word counter has been fixed. It could only be triggered by a
|
||||
single line only containing a ">" character. Issues #1816 and #1825. PR #1817.
|
||||
* Fixed an issue where not all theme colours were completely reset before changing theme. PR #1820.
|
||||
* Shortcodes are no longer passed to the spell checker. PR #1823.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Made placeholder text for search read as "Search for" and "Replace with". PR #1799.
|
||||
* The initial count for adding chapter and scenes to new project in the Welcome dialog has been
|
||||
changed to 0. The user must now select to add chapters and scenes. Issue #1811. PR #1815.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* Updated the documentation for 2.4 features. PR #1818.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Norwegian and US English translations updated by Veronica Berglyd Olsen (@vkbo).
|
||||
PRs #1799 and #1814.
|
||||
* Latin American Spanish translation updated by Tommy Marplatt (@tmarplatt). PR #1814.
|
||||
* Italian translation updated by Lou Cyper (loucyper1). PR #1814.
|
||||
* Japanese translation updated by @hebekeg. PR #1814.
|
||||
* French translation updated by Albert Aribaud (@aaribaud). PR #1821.
|
||||
* German translation updated by Myian (@HeyMyian). PR #1821.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.4 RC 1 [2024-04-06]
|
||||
|
||||
### 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 writing projects, and make frequent backups.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* A number of issues GUI icon scaling has been fixed. Icons and buttons are supposed to scale
|
||||
relative to the GUI font size, but several of them were not. Issue #1787. PR #1788.
|
||||
* The persistence of button state for the editor search box has been improved. The present state
|
||||
was only saved when the search box was actively closed, and there were several scenarios where
|
||||
this didn't happen. The button states are now tracked in the central config, and will always be
|
||||
preserved. Issue #1794. PR #1795.
|
||||
|
||||
**Other Improvements**
|
||||
|
||||
* A placeholder icon has been added for cases where users have their own icon theme, and icons are
|
||||
missing. Issue #1780. PR #1781.
|
||||
* The project search now refreshes the search results for the currently open document when it's
|
||||
being edited. PR #1782.
|
||||
* When activating project search from the editor while text is selected, the search box is
|
||||
populated with this text. Issue #1789. PR #1790.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* The project has moved from using a `setup.cfg` to only using the `pyproject.toml` meta data file
|
||||
for packaging. This is the preferred file format now. PR #1791.
|
||||
|
||||
**Code Improvements**
|
||||
|
||||
* The part of the code related to Qt widgets and flags has been updated and refactored in
|
||||
preparation for the eventual move to the Qt6 framework. Part of issue #1142. PR #1792.
|
||||
* The Open Document writer class has been refactored and improved. PR #1796.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.4 Beta 1 [2024-03-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
|
||||
|
||||
**Major Features**
|
||||
|
||||
* A global search feature has been added to the main sidebar. The search panel replaces the project
|
||||
and novel tree when activated. PR #1775. Issue #894.
|
||||
* A new shortcode to highlight text has been added. PR #1715. Issue #705.
|
||||
* A new heading format for hard scene breaks has been added. It uses `###!` heading markup. The
|
||||
only affect this has in the GUI is that these headings can be independently formatted in the
|
||||
Manuscript tool. PR #1753. Issue #1050.
|
||||
* The document editor and viewer now have a dropdown menu in the header listing all headings of the
|
||||
current document for quick navigation. The list is capped at 30 entries. PR #1764. issue #1059.
|
||||
|
||||
**Build Tool Improvements**
|
||||
|
||||
* The Manuscript Build Tool now has a word stats section below the preview that shows a number of
|
||||
word and character counts for the previewed text. PR #1717. Issues #1114 and #1116.
|
||||
* The Manuscript Build Tool now shows an outline of the previewed document as a tab next to the
|
||||
build settings list. PR #1768. Issue #1765.
|
||||
* Tabs handling in HTML output now has a separate setting from the other format. PR #1723.
|
||||
* Hard line breaks can now be excluded from Markdown builds. PR #1723. Issue #944.
|
||||
* It is now possible to control the centring and page breaks of partition, chapter and scene
|
||||
headings. PR #1723. Issues #1117 and #1661.
|
||||
* Special titles (`#!`) can now be used in notes as well. PR #1723.
|
||||
* Meta data categories can be filtered out from the manuscript. PR #1723. issue #1132.
|
||||
* Any heading in a novel document can now be hidden in the manuscript. PR #1759. Issue #1756.
|
||||
* First line of a paragraph can now be indented in the manuscript. PR #1761. Issue #906.
|
||||
* Each meta data entry in HTML builds have a new class assigned to it that matches the tag used in
|
||||
the text. PR #1767. Issue #1134.
|
||||
|
||||
**Other Improvements**
|
||||
|
||||
* The percentage progress counter in the editor document footer now counts progress per character
|
||||
instead of per line. This is only noticeable on short documents. PR #1725.
|
||||
* Some improvements have been made to terms on the GUI and some strings have been simplified in
|
||||
order to be easier to understand and to translate. PR #1727. Issue #1726.
|
||||
* Dates are now formatted according to the selected locale, if such a locale is available. If not,
|
||||
it falls back to the local system locale. PR #1755. Issue #1739.
|
||||
|
||||
**Code Improvements**
|
||||
|
||||
* The tokenization of the novelWriter markup format has been refactored and improved. PR #1724.
|
||||
* A way to read project documents fast has been added. It is useful many places in the code where
|
||||
only the text is needed, not the meta data. PR #1777.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.3.1 [2024-03-17]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes several issues with translations into other languages than the
|
||||
default English, and adds completed translations for French.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Fix untranslated text on the "Project Word List" dialog. PR #1744. Issue #1746.
|
||||
* Fix untranslated text on the dialog that pops up after an upgrade, PR #1754. Issue #1749.
|
||||
* Fix error in Norwegian translation. PR #1744.
|
||||
* Allow the translated text for adding chapter and scenes on the Welcome dialog to flow around the
|
||||
number selector since the number is inserted into the sentence, and not all languages will split
|
||||
the sentence around the number like is done in English. PR #1754. Issue #1750.
|
||||
* French translation updated by Albert Aribaud (@aaribaud). PR #1760.
|
||||
* Minor updates to other translations for the 2.3.1 fixes by other contributors. PR #1760.
|
||||
|
||||
**Other Changes**
|
||||
|
||||
* Bump the revision of the project file format to 1.5 Revision 3 from Revision 2. This should have
|
||||
been done in the 2.3 release due to the addition of the Templates root folder type. PR #1748.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.3 [2024-03-10]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This release introduces a new Welcome dialog that replaces both the previous Open Project dialog
|
||||
and the New Project Wizard. The Welcome dialog has received a friendly custom art design created by
|
||||
Louis Durrant.
|
||||
|
||||
The Preferences, Project Settings, Project Details, and About dialogs have received completely new
|
||||
designs and layouts, and the Manuscript Build Settings dialog has been updated to match.
|
||||
|
||||
Among new features is a new Templates root folder where the writer can store template documents to
|
||||
be used when creating new project documents and notes. It is now also possible to include Point of
|
||||
View and Focus character names in chapter titles in Manuscripts. A new feature to ignore text has
|
||||
also been added. It behaves similarly to comments, but is never included in a manuscript even if
|
||||
comments in the manuscript are enabled.
|
||||
|
||||
See the website for complete [Release Notes](https://novelwriter.io/releases/release_2_3.html).
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fix an issue where the Tags and References panel below the document viewer was not cleared if a
|
||||
project was opened, closed, and a new project with no tags defined were opened again. PR #1720.
|
||||
Issue #1718.
|
||||
* Fixed an issue where multi-selecting documents in Trash would give the option to again move items
|
||||
to Trash. The menu now properly offers the option to permanently delete the documents. PR #1728.
|
||||
* Fixed an issue where multi-select for deletion would only process the item right-clicked, and not
|
||||
all the selected items. PR #1728.
|
||||
* Changed the error message that pops up when trying to open a project from the Welcome dialog that
|
||||
no longer exists. The error message should no indicate that the project was not found, as opposed
|
||||
to unreadable. PR #1740. Issue #1737.
|
||||
|
||||
**Improvements**
|
||||
|
||||
* The build tool no longer inserts a scene separator immediately after a partition heading, and
|
||||
should now behave the same way as for chapters. If there is text before the first scene break,
|
||||
the text flows continuously without a separator. PR #1716. Issue #1704.
|
||||
* Added one new GUI theme named "Cyberpunk Night" by @alemvigh. Also added a matching "Cyberpunk
|
||||
Night" document editor theme by @alemvigh, and a new Tango theme by @vkbo. PR #1738. Issue #1730.
|
||||
* When the Welcome dialog fails to open a project, and there is not already a project open in the
|
||||
app, the Welcome dialog appears again. PR #1740. Issue #1737.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Norwegian and US English translations updated by @vkbo. PR #1714.
|
||||
* Japanese translation updated by @hebekeg. PR #1714.
|
||||
* Italian translation updated by Lou Cyper (loucyper1). PR #1714.
|
||||
* Dutch translation updated by Annelotte and Martijn van der Kleijn (mvdkleijn). PR #1714.
|
||||
* Latin American Spanish translation updated by @tmarplatt. PR #1741.
|
||||
* German translation updated by Myian (@HeyMyian). PR #1741.
|
||||
|
||||
**Other Changes**
|
||||
|
||||
* Removed the novelwriter-cli entry point that was in any case broken. PR #1734. Issue #1732.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.3 RC 1 [2024-02-24]
|
||||
|
||||
### 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.
|
||||
|
||||
Please check the changelog for an overview of changes. The full release notes will be added to the
|
||||
final release.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Improvements**
|
||||
|
||||
* Redesign the buttons on the new Welcome dialog so that they only show buttons related to the
|
||||
visible page. Drop the additional buttons on the New Project page. Issue #1706.
|
||||
PRs #1707 and #1709.
|
||||
* Drop the Language setting on the Welcome dialog's New Project page. PR #1707.
|
||||
* Hide the additional settings for Fresh Projects on the New Project page of the new Welcome
|
||||
dialog. Issue #1705. PR #1707.
|
||||
* Update the Templates root folder icon. PR #1709.
|
||||
* Scene separators are now hidden after a new title in manuscript builds, also when there are no
|
||||
chapters. Issue #1704. PR #1711.
|
||||
* Scene and chapter counters are now reset when a novel title is encountered. PR #1711.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.3 Beta 1 [2024-02-16]
|
||||
|
||||
### 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.
|
||||
|
||||
Please check the changelog for an overview of changes. The full release notes will be added to the
|
||||
final release.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Major Features**
|
||||
|
||||
* A new Welcome dialog has been added. The dialog replaces the Open Project dialog and the New
|
||||
Project Wizard. The Welcome dialog features artwork created by Louis Durrant, and a custom design
|
||||
for the project list. New projects can be created by a form available from the same dialog, and
|
||||
features a simplified set of options. Issue #1506. PRs #1647, #1681 and #1689.
|
||||
* It is now possible to create a new project by copying the content of another project, or a Zip
|
||||
file of a project, including a backup. This option is available from the New Project feature of
|
||||
the Welcome dialog. Issue #841. PRs #1680 and #1684.
|
||||
* The Preferences dialog has been completely redesigned. All options are now available in a single,
|
||||
scrollable list with appropriate section headers. All sections are available as navigation
|
||||
buttons along the side, and it is also possible to search for settings in a search box at the
|
||||
top. The design matches that created for the Manuscript Build Settings dialog added in 2.1.
|
||||
Issues #1603 and #1604. PR #1652.
|
||||
* The Project Details dialog has been redesigned to match the other new dialogs. It has also been
|
||||
modified to properly handle multiple novel folders. The novel selector is placed at the top of
|
||||
the dialog, and affects all data in the tabs. The Novel Title info has been removed. PR #1665.
|
||||
* The Manuscript Build Settings dialog has been updated to use the new config layout classes, which
|
||||
are more flexible in terms of content flow. PR #1674.
|
||||
* A new root folder type called "Templates" has been added. Any document added here will show up in
|
||||
the Add Item menu in the Project Tree view under a "From Template" submenu. Selecting such an
|
||||
entry will create a new document at the selected location in the project, and populate it with
|
||||
the content of the template file. Issues #996 and #1125. PR #1688.
|
||||
* The About novelWriter dialog has been simplified to only show some key information and the
|
||||
credits text. A link to the releases page is available for checking release notes. Keeping the
|
||||
release notes online means it is easier to update them, and make them more visually interesting
|
||||
as the formatting of the dialog box is limited. PR #1695.
|
||||
* The old Check for Updates dialog has been removed. Checking for new releases of novelWriter can
|
||||
be done directly in the Welcome dialog or the About dialog by clicking "Check Now" next to the
|
||||
"Latest Version" label. PR #1696.
|
||||
|
||||
**Minor Features**
|
||||
|
||||
* A new drop down menu in the References panel below the Document Viewer has an option to filter
|
||||
out inactive notes in the various tag lists in the tabs on the panel. Issue #1653. PR #1654.
|
||||
* The Novel Title fields, which no longer makes much sense after it was possible to add multiple
|
||||
novel folders to a project, has been fully dropped. Issue #1655. PR #1669.
|
||||
* The document header for ODT manuscript files can now be customised. Issue #1505. PR #1675.
|
||||
* The Manuscript Build tool can now insert characters (Point of View or Focus) into chapter headers
|
||||
and other headers. By default, it inserts the tag value, but the display name for a tag can be
|
||||
set with a `|` character in the `@tag` definition if a different text is desired. Issue #1468.
|
||||
PR #1677.
|
||||
* A new modified comment format for the editor has been added. Instead of the regular comment using
|
||||
`%`, this one uses `%~`. The only difference is that the latter will never be exported to a
|
||||
manuscript at all, while regular comments can be exported when a setting is enabled. Issue #1075.
|
||||
PR #1690.
|
||||
* It is now possible to change a document's label from the first heading in the document by
|
||||
right-clicking on it and selecting "Rename to heading". Issue #1443. PR #1692.
|
||||
* The content of the Project Word List can now be exported and imported using plain text files.
|
||||
Issue #1560. PR #1691.
|
||||
* The content of the Outline View can now be exported to a CSV file to be opened in any spreadsheet
|
||||
application. Issue #1507. PR #1697.
|
||||
|
||||
**Usability**
|
||||
|
||||
* A Create New submenu in the Project Tree context menu has been added, which give quick access to
|
||||
the items at the top level of the Add Item menu. Issue #1519. PR #1679.
|
||||
* When multiple paragraphs are selected in the editor, and any of the comment features are toggled,
|
||||
or formatting is reset, the action is applied to all selected paragraphs, not just the first.
|
||||
Issue #1042 and #1687. PR #1690.
|
||||
|
||||
**Packaging**
|
||||
|
||||
* The in-app version format is now identical to the version tag, and the format for Ubuntu
|
||||
pre-release packages has been updated so that they are compatible with release packages. That is,
|
||||
if you add both the release and pre-release repos from Launchpad, release packages will now
|
||||
properly replace pre-release packages when running apt upgrade. PR #1659.
|
||||
|
||||
**Code Improvements**
|
||||
|
||||
* The Storage class has been refactored. It is the class that handles the project storage folder
|
||||
for a novelWriter project. The refactoring is a step towards allowing single file storage for
|
||||
projects as an alternative to project folders. Issue #977. PR #1635.
|
||||
* All theme colours are now proper QColor objects from the start, which avoids the need to create
|
||||
a large number of these where they are used. PR #1656.
|
||||
* A nwProject.bak file is no longer kept in the project folder. It never really served any purpose.
|
||||
The project file is still written to a temp file before the old file is replaced, which prevents
|
||||
partial overwrites. PR #1670.
|
||||
* Other minor code improvements in PRs #1693 and 1694.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.2.1 [2024-01-27]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This is a patch release that fixes an issue where the Project View would sometimes switch to the
|
||||
Novel View when a new item was created. This patch also includes updated translations for German
|
||||
and Chinese.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fix a bug in the toggle for the tree view on the left would trigger each time a new project item
|
||||
was created. Issue #1649. PR #1648.
|
||||
* Fix an issue where multiple Manuscript and Writing Stats dialogs could be opened. PR #1671.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Updated German translation, by @HeyMyian. PR #1666.
|
||||
* Updated Chinese translation, by @ruixuan658 and @longqzh. PR #1666.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.2 [2023-12-17]
|
||||
|
||||
### Release Notes
|
||||
|
||||
This release comes with a number of new features. These are some highlights.
|
||||
|
||||
In addition to the common Markdown style formatting for bold, italic and strike through, a set of
|
||||
new shortcodes have been added. The shortcodes are far more flexible than the Markdown style
|
||||
syntax, and can be used for more complex formatting cases. Like when you need to add multiple,
|
||||
overlapping formats, or add emphasis to just a part of a word. The shortcodes also allow for
|
||||
underline, subscript and superscript, which the Markdown syntax does not. The new formats are
|
||||
available in the "Format" menu, and in a new toolbar in the editor that can be enabled by clicking
|
||||
the three dots in the top--left corner. The shortcode format was chosen because it can later be
|
||||
extended to include other requested features as well. Please have a look at the documentation for
|
||||
more details about the new shortcodes.
|
||||
|
||||
The Tags and References system has been improved. The tags themselves are no longer case sensitive
|
||||
when you use them in references, but they are still displayed as you typed them in the tag
|
||||
definition when they are displayed in the user interface. Starting to type the `@` symbol in the
|
||||
text editor, on a new line, will now open an auto-completer menu which will display available
|
||||
options. It may not display all of your tags if you have a lot of them, but starting to type more
|
||||
characters will filter the list down further.
|
||||
|
||||
You can now automatically create a note file for a new tag that you have added to a reference list
|
||||
in a document, but is not yet defined in a project note. So, for instance, if you come up with a
|
||||
new character while writing, and add a new tag to your `@char` references, you can right-click the
|
||||
new tag and create a new note for that entry directly. In addition, it is now also possible to
|
||||
right-click a heading in an open document and set the item label in the project tree to match the
|
||||
heading.
|
||||
|
||||
In addition to the changes in the editor, the "References" panel below the document viewer has also
|
||||
been completely redesigned. It now shows all the references to the document you are viewing as a
|
||||
list, with a lot more details than before. In addition, tabs in the panel will appear to show all
|
||||
the tags you have defined in your notes, sorted as one tab per category. Like for instance
|
||||
Characters, Locations, Objects, etc. You can also give each note a short description comment on the
|
||||
same format as the summary comments for chapters and scenes. The short description comment can be
|
||||
added from the "Insert" menu under "Special Comments".
|
||||
|
||||
The last major change in this release is the new multi-select feature in the project tree. You can
|
||||
now select multiple documents and folders using the mouse while pressing `Ctrl` or `Shift`. By
|
||||
right-clicking the selected items, you can perform a limited set of operations on all of them, like
|
||||
changing active status, and the status or importance labels. You can also drag and drop multiple
|
||||
items under the condition that all the selected items are in the same folder, at the same level.
|
||||
This restriction is in place due to limitations in the framework novelWriter is based on. But this
|
||||
should help in cases where multiple documents need to be moved in and out of folders or between
|
||||
folders. Note that adding the multi-select feature meant that the undo feature of the project tree
|
||||
had to be removed. It may be added back later.
|
||||
|
||||
_These Release Notes also include the changes from the 2.2 Beta 1 and 2.2 RC 1 releases._
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Fix column widths for columns with no text in the viewer panel lists, and fix an issues where
|
||||
icons were not updated on theme switch. Issue #1627. PR #1626.
|
||||
* Fix auto-selection of words with apostrophes. Issue #1624. PR #1632.
|
||||
|
||||
**Usability**
|
||||
|
||||
* Use `Ctrl+K, H` for inserting short description comments (alias to synopsis), drop the space
|
||||
after the `%` symbol when inserting special comments, add a browse icon to the open open project
|
||||
dialog, and remove the popup warning for Alpha releases. PR #1626.
|
||||
* Menu entries no longer clear the status bar message when they are hovered. This was caused by a
|
||||
status tip feature in Qt, which prints a blank message to the status bar. PR #1630.
|
||||
* The novel view panel now scrolls to bring the current document into view when iteratively
|
||||
searching through documents in the project. Issue #1555. PR #1632.
|
||||
* The progress bar on the Manuscript Build dialog now stays for 3 seconds after completion instead
|
||||
of 1 second. PR #1634.
|
||||
* The document viewer panel now shows the importance label next to each entry, and double-clicking
|
||||
an entry will open it in the viewer. All entries also now show the content in tooltips so that
|
||||
the columns can be shrunk to only view the icon if there is too little space. Issue #16220.
|
||||
PR #1639.
|
||||
* The editor toolbar no longer uses the same buttons for markdown and shortcodes style formatting.
|
||||
They have each received their separate buttons. Some additional space has been added between the
|
||||
two types of buttons to visually separate them. Issues #1636 and #1637. PR #1638.
|
||||
* Convert the Synopsis and Comment buttons in the document viewer footer to buttons with both icon
|
||||
and text, and drop the label. Issue #1628. PR #1638.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* Updated US English, Norwegian, Japanese, Latin American Spanish, French, and Italian
|
||||
translations. PRs #1625 and #1641.
|
||||
|
||||
**Documentation**
|
||||
|
||||
* The documentation has been updated to cover new features in 2.2. PR #1640.
|
||||
|
||||
**Code Improvements**
|
||||
|
||||
* Improve memory usage by making sure C++ objects are deleted when they are no longer used. There
|
||||
is an issue between the Python and Qt side of things where objects are left in memory and not
|
||||
properly garbage collected when they run out of scope. A number of deferred delete calls have
|
||||
been added that seems to solve most of these cases. A `--meminfo` flag has been added to the
|
||||
command line arguments to provide diagnostic data to help debug such issues. PR #1629.
|
||||
* Improve handling of alert boxes and their memory clean up, and refactor event filters. PR #1631.
|
||||
* Clean up unused methods in GUI extensions. PR #1634.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.2 RC 1 [2023-11-26]
|
||||
|
||||
### 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.
|
||||
|
||||
Please check the changelog for an overview of changes. The full release notes will be added to the
|
||||
final release.
|
||||
|
||||
### Detailed Changelog
|
||||
|
||||
**Bugfixes**
|
||||
|
||||
* Revert the change of keyboard shortcut to delete a project tree item made in 2.2 Beta 1 as it
|
||||
blocks certain features in the editor. This is a regression. PR 1616.
|
||||
|
||||
**Features**
|
||||
|
||||
* The old References panel under the Document Viewer has been replaced with a completely new widget
|
||||
with a lot more features. The Back-references panel is still there, but is now a scrollable list
|
||||
with a lot more information. In addition, tabs for each category of tags are available when there
|
||||
are tags defined for them. These panels list all available tags, with a good deal of information
|
||||
about them that may be useful to the writer, as well as buttons to open them in the viewer or
|
||||
editor. Issues #925 and #998. PR #1606.
|
||||
* Multi-select is now possible in the project tree, with some limitations. Drag and drop is only
|
||||
permitted if the selected items have the same parent item. Any other drag and drop selection will
|
||||
be cancelled and the user notified. A new context menu has been added for the case when multiple
|
||||
items are selected, with a reduced set of options that can be collectively applied to them.
|
||||
Issues #1549 and #1592. PR #1612.
|
||||
* The "Scroll Past End" setting in Preferences has been added back in. It is slightly different
|
||||
than the old one, as this one uses the Qt Plain Text Editor implementation, which has some side
|
||||
effects some users may want to avoid. Issue #1602. PR #1605.
|
||||
* For Windows users, there is now an "Add Dictionaries" tool in the Tools menu where new spell
|
||||
check dictionaries can be added. Links are provided to sources for these dictionaries, and a file
|
||||
selector tool to import the files into novelWriter. Issue #982. PR #1611.
|
||||
* You can now update the name of a document by right-clicking on any heading inside the document
|
||||
and select "Set as Document Name". This will open the Rename dialog with the text of the heading
|
||||
pre-filled. Issue #1503. PR #1614.
|
||||
* A new special comment, called "Short" can be added to Project Notes. They are identical to
|
||||
Synopsis comments, and are in fact just an alias for them. The "Short Description" will be
|
||||
displayed alongside the tags in the new panel under the Document Viewer. Issues #1617 and #1621.
|
||||
PRs #1617, #1619 and #1622.
|
||||
|
||||
**Usability**
|
||||
|
||||
* The feature to auto select word under cursor no longer uses the default Qt implementation, and
|
||||
has instead been implemented by iterating backward and forward in the text to find the nearest
|
||||
word boundaries. It will stop on characters that aren't Unicode alphanumeric as per Python's
|
||||
definition. Toggling markup will also move the cursor to after the markup if it was already at
|
||||
the end of the word. Otherwise it remains within the word at the same position. The word is not
|
||||
selected after formatting if it wasn't selected before. If no selection was made, and no word is
|
||||
auto selected, the formatting tags are inserted in-place with the cursor in the middle.
|
||||
Issues #1333 and #1598. PR #1600.
|
||||
* The auto complete context menu is now only triggered on actual user input consisting of adding or
|
||||
removing a single character. PR #1601.
|
||||
* Various improvements to the visibility of the cursor when the dimensions of the editor changes
|
||||
have been added. Like for instance keeping the cursor visible when opening or closing the Viewer
|
||||
panel, or toggling Focus Mode. Issues #1302 and #1478. PR #1608.
|
||||
* The Manuscript Build dialog now has a button to open the output folder. Issue #1554. PR #1613.
|
||||
|
||||
**Code Improvements**
|
||||
|
||||
* Improve test coverage. PR #1607.
|
||||
|
||||
----
|
||||
|
||||
## Version 2.2 Beta 1 [2023-11-11]
|
||||
|
||||
### Release Notes
|
||||
@@ -32,14 +578,14 @@ final release.
|
||||
that tag will appear in the menu. On selection, it will create a note in the first root folder of
|
||||
the correct kind, and set the title and tag to match the undefined reference, making it instantly
|
||||
defined. Issues #1580 and #823. PR #1582.
|
||||
* Shortcodes have been added to the Document Editor. Shorcodes are HTML-like syntax, but uses
|
||||
* Shortcodes have been added to the Document Editor. Shortcodes are HTML-like syntax, but uses
|
||||
square brackets instead of angular brackets. So `[b]text[/b]` will make the word "text" appear as
|
||||
bold. Shortcodes currently support bold, italic, striketrough, underline, superscript and
|
||||
bold. Shortcodes currently support bold, italic, strike trough, underline, superscript and
|
||||
subscript text. The first three are complimentary to the Markdown-like syntax that. The benefit
|
||||
of the shortcode emphasis syntax, however, is that it does not care about word boundaries, and
|
||||
can therefore be used any place in the text. Including in the middle of words. Issues #1337 and
|
||||
#1444. PRs #1540 and #1583.
|
||||
* A show/hide toolbar has been added to the editor where toolbuttons for formatting options are
|
||||
* A show/hide toolbar has been added to the editor where tool buttons for formatting options are
|
||||
available. The toolbar is hidden by default, but can be activated from a three dots icon in the
|
||||
top left corner of the editor. Issue #1585. PR #1584.
|
||||
* Build Definitions in the Manuscript Build tool can now be re-ordered, and the order is preserved
|
||||
@@ -48,26 +594,26 @@ final release.
|
||||
**Usability**
|
||||
|
||||
* The Settings menu in the sidebar now always pops out to the right and upwards from the bottom of
|
||||
the icon. The previous behaviour was not guaranteed to stay in the vissible area of the screen.
|
||||
the icon. The previous behaviour was not guaranteed to stay in the visible area of the screen.
|
||||
PR #1520.
|
||||
* The right click action on a misspelled word now uses the actual spell checker data for lookup.
|
||||
Previously, the spell checker would underline a word that was misspelled, but the right click
|
||||
action actually had no way of reading where the error line was, so it had to guess again what
|
||||
word the user was clicking. Since these two parts of the code used different logic, they
|
||||
sometimes produced different results. The spell checker now saves the location of each spell
|
||||
check error, and the right click action retrieves this data when genrating suggestions, which
|
||||
check error, and the right click action retrieves this data when generating suggestions, which
|
||||
should eliminate the problem of picking the correct word boundaries. Issue #1532. PR #1525.
|
||||
* The language of a project is not set in the New Project Wizard and in Project Settings. It is no
|
||||
longer defined in the Build Settings panel. Issue #1588. PR #1589.
|
||||
* The way switching focus and view in the main GUi has changed. Pressing `Ctrl+T` will now switch
|
||||
* The way switching focus and view in the main GUI has changed. Pressing `Ctrl+T` will now switch
|
||||
focus to the Project or Novel Tree if focus is elsewhere, or if either have focus already, it
|
||||
will switch view to the other tree. Pressing `Ctrl+E` will switch focus and view to the Document
|
||||
Editor. Pressing `Ctrl+Shift+T` will do the same for the Outline View. The old Alt-based shorcuts
|
||||
have been removed. Issues #1310 and #1291. PR #1590.
|
||||
Editor. Pressing `Ctrl+Shift+T` will do the same for the Outline View. The old Alt-based
|
||||
shortcuts have been removed. Issues #1310 and #1291. PR #1590.
|
||||
|
||||
**User Interface**
|
||||
|
||||
* The labels under the sidebar buttons have been removed. The tooltips have the necessary
|
||||
* The labels under the sidebar buttons have been removed. The tool tips have the necessary
|
||||
information. PR #1520.
|
||||
|
||||
**Other Improvements**
|
||||
@@ -105,7 +651,7 @@ changes have been fixed as well. See the full changelog for more details.
|
||||
Qt 5.15.8. In particular, it is possible to drop items on the root level, and it's possible to
|
||||
move root items to other locations. Neither should be possible and will severely mess up the
|
||||
project if done. Issue #1569. PR #1570.
|
||||
* Add a custom autoscroll feature when dragging an item in the project tree to near the top or
|
||||
* Add a custom auto-scroll feature when dragging an item in the project tree to near the top or
|
||||
bottom. This is actually a default feature of the tree widget in the Qt library, but this too is
|
||||
broken in some versions of Qt 5.15.x. The default feature has been permanently disabled and
|
||||
replaced by a custom written feature that behaves similarly. Issue #1561. PR #1571.
|
||||
@@ -327,7 +873,7 @@ This is a patch release that fixes a few issues and adds a Japanese translation.
|
||||
|
||||
The issues were mostly related to spell checking. In particular, issues with finding the word
|
||||
boundary when using underscore characters for italics markup. These issues should now be resolved.
|
||||
In addition, escaped markup characters are now renderred properly in HTML and ODT build formats.
|
||||
In addition, escaped markup characters are now rendered properly in HTML and ODT build formats.
|
||||
|
||||
A few usability improvements have also been made. The Add Item menu in the project tree no longer
|
||||
shows the options to create Novel Documents when an item in the tree is selected that cannot hold
|
||||
@@ -487,7 +1033,7 @@ This is a patch release that fixes a few bugs and usability issues. The editing
|
||||
importance labels in Project Settings should now be a bit more intuitive. Opening a document from
|
||||
the Outline View that is already open in the editor should now switch to the editor view. The
|
||||
convert folder to note or document feature in the project tree has also been fixed. Some icons have
|
||||
been updated and a renderring issue with one of them fixed. Chinese, Norwegian, US English, German
|
||||
been updated and a rendering issue with one of them fixed. Chinese, Norwegian, US English, German
|
||||
and Spanish translations have been updated as well. A new credits tab has been added to the About
|
||||
dialog box, replacing the Credits section on the main About tab.
|
||||
|
||||
@@ -757,7 +1303,7 @@ opened, a request to update the file format will show up.
|
||||
PR #1212.
|
||||
* The GUI theme now determines which icon theme is to be loaded. It is no longer a separate
|
||||
setting. The icon theme can also be reloaded without restart. Issue #1172. PR #1212.
|
||||
* The block formating features in the Format menu now also works on empty lines. Issue #1178.
|
||||
* The block formatting features in the Format menu now also works on empty lines. Issue #1178.
|
||||
PR #1214.
|
||||
* There is now a Format menu entry and shortcut code for synopsis comments. Issue #1177. PR #1214.
|
||||
* The split document dialog now has the option to move teh source document to trash. Issue #1179.
|
||||
@@ -794,7 +1340,7 @@ opened, a request to update the file format will show up.
|
||||
correct type information. PR #1197.
|
||||
* Saving and loading of XML data is now handled by a separate set of reader and writer classes. The
|
||||
reader class is capable of reading all file formats that have been used thus far. The various
|
||||
data classes have been improved, and a new XML file formart version 1.5 added. Issue #1189.
|
||||
data classes have been improved, and a new XML file format version 1.5 added. Issue #1189.
|
||||
PRs #1221 and #1232.
|
||||
* The index is now automatically rebuilt when the project file format is updated. Issue #1235.
|
||||
PR #1236.
|
||||
@@ -987,8 +1533,8 @@ final release.
|
||||
setting is preserved. Previously, the Importance setting would overwrite it during the
|
||||
conversion. PR #1030.
|
||||
* Item labels, Status labels, and other labels on the GUI are now run through a "simplify" function
|
||||
before being accepted. This functions strips out all whitespaces and consecutive whitespaces and
|
||||
replace them with single plain whitespaces. This is a safer format to store in XML, and also
|
||||
before being accepted. This functions strips out all white spaces and consecutive white spaces
|
||||
and replace them with single plain white spaces. This is a safer format to store in XML, and also
|
||||
makes sure there aren't invisible characters floating around in the labels. PR #1038.
|
||||
* Due to the changes to how drag and drop works, there are no longer any restrictions on folders
|
||||
and documents. Only root folders remain restricted in terms of moving. Root folders can only be
|
||||
@@ -1494,7 +2040,7 @@ checking enabled if there is something wrong with the spell check package.
|
||||
**Bugfixes**
|
||||
|
||||
* When the HTML converter replaced grater than or smaller than symbols with the corresponding HTML
|
||||
entities. the poisition of the formatting tags following in the text would be shifted, but the
|
||||
entities. the position of the formatting tags following in the text would be shifted, but the
|
||||
positions were not updated. This is now solved by updating these positions when such a symbol is
|
||||
encountered. This issue has been backported from 1.6 development. Issue #929.
|
||||
* If the pyenchant package is installed, but the underlying enchant library is broken in one way or
|
||||
@@ -1659,7 +2205,7 @@ backups.
|
||||
the case. Having two alternative spell checkers complicated the code a great deal, and the
|
||||
internal spell checker also required full word lists to be distributed with novelWriter. PR #875.
|
||||
* Added a setting in Preferences to change how the word count on the status bar is calculated. The
|
||||
new setting allows the project notes to be filetred out, leaving only the word count for novel
|
||||
new setting allows the project notes to be filtered out, leaving only the word count for novel
|
||||
files. Feature request #857. PR #882.
|
||||
|
||||
**Installation and Packaging**
|
||||
@@ -1678,7 +2224,7 @@ backups.
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* The US English and Nowregian translation files have been updated. PR #884.
|
||||
* The US English and Norwegian translation files have been updated. PR #884.
|
||||
|
||||
**Documentation**
|
||||
|
||||
@@ -1709,7 +2255,7 @@ careful when using this version on live writing projects, and make sure you take
|
||||
|
||||
**Internationalisation**
|
||||
|
||||
* The US English and Nowregian translation files have been updated. PR #870.
|
||||
* The US English and Norwegian translation files have been updated. PR #870.
|
||||
|
||||
**Documentation**
|
||||
|
||||
@@ -2297,7 +2843,7 @@ buttons were blocked when they shouldn't. This release resolves these issues.
|
||||
This release is mainly focused on the Build Novel Project tool. Completely new export classes have
|
||||
been written to support Open Document and Markdown exports. In addition, the way document layouts
|
||||
are handled have been automated a little to assist the user in keeping header levels and document
|
||||
layout flags in sync. The third new additoion is the ability to record and log idle time during a
|
||||
layout flags in sync. The third new addition is the ability to record and log idle time during a
|
||||
writing session to improve the writing statistics information as requested by several users.
|
||||
Finally, it is now possible to directly edit the project dictionary via a new, simple GUI dialog.
|
||||
|
||||
@@ -2390,7 +2936,7 @@ _These Release Notes also include the changes from 1.2 Beta 1 and RC 1._
|
||||
the index on next load. For earlier versions of novelWriter before 1.1.1, it would also cause a
|
||||
crash. Invalid keywords are now rejected during indexing. Issue #688. PR #689.
|
||||
* The "Empty Trash" option was no longer working due to an earlier fix that added a requirement
|
||||
that the project tree has focus to allow the emptying to procede. Since the Empty Trash feature
|
||||
that the project tree has focus to allow the emptying to proceed. Since the Empty Trash feature
|
||||
opens a dialog, the tree loses focus, and the deletions are therefore ignored. The focus check is
|
||||
no longer considered when emptying the trash. Issue #701. PR #702.
|
||||
|
||||
@@ -2450,7 +2996,7 @@ _The Release Notes have been moved and merged into the 1.2 RC 1 notes._
|
||||
* A full Markdown exporter has been written and added for the Build Novel Project tool. This too
|
||||
replaces a Qt feature that was used to save the content of the preview window into a markdown
|
||||
file. The exporter allows for both standard markdown and GitHub flavour markdown. The only
|
||||
relevant difference being that the latter allows strikethrough text. Issue #617. PR #650.
|
||||
relevant difference being that the latter allows strike through text. Issue #617. PR #650.
|
||||
* The Build Novel Project tool now has a "Line height" property that is applied to the preview, and
|
||||
to the HTML5 and Open Document export formats. Discussion #653. Issue #654. PR #660.
|
||||
* The Build Novel Project tool now has an option to convert Unicode characters to HTML entities on
|
||||
@@ -2531,7 +3077,7 @@ but is still lacking in functionality compared to Enchant.
|
||||
exclude negative word counts is active. Previously, the entries with negative counts were
|
||||
filtered out, but the change in count was still applied to the next line, altering the value.
|
||||
Now, the GUI will instead just drop the lines that are negative and keep the other lines
|
||||
unchanged. This is more intutitive, but it also means that the total count now longer matches the
|
||||
unchanged. This is more intuitive, but it also means that the total count now longer matches the
|
||||
sum of the lines. PR #659.
|
||||
* The keyboard shortcut for deleting entries in the project tree has been changed from `Ctrl+Del`
|
||||
to `Ctrl+Shift+Del`. The `Ctrl+Del` shortcut is thus free to be used exclusively by the editor to
|
||||
@@ -2544,7 +3090,7 @@ but is still lacking in functionality compared to Enchant.
|
||||
given a significant speed improvement by caching the imported dictionary as a Python `set`
|
||||
instead of a `list`. The `set` has a hashed key lookup algorithm that is significantly faster.
|
||||
PR #668.
|
||||
* Sessions shortar than 5 minutes, and with no word count changes, are no longer recorded in the
|
||||
* Sessions shorter than 5 minutes, and with no word count changes, are no longer recorded in the
|
||||
session stats log file. PR #685.
|
||||
|
||||
**Installation**
|
||||
@@ -3009,7 +3555,7 @@ issues are discovered, the next release will be the final version 1.0 release.
|
||||
|
||||
* The tests for the core classes of novelWriter have been completely rewritten. Every class or
|
||||
source file of the core functionality (everything handling the actual project data and documents,
|
||||
as well as the meta data) is now covered by its own testmodule with a 100% coverage for each
|
||||
as well as the meta data) is now covered by its own test module with a 100% coverage for each
|
||||
module. PR #512.
|
||||
* Likewise, the base tests have been rewritten to cover the `Config` class, the `main` function
|
||||
that launches the app, and the error handling class. The structure matches the core tests from
|
||||
@@ -3041,7 +3587,7 @@ The "Typewriter Mode" of the editor has been improved. Essentially, this feature
|
||||
scroll. It tries to keep the cursor stationary in the vertical direction, and will try to scroll
|
||||
the document up when the cursor skips to a new line while typing (or down in case of backspaces).
|
||||
This is similar to the way a typewriter scrolls the paper when hitting the return key. It improves
|
||||
the writing experience as the current active line will stay at the same eye heightlevel on the
|
||||
the writing experience as the current active line will stay at the same eye height level on the
|
||||
screen.
|
||||
|
||||
Previously, the feature would lock the cursor to a given vertical position defined by the user.
|
||||
@@ -3089,7 +3635,7 @@ Switching main GUI theme still requires a restart.
|
||||
handled by the various tools, but they shouldn't even trigger when there is no project or
|
||||
document to perform the action on. PR #492.
|
||||
* Clarify the message of the Close Project and Exit novelWriter dialogs. Previously, it may have
|
||||
seemed to some users that clicking "No" would allow the closing to procede without saving
|
||||
seemed to some users that clicking "No" would allow the closing to proceed without saving
|
||||
changes. This is not true as changes are saved automatically when editing a project. The dialog
|
||||
text should now make this clearer. Issue #494, PR #495.
|
||||
|
||||
@@ -3134,7 +3680,7 @@ Switching main GUI theme still requires a restart.
|
||||
**User Interface**
|
||||
|
||||
* An option has been added in Preferences to hide horizontal or vertical scroll bars on the main
|
||||
GUI. These optons will hide scroll bars on the Project Tree, Document Editor, Document Viewer,
|
||||
GUI. These options will hide scroll bars on the Project Tree, Document Editor, Document Viewer,
|
||||
Outline Tab and on the controls of the Build Novel Project tool. Scroll bars take up space, and
|
||||
as long as the project doesn't contain very long documents, scrolling with the mouse wheel is
|
||||
enough. The feature is of course entirely optional. PRs #468 and #469.
|
||||
@@ -3154,7 +3700,7 @@ Switching main GUI theme still requires a restart.
|
||||
* When applying a format from the format menu to a selection of multiple paragraphs (or lines),
|
||||
only the first paragraph (or line) receives the formatting. The editor doesn't allow markdown
|
||||
formatting to span multiple lines. Issue #451, PR #475.
|
||||
* The syntax highlighter no longer uses the same colour to highlight strikethrough text as for
|
||||
* The syntax highlighter no longer uses the same colour to highlight strike through text as for
|
||||
emphasised text. The colour is intended to stand out, which makes little sense for such text.
|
||||
Instead, the highlighter uses the same colour as for comments. PR #476.
|
||||
|
||||
@@ -3305,7 +3851,7 @@ Switching main GUI theme still requires a restart.
|
||||
|
||||
**Code Improvements**
|
||||
|
||||
* Minor improvemenmts have been made to the core project classes to improve encapsulation and
|
||||
* Minor improvements have been made to the core project classes to improve encapsulation and
|
||||
better ensure consistency between the different data structures that store the novel project in
|
||||
memory. PR #447.
|
||||
* Some unused or redundant code has been removed, and in some places, functions have been merged to
|
||||
@@ -3322,9 +3868,9 @@ Switching main GUI theme still requires a restart.
|
||||
**Bugfixes**
|
||||
|
||||
* If the horizontal scroll bar appeared at the bottom of the document editor or viewer, for
|
||||
instance if a long, un-wrapable line was entered, the scroll bar would sit on top of the document
|
||||
footer. The footer bar now properly moves out of the way when the horizontal scroll bar appears.
|
||||
Issue #433, PR #434.
|
||||
instance if a long, un-wrappable line was entered, the scroll bar would sit on top of the
|
||||
document footer. The footer bar now properly moves out of the way when the horizontal scroll bar
|
||||
appears. Issue #433, PR #434.
|
||||
|
||||
**New Features**
|
||||
|
||||
@@ -3446,7 +3992,7 @@ Switching main GUI theme still requires a restart.
|
||||
leading line break. This was previously handled entirely by the Qt library, which does this for
|
||||
some reason. Issue #395, PR #405.
|
||||
* A chapter heading in a file with a different layout than `Unnumbered` can now also be flagged as
|
||||
an unnumbered chapter heading by adding an asterisk to the begfinning of the title text. This
|
||||
an unnumbered chapter heading by adding an asterisk to the beginning of the title text. This
|
||||
only affects the number assignment and counter when running the Build Novel Project tool. The
|
||||
rest of the app ignores the asterisk. Issue #402, PR #406.
|
||||
|
||||
@@ -3461,7 +4007,7 @@ Switching main GUI theme still requires a restart.
|
||||
create a copy of the example project from the source code. Either from the `sample` folder in the
|
||||
source, or from a `sample.zip` file generated by the `setup.py` script and saved to the
|
||||
`nw/assets` folder. PR #366.
|
||||
* When the user clicked cancel on the colour dialog in Project Settins, the icon would be reset to
|
||||
* When the user clicked cancel on the colour dialog in Project Settings, the icon would be reset to
|
||||
black. Instead, the colour should remain unchanged. A check that the user actually selected a
|
||||
colour has now been added. Issue #395, PR #403.
|
||||
|
||||
@@ -3537,7 +4083,7 @@ planned by GitHub. See their [notes](https://github.com/github/renaming) for mor
|
||||
[novelwriter.readthedocs.io](https://novelwriter.readthedocs.io/) has been rewritten. It was
|
||||
drifting out of sync with the development of the code. In addition, many improvements have been
|
||||
made to the reStructuredText formatting of the documentation source by providing better
|
||||
cross-reference linking and highlightings. The main repository README file has been updated to
|
||||
cross-reference linking and highlighting. The main repository README file has been updated to
|
||||
match. PRs #375, #382, and #384.
|
||||
* The main `setup.py` script has been updated to also build documentation for the Qt Assistant when
|
||||
given a `qthelp` flag. The compiled help files are copied into the `nw/assets/help` folder, and
|
||||
@@ -3635,7 +4181,7 @@ longer be read by an earlier version due to the change of how autoReplace settin
|
||||
has been removed from the main window status bar. PR #348.
|
||||
* The document editor footer can optionally be hidden in Distraction Free mode. PR #351.
|
||||
* The Italic and Bold menu entries have been renamed to Emphasis and Strong Emphasis, which is more
|
||||
in line with what they represent in Markdown and HTML. They are still renderred as Italic and
|
||||
in line with what they represent in Markdown and HTML. They are still rendered as Italic and
|
||||
Bold in the document viewer, but the HTML export is using the `<em>` and `<strong>` tags.
|
||||
PR #350.
|
||||
* Due to several issues with the formatting of emphasised text using `*`, `**`, and `***` wrappers,
|
||||
@@ -3648,9 +4194,9 @@ longer be read by an earlier version due to the change of how autoReplace settin
|
||||
for emphasis and strong is commonly recommended when writing Markdown anyway, so it is a sensible
|
||||
compromise between speed and flexibility. This PR partially reverses PR #310. Issue #353,
|
||||
PR #355.
|
||||
* The syntax highlighter now properly highlights overlapping formattings, including emphasised text
|
||||
* The syntax highlighter now properly highlights overlapping formatting, including emphasised text
|
||||
inside of highlighted quotes. PR #355.
|
||||
* The colour highlighting of emphasis, strong and strikethrough, can now be switch off in
|
||||
* The colour highlighting of emphasis, strong and strike through, can now be switch off in
|
||||
Preferences. The syntax highlighter will still apply the italic, bold and strike effects.
|
||||
PR #357.
|
||||
* The project path in the Details tab of Project Settings can now be selected and copied to
|
||||
@@ -3681,7 +4227,7 @@ longer be read by an earlier version due to the change of how autoReplace settin
|
||||
visible in the tree. It is called when you for instance click the header of an open document. It
|
||||
was also activated when opening a document from the tree view with either double-click by mouse,
|
||||
or by using the Enter key. This meant that the tree view would often move, which made it hard to
|
||||
mouse click on items after eachother since you ended up chasing a moving target. This feature is
|
||||
mouse click on items after each other since you ended up chasing a moving target. This feature is
|
||||
now disabled for document open. In addition, the scroll into view feature has been added to the
|
||||
search/replace call to move into the next document when reaching the end of the current document.
|
||||
This was requested in Issue #332. PR #334.
|
||||
@@ -3692,7 +4238,7 @@ longer be read by an earlier version due to the change of how autoReplace settin
|
||||
**Documentation**
|
||||
|
||||
* The documentation has been updated to clarify the correct formatting for italic, bold and
|
||||
strikethrough formatting tags. Issue #220, PR #338.
|
||||
strike through formatting tags. Issue #220, PR #338.
|
||||
|
||||
----
|
||||
|
||||
@@ -3711,11 +4257,11 @@ longer be read by an earlier version due to the change of how autoReplace settin
|
||||
|
||||
* Underline text formatting has been removed. It is not standard HTML5, nor Markdown, and was
|
||||
previously implemented using the double underscore notation that in standard Markdown is
|
||||
renderred as bold text. Instead, novelWriter now renders a single `*` or `_` wrapping a piece of
|
||||
rendered as bold text. Instead, novelWriter now renders a single `*` or `_` wrapping a piece of
|
||||
text _within_ a paragraphs as italicised text, and a double `**` or `__` as bold text. The
|
||||
keyboard shortcuts and automatic features _only_ support the `*` notation. A triple set of `***`
|
||||
are treated as both bold and italicised. PR #310.
|
||||
* Strikethrough formatting has been added back into novelWriter using the standard Markdown `~~`
|
||||
* Strike through formatting has been added back into novelWriter using the standard Markdown `~~`
|
||||
wrapping. PR #310.
|
||||
* Added support for thin spaces and non-breaking thin spaces. PR #319.
|
||||
* The `Ctrl+Z` key sequence (undo) would not go through the wrapper function for document action
|
||||
@@ -3732,7 +4278,7 @@ longer be read by an earlier version due to the change of how autoReplace settin
|
||||
PR #309.
|
||||
* The text emphasis functions, either selected from the menu or via keyboard shortcuts, will now
|
||||
try to respond to the command in a more meaningful way. That is, the text editor will try to
|
||||
toggle the bold or italics features independently of eachother on the selected text. A menu entry
|
||||
toggle the bold or italics features independently of each other on the selected text. A menu entry
|
||||
to apply both at the same time has also been added. PR #310.
|
||||
* The document editor search tool has been completely rewritten. It now appears as a search box at
|
||||
the top of the document, and has a number of toggle switches added to it. You can modify the
|
||||
@@ -4102,7 +4648,7 @@ that I can spend more time using it than creating it.
|
||||
**Additional thanks** to @countjocular for PRs #173 and #174, and to @johnblommers for all the
|
||||
helpful feedback and issue reports for the new features added in this, and previous releases.
|
||||
|
||||
### Noteable Changes
|
||||
### Notable Changes
|
||||
|
||||
* The Timeline View dialog is now gone. Instead, the main window area has been split into two tabs.
|
||||
The first, the "Editor", contains the Document Editor and Viewer panels. The second, the
|
||||
@@ -4253,7 +4799,7 @@ helpful feedback and issue reports for the new features added in this, and previ
|
||||
**Bug Fixes**
|
||||
|
||||
* Fixed an issue when closing the import file dialog without selecting a file, the import would
|
||||
procede, but fail on file not found. The import is now cancelled when there is no file selected.
|
||||
proceed, but fail on file not found. The import is now cancelled when there is no file selected.
|
||||
PR #149.
|
||||
* Fixed an issue with markdown export where it did not take into account hard line breaks. Issue
|
||||
#151, PR #152.
|
||||
@@ -4663,7 +5209,7 @@ This is the initial release of a working version of novelWriter, but with very l
|
||||
capabilities. So far, the following has been implemented:
|
||||
|
||||
* A document tree with a set of pre-defined root folders of a given set of classes for different
|
||||
purposes for novel writing. That is, a root item for the novel itself, one for charcaters, plot
|
||||
purposes for novel writing. That is, a root item for the novel itself, one for characters, plot
|
||||
elements, timeline, locations, objects, and a custom one.
|
||||
* A plain text editor with a simplified markdown format that allows for four levels of titles, and
|
||||
bold, italics and underline text.
|
||||
@@ -4671,7 +5217,7 @@ capabilities. So far, the following has been implemented:
|
||||
* It also allows for keyword/value sets staring with the character `@`. These will later be used
|
||||
to link documents together as tags point to other documents. For instance, a scene file can
|
||||
point the keyword `@POV:name` to a character file with the keyword `@THIS:name`.
|
||||
* The text editor has a set of autoreplace features:
|
||||
* The text editor has a set of auto replace features:
|
||||
* Dashes are made by combining two or three hyphens.
|
||||
* Three dots are replaced with the ellipsis.
|
||||
* Straight quotes with your quote format of choice.
|
||||
|
||||
@@ -1,45 +1,44 @@
|
||||
# Contributing Guide
|
||||
|
||||
When contributing to this repository, please first discuss the change you wish to make via the
|
||||
issue tracker or the discussions page with the owner of this repository. Especially if it is
|
||||
regarding new features. If you just want to make a minor correction, like fix a typo or similar,
|
||||
feel free to just make a pull request directly.
|
||||
When contributing to this repository, please first discuss the change you wish to make with the
|
||||
owner. Either via the issue tracker or on the discussions page. Especially if it is regarding new
|
||||
features. If you just want to make a minor correction, like fix a typo or similar, feel free to
|
||||
just make a pull request directly.
|
||||
|
||||
The following contributions are welcome:
|
||||
**The following contributions are welcome:**
|
||||
|
||||
* 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 via the [crowdin project page](https://crowdin.com/project/novelwriter).
|
||||
* Translations made via the [Crowdin project page](https://crowdin.com/project/novelwriter).
|
||||
* Improvements to the documentation. Particularly if the documentation is unclear. Please don't
|
||||
make any larger changes to the documentation without discussing if with the maintainer first.
|
||||
* Adaptations, installation or packaging features targeting specific operating systems.
|
||||
|
||||
Please do not:
|
||||
**Please do not:**
|
||||
|
||||
* Make a pull request that restructures or reformats existing code. If you think some parts of the
|
||||
* 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.
|
||||
|
||||
## Pull Requests
|
||||
## Picking the Correct Branch for a Pull Request
|
||||
|
||||
This project follows the [OneFlow](https://www.endoflineblog.com/oneflow-a-git-branching-model-and-workflow)
|
||||
model. 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 own `main`
|
||||
branch.
|
||||
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.
|
||||
|
||||
**Note:** If your contribution is a bugfix for a specific version, please make a bugfix branch from
|
||||
the tag you want the fix to be applied to, not directly from the `main` branch. This is important.
|
||||
As of April 2024, releases are made from the `release` branch. If you are submitting a fix to a
|
||||
current release you must do so from the `release` branch. If you 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.
|
||||
|
||||
Also check the following:
|
||||
**Also check the following:**
|
||||
|
||||
* Make sure your code passes all tests and conforms to the style guide. You can check that the
|
||||
code generally conforms by running the Python linting tool `flake8` from the root of the project
|
||||
folder, although it doesn't check everything. The same check is also run on pull requests by the
|
||||
maintainer.
|
||||
folder, although it doesn't check everything. The same check is also run on pull requests.
|
||||
* 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.
|
||||
* Do not change the version number.
|
||||
* Do not submit files that were not actively changed but have otherwise been modifed. This is
|
||||
* 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.
|
||||
|
||||
@@ -68,14 +67,14 @@ style guide, but with a few exceptions. Some key points are listed below.
|
||||
is the recommended line length in PEP8, but this is often too restrictive. 99 characters are
|
||||
acceptable when that is more practical. Readability has priority. 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 preferrable.
|
||||
avoided by going to 99, then that is generally preferable.
|
||||
* 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.
|
||||
|
||||
**Variable and Function Names**
|
||||
|
||||
* PEP8 allows for camelCase for consistency with existing code. The Qt library uses camelCase, so
|
||||
the Python source code does too.
|
||||
the novelWriter source code does too.
|
||||
* The exception to the above is for constants. They should always be in upper snake case, like PEP8
|
||||
states.
|
||||
|
||||
@@ -83,19 +82,29 @@ style guide, but with a few exceptions. Some key points are listed below.
|
||||
|
||||
* Only indentation by multiples of 4 spaces is allowed.
|
||||
* No trailing spaces should occur on any line in the source code, including empty lines.
|
||||
* Ideally, a function should end on the same indention level as it started. Exceptions are allowed
|
||||
if it makes the code easier to follow.
|
||||
* All common line wrapping methods are allowed in the code, 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.
|
||||
|
||||
**Type Annotation**
|
||||
|
||||
* All functions must be properly type annotated, and a return type stated in all cases.
|
||||
* Do not use `List`, `Dict`, `Tuple`, etc, annotations that were deprecated in Python 3.9. You can
|
||||
install the `flake8-pep585` extension to make sure you don't forget. This is also checked by the
|
||||
syntax action run on pull requests.
|
||||
* If annotations require a more recent Python version than the minimum version stated in the
|
||||
project's `pyproject.toml`, hide it under an `if TYPE_CHECKING` condition so that the code can
|
||||
still run on older versions. It's OK to require a more recent version for development.
|
||||
|
||||
### Linting with `flake8`
|
||||
|
||||
A good tool for checking Python code for errors and code style is `flake8`. The documentation is
|
||||
available [here](https://flake8.pycqa.org/en/latest/).
|
||||
|
||||
The `setup.cfg` file in the root of this project has the following settings for `flake8` that
|
||||
matches the above code style:
|
||||
The `.flake8` file in the root of this project has the following settings for that matches the
|
||||
required code style:
|
||||
|
||||
```conf
|
||||
[flake8]
|
||||
ignore = E133,E221,E226,E228,E241,W503
|
||||
@@ -115,7 +124,7 @@ command will give you a detailed description of the code lines that do not confo
|
||||
Two of the ignored errors are due to the relaxed restriction on column alignment, these are the
|
||||
E221 and E241 error codes.
|
||||
|
||||
The code E226 is ignored becuse it doesn't actually follow the
|
||||
The code E226 is ignored because it doesn't actually follow the
|
||||
[PEP8 recommendation](https://www.python.org/dev/peps/pep-0008/#other-recommendations)
|
||||
of grouping longer equations by operator precedence like `2*a + 3*b` instead of `a * a + 3 * b`.
|
||||
Generally, don't use spaces around `*`, `/` and `**`, but _do_ use spaces around `+` and `-`.
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
|
||||
For other contributions, see the project's [Contributors](https://github.com/vkbo/novelWriter/graphs/contributors) page.
|
||||
|
||||
## Artwork
|
||||
|
||||
The artwork on the Welcome dialog was created by [Louis Durrant](https://louisdurrant.art).
|
||||
|
||||
## Translations
|
||||
|
||||
The default language is English (UK) with English (US) as an option. These are the original
|
||||
@@ -54,9 +58,11 @@ Some of the assets bundled with novelWriter were adapted from the following sour
|
||||
|
||||
## Fonts
|
||||
|
||||
The font used for the main novelWriter logo, mimetype and text banners is:
|
||||
The font used for the main novelWriter logo, mimetype and text banners is Pridi. Other fonts are
|
||||
used on buttons and icons.
|
||||
|
||||
* Pridi by Cadson Demak (Open Font License, Version 1.1)
|
||||
* Source Sans Pro by Paul D. Hunt (SIL Open Font License)
|
||||
|
||||
## Special Mentions
|
||||
|
||||
|
||||
@@ -49,6 +49,10 @@ code, please also read the full
|
||||
|
||||
Project credits are available in [CREDITS.md](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
|
||||
|
||||
**Note:** As of April 2024 only pre-releases are made from 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
|
||||
|
||||
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 103 KiB |
BIN
docs/source/images/fig_manuscript_build_outline.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 243 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 123 KiB |
BIN
docs/source/images/fig_welcome.jpg
Normal file
|
After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 534 KiB After Width: | Height: | Size: 530 KiB |
|
Before Width: | Height: | Size: 539 KiB |
BIN
docs/source/images/screenshot_light.png
Normal file
|
After Width: | Height: | Size: 540 KiB |
|
Before Width: | Height: | Size: 379 KiB After Width: | Height: | Size: 335 KiB |
@@ -5,9 +5,9 @@ novelWriter User Guide
|
||||
| **Release Version:** |release|
|
||||
| **Updated:** |today|
|
||||
|
||||
novelWriter is an open source 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 is designed to be a simple text
|
||||
novelWriter is an open source plain text editor designed for writing novels assembled from
|
||||
individual text documents. It uses a minimal formatting syntax inspired by Markdown, and adds a
|
||||
meta data syntax for comments, synopsis, and cross-referencing. It is 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.
|
||||
|
||||
@@ -17,19 +17,18 @@ storage for robustness.
|
||||
:width: 500
|
||||
|
||||
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 saved as JSON files.
|
||||
See the :ref:`a_breakdown_storage` section for more details.
|
||||
synchronisation tools. All text is saved as plain text files, and your project data as standard
|
||||
data formats in XML and JSON. See :ref:`a_storage` for more details.
|
||||
|
||||
Any operating system that can run Python 3 and has the Qt 5 libraries should be able to run
|
||||
novelWriter. It runs fine on Linux, Windows and MacOS, and users have tested it on other platforms
|
||||
as well. novelWriter can also be run directly from the Python source, or installed from packages or
|
||||
with pip. See :ref:`a_started` for more details.
|
||||
Any operating system that has Python 3 and the Qt 5 libraries should be able to run novelWriter.
|
||||
It runs fine on Linux, Windows and MacOS, and users have tested it on other platforms as well.
|
||||
See :ref:`a_started` for more details.
|
||||
|
||||
**Useful Links**
|
||||
|
||||
* Website: https://novelwriter.io
|
||||
* 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
|
||||
@@ -52,7 +51,6 @@ with pip. See :ref:`a_started` for more details.
|
||||
int_overview
|
||||
int_started
|
||||
int_howto
|
||||
int_customise
|
||||
int_glossary
|
||||
|
||||
.. toctree::
|
||||
@@ -66,7 +64,6 @@ with pip. See :ref:`a_started` for more details.
|
||||
usage_format
|
||||
usage_shortcuts
|
||||
usage_typography
|
||||
usage_projectformat
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
@@ -80,7 +77,16 @@ with pip. See :ref:`a_started` for more details.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Additional Topics
|
||||
:caption: Additional Details
|
||||
:hidden:
|
||||
|
||||
more_customise
|
||||
more_projectformat
|
||||
more_counting
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Technical Topics
|
||||
:hidden:
|
||||
|
||||
tech_locations
|
||||
|
||||
@@ -50,7 +50,7 @@ Glossary
|
||||
Headings
|
||||
Each level of headings in :term:`Novel Documents` have a specific meaning in terms of the
|
||||
structure of the story. That is, they determine what novelWriter considers a partition, a
|
||||
chapter, a scene or a text section. For :term:`Project Notes`, the header levels don't
|
||||
chapter, a scene or a text section. For :term:`Project Notes`, the heading levels don't
|
||||
matter. For more details on headings in novel documents, see :ref:`a_struct_heads`.
|
||||
|
||||
Keyword
|
||||
|
||||
@@ -9,8 +9,8 @@ Tips & Tricks
|
||||
This is a list of hopefully helpful little tips on how to get the most out of novelWriter.
|
||||
|
||||
.. note::
|
||||
This section will be expanded over time, and if you would like to have something added, feel
|
||||
free to contribute, or start a discussion on the project's `Discussions Page`_.
|
||||
This section will be expanded over time. If you would like to have something added, feel free to
|
||||
contribute, or start a discussion on the project's `Discussions Page`_.
|
||||
|
||||
|
||||
Managing the Project
|
||||
@@ -19,13 +19,13 @@ Managing the Project
|
||||
.. dropdown:: Merge Multiple Documents Into One
|
||||
:animate: fade-in-slide-down
|
||||
|
||||
If you need to merge a set of documents in your project into a single document, you can achieve
|
||||
this by first making a new folder for just that purpose, and drag all the files you want merged
|
||||
into this folder. Then you can right click the folder, select :guilabel:`Transform` and
|
||||
If you need to merge a selection of documents in your project into a single document, you can
|
||||
achieve this by first making a new folder for just that purpose, and drag all the files you want
|
||||
merged into this folder. Then you can right click the folder, select :guilabel:`Transform` and
|
||||
:guilabel:`Merge Documents in Folder`.
|
||||
|
||||
In the dialog that pops up, the documents will be in the same order as in the folder, but you
|
||||
can also rearrange them here of you wish. See :ref:`a_ui_tree_split_merge` for more details.
|
||||
can rearrange them here of you wish. See :ref:`a_ui_tree_split_merge` for more details.
|
||||
|
||||
|
||||
Layout Tricks
|
||||
@@ -36,13 +36,13 @@ Layout Tricks
|
||||
|
||||
The formatting tools available in novelWriter don't allow for complex structures like tables.
|
||||
However, the editor does render tabs in a similar way that regular word processors do. You can
|
||||
set the width of a tab in :guilabel:`Preferences`.
|
||||
set the width of a tab in **Preferences**.
|
||||
|
||||
The tab key should have the same distance in the editor as in the viewer, so you can align text
|
||||
in columns using the tab key, and it should look the same when viewed next to the editor.
|
||||
|
||||
This is most suitable for your notes, as the result in exported documents cannot be guaranteed
|
||||
to match.
|
||||
to match. Especially if you don't use the same font in your manuscript as in the editor.
|
||||
|
||||
|
||||
Organising Your Text
|
||||
@@ -56,7 +56,9 @@ Organising Your Text
|
||||
|
||||
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 (added in novelWriter 2.0).
|
||||
documents of the chapter.
|
||||
|
||||
.. versionadded:: 2.0
|
||||
|
||||
.. dropdown:: Distinguishing Soft and Hard Scene Breaks
|
||||
:animate: fade-in-slide-down
|
||||
@@ -64,11 +66,13 @@ Organising Your Text
|
||||
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 the scene heading for hard scene breaks and section headings
|
||||
for soft scene breaks. the :guilabel:`Build Manuscript` tool will let you add separate
|
||||
formatting for the two when you generate your manuscript. You can for instance add the common
|
||||
"``* * *``" for hard breaks and select to hide section breaks, which will just insert an empty
|
||||
paragraph in their place. See :ref:`a_manuscript_settings` for more details.
|
||||
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 soft scene breaks, which will just insert an
|
||||
empty paragraph in their place. See :ref:`a_manuscript_settings` for more details.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
|
||||
|
||||
Other Tools
|
||||
|
||||
@@ -1,42 +1,63 @@
|
||||
.. _a_intro:
|
||||
|
||||
************
|
||||
Key Features
|
||||
************
|
||||
********
|
||||
Overview
|
||||
********
|
||||
|
||||
.. _Snowflake: https://www.advancedfictionwriting.com/articles/snowflake-method/
|
||||
.. _Markdown: https://en.wikipedia.org/wiki/Markdown
|
||||
|
||||
At its core, novelWriter is a multi-document plain text editor. It uses a markup syntax inspired by
|
||||
Markdown_ to apply simple formatting to the text. It is designed for writing fiction, so the
|
||||
formatting features available are limited to those relevant for this purpose. It is *not* suitable
|
||||
for technical writing, and it is *not* a full-featured Markdown editor.
|
||||
At its core, novelWriter is a multi-document plain text editor. The idea is to let you edit your
|
||||
text without having to deal with formatting until you generate a draft document or manuscript.
|
||||
Instead, you can focus on the writing right from the start.
|
||||
|
||||
Your novel project is organised as a collection of separate plain text documents instead of a
|
||||
single, large document. The idea here is to make it easier to reorganise your project structure
|
||||
without having to cut and paste text between chapters.
|
||||
Of course, you probably need *some* formatting for your text. At the very least you need emphasis.
|
||||
Most people are familiar with adding emphasis using underscores and asterisks. This formatting
|
||||
standard comes from Markdown_ and is supported by novelWriter. It also uses Markdown formatting for
|
||||
defining document headings. If you need more specialised formatting, additional formatting options
|
||||
are available using a shortcode format. See :ref:`a_fmt_shortcodes` for more details.
|
||||
|
||||
.. admonition:: Limitations
|
||||
|
||||
novelWriter is designed for writing fiction, so the formatting features available are limited to
|
||||
those relevant for this purpose. It is **not** suitable for technical writing, and it is **not**
|
||||
a full-featured Markdown editor.
|
||||
|
||||
It is also 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 novelWriter is mainly
|
||||
intended for character profiles and plot outlines.
|
||||
|
||||
Your novel project in novelWriter is organised as a collection of separate plain text documents
|
||||
instead of a single, large document. The idea is to make it easier to reorganise your project
|
||||
structure without having to cut and paste text between chapters and scenes.
|
||||
|
||||
There are two kinds of documents in your project: :term:`Novel Documents` are documents that are
|
||||
part of your story. The other kind of documents are :term:`Project Notes`. These are intended for
|
||||
your notes about your characters, your world building, and so on.
|
||||
|
||||
You can at any point split the individual documents by their headers up into multiple documents, or
|
||||
merge multiple documents into single documents. This makes it easier to use variations of the
|
||||
Snowflake_ method for writing. You can focus on writing larger structure-focused documents, like
|
||||
one per act for instance, and later effortlessly split these up into scenes by their headers.
|
||||
You can at any point split the individual documents by their headings up into multiple documents,
|
||||
or merge multiple documents into a single document. This makes it easier to use variations of the
|
||||
Snowflake_ method for writing. You can start by writing larger structure-focused documents, like
|
||||
for instance one document per act, and later effortlessly split these up into chapters or scenes.
|
||||
|
||||
|
||||
.. _a_intro_features:
|
||||
|
||||
Key Features
|
||||
============
|
||||
|
||||
Below are some key features of novelWriter.
|
||||
|
||||
**Focus on writing**
|
||||
The aim of the user interface is to let the user focus on writing instead of spending time
|
||||
formatting text. Formatting is therefore limited to a small set of formatting tags for simple
|
||||
things like text emphasis and paragraph alignment. When you really want to focus on just
|
||||
writing, you can switch the editor into :guilabel:`Focus Mode` where only the text editor panel
|
||||
itself is visible, and the project structure view is hidden away.
|
||||
The aim of the user interface is to let you focus on writing instead of spending time formatting
|
||||
text. Formatting is therefore limited to a small set of formatting tags for simple things like
|
||||
text emphasis and paragraph alignment. When you really want to focus on just writing, you can
|
||||
switch the editor into **Focus Mode** where only the text editor panel itself is visible, and
|
||||
the project structure view is hidden away.
|
||||
|
||||
**Keep an eye on your notes**
|
||||
The main window can optionally show a document viewer to the right of the editor. This view
|
||||
panel is intended for displaying another scene document, your character notes, plot notes, or any
|
||||
The main window can optionally show a document viewer to the right of the editor. The viewer
|
||||
is intended for displaying another scene document, your character notes, plot notes, or any
|
||||
other document you may need to reference while writing. It is not intended as a preview panel
|
||||
for the document you're editing, but if you wish, you can also use it for this purpose.
|
||||
|
||||
@@ -45,30 +66,39 @@ Below are some key features of novelWriter.
|
||||
build the project into a manuscript, they are all glued together in the top-to-bottom order in
|
||||
which they appear in the project tree. You can use as few text documents as you like, but
|
||||
splitting the project up into chapters and scenes means you can easily reorder them using the
|
||||
drag-and-drop feature. You can also start out with a few documents and then later split them
|
||||
into multiple documents based on their headers.
|
||||
drag-and-drop feature of the project tree. You can also start out with fewer documents and then
|
||||
later split them into multiple documents based on chapter and scene headings.
|
||||
|
||||
**Multi-novel project support**
|
||||
As of novelWriter 2.0, you can have multiple Novel type root folders in a project. This allows
|
||||
you to keep a series of individual novels with the same characters and world building in the
|
||||
same project, and create manuscripts for them individually.
|
||||
The main parts of your project is split up into top level special folders called "Root" folders.
|
||||
Your main story text lives in the "Novel" root folder. You can have multiple such folders in a
|
||||
project. This allows you to keep a series of individual novels with the same characters and
|
||||
world building in the same project, and create manuscripts for them individually.
|
||||
|
||||
**Keep track of your plot elements**
|
||||
All notes in your project can be assigned a :term:`tag` that you can :term:`reference` from any
|
||||
other document or note. In fact, you can add a new tag under each heading of a note if you need
|
||||
to be able to reference specific sections of ot.
|
||||
**Keep track of your story elements**
|
||||
All notes in your project can be assigned a :term:`tag` that you can then :term:`reference` from
|
||||
any other document or note. In fact, you can add a new tag under each heading of a note if you
|
||||
need to be able to reference specific sections of it.
|
||||
|
||||
**Get an overview of your plot elements**
|
||||
In the :guilabel:`Outline View` on the main window you can see an outline of all the chapters,
|
||||
scenes, and sections of your project. If they have any references in them, these are listed in
|
||||
additional columns. You can also add a synopsis to each chapter or scene, which can be listed
|
||||
here as well. You have the option to add or remove columns of information from this outline. A
|
||||
subset of the outline information is also available in the :guilabel:`Novel View` as an
|
||||
alternative view to the project tree.
|
||||
**Get an overview of your story**
|
||||
It is not the documents themselves that define the chapters and scenes of your story, but the
|
||||
headings that separate them. In the **Outline View** on the main window you can see an outline
|
||||
of all the chapter and scene headings of your project. If they have any references in them, like
|
||||
which character is in what chapter and scene, these are listed in additional columns.
|
||||
|
||||
**Building your manuscript**
|
||||
You can also add a synopsis to each chapter or scene, which can be listed here as well. You have
|
||||
the option to add or remove columns of information from this outline. A subset of the outline
|
||||
information is also available in the **Novel View** as an alternative view to the project tree.
|
||||
|
||||
**Get an overview of your story elements**
|
||||
Under the document viewer panel you will find a series of tabs that show the different story
|
||||
elements you have created tags for. The tabs are sorted into **Characters**, **Plots**, etc,
|
||||
depending on which categories you are using in your story. This panel can be hidden to free up
|
||||
space when you don't need it.
|
||||
|
||||
**Assembling your manuscript**
|
||||
Whether you want to assemble a manuscript, or export all your notes, or generate an outline of
|
||||
your chapters and scenes with a synopsis, you can use the :guilabel:`Build Manuscript` tool to
|
||||
your chapters and scenes with a synopsis included, you can use the **Build Manuscript** tool to
|
||||
do so. The tool lets you select what information you want to include in the generated document,
|
||||
and how it is formatted. You can send the result to a printer, a PDF, or to an Open Document
|
||||
file that can be opened by most office type word processors. You can also generate the result
|
||||
@@ -80,12 +110,12 @@ Below are some key features of novelWriter.
|
||||
Screenshots
|
||||
===========
|
||||
|
||||
.. figure:: images/screenshot_default.png
|
||||
.. figure:: images/screenshot_light.png
|
||||
:class: dark-light
|
||||
|
||||
novelWriter with default theme
|
||||
novelWriter with light colour theme
|
||||
|
||||
.. figure:: images/screenshot_dark.png
|
||||
:class: dark-light
|
||||
|
||||
novelWriter with dark theme
|
||||
novelWriter with dark colour theme
|
||||
|
||||
@@ -1,28 +1,22 @@
|
||||
.. _a_overview:
|
||||
.. _a_reading:
|
||||
|
||||
********
|
||||
Overview
|
||||
********
|
||||
******************
|
||||
What to Read First
|
||||
******************
|
||||
|
||||
.. only:: html
|
||||
The documentation of novelWriter is quite extensive. There are a lot of features to get used to,
|
||||
but you don't need all of them to get started.
|
||||
|
||||
.. image:: images/python_powered.png
|
||||
:align: right
|
||||
:width: 220
|
||||
The chapters below labelled "Essential Information" are the ones you need to know to use the
|
||||
application correctly. By "correctly", it is meant: in a way so novelWriter understands the basic
|
||||
structure of your text. It collects a lot of information from your text and uses it to display the
|
||||
structure of it in various ways to help you get an overview of your project.
|
||||
|
||||
novelWriter is built as a cross-platform application using `Python 3 <https://www.python.org/>`_ as
|
||||
the programming language, and `Qt 5 <https://www.qt.io/>`_ for the user interface.
|
||||
The chapters labelled "Recommended Reading" includes additional information on how the different
|
||||
parts if the application work and what the features do.
|
||||
|
||||
novelWriter is built for Linux first, and this is where it works best. However, it also runs fine
|
||||
on Windows and MacOS due to the cross-platform framework it's built on. The author of the
|
||||
application doesn't own a Mac, so on-going Mac support is dependent on user feedback and user
|
||||
contributions.
|
||||
|
||||
Spell checking in novelWriter is provided by a third party library called
|
||||
`Enchant <https://abiword.github.io/enchant/>`_. Please see the section on :ref:`a_custom_dict` for
|
||||
how to install spell checking languages.
|
||||
|
||||
For install instructions, see :ref:`a_started`.
|
||||
The "Optional" and "Lookup" chapters contain additional information or lookup tables that are not
|
||||
essential for using the application.
|
||||
|
||||
|
||||
Using novelWriter
|
||||
@@ -36,15 +30,15 @@ read on.
|
||||
This chapter explains the basics of how the application works and what it can and cannot do.
|
||||
|
||||
:ref:`a_ui_project` – Recommended Reading
|
||||
This chapter will give you a more detailed explanation of how you can use the user interface components
|
||||
to organise and view your project work.
|
||||
This chapter will give you a more detailed explanation of how you can use the user interface
|
||||
components to organise and view your project work.
|
||||
|
||||
:ref:`a_ui_writing` – Recommended Reading
|
||||
This chapter will give you a more detailed explanation of how the text editor and viewer work.
|
||||
|
||||
:ref:`a_fmt` – Essential Information
|
||||
This chapter covers how you should format your text. The editor is plain text, so text
|
||||
formatting requires some basic markup. The structure of your novel is also inferred by how you
|
||||
formatting requires some basic markup. The structure of your novel is also inferred from how you
|
||||
use headings. Tags and references are implemented by special keywords.
|
||||
|
||||
:ref:`a_kb` – Optional / Lookup
|
||||
@@ -55,15 +49,9 @@ read on.
|
||||
:ref:`a_typ` – Optional
|
||||
This chapter gives you an overview of the special typographical symbols available in
|
||||
novelWriter. The auto-replace feature can handle the insertion of standard quote symbols for
|
||||
your language, and other special characters. If you use any symbols aside from these. their
|
||||
your language, and other special characters. If you use any symbols aside from these, their
|
||||
intended use is explained here.
|
||||
|
||||
:ref:`a_prjfmt` – Optional
|
||||
This chapter is more technical and has an overview of changes made to the way your project data
|
||||
is stored. The format has changed a bit from time to time, and sometimes the changes require
|
||||
that you make small modifications to your project. Everything you need to know is listed in this
|
||||
chapter.
|
||||
|
||||
|
||||
Organising Your Projects
|
||||
========================
|
||||
@@ -88,5 +76,13 @@ meta data for it to extract.
|
||||
the application interface.
|
||||
|
||||
:ref:`a_manuscript` - Recommended Reading
|
||||
This chapter explains how the :guilabel:`Manuscript Build` tool works, how you can control the
|
||||
way chapter titles are formatted, and how scene and section breaks are handled.
|
||||
This chapter explains how the **Manuscript Build** tool works, how you can control the way
|
||||
chapter titles are formatted, and how scene and section breaks are handled.
|
||||
|
||||
|
||||
Additional Details & Technical Topics
|
||||
=====================================
|
||||
|
||||
The Additional Details and the Technical Topics sections contain more in-depth information about
|
||||
how various bits of novelWriter works. This information is not essential to getting started using
|
||||
novelWriter.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.. _a_started:
|
||||
|
||||
***************
|
||||
Getting Started
|
||||
***************
|
||||
**********************
|
||||
Setup and Installation
|
||||
**********************
|
||||
|
||||
.. _Enchant: https://abiword.github.io/enchant/
|
||||
.. _GitHub: https://github.com/vkbo/novelWriter
|
||||
.. _main website: https://novelwriter.io
|
||||
.. _Downloads page: https://download.novelwriter.io
|
||||
.. _PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter
|
||||
.. _Pre-Release PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter-pre
|
||||
.. _PyPi: https://pypi.org/project/novelWriter/
|
||||
@@ -14,10 +14,11 @@ Getting Started
|
||||
.. _Releases: https://github.com/vkbo/novelWriter/releases
|
||||
.. _AppImage: https://appimage.org/
|
||||
|
||||
Package installers for novelWriter are available for all major platforms, including Linux, Windows
|
||||
and MacOS. See below for install instructions for each platform.
|
||||
Ready-made packages and installers for novelWriter are available for all major platforms, including
|
||||
Linux, Windows and MacOS, from the `Downloads page`_. See below for install additional instructions
|
||||
for each platform.
|
||||
|
||||
You can also install novelWriter from the Python Package Index (PyPi). See :ref:`a_started_pip`.
|
||||
You can also install novelWriter from the Python Package Index (PyPi_). See :ref:`a_started_pip`.
|
||||
Installing from PyPi does not set up icon launchers, so you will either have to do this yourself,
|
||||
or start novelWriter from the command line.
|
||||
|
||||
@@ -32,7 +33,7 @@ Installing on Windows
|
||||
=====================
|
||||
|
||||
You can install novelWriter with both Python and library dependencies embedded using the Windows
|
||||
Installer (setup.exe) file from the `main website`_, or from the Releases_ page on GitHub_.
|
||||
Installer (setup.exe) file from the `Downloads page`_, or from the Releases_ page on GitHub_.
|
||||
Installing it should be straightforward.
|
||||
|
||||
If you have any issues, try uninstalling the previous version and making a fresh install. If you
|
||||
@@ -43,7 +44,7 @@ multiple installations has been known to cause problems.
|
||||
The novelWriter installer is not signed because Microsoft doesn't currently provide a way for
|
||||
non-profit open source projects to properly sign their installers. The novelWriter project
|
||||
doesn't have the funding to pay for commercial software signing certificates. You will therefore
|
||||
see an additional warning about this when you download the installer.
|
||||
see an additional warning about this when you download and run the installer.
|
||||
|
||||
|
||||
.. _a_started_linux:
|
||||
@@ -51,10 +52,11 @@ multiple installations has been known to cause problems.
|
||||
Installing on Linux
|
||||
===================
|
||||
|
||||
A Debian package can be downloaded from the `main website`_, or from the Releases_ page on GitHub_.
|
||||
This package should work on both Debian, Ubuntu and Linux Mint, at least.
|
||||
A Debian package can be downloaded from the `Downloads page`_, or from the Releases_ page on
|
||||
GitHub_. This package should work on both Debian, Ubuntu and Linux Mint, at least.
|
||||
|
||||
If you prefer, you can also add the novelWriter repository on Launchpad to your package manager.
|
||||
The Launchpad packages `are signed by the author <https://launchpad.net/~vkbo>`__.
|
||||
|
||||
|
||||
Ubuntu
|
||||
@@ -82,7 +84,7 @@ Instead, run the following commands to add the repository and key:
|
||||
.. code-block:: bash
|
||||
|
||||
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/novelwriter-ppa-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F19F1FCE50043114
|
||||
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
|
||||
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
|
||||
|
||||
Then run the update and install commands as for Ubuntu:
|
||||
|
||||
@@ -112,8 +114,8 @@ completely standalone images for the app that include the necessary environment
|
||||
They can of course be run on any Linux distro, if you prefer this to native packages.
|
||||
|
||||
.. note::
|
||||
novelWriter generally don't support Python versions that have reached end of life. If your Linux
|
||||
distro still uses older Python versions and novelWriter won't run, you may want to try the
|
||||
novelWriter generally doesn't support Python versions that have reached end of life. If your
|
||||
Linux distro still uses older Python versions and novelWriter won't run, you may want to try the
|
||||
AppImage instead.
|
||||
|
||||
|
||||
@@ -123,14 +125,14 @@ Installing on MacOS
|
||||
===================
|
||||
|
||||
You can install novelWriter with both its Python and library dependencies embedded using the DMG
|
||||
application image file from the `main website`_, or from the Releases_ page on GitHub_. Installing
|
||||
it should be straightforward.
|
||||
application image file from the `Downloads page`_, or from the Releases_ page on GitHub_.
|
||||
Installing it should be straightforward.
|
||||
|
||||
* Download the DMG file and open it. Then drag the novelWriter icon to the :guilabel:`Applications`
|
||||
folder on the right. This will install it into your :guilabel:`Applications`.
|
||||
* The first time you try to launch it, it will say that the bundle cannot be verified, simply press
|
||||
the :guilabel:`Open` button to add an exception.
|
||||
* If you are not presented with an :guilabel:`Open` button in the dialog launch the application
|
||||
* If you are not presented with an :guilabel:`Open` button in the dialog, launch the application
|
||||
again by right clicking on the application in Finder and selecting :guilabel:`Open` from the
|
||||
context menu.
|
||||
|
||||
@@ -149,7 +151,7 @@ Installing from PyPi
|
||||
====================
|
||||
|
||||
novelWriter is also available on the Python Package Index, or PyPi_. This install method works on
|
||||
all supported operating systems.
|
||||
all supported operating systems with a suitable Python environment.
|
||||
|
||||
To install from PyPi you must first have the ``python`` and ``pip`` commands available on your
|
||||
system. You can download Python from `python.org`_. It is recommended that you install the latest
|
||||
|
||||
98
docs/source/more_counting.rst
Normal file
@@ -0,0 +1,98 @@
|
||||
.. _a_counting:
|
||||
|
||||
********************
|
||||
Word and Text Counts
|
||||
********************
|
||||
|
||||
This is an overview of how words and other counts of your text are performed. The counting rules
|
||||
should be relatively standard, and are compared to Libre Office Writer rules.
|
||||
|
||||
The counts provided in the app on the raw text is meant to be approximate. For more accurate
|
||||
counts, you need to build your manuscript in the **Manuscript Tool** and check the counts on the
|
||||
generated preview.
|
||||
|
||||
|
||||
Text Word Counts and Stats
|
||||
==========================
|
||||
|
||||
These are the rules for the main counts available for for each document in a project.
|
||||
|
||||
For all counts, the following rules apply.
|
||||
|
||||
#. Short (–) and long (—) dashes are considered word separators.
|
||||
#. Any line starting with ``%`` or ``@`` is ignored.
|
||||
#. Trailing white spaces are ignored, including line breaks.
|
||||
#. Leading ``>`` and trailing ``<`` are ignored with any spaces next to them.
|
||||
#. Valid shortcodes and other commands wrapped in brackets ``[]`` are ignored.
|
||||
#. In-line Markdown syntax in text paragraphs is treated as part of the text.
|
||||
|
||||
After the above preparation of the text, the following counts are available.
|
||||
|
||||
**Character Count**
|
||||
The character count is the sum of characters per line, including leading and in-text white space
|
||||
characters, but excluding trailing white space characters. Shortcodes in the text are not
|
||||
included, but Markdown codes are. Only headings and text are counted.
|
||||
|
||||
**Word Count**
|
||||
The words count is the sum of blocks of continuous character per line separated by any number of
|
||||
white space characters or dashes. Only headings and text are counted.
|
||||
|
||||
**Paragraph Count**
|
||||
The paragraph count is the number of text blocks separated by one or more empty line. A line
|
||||
consisting only of white spaces is considered empty.
|
||||
|
||||
|
||||
Manuscript Counts
|
||||
=================
|
||||
|
||||
These are the rules for the counts available for a manuscript in the **Manuscript Tool**. The rules
|
||||
have been tuned to agree with LibreOffice Writer, but will vary slightly depending on the content
|
||||
of your text. LibreOffice Writer also counts the text in the page header, which the **Manuscript
|
||||
Tool** does not.
|
||||
|
||||
The content of each line is counted after all formatting has been processed, so the result will be
|
||||
more accurate than the counts for text documents elsewhere in the app. The following rules apply:
|
||||
|
||||
#. Short (–) and long (—) dashes are considered word separators.
|
||||
#. Leading and trailing white spaces are generally included, but paragraph breaks are not.
|
||||
#. Hard line breaks within paragraph are considered white space characters.
|
||||
#. All formatting codes are ignored, including shortcodes, commands and Markdown.
|
||||
#. Scene and section separators are counted.
|
||||
#. Comments and meta data lines are counted after they are formatted.
|
||||
#. Headers are counted after they are formatted with custom formats.
|
||||
|
||||
The following counts are available:
|
||||
|
||||
**Headings**
|
||||
The number of headings in the manuscript.
|
||||
|
||||
**Paragraphs**
|
||||
The number of body text paragraphs in the manuscript.
|
||||
|
||||
**Words**
|
||||
The number of words in the manuscript, including any comments and meta data text.
|
||||
|
||||
**Words in Text**
|
||||
The number of words in body text paragraphs, excluding all other text.
|
||||
|
||||
**Words in Headings**
|
||||
The number of words in headings, including inserted formatting like chapter numbers, etc.
|
||||
|
||||
**Characters**
|
||||
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**
|
||||
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**
|
||||
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**
|
||||
The number of characters in headings considered part of a word or punctuation. That is, white
|
||||
space characters are not counted.
|
||||
@@ -7,7 +7,7 @@ Customisations
|
||||
.. _Enchant: https://abiword.github.io/enchant
|
||||
.. _Free Desktop: https://cgit.freedesktop.org/libreoffice/dictionaries/tree/
|
||||
|
||||
There are a few ways you can customise novelWriter youself. Currently, you can add new GUI themes,
|
||||
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.
|
||||
|
||||
|
||||
@@ -22,23 +22,36 @@ may not load all installed spell check dictionaries automatically.
|
||||
Linux and MacOS
|
||||
---------------
|
||||
|
||||
On Linux and MacOS, you generally only have to install hunspell or aspell 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.
|
||||
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. You can find the various dictionaries on the `Free Desktop`_
|
||||
website. You should find a folder for your language, if it is available at all, and download the
|
||||
files ending with ``.aff`` and ``.dic``. These files must then be copied to the following location:
|
||||
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
|
||||
@@ -53,7 +66,7 @@ not exist, so you may need to create them.
|
||||
Syntax and GUI Themes
|
||||
=====================
|
||||
|
||||
Adding your own GUI and syntax themes is relatively easy, altough it requires that you manually
|
||||
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.
|
||||
|
||||
@@ -68,14 +81,14 @@ modify it as you like.
|
||||
`novelwriter/assets/icons <https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/icons>`_.
|
||||
|
||||
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 :guilabel:`Preferences`.
|
||||
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:`a_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.
|
||||
|
||||
Once the files are copied there, they should show up in :guilabel:`Preferences` with the label you
|
||||
Once the files are copied there, they should show up in **Preferences** with the label you
|
||||
set as ``name`` inside the file.
|
||||
|
||||
.. versionadded:: 2.0
|
||||
@@ -84,7 +97,7 @@ set as ``name`` inside the file.
|
||||
suitable one.
|
||||
|
||||
|
||||
Gustom GUI and Icons Theme
|
||||
Custom GUI and Icons Theme
|
||||
--------------------------
|
||||
|
||||
A GUI theme ``.conf`` file consists of the following settings:
|
||||
@@ -127,16 +140,16 @@ In the Main section you must at least define the ``name`` and ``icontheme`` sett
|
||||
``typicons_light`` or ``typicons_dark``, or to an icon theme in your custom icons directory. The
|
||||
setting must match the icon theme's folder name.
|
||||
|
||||
The Palette values correspond to the Qt enum values for QPalette::ColorRole, see the
|
||||
The Palette values correspond to the Qt enum values for ``QPalette::ColorRole``, see the
|
||||
`Qt documentation <https://doc.qt.io/qt-5.15/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 to 255.
|
||||
Omitted values are not loaded and will use default values.
|
||||
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.
|
||||
|
||||
|
||||
Custom Syntax Theme
|
||||
-------------------
|
||||
|
||||
A syntax theme ``.conf`` file consists of the follwing settings:
|
||||
A syntax theme ``.conf`` file consists of the following settings:
|
||||
|
||||
.. code-block:: cfg
|
||||
|
||||
@@ -162,15 +175,25 @@ A syntax theme ``.conf`` file consists of the follwing settings:
|
||||
shortcode = 0, 0, 0
|
||||
keyword = 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
|
||||
|
||||
In the Main section, you must define at least the ``name`` setting. The Syntax colour values are
|
||||
RGB numbers of the format ``r, g, b`` where each is an integer from to 255. Omitted values default
|
||||
to black, except ``background`` which defaults to white,
|
||||
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.
|
||||
|
||||
Omitted syntax colours default to black, except ``background`` which defaults to white, and
|
||||
``texthighlight`` which defaults to white with half transparency.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
The `shortcode` syntax colour entry was added, so you need to update your custom themes if you
|
||||
made any before version 2.2.
|
||||
The ``shortcode`` syntax colour entry was added.
|
||||
|
||||
.. versionadded:: 2.3
|
||||
The ``optional`` syntax colour entry was added.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
The ``texthighlight`` syntax colour entry was added.
|
||||
@@ -4,13 +4,15 @@
|
||||
Building the Manuscript
|
||||
***********************
|
||||
|
||||
.. _Pandoc: https://pandoc.org/
|
||||
|
||||
You can at any time build a manuscript, an outline of your notes, or any other type of document
|
||||
from the text in your project. All of this is handled by the :guilabel:`Manuscript Build` tool.
|
||||
You can activate it from the sidebar, the :guilabel:`Tools` menu, or by pressing :kbd:`F5`.
|
||||
from the text in your project. All of this is handled by the **Manuscript Build** tool. You can
|
||||
activate it from the sidebar, the **Tools** menu, or by pressing :kbd:`F5`.
|
||||
|
||||
.. versionadded:: 2.1
|
||||
This tool is new for version 2.1. A simpler tool was used for earlier versions. The simpler tool
|
||||
only allows you to define a single set of options for the build, but otherwise has much the same
|
||||
only allows you to define a single set of options for the build, but otherwise had much the same
|
||||
functionality.
|
||||
|
||||
|
||||
@@ -20,40 +22,60 @@ The Manuscript Build Tool
|
||||
=========================
|
||||
|
||||
.. figure:: images/fig_manuscript_build.png
|
||||
:width: 80%
|
||||
|
||||
The :guilabel:`Manuscript Build` tool main window.
|
||||
The **Manuscript Build** tool main window.
|
||||
|
||||
The main window of the :guilabel:`Manuscript Build` tool contains a list of all the builds you have
|
||||
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
|
||||
run the build to create a manuscript document.
|
||||
|
||||
|
||||
Outline and Word Counts
|
||||
-----------------------
|
||||
|
||||
.. figure:: images/fig_manuscript_build_outline.png
|
||||
:width: 80%
|
||||
|
||||
The **Manuscript Build** tool main window with the **Outline** visible.
|
||||
|
||||
The **Outline** tab on the left lets you navigate the headings in the preview document. It will
|
||||
show up to scene level headings for novel documents, and level 2 headings for notes.
|
||||
|
||||
A collapsible panel of word and character counts are also available below the preview document.
|
||||
These are calculated from the text you have included in the document, and are more accurate counts
|
||||
than what's available in the project tree since they are counted *after formatting*.
|
||||
|
||||
For a detailed description on how they are counted, see :ref:`a_counting`.
|
||||
|
||||
|
||||
.. _a_manuscript_settings:
|
||||
|
||||
Build Settings
|
||||
==============
|
||||
|
||||
Each build definition can be edited by opening it in the :guilabel:`Manuscript Build Settings`
|
||||
dialog, either by double-clicking or by selecting it and pressing the edit button in the toolbar.
|
||||
Each build definition can be edited by opening it in the **Manuscript Build Settings** dialog,
|
||||
either by double-clicking or by selecting it and pressing the edit button in the toolbar.
|
||||
|
||||
.. tip::
|
||||
You can keep the :guilabel:`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
|
||||
by pressing the :guilabel:`Preview` button in the main :guilabel:`Manuscript Build` window.
|
||||
When you're happy with the result, you can close the settings.
|
||||
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 by pressing
|
||||
the :guilabel:`Preview` button in the main **Manuscript Build** window. When you're happy with
|
||||
the result, you can close the settings.
|
||||
|
||||
|
||||
Document Selection
|
||||
------------------
|
||||
|
||||
.. figure:: images/fig_build_settings_selections.png
|
||||
:width: 80%
|
||||
|
||||
The :guilabel:`Selections` page of the :guilabel:`Manuscript Build Settings` dialog.
|
||||
The **Selections** page of the **Manuscript Build Settings** dialog.
|
||||
|
||||
The :guilabel:`Selections` page of the :guilabel:`Manuscript Build Settings` dialog allows you to
|
||||
fine tune which documents are included in the build. They are indicated by a green arrow 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 of the **Manuscript Build Settings** dialog allows you to fine tune which
|
||||
documents are included in the build. They are indicated by a green arrow 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.
|
||||
|
||||
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
|
||||
@@ -63,17 +85,20 @@ In the figure, the green arrow icon and the blue pin icon indicates which docume
|
||||
and the red forbidden icon indicates that a document is explicitly excluded.
|
||||
|
||||
|
||||
.. _a_manuscript_settings_head:
|
||||
|
||||
Formatting Headings
|
||||
-------------------
|
||||
|
||||
.. figure:: images/fig_build_settings_headings.png
|
||||
:width: 80%
|
||||
|
||||
The :guilabel:`Headings` page of the :guilabel:`Manuscript Build Settings` dialog.
|
||||
The **Headings** page of the **Manuscript Build Settings** dialog.
|
||||
|
||||
The :guilabel:`Headings` page of the :guilabel:`Manuscript Build Settings` dialog allows you to set
|
||||
how the headings in your :term:`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 like shown int he figure above.
|
||||
The **Headings** page of the **Manuscript Build Settings** dialog allows you to set how the
|
||||
headings in your :term:`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
|
||||
@@ -84,7 +109,8 @@ Any text you add that isn't highlighted in colours will remain in your formatted
|
||||
``{Title}`` will always be replaced by the text in the heading from your documents.
|
||||
|
||||
You can preview the result of these format strings by clicking :guilabel:`Apply`, and then clicking
|
||||
:guilabel:`Preview` in the :guilabel:`Manuscript Build` tool main window.
|
||||
:guilabel:`Preview` in the **Manuscript Build** tool main window.
|
||||
|
||||
|
||||
Scene Separators
|
||||
^^^^^^^^^^^^^^^^
|
||||
@@ -99,13 +125,24 @@ the desired separator text as the format. If the format is any piece of static t
|
||||
be treated as a separator.
|
||||
|
||||
|
||||
.. _a_manuscript_settings_head_hard:
|
||||
|
||||
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:`a_fmt_head` for more info on how to format headings in your text.
|
||||
|
||||
|
||||
Output Settings
|
||||
---------------
|
||||
|
||||
The :guilabel:`Content`, :guilabel:`Format` and :guilabel:`Output` pages of the
|
||||
:guilabel:`Manuscript Build Settings` dialog control a number of other settings for the output.
|
||||
Some of these only apply to specific output formats, which is indicated by the section headings on
|
||||
the settings pages.
|
||||
The **Content**, **Format** and **Output** pages of the **Manuscript Build Settings** dialog
|
||||
control a number of other settings for the output. Some of these only apply to specific output
|
||||
formats, which is indicated by the section headings on the settings pages.
|
||||
|
||||
|
||||
.. _a_manuscript_build:
|
||||
@@ -114,12 +151,13 @@ Building Manuscript Documents
|
||||
=============================
|
||||
|
||||
.. figure:: images/fig_build_build.png
|
||||
:width: 80%
|
||||
|
||||
The :guilabel:`Manuscript Build` dialog used for writing the actual manuscript documents.
|
||||
The **Manuscript Build** dialog used for writing the actual manuscript documents.
|
||||
|
||||
When you press the :guilabel:`Build` button on the :guilabel:`Build Manuscript` tool main window, a
|
||||
special file dialog opens up. This is where you pick your desired output format and where to write
|
||||
the file.
|
||||
When you press the :guilabel:`Build` button on the **Build Manuscript** tool main window, a special
|
||||
file dialog opens up. This is where you pick your desired output format and where to write the
|
||||
file.
|
||||
|
||||
On the left side of the dialog is a list of all the available file formats, and on the right, a
|
||||
list of the documents which are included based on the build definition you selected. You can choose
|
||||
@@ -141,7 +179,7 @@ Open Document Format
|
||||
|
||||
novelWriter HTML
|
||||
The HTML format writes a single ``.htm`` file with minimal style formatting. The HTML document
|
||||
is suitable for further processing by document conversion tools like Pandoc, for importing in
|
||||
is suitable for further processing by document conversion tools like Pandoc_, for importing in
|
||||
word processors, or for printing from browser.
|
||||
|
||||
novelWriter Markup
|
||||
@@ -152,7 +190,7 @@ novelWriter Markup
|
||||
|
||||
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 strikethrough text, which is not supported by
|
||||
of novelWriter functionality is the support for strike through text, which is not supported by
|
||||
the Standard flavour.
|
||||
|
||||
|
||||
@@ -182,4 +220,4 @@ on the print dialog.
|
||||
|
||||
.. note::
|
||||
The paper format should in all cases default to whatever your system default is. If you want to
|
||||
change it, you have to select it from the :guilabel:`Print Preview` dialog.
|
||||
change it, you have to select it from the **Print Preview** dialog.
|
||||
|
||||
@@ -4,21 +4,27 @@
|
||||
Novel Projects
|
||||
**************
|
||||
|
||||
New projects can be created from the :guilabel:`Project` menu by selecting :guilabel:`New Project`.
|
||||
This will open the :guilabel:`New Project Wizard` that will assist you in creating a barebone
|
||||
project suited to your needs.
|
||||
New projects can be created from the **Project** menu by selecting **Create or Open Project**. This
|
||||
will open the **Welcome** dialog, where you can select the :guilabel:`New` button that will assist
|
||||
you in creating a new project. This dialog is also displayed when you start novelWriter.
|
||||
|
||||
A novelWriter project requires a dedicated folder for storing its files on the local file system.
|
||||
If you're interested in the details, you can have a look at the chapter :ref:`a_storage`.
|
||||
|
||||
A list of recently opened projects is maintained, and displayed in the :guilabel:`Open Project`
|
||||
dialog. A project can be removed from this list by selecting it and pressing the :kbd:`Del` key or
|
||||
by clicking the :guilabel:`Remove` button.
|
||||
A list of recently opened projects is maintained, and displayed in the **Welcome** dialog. A
|
||||
project can be removed from this list by selecting it and pressing the :kbd:`Del` key or by
|
||||
right-clicking it and selecting the **Remove Project** option.
|
||||
|
||||
Project-specific settings are available in :guilabel:`Project Settings` in the :guilabel:`Project`
|
||||
menu. See further details below in the :ref:`a_proj_settings` section. Details about the project,
|
||||
including word counts, and a table of contents with word and page counts, is available through the
|
||||
:guilabel:`Project Details` dialog.
|
||||
.. figure:: images/fig_welcome.jpg
|
||||
|
||||
The project list (left) and new project form (right) of the :guilabel:`Welcome` dialog.
|
||||
|
||||
Project-specific settings are available in **Project Settings** in the **Project** menu. See
|
||||
further details below in the :ref:`a_proj_settings` section.
|
||||
|
||||
Details about the project's novel text, including word counts, and a table of contents with word
|
||||
and page counts, is available through the **Novel Details** dialog. Statistics about the project
|
||||
is also available in the **Manuscript Build** tool.
|
||||
|
||||
|
||||
.. _a_proj_roots:
|
||||
@@ -29,63 +35,70 @@ Project Roots
|
||||
Projects are structured into a set of top level folders called "Root Folders". They are visible in
|
||||
the project tree at the left side of the main window.
|
||||
|
||||
The :term:`novel documents` go into a root folder of type :guilabel:`Novel`. :term:`Project notes`
|
||||
go into the other root folders. These other root folder types are intended for your notes on the
|
||||
various elements of your story. Using them is of course entirely optional.
|
||||
The :term:`novel documents` go into a root folder of type **Novel**. :term:`Project notes` go into
|
||||
the other root folders. These other root folder types are intended for your notes on the various
|
||||
elements of your story. Using them is of course entirely optional.
|
||||
|
||||
A new project may not have all of the root folders present, but you can add the ones you want from
|
||||
the project tree tool bar.
|
||||
|
||||
Each root folder has one or more :term:`reference` :term:`keyword` associated with it that is used
|
||||
to reference them from other documents and notes. The intended usage of each type of root folder is
|
||||
listed below. However, aside from the :guilabel:`Novel` folder, no restrictions are applied by the
|
||||
listed below. However, aside from the **Novel** folder, no restrictions are applied by the
|
||||
application on what you put in them. You can use them however you want.
|
||||
|
||||
The root folder system is closesly connected to how the Tags and References system works. For more
|
||||
The root folder system is closely connected to how the Tags and References system works. For more
|
||||
details, see the :ref:`a_references` chapter.
|
||||
|
||||
:guilabel:`Novel`
|
||||
|
||||
Root Folder Types
|
||||
-----------------
|
||||
|
||||
**Novel**
|
||||
This is the root folder type for text that goes into the final novel or novels. This class of
|
||||
documents have other rules and features than the project notes. See :ref:`a_struct` for more
|
||||
details.
|
||||
|
||||
:guilabel:`Plot`
|
||||
**Plot**
|
||||
This is the root folder type where main plots can be outlined. It is optional, but adding at
|
||||
least brief notes can be useful in order to tag plot elements for the :guilabel:`Outline View`.
|
||||
Tags in this folder can be references using the ``@plot`` keyword.
|
||||
least brief notes can be useful in order to tag plot elements for the **Outline View**. Tags in
|
||||
this folder can be references using the ``@plot`` keyword.
|
||||
|
||||
:guilabel:`Characters`
|
||||
**Characters**
|
||||
Character notes go in this root folder type. These are especially important if you want to use
|
||||
the :guilabel:`Outline View` to see which character appears where, which part of the story is
|
||||
told from a specific character's point-of-view, or focusing on a particular character's
|
||||
storyline. Tags in this type of folder can be referenced using the ``@pov`` keyword for
|
||||
the **Outline View** to see which character appears where, which part of the story is told from
|
||||
a specific character's point-of-view, or focusing on a particular character's storyline.
|
||||
|
||||
The character names can also be inserted into for instance chapter titles when you create your
|
||||
manuscript. Tags in this type of folder can be referenced using the ``@pov`` keyword for
|
||||
point-of-view characters, ``@focus`` for a focus character, or the ``@char`` keyword for any
|
||||
other character present.
|
||||
|
||||
:guilabel:`Locations`
|
||||
**Locations**
|
||||
The locations folder type is for various scene locations that you want to track. Tags in this
|
||||
folder can be references using the ``@location`` keyword.
|
||||
|
||||
:guilabel:`Timeline`
|
||||
**Timeline**
|
||||
If the story has multiple plot timelines or jumps in time within the same plot, this folder type
|
||||
can be used to track this. Tags in this type of folder can be references using the ``@time``
|
||||
keyword.
|
||||
|
||||
:guilabel:`Objects`
|
||||
Important objects in the story, for instance objects that change hands often, can be tracked
|
||||
here. Tags in this type of folder can be references using the ``@object`` keyword.
|
||||
**Objects**
|
||||
Important objects in the story, for instance physical objects that change hands often, can be
|
||||
tracked here. Tags in this type of folder can be references using the ``@object`` keyword.
|
||||
|
||||
:guilabel:`Entities`
|
||||
**Entities**
|
||||
Does your plot have many powerful organisations or companies? Or other entities that are part of
|
||||
the plot? They can be organised here. Tags in this type of folder can be references using the
|
||||
``@entity`` keyword.
|
||||
|
||||
:guilabel:`Custom`
|
||||
**Custom**
|
||||
The custom root folder type can be used for tracking anything else not covered by the above
|
||||
options. Tags in this folder type can be references using the ``@custom`` keyword.
|
||||
|
||||
The root folders correspond to the categories of tags that can be used to reference them. For more
|
||||
information about the tags listed, see :ref:`a_references_references`.
|
||||
The root folders are closely tied to the tags and reference system. Each folder type corresponds to
|
||||
the categories of tags that can be used to reference them. For more information about the tags
|
||||
listed, see :ref:`a_references_references`.
|
||||
|
||||
.. note::
|
||||
You can rename root folders to whatever you want. However, this doesn't change the reference
|
||||
@@ -100,13 +113,12 @@ information about the tags listed, see :ref:`a_references_references`.
|
||||
Deleted Documents
|
||||
-----------------
|
||||
|
||||
Deleted documents will be moved into a special :guilabel:`Trash` root folder. Documents in the
|
||||
trash folder can then be deleted permanently, either individually, or by emptying the trash from
|
||||
the menu. Documents in the trash folder are removed from the :term:`project index` and cannot be
|
||||
referenced.
|
||||
Deleted documents are moved into a special **Trash** root folder. Documents in the trash folder can
|
||||
then be deleted permanently, either individually, or by emptying the trash from the menu. Documents
|
||||
in the trash folder are removed from the :term:`project index` and cannot be referenced.
|
||||
|
||||
A document or a folder can be deleted from the :guilabel:`Project` menu, or by pressing
|
||||
:kbd:`Ctrl+Shift+Del`. Root folders can only be deleted when they are empty.
|
||||
A document or a folder can be moved to trash from the **Project** menu, or by pressing
|
||||
:kbd:`Ctrl+Shift+Del`. Root folders can only be removed when they are empty.
|
||||
|
||||
|
||||
.. _a_proj_roots_out:
|
||||
@@ -114,60 +126,14 @@ A document or a folder can be deleted from the :guilabel:`Project` menu, or by p
|
||||
Archived Documents
|
||||
------------------
|
||||
|
||||
If you don't want to delete a document, or put it in the :guilabel:`Trash` folder where it may be
|
||||
deleted accidentally, but still want it out of your main project tree, you can create an
|
||||
:guilabel:`Archive` root folder and move it there.
|
||||
If you don't want to delete a document, or put it in the **Trash** folder where it may be deleted
|
||||
accidentally, but still want it out of your main project tree, you can create an **Archive** root
|
||||
folder instead and move it there. It has the same effect as moving it to **Trash**, but it is safe
|
||||
from deletion.
|
||||
|
||||
You can drag any document to this folder and preserve its settings. The document will always be
|
||||
excluded from the :guilabel:`Build Manuscript` tool. It is also removed from the
|
||||
:term:`project index`, so the tags and references defined in it will not show up anywhere else.
|
||||
|
||||
|
||||
.. _a_proj_roots_orphaned:
|
||||
|
||||
Recovered Documents
|
||||
-------------------
|
||||
|
||||
If novelWriter crashes or otherwise exits without saving the project state, or if you're using a
|
||||
file synchronisation tool that runs out of sync, there may be files in the project folder that
|
||||
aren't tracked in the core project file. These files, when discovered, are recovered and added back
|
||||
into the project.
|
||||
|
||||
The discovered files are scanned for metadata that give clues as to where the document may
|
||||
previously have been located in the project. The project loading routine will try to put them back
|
||||
as close as possible to this location, if it still exists. Generally, it will be appended to the
|
||||
end of the folder where it previously was located. If that folder doesn't exist, it will try to add
|
||||
it to the correct root folder type. If it cannot figure out which root folder is correct, the
|
||||
document will be added to the :guilabel:`Novel` root folder. Finally, if the :guilabel:`Novel`
|
||||
folder is missing, one will be created.
|
||||
|
||||
If the title of the document can be recovered, the word "Recovered:" will be added as a prefix to
|
||||
indicate that it may need further attention. If the title cannot be determined, the document will
|
||||
be named after its internal key, which is a string of characters and numbers.
|
||||
|
||||
|
||||
.. _a_proj_roots_lock:
|
||||
|
||||
Project Lockfile
|
||||
----------------
|
||||
|
||||
To prevent lost documents caused by file conflicts when novelWriter projects are synchronised via
|
||||
file synchronisation tools, a project lockfile is written to the project folder. If you try to open
|
||||
a project which has such a file present, you will be presented with a warning, and some information
|
||||
about where else novelWriter thinks the project is also open. You will be given the option to
|
||||
ignore this warning, and continue opening the project at your own risk.
|
||||
|
||||
.. note::
|
||||
If, for some reason, novelWriter crashes, the lock file may remain even if there are no other
|
||||
instances keeping the project open. In such a case it is safe to ignore the lock file warning
|
||||
when re-opening the project.
|
||||
|
||||
.. warning::
|
||||
If you choose to ignore the warning and continue opening the project, and multiple instances of
|
||||
the project are in fact open, you are likely to cause inconsistencies and create diverging
|
||||
project files, potentially resulting in loss of data and orphaned files. You are not likely to
|
||||
lose any actual text unless both instances have the same document open in the editor, and
|
||||
novelWriter will try to resolve project inconsistencies the next time you open the project.
|
||||
excluded from the **Build Manuscript** tool. It is also removed from the :term:`project index`, so
|
||||
the tags and references defined in it will not show up anywhere else.
|
||||
|
||||
|
||||
.. _a_proj_roots_dirs:
|
||||
@@ -175,9 +141,9 @@ ignore this warning, and continue opening the project at your own risk.
|
||||
Using Folders in the Project Tree
|
||||
---------------------------------
|
||||
|
||||
Folders, aside from root folders, have no structural significance to the project. When novelWriter
|
||||
is processing the documents in a project, like for instance when you create a manuscript from it,
|
||||
these folders are ignored. Only the order of the documents themselves matter.
|
||||
Regular folders, those that are not root folders, have no structural significance to the project.
|
||||
When novelWriter is processing the documents in a project, like for instance when you create a
|
||||
manuscript from it, these folders are ignored. Only the order of the documents themselves matter.
|
||||
|
||||
The folders are there purely as a way for you to organise the documents in meaningful sections and
|
||||
to be able to collapse and hide them in the project tree when you're not working on those
|
||||
@@ -190,22 +156,81 @@ documents.
|
||||
scene documents as child items to the chapters.
|
||||
|
||||
|
||||
.. _a_proj_roots_orphaned:
|
||||
|
||||
Recovered Documents
|
||||
-------------------
|
||||
|
||||
If novelWriter crashes or otherwise exits without saving the project state, or if you're using a
|
||||
file synchronisation tool that runs out of sync, there may be files in the project storage folder
|
||||
that aren't tracked in the core project file. These files, when discovered, are recovered and added
|
||||
back into the project.
|
||||
|
||||
The discovered files are scanned for metadata that give clues as to where the document may
|
||||
previously have been located in the project. The project loading routine will try to put them back
|
||||
as close as possible to this location, if it still exists. Generally, it will be appended to the
|
||||
end of the folder where it previously was located. If that folder doesn't exist, it will try to add
|
||||
it to the correct root folder type. If it cannot figure out which root folder is correct, the
|
||||
document will be added to the **Novel** root folder. Finally, if a **Novel** does not exist, one
|
||||
will be created.
|
||||
|
||||
If the title of the document can be recovered, the word "Recovered:" will be added as a prefix to
|
||||
indicate that it may need further attention. If the title cannot be determined, the document will
|
||||
be named after its internal key, which is a string of characters and numbers.
|
||||
|
||||
|
||||
.. _a_proj_roots_lock:
|
||||
|
||||
Project Lockfile
|
||||
----------------
|
||||
|
||||
To prevent lost documents caused by file conflicts when novelWriter projects are synchronised via
|
||||
file synchronisation tools, a project lockfile is written to the project storage folder when a
|
||||
project is open. If you try to open a project which already has such a file present, you will be
|
||||
presented with a warning, and some information about where else novelWriter thinks the project is
|
||||
also open. You will be given the option to ignore this warning, and continue opening the project at
|
||||
your own risk.
|
||||
|
||||
.. note::
|
||||
If, for some reason, novelWriter or your computer crashes, the lock file may remain even if
|
||||
there are no other instances keeping the project open. In such a case it is safe to ignore the
|
||||
lock file warning when re-opening the project.
|
||||
|
||||
.. warning::
|
||||
If you choose to ignore the warning and continue opening the project, and multiple instances of
|
||||
the project are in fact open, you are likely to cause inconsistencies and create diverging
|
||||
project files, potentially resulting in loss of data and orphaned files. You are not likely to
|
||||
lose any actual text unless both instances have the same document open in the editor, and
|
||||
novelWriter will try to resolve project inconsistencies the next time you open the project.
|
||||
|
||||
|
||||
.. _a_proj_files:
|
||||
|
||||
Project Documents
|
||||
=================
|
||||
|
||||
New documents can be created from the toolbar in the :guilabel:`Project Tree`, or by pressing
|
||||
:kbd:`Ctrl+N`. This will open the create new item menu and let you choose between a number of
|
||||
pre-defined documents and folders. You will be prompted for a label for the new item.
|
||||
New documents can be created from the toolbar in the project tree, or by pressing :kbd:`Ctrl+N`.
|
||||
This will open the create new item menu and let you choose between a number of pre-defined
|
||||
documents and folders. You will be prompted for a label for the new item.
|
||||
|
||||
You can always rename an item by selecting :guilabel:`Rename Item` from the :guilabel:`Project`
|
||||
menu, or by pressing :kbd:`F2`.
|
||||
You can always rename an item by selecting **Rename Item** from the **Project** menu, or by
|
||||
pressing :kbd:`F2` when a document or folder is selected.
|
||||
|
||||
Other settings for project items are available from the context menu that you can activate by
|
||||
right-clicking on an item in the tree. The :guilabel:`Transform` submenu includes options for
|
||||
converting, splitting, or merging items. See :ref:`a_ui_tree_split_merge` for more details on the
|
||||
latter two.
|
||||
Other settings for project documents and folders are available from the context menu that you can
|
||||
activate by right-clicking on an it in the tree. The **Transform** submenu includes options for
|
||||
converting, splitting, or merging documents. See :ref:`a_ui_tree_split_merge` for more details on
|
||||
the latter two.
|
||||
|
||||
|
||||
Document Templates
|
||||
------------------
|
||||
|
||||
If you wish to create template documents to be used when creating new project documents, like for
|
||||
instance a character note template, you can add a **Templates** root folder to your project. Any
|
||||
document 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.
|
||||
|
||||
.. versionadded:: 2.3
|
||||
|
||||
|
||||
.. _a_proj_files_counts:
|
||||
@@ -216,8 +241,8 @@ Word Counts
|
||||
A character, word and paragraph count is maintained for each document, as well as for each section
|
||||
of a document following a :term:`heading<headings>`. The word count and change of words in the
|
||||
current session is displayed in the footer of any document open in the editor, and all stats are
|
||||
shown in the details panel below the :guilabel:`Project Tree` for any document selected in the
|
||||
project or novel trees.
|
||||
shown in the details panel below the project tree for any document selected in the project or novel
|
||||
trees.
|
||||
|
||||
The word counts are not updated in real time, but run in the background every few seconds for as
|
||||
long as the document is being actively edited.
|
||||
@@ -225,7 +250,9 @@ long as the document is being actively edited.
|
||||
A total project word count is displayed in the status bar. The total count depends on the sum of
|
||||
the values in the project tree, which again depend on an up to date :term:`project index`. If the
|
||||
counts seem wrong, a full project word recount can be initiated by rebuilding the project's index.
|
||||
Either from the :guilabel:`Tools` menu, or by pressing :kbd:`F9`.
|
||||
Either from the **Tools** menu, or by pressing :kbd:`F9`.
|
||||
|
||||
The rules for how the counts are made is covered in more detail in :ref:`a_counting`.
|
||||
|
||||
|
||||
.. _a_proj_settings:
|
||||
@@ -233,35 +260,35 @@ Either from the :guilabel:`Tools` menu, or by pressing :kbd:`F9`.
|
||||
Project Settings
|
||||
================
|
||||
|
||||
The :guilabel:`Project Settings` can be accessed from the :guilabel:`Project` menu, or by pressing
|
||||
The **Project Settings** can be accessed from the **Project** menu, or by pressing
|
||||
:kbd:`Ctrl+Shift+,`. This will open a dialog box, with a set of tabs.
|
||||
|
||||
|
||||
Settings Tab
|
||||
------------
|
||||
|
||||
The :guilabel:`Settings` tab holds the project name, title, and author settings.
|
||||
The **Settings** tab holds the project name, author, and language settings.
|
||||
|
||||
The :guilabel:`Project Name` can be set to a different value than the :guilabel:`Novel Title`. The
|
||||
difference between them is simply that the :guilabel:`Project Name` is used for the GUI (main
|
||||
window title) and for generating backup files. The intention is that the :guilabel:`Project Name`
|
||||
should remain unchanged throughout the project's lifetime, otherwise the name of exported files and
|
||||
backup files may change too.
|
||||
The **Project Name** can be edited here. It is used for the main window title and for generating
|
||||
backup files. So keep in mind that if you do change this setting, the backup file names will change
|
||||
too.
|
||||
|
||||
The :guilabel:`Novel Title` and :guilabel:`Authors` settings are used when building the manuscript,
|
||||
for some formats.
|
||||
You can also change the **Authors** and **Project Language** setting. These are only used when
|
||||
building the manuscript, for some formats. The language setting is also used when inserting text
|
||||
into documents in the viewer, like for instance labels for keywords and special comments.
|
||||
|
||||
If your project is in a different language than your main spell checking language is set to, you
|
||||
can override the default setting here. You can also override the automatic backup setting. The
|
||||
project language can also be changed from the :guilabel:`Tools` menu.
|
||||
can override the default setting here. The project language can also be changed from the **Tools**
|
||||
menu.
|
||||
|
||||
You can also override the automatic backup setting for the project if you wish.
|
||||
|
||||
|
||||
Status and Importance Tabs
|
||||
--------------------------
|
||||
|
||||
Each document or folder of type :guilabel:`Novel` can be given a *Status* label accompanied by a
|
||||
coloured icon, and each document or folder of the remaining types can be given an *Importance*
|
||||
label.
|
||||
Each document or folder of type **Novel** can be given a "Status" label accompanied by a coloured
|
||||
icon, and each document or folder of the remaining types can be given an "Importance" label.
|
||||
|
||||
These labels are there purely for your convenience, and you are not required to use them for any
|
||||
other features to work. No other part of novelWriter accesses this information. The intention is to
|
||||
@@ -299,22 +326,22 @@ Backup
|
||||
======
|
||||
|
||||
An automatic backup system is built into novelWriter. In order to use it, a backup path to where
|
||||
the backup files are to be stored must be provided in :guilabel:`Preferences`.
|
||||
the backup files are to be stored must be provided in **Preferences**. The path defaults to a
|
||||
folder named "Backups" in your home directory.
|
||||
|
||||
Backups can be run automatically when a project is closed, which also implies it is run when the
|
||||
application itself is closed. Backups are date stamped zip files of the project files in the
|
||||
project folder (files not strictly a part of the project are ignored). The zip archives are stored
|
||||
in a subfolder of the backup path. The subfolder will have the same name as the
|
||||
:guilabel:`Project Name` as defined in :ref:`a_proj_settings`.
|
||||
in a subfolder of the backup path. The subfolder will have the same name as the **Project Name** as
|
||||
defined in :ref:`a_proj_settings`.
|
||||
|
||||
The backup feature, when configured, can also be run manually from the :guilabel:`Tools` menu.
|
||||
It is also possible to disable automated backups for a given project in
|
||||
:guilabel:`Project Settings`.
|
||||
The backup feature, when configured, can also be run manually from the **Tools** menu. It is also
|
||||
possible to disable automated backups for a given project in **Project Settings**.
|
||||
|
||||
.. note::
|
||||
For the backup to be able to run, the :guilabel:`Project Name` must be set in
|
||||
:guilabel:`Project Settings`. This value is used to generate the name and path of the backups.
|
||||
Without it, the backup will not run at all, but it will produce a warning message.
|
||||
For the backup to be able to run, the **Project Name** must be set in **Project Settings**. This
|
||||
value is used to generate the name and path of the backups. Without it, the backup will not run
|
||||
at all, but it will produce a warning message.
|
||||
|
||||
|
||||
.. _a_proj_stats:
|
||||
@@ -327,9 +354,8 @@ total word counts of your novel documents and notes at the end of the session, p
|
||||
session lasted either more than 5 minutes, or that the total word count changed. For more details
|
||||
about the log file, see :ref:`a_storage`.
|
||||
|
||||
A tool to view the content of the log file is available in the :guilabel:`Tools` menu under
|
||||
:guilabel:`Writing Statistics`. You can also launch it by pressing :kbd:`F6`, or find it on the
|
||||
sidebar.
|
||||
A tool to view the content of the log file is available in the **Tools** menu under **Writing
|
||||
Statistics**. You can also launch it by pressing :kbd:`F6`, or find it on the sidebar.
|
||||
|
||||
The tool will show a list of all your sessions, and a set of filters to apply to the data. You can
|
||||
also export the filtered data to a JSON file or to a CSV file that can be opened by a spreadsheet
|
||||
@@ -339,4 +365,4 @@ application like for instance Libre Office Calc or Excel.
|
||||
As of version 1.2, the log file also stores how much of the session time was spent idle. The
|
||||
definition of idle here is that the novelWriter main window loses focus, or the user hasn't made
|
||||
any changes to the currently open document in five minutes. The number of minutes can be altered
|
||||
in :guilabel:`Preferences`.
|
||||
in **Preferences**.
|
||||
|
||||
@@ -4,21 +4,21 @@
|
||||
Tags and References
|
||||
*******************
|
||||
|
||||
In novelWriter there are no forms or tables to fill in to define the characters, locations and
|
||||
other elements of your story. Instead, you can mark your :term:`project notes` as representing
|
||||
these story elements by creating a :term:`tag`. Whenever you want to link a piece of your story to
|
||||
a note defining a story element, like a character, you create a :term:`reference` back to that tag.
|
||||
You can also cross-link your project notes in the same way.
|
||||
In novelWriter there are no forms or tables to fill in to define characters, locations or other
|
||||
elements of your story. Instead, you create :term:`project notes` which you can mark as
|
||||
representing these story elements by creating a :term:`tag`. Whenever you want to link a piece of
|
||||
your story to a note defining a story element, like a character, you create a :term:`reference`
|
||||
back to that tag. You can also cross-link your project notes in the same way.
|
||||
|
||||
This is perhaps one of the features that makes novelWriter different from other, similar
|
||||
applications. It is therefore not always obvious to new users how this is supposed to work, so
|
||||
this chapter hopes to explains in more detail how to use the tags and references system.
|
||||
this chapter hopes to explain in more detail how to use this tags and references system.
|
||||
|
||||
.. tip::
|
||||
If you find the Tags and Reference system difficult to follow just from reading this chapter,
|
||||
you can create a new project in novelWriter and select to "Fill the project with example files"
|
||||
in the :guilabel:`New Project Wizard`. The example project contains several examples of tags and
|
||||
references.
|
||||
you can create a new project in the **Welcome** dialog's New project form and select "Create an
|
||||
example project" from the "Pre-fill project" option. The example project contains several
|
||||
examples of tags and references.
|
||||
|
||||
|
||||
.. _a_references_metadata:
|
||||
@@ -28,17 +28,18 @@ Metadata in novelWriter
|
||||
|
||||
The structure of your novelWriter project is inferred from the :term:`headings` within the
|
||||
documents, not the documents themselves. See :ref:`a_struct_heads` for more details. Therefore,
|
||||
metadata is also associated with headings, and not documents.
|
||||
metadata is also associated with headings, and not the documents directly.
|
||||
|
||||
If you split your project into separate documents for each scene, this distinction may not matter.
|
||||
However, there are several benefits to using documents at a larger structural scale when starting
|
||||
your project. For instance, it may make more sense to define all your scenes, and even chapters, in
|
||||
a single document at first, or perhaps a document per act. You can later split these documents up
|
||||
using the document split feature. See :ref:`a_ui_tree_split_merge` for more details.
|
||||
However, there are several benefits to using documents at a larger structural scale when first
|
||||
starting your project. For instance, it may make more sense to define all your scenes, and even
|
||||
chapters, in a single document at first, or perhaps a document per act. You can later split these
|
||||
documents up using the document split feature. See :ref:`a_ui_tree_split_merge` for more details.
|
||||
|
||||
The implication here is that you can treat each heading as an independent element of your notes
|
||||
that can be referenced somewhere else. In order to make it possible to reference a header section,
|
||||
you need to assign it a tag.
|
||||
You can do the same with your notes. You can treat each heading as an independent element of your
|
||||
notes that can be referenced somewhere else. That way you can collect all your minor or background
|
||||
characters in a single note file, and still be able to reference them individually by separating
|
||||
them with headings and assigning each a tag.
|
||||
|
||||
|
||||
.. _a_references_tags:
|
||||
@@ -47,44 +48,66 @@ How to Use Tags
|
||||
===============
|
||||
|
||||
A "tag" in novelWriter is a word or phrase that you define as belonging to a heading. Tags are set
|
||||
by using the ``@tags`` :term:`keyword`. The full format of a tag is ``@tag: tagname``, where
|
||||
``tagname`` is an identifier of your choosing. You can only set *one* tag per heading, and the tag
|
||||
has to be unique across all documents in the project.
|
||||
by using the ``@tag`` :term:`keyword`.
|
||||
|
||||
.. note::
|
||||
In version 2.2, tags will be made case insensitive, but as of novelWriter 2.1 they are not. You
|
||||
should however avoid using tags that are only distinguished by case.
|
||||
The basic format of a tag is ``@tag: tagName``.
|
||||
|
||||
After the tags have been defined, they can then be referenced in the novel documents, or
|
||||
cross-referenced in other notes. they will also show up in the :guilabel:`Outline View` and in the
|
||||
back-reference panel when a document is opened in the viewer.
|
||||
An alternative format of a tag is ``@tag: tagName | displayName``.
|
||||
|
||||
``tagName`` (Required)
|
||||
This is a unique identifier of your choosing. It is the value you use later for making
|
||||
references back to this document, or section of the document.
|
||||
|
||||
``displayName`` (Optional)
|
||||
This is an optional display name used for the tag. When you build your manuscript, you can for
|
||||
instance insert the point of view character name directly into chapter headings. By default, the
|
||||
``tagName`` value is used in such headings, but if you use a shortened format internally in your
|
||||
project, you can use this to specify a more suitable format for your manuscript headings.
|
||||
|
||||
You can only set **one** tag per heading, and the tag has to be unique across **all** documents in
|
||||
the project.
|
||||
|
||||
After a tag has been defined, it can be referenced in novel documents, or cross-referenced in other
|
||||
notes. Tags will also show up in the **Outline View** and in the references panel under the
|
||||
document viewer when a document is open in the viewer.
|
||||
|
||||
The syntax highlighter will indicate to you that the keyword is correctly used and that the tag is
|
||||
allowed, that is, the tag is unique. Duplicate tags should be detected as long as the index is up
|
||||
to date. An invalid tag should have a green wiggly line under it, and will not receive the syntax
|
||||
colour that valid tags do.
|
||||
to date. An invalid tag should have a green wiggly line under it, and will not receive the colour
|
||||
that valid tags do.
|
||||
|
||||
The tag is the only part of these notes that the novelWriter uses. The rest of the document content
|
||||
is there for the writer to use in whatever way they wish. Of course, the content of the documents
|
||||
can be added to the manuscript, or an outline document. If you want to compile a single document of
|
||||
all your notes, you can do this from the :guilabel:`Manuscript Build` tool.
|
||||
The tag is the only part of these notes that novelWriter uses. The rest of the document content is
|
||||
there for you to use in whatever way you wish. Of course, the content of the documents can be added
|
||||
to the manuscript, or an outline document. If you want to compile a single document of all your
|
||||
notes, you can do this from the **Manuscript Build** tool.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
Tags are no longer case sensitive. The tags are by default displayed with the capitalisation you
|
||||
use when defining the tag, but you don't have to use the same capitalisation when referencing
|
||||
it later.
|
||||
|
||||
.. versionadded:: 2.3
|
||||
Tags can have an optional display name for manuscript builds.
|
||||
|
||||
Example of a heading with a tag for a character of the story:
|
||||
|
||||
.. code-block:: none
|
||||
.. code-block:: md
|
||||
|
||||
# Jane Doe
|
||||
# Character: Jane Doe
|
||||
|
||||
@tag: Jane
|
||||
@tag: Jane | Jane Doe
|
||||
|
||||
Some information about the character Jane Doe.
|
||||
|
||||
When this is done in a document in a :term:`Root Folder` of type "Characters", the tag is
|
||||
automatically treated as an available character in your project, and you will be able to reference
|
||||
it in any of your other documents using the reference keywords for characters.
|
||||
automatically treated as an available character in your project with the value "Jane", and you will
|
||||
be able to reference it in any of your other documents using the reference keywords for characters.
|
||||
It will also show up in the Character tab in the Reference panel below the document viewer, and in
|
||||
the reference auto-completer menu in the editor when you fill in references. See :ref:`a_ui_view`
|
||||
and :ref:`a_references_completer`.
|
||||
|
||||
It is the root folder type that defines what category of story elements the tag is indexed under.
|
||||
See the :ref:`a_proj_roots` section for an overview of availabe root folder types. They are also
|
||||
See the :ref:`a_proj_roots` section for an overview of available root folder types. They are also
|
||||
covered in the next section.
|
||||
|
||||
|
||||
@@ -94,8 +117,8 @@ How to Use References
|
||||
=====================
|
||||
|
||||
Each heading of any level in your project can contain references to tags set in project notes. The
|
||||
references are gathered by the indexer and used to generate the :guilabel:`Outline View`, among
|
||||
other things.
|
||||
references are gathered by the indexer and used to generate the **Outline View**, among other
|
||||
things.
|
||||
|
||||
References are set as a :term:`keyword` and a list of corresponding tags. The valid keywords are
|
||||
listed below. The format of a reference line is ``@keyword: value1, [value2] ... [valueN]``. All
|
||||
@@ -103,68 +126,73 @@ reference keywords allow multiple values.
|
||||
|
||||
``@pov``
|
||||
The point-of-view character for the current section. The target must be a note tag in a
|
||||
:guilabel:`Character` type root folder.
|
||||
**Character** type root folder.
|
||||
|
||||
``@focus``
|
||||
The character that has the focus for the current section. This can be used in cases where the
|
||||
focus is not a point-of-view character. The target must be a note tag in a :guilabel:`Character`
|
||||
type root folder.
|
||||
focus is not a point-of-view character. The target must be a note tag in a **Character** type
|
||||
root folder.
|
||||
|
||||
``@char``
|
||||
Other characters in the current section. The target must be a note tag in a
|
||||
:guilabel:`Character` type root folder. This should not include the point-of-view or focus
|
||||
character if those references are used.
|
||||
Other characters in the current section. The target must be a note tag in a **Character** type
|
||||
root folder. This should not include the point-of-view or focus character if those references
|
||||
are used.
|
||||
|
||||
``@plot``
|
||||
The plot or subplot advanced in the current section. The target must be a note tag in a
|
||||
:guilabel:`Plot` type root folder.
|
||||
The plot or subplot advanced in the current section. The target must be a note tag in a **Plot**
|
||||
type root folder.
|
||||
|
||||
``@time``
|
||||
The timelines touched by the current section. The target must be a note tag in a
|
||||
:guilabel:`Timeline` type root folder.
|
||||
The timelines touched by the current section. The target must be a note tag in a **Timeline**
|
||||
type root folder.
|
||||
|
||||
``@location``
|
||||
The location the current section takes place in. The target must be a note tag in a
|
||||
:guilabel:`Locations` type root folder.
|
||||
**Locations** type root folder.
|
||||
|
||||
``@object``
|
||||
Objects present in the current section. The target must be a note tag in a :guilabel:`Object`
|
||||
type root folder.
|
||||
Objects present in the current section. The target must be a note tag in a **Object** type root
|
||||
folder.
|
||||
|
||||
``@entity``
|
||||
Entities present in the current section. The target must be a note tag in a
|
||||
:guilabel:`Entities` type root folder.
|
||||
Entities present in the current section. The target must be a note tag in an **Entities** type
|
||||
root folder.
|
||||
|
||||
``@custom``
|
||||
Custom references in the current section. The target must be a note tag in a :guilabel:`Custom`
|
||||
type root folder. The custom folder are for any other category of notes you may want to use.
|
||||
Custom references in the current section. The target must be a note tag in a **Custom** type
|
||||
root folder. The custom folder are for any other category of notes you may want to use.
|
||||
|
||||
The syntax highlighter will alert the user that the tags and references are used correctly, and
|
||||
that the tags referenced exist.
|
||||
|
||||
.. note::
|
||||
The highlighter may be mistaken if the index of defined tags is out of date. If so, press
|
||||
:kbd:`F9` to regenerate it, or select :guilabel:`Rebuild Index` from the :guilabel:`Tools` menu.
|
||||
In general, the index for a document is regenerated when it is saved, so this shouldn't normally
|
||||
be necessary.
|
||||
:kbd:`F9` to regenerate it, or select **Rebuild Index** from the **Tools** menu. In general, the
|
||||
index for a document is regenerated when it is saved, so this shouldn't normally be necessary.
|
||||
|
||||
.. tip::
|
||||
If you add a reference in the editor to a tag that doesn't yet exist, you can right-click it and
|
||||
select **Create Note for Tag**. This will generate a new project note automatically with the new
|
||||
tag defined. In order for this to be possible, a root folder for that category of references
|
||||
must already exist.
|
||||
|
||||
One note can also reference another note in the same way novel documents do. When the note is
|
||||
opened in the document viewer, the references become clickable links, making it easier to follow
|
||||
connections in the plot. You can follow links in the document editor by clicking them with the
|
||||
mouse while holding down the :kbd:`Ctrl` key. Clicked links are always opened in the view panel.
|
||||
|
||||
Project notes don't show up in the :guilabel:`Outline View`, so referencing between notes is only
|
||||
Project notes don't show up in the **Outline View**, so referencing between notes is only
|
||||
meaningful if you want to be able to click-navigate between them, or of course if you just want to
|
||||
highlight that two notes are related.
|
||||
|
||||
.. tip::
|
||||
If you cross-reference between notes and export your project as an HTML document using the
|
||||
:guilabel:`Manuscript Build` tool, the cross-references become clickable links in the exported
|
||||
HTML document as well.
|
||||
**Manuscript Build** tool, the cross-references become clickable links in the exported HTML
|
||||
document as well.
|
||||
|
||||
Example of a novel document with references to characters and plots:
|
||||
|
||||
.. code-block:: none
|
||||
.. code-block:: md
|
||||
|
||||
## Chapter 1
|
||||
|
||||
@@ -176,3 +204,19 @@ Example of a novel document with references to characters and plots:
|
||||
@plot: Main
|
||||
|
||||
Once upon a time ...
|
||||
|
||||
|
||||
.. _a_references_completer:
|
||||
|
||||
The References Auto-Completer
|
||||
-----------------------------
|
||||
|
||||
An auto-completer context menu will show up automatically in the document editor when you type the
|
||||
character ``@`` on a new line. It will first suggest tag or reference keywords for you to add, and
|
||||
after the ``:`` has been added, suggest references from the list of tags you have already defined.
|
||||
|
||||
You can use the auto-completer to add multiple references with a ``,`` between them, and even type
|
||||
new ones. New references can be created by right-clicking on them and selecting **Create Note for
|
||||
Tag** from the menu.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
@@ -6,13 +6,13 @@ Novel Structure
|
||||
|
||||
This chapter covers the structure of a novel project.
|
||||
|
||||
There are two different types of documents in a project, :guilabel:`Novel Documents` and
|
||||
:guilabel:`Project Notes`. Novel documents can only live in a :guilabel:`Novel` type root folder.
|
||||
You can also move them to :guilabel:`Archive` and :guilabel:`Trash` of course.
|
||||
There are two different types of documents in a project, **Novel Documents** and **Project Notes**.
|
||||
Active novel documents can only live in a **Novel** type root folder. You can also move them to
|
||||
**Archive** and **Trash** of course, where they become inactive.
|
||||
|
||||
The :guilabel:`Project Tree` can distinguish between the different header levels of the novel
|
||||
documents using coloured icons, and optionally add emphasis on the label, set in
|
||||
:guilabel:`Preferences`.
|
||||
The project tree can distinguish between the different heading levels of the novel documents using
|
||||
coloured icons, and optionally add emphasis on the label, set in **Preferences** for easier
|
||||
identification.
|
||||
|
||||
|
||||
.. _a_struct_heads:
|
||||
@@ -27,47 +27,48 @@ Four levels of headings are supported, signified by the number of hashes (``#``)
|
||||
title. See also the :ref:`a_fmt` section for more details about the markup syntax.
|
||||
|
||||
.. note::
|
||||
The header levels are not only important when generating the manuscript, they are also used by
|
||||
the indexer when building the outline tree in the :guilabel:`Outline View` as well as in the
|
||||
:guilabel:`Novel Tree`. Each heading also starts a new region where new Tags and References
|
||||
can be defined. See :ref:`a_references` for more details.
|
||||
The heading levels are not only important when generating the manuscript, they are also used by
|
||||
the indexer when building the outline tree in the **Outline View** as well as in the **Novel
|
||||
Tree**. Each heading also starts a new region where new Tags and References can be defined. See
|
||||
:ref:`a_references` for more details.
|
||||
|
||||
The syntax for the four basic header types, and the two special header types, is listed in section
|
||||
The syntax for the four basic heading types, and the three special types, is listed in section
|
||||
:ref:`a_fmt_head`. The meaning of the four levels for the structure of your novel is as follows:
|
||||
|
||||
**Header Level 1: Partition**
|
||||
This header level signifies that the text refers to a top level partition. This is useful when
|
||||
**Heading Level 1: Partition**
|
||||
This heading level signifies that the text refers to a top level heading. This is useful when
|
||||
you want to split the manuscript up into books, parts, or acts. These headings are not required.
|
||||
The novel title itself should use the special header level ``#!`` covered in :ref:`a_fmt_head`.
|
||||
The novel title itself should use the special heading level ``#!`` covered in :ref:`a_fmt_head`.
|
||||
|
||||
**Header Level 2: Chapter**
|
||||
This header level signifies a chapter level partition. Each time you want to start a new
|
||||
chapter, you must add such a heading. If you choose to split your manuscript up into one
|
||||
document per scene, you need a single chapter document with just the heading. You can of course
|
||||
also add a synopsis and reference keywords to the chapter document. If you want to open the
|
||||
chapter with a quote or other introductory text that isn't part of a scene, this is also where
|
||||
you'd put that text.
|
||||
**Heading Level 2: Chapter**
|
||||
This heading level signifies a chapter. Each time you want to start a new chapter, you must add
|
||||
such a heading. If you choose to split your manuscript up into one document per scene, you need
|
||||
a single chapter document with just the heading. You can of course also add a synopsis and
|
||||
reference keywords to the chapter document. If you want to open the chapter with a quote or
|
||||
other introductory text that isn't part of a scene, this is also where you'd put that text.
|
||||
|
||||
**Header Level 3: Scene**
|
||||
This header level signifies a scene level partition. You must provide a title text, but the
|
||||
title text can be replaced with a scene separator or just skipped entirely when you build your
|
||||
manuscript.
|
||||
**Heading Level 3: Scene**
|
||||
This heading level signifies a scene. You must provide a title text, but the title text can be
|
||||
replaced with a scene separator or just skipped entirely when you build your manuscript. If you
|
||||
need to distinguish between hard and soft scene breaks, there is an alternative format for
|
||||
scenes you can use for this distinction. The formatting is covered in :ref:`a_fmt_head`. See
|
||||
also :ref:`a_struct_heads_scenes`.
|
||||
|
||||
**Header Level 4: Section**
|
||||
This header level signifies a sub-scene level partition, usually called a "section" in the
|
||||
**Heading Level 4: Section**
|
||||
This heading level can be used to split up a scene, usually called a "section" in the
|
||||
documentation and the user interface. These can be useful if you want to change references
|
||||
mid-scene, like if you change the point-of-view character. You are free to use sections as you
|
||||
wish, and you can filter them out of the final manuscript just like with scene titles.
|
||||
wish, and you can filter them out of the final manuscript.
|
||||
|
||||
Page breaks are automatically added before level 1 and 2 headers when you build your project to a
|
||||
format that supports page breaks, or when you print the document directly from the
|
||||
:guilabel:`Manuscript Build` tool. If you want page breaks in other places, you have to specify
|
||||
them manually. See :ref:`a_fmt_break`.
|
||||
Page breaks can be automatically added before partition, chapter and scene headings from 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:`a_fmt_break`.
|
||||
|
||||
.. tip::
|
||||
There are multiple options of how to process novel titles when building the manuscript. For
|
||||
There are multiple options of how to process novel headings when building the manuscript. For
|
||||
instance, chapter numbers can be applied automatically, and so can scene numbers if you want
|
||||
them in a draft manuscript. See the :ref:`a_manuscript` page for more details.
|
||||
them in a draft manuscript. You can also insert point-of-view character names in chapter titles.
|
||||
See the :ref:`a_manuscript` page for more details.
|
||||
|
||||
|
||||
.. _a_struct_heads_title:
|
||||
@@ -75,18 +76,22 @@ them manually. See :ref:`a_fmt_break`.
|
||||
Novel Title and Front Matter
|
||||
----------------------------
|
||||
|
||||
It is recommended that you add a document at the very top of each Novel root folder with the novel
|
||||
title as the first line. You should modify the level 1 header format code with an ``!`` in order to
|
||||
render it as a document title that is excluded from any automatic Table of Content in a manuscript
|
||||
build document, like so:
|
||||
It is recommended that you add a document at the very top of each **Novel** root folder with the
|
||||
novel title as the first line. You should modify the level 1 heading format code with an ``!`` in
|
||||
order to render it as a document title that is excluded from any automatic Table of Content in a
|
||||
manuscript build document, like so:
|
||||
|
||||
``#! My Novel``
|
||||
.. code-block:: md
|
||||
|
||||
#! My Novel
|
||||
|
||||
>> _by Jane Doe_ <<
|
||||
|
||||
The title is by default centred on the page. You can add more text to the page as you wish, like
|
||||
for instance the author's name and details.
|
||||
|
||||
If you want an additional page of text after the title page, starting on a fresh page, you can add
|
||||
``[NEW PAGE]`` on a line by itself, and continue the text after it. This will insert a page break
|
||||
``[new page]`` on a line by itself, and continue the text after it. This will insert a page break
|
||||
before the text. See also :ref:`a_fmt_break`.
|
||||
|
||||
|
||||
@@ -96,18 +101,40 @@ Unnumbered Chapter Headings
|
||||
---------------------------
|
||||
|
||||
If you use the automatic numbering feature for your chapters, but you want to keep some special
|
||||
chapters separate from this, you cam add an ``!`` to the level 2 header formatting code to tell the
|
||||
build tool to skip these chapters.
|
||||
chapters separate from this, you can add an ``!`` to the level 2 heading formatting code to tell
|
||||
the build tool to skip these chapters when adding numbers.
|
||||
|
||||
``##! Unnumbered Chapter Title``
|
||||
.. code-block:: md
|
||||
|
||||
There is a separate formatting feature for such chapters in the :guilabel:`Manuscript Build` tool
|
||||
as well. See the :ref:`a_manuscript` page for more details. When building a document of a format
|
||||
that supports page breaks, also unnumbered chapters will have a page break added just like for
|
||||
normal chapters.
|
||||
##! Unnumbered Chapter Title
|
||||
|
||||
.. Note::
|
||||
Previously, you could also disable the automatic numbering of a chapter by adding an ``*`` as
|
||||
the first character of the chapter title itself. This feature has been dropped in favour of the
|
||||
current format in order to keep level 1 and 2 headers consistent. Please update your chapter
|
||||
headings if you've used this syntax.
|
||||
Chapter Text
|
||||
|
||||
There is a separate formatting feature for such chapter titles in the **Manuscript Build** tool as
|
||||
well. See the :ref:`a_manuscript` page for more details. When building a document of a format that
|
||||
supports page breaks, also unnumbered chapters can have a page break added just like for normal
|
||||
chapters.
|
||||
|
||||
|
||||
.. _a_struct_heads_scenes:
|
||||
|
||||
Hard and Soft Scene Breaks
|
||||
--------------------------
|
||||
|
||||
If you need two different ways to style scenes in your manuscript, like if you want to insert
|
||||
different scene separators for soft and hard scene breaks, there is an alternative scene format
|
||||
available for scene headings with a ``!`` added to the formatting code.
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
### Soft Scene Transition
|
||||
|
||||
A soft scene break.
|
||||
|
||||
###! Hard Scene Transition
|
||||
|
||||
A hard scene break.
|
||||
|
||||
There is a separate formatting feature for these titles in the **Manuscript Build** tool.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
|
||||
@@ -15,10 +15,9 @@ file locations are described in this chapter.
|
||||
Configuration
|
||||
=============
|
||||
|
||||
The general configuration of novelWriter, including everything that is in :guilabel:`Preferences`,
|
||||
is saved in one central configuration file. The location of this file depends on your operating
|
||||
system. The system paths are provided by the Qt QStandardPaths_ class and its ``ConfigLocation``
|
||||
value.
|
||||
The general configuration of novelWriter, including everything that is in **Preferences**, is saved
|
||||
in one central configuration file. The location of this file depends on your operating system. The
|
||||
system paths are provided by the Qt QStandardPaths_ class and its ``ConfigLocation`` value.
|
||||
|
||||
The standard paths are:
|
||||
|
||||
@@ -40,9 +39,8 @@ Application Data
|
||||
================
|
||||
|
||||
novelWriter also stores a bit of data that is generated by the user's actions. This includes the
|
||||
list of recent projects form the :guilabel:`Open Project` dialog. Custom themes should also be
|
||||
saved here. The system paths are provided by the Qt QStandardPaths_ class and its
|
||||
``AppDataLocation`` value.
|
||||
list of recent projects form the **Welcome** dialog. Custom themes should also be saved here. The
|
||||
system paths are provided by the Qt QStandardPaths_ class and its ``AppDataLocation`` value.
|
||||
|
||||
The standard paths are:
|
||||
|
||||
@@ -56,3 +54,12 @@ user's username on Windows.
|
||||
.. note::
|
||||
These are the standard operating system defined locations. If your system has been set up in a
|
||||
different way, these locations may also be different.
|
||||
|
||||
The Application Data location also holds several folders:
|
||||
|
||||
``cache``
|
||||
This folder is used to save the preview data for the **Manuscript Build** tool.
|
||||
|
||||
``icons``, ``syntax`` and ``themes``
|
||||
These folders are empty by default, but this is where the user can store custom theme files.
|
||||
See :ref:`a_custom` for more details.
|
||||
|
||||
@@ -159,6 +159,5 @@ You can also build a PDF manual from the documentation using the ``pkgutils.py``
|
||||
python pkgutils.py manual
|
||||
|
||||
This will build the documentation as a PDF using LaTeX. The file will then be copied into the
|
||||
assets folder and made available in the :guilabel:`Help` menu in novelWriter. The Sphinx build
|
||||
system has a few extra dependencies when building the PDF. Please check the `Sphinx Docs`_ for more
|
||||
details.
|
||||
assets folder and made available in the **Help** menu in novelWriter. The Sphinx build system has a
|
||||
few extra dependencies when building the PDF. Please check the `Sphinx Docs`_ for more details.
|
||||
|
||||
@@ -33,7 +33,7 @@ itself. It is important to keep this file backed up, either through the built-in
|
||||
your own backup solution.
|
||||
|
||||
The project XML file is indent-formatted, and is suitable for diff tools and version control since
|
||||
most of the file will stay static, although a timesetamp is set in the meta section on line 2, and
|
||||
most of the file will stay static, although a timestamp is set in the meta section on line 2, and
|
||||
various meta data entries incremented, on each save.
|
||||
|
||||
.. only:: not html
|
||||
@@ -55,10 +55,10 @@ string. The documents are saved with a filename assembled from this handle and t
|
||||
``.nwd``.
|
||||
|
||||
If you wish to find the file system location of a document in the project, you can either look it
|
||||
up in the project XML file, select :guilabel:`Show File Details` from the :guilabel:`Document` menu
|
||||
when having the document open in the editor, or look in the ``ToC.txt`` file in the root of the
|
||||
project folder. The ``ToC.txt`` file has a list of all documents in the project, referenced by
|
||||
their label, and where they are saved.
|
||||
up in the project XML file, select **Show File Details** from the **Document** menu when having the
|
||||
document open in the editor, or look in the ``ToC.txt`` file in the root of the project folder. The
|
||||
``ToC.txt`` file has a list of all documents in the project, referenced by their label, and where
|
||||
they are saved.
|
||||
|
||||
The reason for this cryptic file naming is to avoid issues with file naming conventions and
|
||||
restrictions on different operating systems, and also to have a file name that does not depend on
|
||||
@@ -91,11 +91,6 @@ If successful, the old data file is then removed, and the temporary file replace
|
||||
that the previously saved data is only replaced when the new data has been successfully saved to
|
||||
the storage medium.
|
||||
|
||||
For the project XML file, a ``.bak`` file is in addition kept, which will always contain the
|
||||
previous version of the file, although when auto-save is enabled, they may have the same content.
|
||||
If the opening of a project file fails, novelWriter will automatically try to open the ``.bak``
|
||||
file instead.
|
||||
|
||||
|
||||
Project Meta Data
|
||||
=================
|
||||
@@ -114,7 +109,7 @@ The Project Index
|
||||
|
||||
Between writing sessions, the project index is saved in a JSON file in ``meta/index.json``.
|
||||
This file is not critical. If it is lost, it can be completely rebuilt from within novelWriter from
|
||||
the :guilabel:`Tools` menu.
|
||||
the **Tools** menu.
|
||||
|
||||
The index is maintained and updated whenever a document or note is saved in the editor. It contains
|
||||
all references and tags in documents and notes, as well as the location of all headers in the
|
||||
@@ -130,8 +125,8 @@ the index. If this too fails, you have likely encountered a bug.
|
||||
Build Definitions
|
||||
-----------------
|
||||
|
||||
The build definitions from the :guilabel:`Manuscript Build` tool are kept in the
|
||||
``meta/builds.json`` file. If this file is lost, all custom build definitions are lost too.
|
||||
The build definitions from the **Manuscript Build** tool are kept in the ``meta/builds.json`` file.
|
||||
If this file is lost, all custom build definitions are lost too.
|
||||
|
||||
|
||||
Cached GUI Options
|
||||
@@ -149,17 +144,17 @@ Custom Word List
|
||||
----------------
|
||||
|
||||
A file named ``meta/userdict.json`` contains all the custom words you've added to the project for
|
||||
spell checking purposes. The content of the file can be edited from the :guilabel:`Tools` menu. If
|
||||
you lose this file, all your custom spell check words will be lost too.
|
||||
spell checking purposes. The content of the file can be edited from the **Tools** menu. If you lose
|
||||
this file, all your custom spell check words will be lost too.
|
||||
|
||||
|
||||
Session Stats
|
||||
-------------
|
||||
|
||||
The writing progress is saved in the ``meta/sessions.jsonl`` file. This file records the length
|
||||
and word counts of each writing session on the given project. The file is used by the
|
||||
:guilabel:`Writing Statistics` tool. If this file is lost, the history it contains is also lost,
|
||||
but it has otherwise no impact on the project.
|
||||
and word counts of each writing session on the given project. The file is used by the **Writing
|
||||
Statistics** tool. If this file is lost, the history it contains is also lost, but it has otherwise
|
||||
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.
|
||||
|
||||
@@ -10,7 +10,7 @@ How it Works
|
||||
|
||||
The main features of novelWriter are listed in the :ref:`a_intro` chapter. In this chapter, we go
|
||||
into some more details on how they are implemented. This is intended as an overview. Later on in
|
||||
this documentation, these features will be covered in more detail.
|
||||
this documentation these features will be covered in more detail.
|
||||
|
||||
|
||||
.. _a_breakdown_design:
|
||||
@@ -21,74 +21,85 @@ GUI Layout and Design
|
||||
The user interface of novelWriter is intended to be as minimalistic as practically possible, while
|
||||
at the same time provide useful features needed for writing a novel.
|
||||
|
||||
The main window does not have an editor toolbar like many other applications do. This reduces
|
||||
clutter, and since the documents are formatted with style tags, it is more or less redundant.
|
||||
The main window does not by default have an editor toolbar like many other applications do. This
|
||||
reduces clutter, and since the documents are formatted with style tags, it is not needed most of
|
||||
the time. Still, a small formatting toolbar can be popped out by clicking the left-most button in
|
||||
the header of the document editor. It gives quick access to standard formatting codes.
|
||||
|
||||
Most formatting features supported are available through convenient keyboard shortcuts. They are
|
||||
also available in the main menu, so you don't have to look up formatting codes every time you need
|
||||
them. For reference, a list of all shortcuts can be found in the :ref:`a_kb` chapter.
|
||||
also available in the main menu under **Format**, so you don't have to look up formatting codes
|
||||
every time you need them. For reference, a list of all shortcuts can be found in the :ref:`a_kb`
|
||||
chapter.
|
||||
|
||||
.. note::
|
||||
novelWriter is not intended to be a full office type word processor. It doesn't support images,
|
||||
links, tables, and other complex structures and objects often needed for such documents.
|
||||
Formatting is limited to headers, emphasis, text alignment, and a few other simple features.
|
||||
Formatting is limited to headings, in-line basic text formats, text alignment, and a few other
|
||||
simple features.
|
||||
|
||||
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 :guilabel:`Build Manuscript` tool, and a set of
|
||||
views you can switch between, a quick link to the **Build Manuscript** tool, and a set of
|
||||
project-related tools and quick access to settings at the bottom.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
A number of new formatting options were added in 2.2 to allow for some special formatting cases.
|
||||
At the same time, a small formatting toolbar was added in the editor. It is hidden by default,
|
||||
but can be opened by pressing the icon button in the top right corner.
|
||||
|
||||
Project Tree View
|
||||
-----------------
|
||||
|
||||
Project Tree and Editor View
|
||||
----------------------------
|
||||
|
||||
.. figure:: images/fig_project_tree_view.png
|
||||
|
||||
A screenshot of the Project Tree View.
|
||||
A screenshot of the Project Tree and Editor View.
|
||||
|
||||
When in :guilabel:`Project Tree View` mode, the main work area of the main window is split in two,
|
||||
or optionally three, panels. The left-most panel contains the project tree and all the documents in
|
||||
your project. The second panel is the document editor.
|
||||
When the application is in **Project Tree View** mode, the main work area of the main window is
|
||||
split in two, or optionally three, panels. The left-most panel contains the project tree and all
|
||||
the documents in your project. The second panel is the document editor.
|
||||
|
||||
An optional third panel on the right contains a document viewer which can view any document in your
|
||||
project independently of what is open in the document editor. This panel is not intended as a
|
||||
preview window, although you can use it for this purpose if you wish as it will apply the
|
||||
formatting tags you have specified. The main purpose of the viewer is for viewing your notes next
|
||||
to your editor while you're writing.
|
||||
An optional third panel on the right side contains a document viewer which can view any document in
|
||||
your project independently of what is open in the document editor. This panel is not intended as a
|
||||
preview window, although you can use it for this purpose if you wish. For instance if you need to
|
||||
check that the formatting tags behave as you expect. However, the main purpose of the viewer is for
|
||||
viewing your notes next to your editor while you're writing.
|
||||
|
||||
The editor also has a :guilabel:`Focus Mode` you can toggle either from the menu, from the icon in
|
||||
the editor's header, or by pressing :kbd:`F8`. When :guilabel:`Focus Mode` is enabled, all the user
|
||||
interface elements other than the document editor itself are hidden away.
|
||||
The editor also has a **Focus Mode** you can toggle either from the menu, from the icon in the
|
||||
editor's header, or by pressing :kbd:`F8`. When **Focus Mode** is enabled, all the user interface
|
||||
elements other than the document editor itself are hidden away.
|
||||
|
||||
|
||||
Novel Tree View
|
||||
---------------
|
||||
Novel View and Editor View
|
||||
--------------------------
|
||||
|
||||
.. figure:: images/fig_novel_tree_view.png
|
||||
|
||||
A screenshot of the Novel Tree View.
|
||||
A screenshot of the Novel Tree and Editor View.
|
||||
|
||||
When in :guilabel:`Novel Tree View` mode, the project tree is replaced by an overview of your novel
|
||||
structure for a specific Novel :term:`root folder`. Instead of showing individual documents, the
|
||||
tree now shows all headings of your novel text. This includes multiple headings within the same
|
||||
document.
|
||||
When the application is in **Novel Tree View** mode, the project tree is replaced by an overview of
|
||||
your novel structure for a specific Novel :term:`root folder`. Instead of showing individual
|
||||
documents, the tree now shows all headings of your novel text. This includes multiple headings
|
||||
within the same document.
|
||||
|
||||
Each heading is indented according to the heading level. You can open and edit your novel documents
|
||||
from this view as well. All headings contained in the currently open document should be highlighted
|
||||
in the view to indicate which ones belong together in the same document.
|
||||
Each heading is indented according to the heading level, not its parent/child relationship to other
|
||||
elements of your project. You can open and edit your novel documents from this view as well. All
|
||||
headings contained in the currently open document should be highlighted in the view to indicate
|
||||
which ones belong together in the same document.
|
||||
|
||||
If you have multiple Novel root folders, the header of the novel view becomes a dropdown box. You
|
||||
can then switch between them by clicking the :guilabel:`Outline of ...` text. You can also click
|
||||
the novel icon button next to it.
|
||||
If you have multiple **Novel** type root folders, the header of the novel view becomes a dropdown
|
||||
box. You can then switch between them by clicking the :guilabel:`Outline of ...` text. You can also
|
||||
click the novel icon button next to it.
|
||||
|
||||
Generally, the novel view should update when you make changes to the novel structure, including
|
||||
edits of the current document in the editor. The information is only updated when the automatic
|
||||
save of the document is triggered, or you manually press :kbd:`Ctrl+S` to save changes. (You can
|
||||
adjust the auto-save interval in :guilabel:`Preferences`.) You can also regenerate the whole novel
|
||||
view by pressing the refresh button at the top of the side panel.
|
||||
adjust the auto-save interval in **Preferences**.) You can also regenerate the whole novel view by
|
||||
pressing the refresh button in the novel view header.
|
||||
|
||||
It is possible to show an optional third column in the novel view, The settings are available from
|
||||
It is possible to show an optional third column in the novel view. The settings are available from
|
||||
the menu button in the toolbar.
|
||||
|
||||
If you click the arrow icon to the right of each item, a tooltip will pop out showing you all the
|
||||
If you click the triangular icon to the right of each item, a tooltip will pop out showing all the
|
||||
meta data collected for that heading.
|
||||
|
||||
|
||||
@@ -99,9 +110,9 @@ Novel Outline View
|
||||
|
||||
A screenshot of the Novel Outline View.
|
||||
|
||||
When in :guilabel:`Novel Outline View` mode, the tree, editor and viewer will be replaced by a
|
||||
large table that shows the entire novel structure with all the tags and references listed. Pretty
|
||||
much all collected meta data is available here in different columns.
|
||||
When the application is in **Novel Outline View** mode, the tree, editor and viewer will be
|
||||
replaced by a large table that shows the entire novel structure with all the tags and references
|
||||
listed. Pretty much all collected meta data is available here in different columns.
|
||||
|
||||
You can select which novel root folder to display from the dropdown box, and you can select which
|
||||
columns to show or hide from the menu button. You can also rearrange the columns by drag and drop.
|
||||
@@ -113,16 +124,28 @@ Colour Themes
|
||||
|
||||
By default, novelWriter will use the colour theme provided by the Qt library, which is determined
|
||||
by the Fusion_ style setting. You can also choose between a standard dark and light theme that have
|
||||
neutral colours from :guilabel:`Preferences`. Other colour themes are also available. More themes
|
||||
can be contributed to novelWriter on GitHub.
|
||||
neutral colours from **Preferences**.
|
||||
|
||||
If you wish, you *can* create your own colour themes, and even have them added to the application.
|
||||
See :ref:`a_custom_theme` for more details.
|
||||
|
||||
Switching the GUI colour theme does not affect the colours of the editor and viewer. They have
|
||||
separate colour themes called :guilabel:`Editor Themes`. They are separated because there are a lot
|
||||
more options to choose from for the editor and viewer.
|
||||
separate colour 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 to 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.
|
||||
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.
|
||||
|
||||
|
||||
Project Search
|
||||
--------------
|
||||
|
||||
A global search tool is available from the side bar. It allows you to search through your entire
|
||||
project. The tool does not provide a replace feature. There is a search and replace tool available
|
||||
in the document editor that acts on the open document.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
|
||||
|
||||
.. _a_breakdown_project:
|
||||
@@ -134,27 +157,27 @@ This is a brief introduction to how you structure your writing projects. All of
|
||||
covered in more detail later.
|
||||
|
||||
The main point of novelWriter is that you are free to organise your project documents as you wish
|
||||
into subfolders or subdocuments, and split the text between these documents in whatever way suits
|
||||
into sub-folders or sub-documents, and split the text between these documents in whatever way suits
|
||||
you. All that matters to novelWriter is the linear order the documents appear at in the project
|
||||
tree (top to bottom). The chapters, scenes and sections of the novel are determined by the headings
|
||||
within those documents.
|
||||
|
||||
.. figure:: images/fig_header_levels.png
|
||||
|
||||
An illustration of how header levels correspond to the novel structure.
|
||||
An illustration of how heading levels correspond to the novel structure.
|
||||
|
||||
The four heading levels (**H1** to **H4**) are treated as follows:
|
||||
The four heading levels, **Level 1** to **Level 4**, are treated as follows:
|
||||
|
||||
* **H1** is used for the novel title, and for partitions.
|
||||
* **H2** is used for chapter tiles.
|
||||
* **H3** is used for scene titles -- optionally replaced by separators.
|
||||
* **H4** is for section titles within scenes, if such granularity is needed.
|
||||
* **Level 1** is used for the novel title, and for partitions.
|
||||
* **Level 2** is used for chapter tiles.
|
||||
* **Level 3** is used for scene titles -- optionally replaced by separators.
|
||||
* **Level 4** is for section titles within scenes, if such granularity is needed.
|
||||
|
||||
The project tree will select an icon for the document based on the first heading in it.
|
||||
|
||||
This header level structure is only taken into account for :term:`novel documents`. For
|
||||
:term:`project notes`, the header levels have no structural meaning, and the user is free to do
|
||||
whatever they want. See :ref:`a_struct` and :ref:`a_references` for more details.
|
||||
This heading level structure is only taken into account for :term:`novel documents`. For
|
||||
:term:`project notes`, the heading levels have no structural meaning, and you are free to use them
|
||||
however you want. See :ref:`a_struct` and :ref:`a_references` for more details.
|
||||
|
||||
.. versionadded:: 2.0
|
||||
You can add documents as child items of other documents. This is often more useful than adding
|
||||
@@ -165,28 +188,29 @@ whatever they want. See :ref:`a_struct` and :ref:`a_references` for more details
|
||||
|
||||
.. _a_breakdown_export:
|
||||
|
||||
Building the Manuscript
|
||||
=======================
|
||||
Building a Manuscript
|
||||
=====================
|
||||
|
||||
The project can at any time be assembled into a range of different formats through the
|
||||
:guilabel:`Build Manuscript` tool. Natively, novelWriter supports `Open Document`_, HTML5, and
|
||||
**Build Manuscript** tool. Natively, novelWriter supports `Open Document`_, HTML5, and
|
||||
various flavours of Markdown.
|
||||
|
||||
The HTML5 format is suitable for conversion by a number of other tools like Pandoc_, or for
|
||||
importing into word processors if the Open Document format isn't suitable. In addition, printing
|
||||
is also possible. Print to PDF is available from the print dialog.
|
||||
importing into word processors if the Open Document format isn't suitable. The Open Document format
|
||||
is supported by most office type applications. In addition, printing is also possible. Print to PDF
|
||||
is available from the print dialog.
|
||||
|
||||
In addition, you can export the content of the project to a JSON file. This is useful if you want
|
||||
to write your own custom processing script in for instance Python, as the entire novel can be read
|
||||
into a Python dictionary with a couple of lines of code. The JSON file can be populated with either
|
||||
HTML formatted text, or with the raw text as typed into the novel documents.
|
||||
For advanced processing, you can export the content of the project to a JSON file. This is useful
|
||||
if you want to write your own custom processing script in for instance Python, as the entire novel
|
||||
can be read into a Python dictionary with a couple of lines of code. The JSON file can be populated
|
||||
with either HTML formatted text, or with the raw text as typed into the novel documents.
|
||||
|
||||
See :ref:`a_manuscript` for more details.
|
||||
|
||||
.. versionadded:: 2.1
|
||||
You can now define multiple build definitions in the :guilabel:`Build Manuscript` tool. This
|
||||
allows you to define specific settings for various types of draft documents, outline documents,
|
||||
and manuscript formats. See :ref:`a_manuscript` for more details.
|
||||
You can now define multiple build definitions in the **Build Manuscript** tool. This allows you
|
||||
to define specific settings for various types of draft documents, outline documents, and
|
||||
manuscript formats. See :ref:`a_manuscript` for more details.
|
||||
|
||||
|
||||
.. _a_breakdown_storage:
|
||||
@@ -210,8 +234,8 @@ Secondly, having multiple small files means it is very easy to synchronise them
|
||||
with standard file synchronisation tools.
|
||||
|
||||
Thirdly, if you use version control software to track the changes to your project, the file formats
|
||||
used for the files are well suited. Also the JSON documents have line breaks and indents, which
|
||||
makes it easier to track them with version control software.
|
||||
used for the files are well suited. All the JSON documents have line breaks and indents as well,
|
||||
which makes it easier to track them with version control software.
|
||||
|
||||
.. note::
|
||||
Since novelWriter has to keep track of a bunch of files and folders when a project is open, it
|
||||
|
||||
@@ -6,10 +6,11 @@ Formatting Your Text
|
||||
|
||||
The novelWriter text editor is a plain text editor that uses formatting codes for setting meta data
|
||||
values and allowing for some text formatting. The syntax is based on Markdown, but novelWriter is
|
||||
*not* a Markdown editor. It supports basic formatting like emphasis (italic), strong importance
|
||||
(bold) and strikethrough text, as well as four levels of headings.
|
||||
**not** a Markdown editor. It supports basic formatting like emphasis (italic), strong importance
|
||||
(bold) and strike through text, as well as four levels of headings. For some further complex
|
||||
formatting needs, a set of shortcodes can be used.
|
||||
|
||||
In addition to formatting codes, novelWriter allows for comments, a synopsis tag, and a set of
|
||||
In addition to formatting codes, novelWriter allows for comments, a synopsis tag, and a number of
|
||||
keyword and value sets used for :term:`tags<tag>` and :term:`references<reference>`. There are also
|
||||
some codes that apply to whole paragraphs. See :ref:`a_fmt_text` for more details.
|
||||
|
||||
@@ -20,7 +21,7 @@ Syntax Highlighting
|
||||
===================
|
||||
|
||||
The editor has a syntax highlighter feature that is meant to help you know when you've used the
|
||||
formtatting tags or other features correctly. It will change the colour and font size of your
|
||||
formatting tags or other features correctly. It will change the colour and font size of your
|
||||
headings, change the text colour of emphasised text, and it can also show you where you have
|
||||
dialogue in your text.
|
||||
|
||||
@@ -29,12 +30,12 @@ dialogue in your text.
|
||||
An example of the colour highlighting of references. "Bob" is not defined, and "@blabla" is not
|
||||
a valid reference type.
|
||||
|
||||
When you use the commands to set tags and references, these also change colour. Correct commands
|
||||
When you use the keywords to set tags and references, these also change colour. Correct keywords
|
||||
have a distinct colour, and the references themselves will get a colour if they are valid. Invalid
|
||||
references will get a squiggly error line underneath. The same applies to duplicate tags.
|
||||
|
||||
There are a number of syntax highlighter colour themes available, both for light and dark GUIs. You
|
||||
can select them from :guilabel:`Preferences`.
|
||||
can select them from **Preferences**.
|
||||
|
||||
|
||||
.. _a_fmt_head:
|
||||
@@ -44,7 +45,7 @@ Headings
|
||||
|
||||
.. figure:: images/fig_header_levels.png
|
||||
|
||||
An illustration of how header levels correspond to the novel structure.
|
||||
An illustration of how heading levels correspond to the novel structure.
|
||||
|
||||
Four levels of headings are allowed. For :term:`project notes`, they are free to be used as you see
|
||||
fit. That is, novelWriter doesn't assign the different headings any particular meaning. However,
|
||||
@@ -52,34 +53,44 @@ for :term:`novel documents` they indicate the structural level of the novel and
|
||||
correctly to produce the intended result. See :ref:`a_struct_heads` for more details.
|
||||
|
||||
``# Title Text``
|
||||
Heading level one. For novel documents, the header level indicates the start of a new partition.
|
||||
Heading level one. For novel documents, the level indicates the start of a new partition.
|
||||
Partitions are for when you want to split your story into "Part 1", "Part 2", etc. You can also
|
||||
choose to use them for splitting the text up into acts, and then hide these headings in your
|
||||
manuscript.
|
||||
|
||||
``## Title Text``
|
||||
Heading level two. For novel documents, the header level indicates the start of a new chapter.
|
||||
Chapter numbers can be inserted automatically when building the manuscript.
|
||||
Heading level two. For novel documents, the level indicates the start of a new chapter. Chapter
|
||||
numbers can be inserted automatically when building the manuscript.
|
||||
|
||||
``### Title Text``
|
||||
Heading level three. For novel documents, the header level indicates the start of a new scene.
|
||||
Scene numbers or scene separators can be inserted automatically when building the manuscript,
|
||||
so you can use the title field as a working title for your scenes if you wish.
|
||||
Heading level three. For novel documents, the level indicates the start of a new scene. Scene
|
||||
numbers or scene separators can be inserted automatically when building the manuscript, so you
|
||||
can use the title field as a working title for your scenes if you wish, but you must provide a
|
||||
minimal title.
|
||||
|
||||
``#### Title Text``
|
||||
Heading level four. For novel documents, the header level indicates the start of a new section.
|
||||
Section titles can be replaced by separators or ignored completely when building the manuscript.
|
||||
Heading level four. For novel documents, the level indicates the start of a new section. Section
|
||||
titles can be replaced by separators or ignored completely when building the manuscript.
|
||||
|
||||
For headers level one and two, adding a ``!`` modifies the behaviour of the heading:
|
||||
For headings level one through three, adding a ``!`` modifies the meaning of the heading:
|
||||
|
||||
``#! Title Text``
|
||||
This tells the build tool that the level one heading is intended to be used for the novel's
|
||||
main title, like for instance on the front page. When building the manuscript, this will use a
|
||||
different styling and will exclude the title from, for instance, a Table of Contents in Libre
|
||||
Office.
|
||||
This tells the build tool that the level one heading is intended to be used for the novel or
|
||||
notes folder's main title, like for instance on the front page. When building the manuscript,
|
||||
this will use a different styling and will exclude the title from, for instance, a Table of
|
||||
Contents in Libre Office.
|
||||
|
||||
``##! Title Text``
|
||||
This tells the build tool to not assign a chapter number to this chapter title if automatic
|
||||
chapter numbers are being used. Such titles are useful for a prologue for instance. See
|
||||
:ref:`a_struct_heads_unnum` for more details.
|
||||
|
||||
``###! Title Text``
|
||||
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:`a_struct_heads_scenes` for more
|
||||
details.
|
||||
|
||||
.. note::
|
||||
The space after the ``#`` or ``!`` character is mandatory. The syntax highlighter will change
|
||||
colour and font size when the heading is correctly formatted.
|
||||
@@ -94,14 +105,14 @@ A text paragraph is indicated by a blank line. That is, you need two line breaks
|
||||
fragments of text into two paragraphs. Single line breaks are treated as line breaks within a
|
||||
paragraph.
|
||||
|
||||
In addition, the editor supports a few additional types of whitespaces:
|
||||
In addition, the editor supports a few additional types of white spaces:
|
||||
|
||||
* A non-breaking space can be inserted with :kbd:`Ctrl+K`, :kbd:`Space`.
|
||||
* Thin spaces are also supported, and can be inserted with :kbd:`Ctrl+K`, :kbd:`Shift+Space`.
|
||||
* Non-breaking thin space can be inserted with :kbd:`Ctrl+K`, :kbd:`Ctrl+Space`.
|
||||
* Non-breaking thin space can be inserted with :kbd:`Ctrl+K`, :kbd:`Ctrl+Space`.
|
||||
|
||||
These are all insert features, and the :guilabel:`Insert` menu has more. They are also listed
|
||||
in :ref:`a_kb_ins`.
|
||||
These are all insert features, and the **Insert** menu has more. The keyboard shortcuts for them
|
||||
are also listed in :ref:`a_kb_ins`.
|
||||
|
||||
Non-breaking spaces are highlighted by the syntax highlighter with an alternate coloured
|
||||
background, depending on the selected theme.
|
||||
@@ -117,18 +128,18 @@ background, depending on the selected theme.
|
||||
Text Emphasis
|
||||
=============
|
||||
|
||||
A minimal set of text emphasis styles are supported for text paragraphs.
|
||||
A minimal set of Markdown text emphasis styles are supported for text paragraphs.
|
||||
|
||||
``_text_``
|
||||
The text is rendered as emphasised text (italicised).
|
||||
|
||||
``**text**``
|
||||
The text is rendered as strongly important text (bold).
|
||||
The text is rendered as strongly emphasised text (bold).
|
||||
|
||||
``~~text~~``
|
||||
Strikethrough text.
|
||||
Strike through text.
|
||||
|
||||
In Markdown guides it is often recommended to differentiate between strong importance and emphasis
|
||||
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
|
||||
@@ -136,17 +147,17 @@ recommendation.
|
||||
|
||||
In addition, the following rules apply:
|
||||
|
||||
1. The emphasis and strikethrough formatting tags do not allow spaces between the words and the tag
|
||||
itself. That is, ``**text**`` is valid, ``**text **`` is not.
|
||||
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.
|
||||
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*
|
||||
3. If using both ``**`` and ``_`` to wrap the same text, the underscore must be the **inner**
|
||||
wrapper. This is due to the underscore also being a valid word character, so if they are on the
|
||||
outside, they violate rule 2.
|
||||
4. Text emphasis does not span past line breaks. If you need to add emphasis to multiple lines or
|
||||
paragraphs, you must apply it to each of them in turn.
|
||||
5. Text emphasis can only be used in plain paragraphs. Comments, titles, and meta data tags don't
|
||||
allow for formatting, and any formatting markup will be renderred as-is.
|
||||
allow for formatting, and any formatting markup will be rendered as-is.
|
||||
|
||||
.. tip::
|
||||
novelWriter supports standard escape syntax for the emphasis markup characters in case the
|
||||
@@ -155,33 +166,83 @@ In addition, the following rules apply:
|
||||
markup.
|
||||
|
||||
|
||||
.. _a_fmt_shortcodes:
|
||||
|
||||
Extended Formatting with Shortcodes
|
||||
===================================
|
||||
|
||||
For additional formatting options, you can use shortcodes. Shortcodes is a form of in-line codes
|
||||
that can be used to change the format of the text that follows and opening code, and last until
|
||||
that formatting region is ended with a closing code.
|
||||
|
||||
These shortcodes are intended for special formatting cases, or more complex cases that cannot be
|
||||
solved with simple Markdown-like formatting codes. Available shortcodes are listed below.
|
||||
|
||||
.. csv-table:: Shortcodes Formats
|
||||
:header: "Syntax", "Description"
|
||||
:widths: 40, 60
|
||||
:class: "tight-table"
|
||||
|
||||
"``[b]text[/b]``", "Text is rendered as bold text."
|
||||
"``[i]text[/i]``", "Text is rendered as italicised text."
|
||||
"``[s]text[/s]``", "Text is rendered as strike through text."
|
||||
"``[u]text[/u]``", "Text is rendered as underlined text."
|
||||
"``[m]text[/m]``", "Text is rendered as highlighted text."
|
||||
"``[sup]text[/sup]``", "Text is rendered as superscript text."
|
||||
"``[sub]text[/sub]``", "Text is rendered as subscript text."
|
||||
|
||||
Unlike Markdown style codes, these can be used anywhere within a paragraph. Even in the middle of a
|
||||
word if you need to. You can also freely combine them to form more complex formatting.
|
||||
|
||||
The shortcodes are available from the **Format** menu and in the editor toolbar, which can be
|
||||
activated by clicking the left-most icon button in the editor header.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. _a_fmt_comm:
|
||||
|
||||
Comments and Synopsis
|
||||
=====================
|
||||
|
||||
In addition to these standard Markdown features, novelWriter also allows for comments in documents.
|
||||
The text of a comment is ignored by the word counter. The text can also be filtered out when
|
||||
building the manuscript or viewing the document.
|
||||
In addition to the above formatting features, novelWriter also allows for comments in documents.
|
||||
The text of a comment is always ignored by the word counter. The text can also be filtered out
|
||||
when building the manuscript or viewing the document.
|
||||
|
||||
If the first word of a comment is ``Synopsis:`` (with the colon included), the comment is treated
|
||||
in a special manner and will show up in the :ref:`a_ui_outline` in a dedicated column. The word
|
||||
``synopsis`` is not case sensitive. If it is correctly formatted, the syntax highlighter will
|
||||
indicate this by altering the colour of the word.
|
||||
The first word of a comment, followed by a colon, can be one of a small set of modifiers that
|
||||
indicates the comment is intended for a specific purpose. For instance, if the comment starts with
|
||||
``Synopsis:``, the comment is treated in a special manner and will show up in the
|
||||
:ref:`a_ui_outline` in a dedicated column. The word ``synopsis`` is not case sensitive. If it is
|
||||
correctly formatted, the syntax highlighter will indicate this by altering the colour of the word.
|
||||
|
||||
``% text...``
|
||||
The different styles of comments are as follows:
|
||||
|
||||
``% Comment text ...``
|
||||
This is a comment. The text is not rendered by default (this can be overridden), seen in the
|
||||
document viewer, or counted towards word counts.
|
||||
document viewer, or counted towards word counts. It is intended for you to make notes in your
|
||||
text for your own sake, whatever that may be, that isn't part of the story text. This is the
|
||||
general format of a comment.
|
||||
|
||||
``% Synopsis: text...``
|
||||
``%Synopsis: Comment text ...``
|
||||
This is a synopsis comment. It is generally treated in the same way as a regular comment, except
|
||||
that it is also captured by the indexing algorithm and displayed in the :ref:`a_ui_outline`. It
|
||||
can also be filtered separately when building the project to for instance generate an outline
|
||||
document of the whole project.
|
||||
|
||||
``%Short: Comment text ...``
|
||||
This is a short description comment. It is identical to the synopsis comment (they are
|
||||
interchangeable), but is intended to be used for project notes. The text shows up in the
|
||||
Reference panel below the document viewer in the last column labelled **Short Description**.
|
||||
|
||||
``%~ Comment text ...``
|
||||
This can be used to exclude story text from your manuscript without having to delete it from
|
||||
your text. Comments with the ``~`` will *never* be included in the manuscript, even if you have
|
||||
chosen to include comments in it. That is the main difference between these two formats.
|
||||
|
||||
.. note::
|
||||
Only one comment can be flagged as a synopsis comment for each heading. If multiple comments are
|
||||
flagged as synopsis comments, the last one will be used and the rest ignored.
|
||||
Only one comment can be flagged as a synopsis or short comment for each heading. If multiple
|
||||
comments are flagged as synopsis or short comments, the last one will be used and the rest
|
||||
ignored.
|
||||
|
||||
|
||||
.. _a_fmt_tags:
|
||||
@@ -192,20 +253,21 @@ Tags and References
|
||||
The document editor supports a set of keywords used for setting tags, and making references between
|
||||
documents.
|
||||
|
||||
Tags use the command ``@tag:`` to define a tag. The tag can be set once per section defined by a
|
||||
Tags use the keyword ``@tag:`` to define a tag. The tag can be set once per section defined by a
|
||||
heading. Setting it multiple times under the same heading will just override the previous setting.
|
||||
|
||||
``@tag: value``
|
||||
A tag command followed by the tag value, like for instance the name of a character.
|
||||
A tag keyword followed by the tag value, like for instance the name of a character.
|
||||
|
||||
References can be set anywhere within a section, and are collected according to their category.
|
||||
References are in the form:
|
||||
References are on the form:
|
||||
|
||||
``@keyword: value``
|
||||
``@keyword: value1, value2, ..., valueN``
|
||||
A reference keyword followed by a value, or a comma separated list of values.
|
||||
|
||||
Tags andreferences are covered in detail in the :ref:`a_references` chapter. The keywords can be
|
||||
inserted at the cursor position in the editor via the :guilabel:`Insert` menu.
|
||||
Tags and references are covered in detail in the :ref:`a_references` chapter. The keywords can be
|
||||
inserted at the cursor position in the editor via the **Insert** menu. If you start typing an ``@``
|
||||
on a new line, and auto-complete menu will also pop up suggesting keywords.
|
||||
|
||||
|
||||
.. _a_fmt_align:
|
||||
@@ -213,8 +275,8 @@ inserted at the cursor position in the editor via the :guilabel:`Insert` menu.
|
||||
Paragraph Alignment and Indentation
|
||||
===================================
|
||||
|
||||
All documents have the text by default aligned to the left or justified, depending on your
|
||||
settings in :guilabel:`Preferences`.
|
||||
All documents have the text by default aligned to the left or justified, depending on your setting
|
||||
in **Preferences**.
|
||||
|
||||
You can override the default text alignment on individual paragraphs by specifying alignment tags.
|
||||
These tags are double angle brackets. Either ``>>`` or ``<<``. You put them either before or after
|
||||
@@ -241,7 +303,7 @@ Examples:
|
||||
.. note::
|
||||
The text editor will not show the alignment and indentation live. But the viewer will show them
|
||||
when you open the document there. It will of course also be reflected in the document generated
|
||||
from the build tool as long as the format supports paragraph alignment.
|
||||
from the manuscript build tool as long as the format supports paragraph alignment.
|
||||
|
||||
|
||||
.. _a_fmt_break:
|
||||
@@ -249,37 +311,36 @@ Examples:
|
||||
Vertical Space and Page Breaks
|
||||
==============================
|
||||
|
||||
Adding more than one line break between paragraphs will *not* increase the space between those
|
||||
You can apply page breaks to partition, chapter and scene headings for novel documents from the
|
||||
**Manuscript Build** tool. If you need to add a page break or additional vertical spacing in other
|
||||
places, there are special codes available for this purpose.
|
||||
|
||||
Adding more than one line break between paragraphs will **not** increase the space between those
|
||||
paragraphs when building the project. To add additional space between paragraphs, add the text
|
||||
``[VSPACE]`` on a line of its own, and the build tool will insert a blank paragraph in its place.
|
||||
``[vspace]`` on a line of its own, and the build tool will insert a blank paragraph in its place.
|
||||
|
||||
If you need multiple blank paragraphs just add a colon and a number to the above code. For
|
||||
instance, writing ``[VSPACE:3]`` will insert three blank paragraphs.
|
||||
instance, writing ``[vspace:3]`` will insert three blank paragraphs.
|
||||
|
||||
Normally, the build tool will insert a page break before all headers of level one and for all
|
||||
headers of level two for novel documents, i.e. chapters, but not for project notes.
|
||||
|
||||
If you need to add a page break somewhere else, put the text ``[NEW PAGE]`` on a line by itself
|
||||
before the text you wish to start on a new page.
|
||||
|
||||
If you want page breaks for scenes and sections, you must add them manually.
|
||||
If you need to add a page break somewhere, put the text ``[new page]`` on a line by itself before
|
||||
the text you wish to start on a new page.
|
||||
|
||||
.. note::
|
||||
The page break code is applied to the text that follows it. It adds a "page break before" mark
|
||||
to the text when exporting to HTML or Open Document. This means that a ``[NEW PAGE]`` which has
|
||||
to the text when exporting to HTML or Open Document. This means that a ``[new page]`` which has
|
||||
no text following it, it will not result in a page break.
|
||||
|
||||
**Example:**
|
||||
|
||||
.. code-block:: markdown
|
||||
.. code-block:: md
|
||||
|
||||
This is a text paragraph.
|
||||
|
||||
[VSPACE:2]
|
||||
[vspace:2]
|
||||
|
||||
This is another text paragraph, but there will be two empty paragraphs
|
||||
in-between them.
|
||||
between them.
|
||||
|
||||
[NEWPAGE]
|
||||
[new page]
|
||||
|
||||
This text will always start on a new page if the build format has pages.
|
||||
This text will start on a new page if the build format has pages.
|
||||
|
||||
@@ -8,7 +8,7 @@ This chapter covers in more detail the different project views available in nove
|
||||
|
||||
.. figure:: images/fig_project_tree_detailed.png
|
||||
|
||||
The Project Tree as it appears when loading a sample project.
|
||||
The **Project Content** tree as it appears when loading a sample project.
|
||||
|
||||
|
||||
.. _a_ui_tree:
|
||||
@@ -21,33 +21,32 @@ the project, and has four columns.
|
||||
|
||||
**Column 1**
|
||||
The first column shows the icon and label of each folder, document, or note in your project. The
|
||||
label is not the same as the title you set inside the document. However, the document's label
|
||||
will appear in the header above the document text itself so you know where in the project an
|
||||
open document belongs. The icon is selected based on the type of item, and for novel documents,
|
||||
the level of the first header in the document text.
|
||||
label is not the same as the heading title you set inside the document. However, the document's
|
||||
label will appear in the header above the document text itself so you know where in the project
|
||||
an open document belongs. The icon is selected based on the type of item, and for novel
|
||||
documents, the level of the first heading in the document text.
|
||||
|
||||
**Column 2**
|
||||
The second column shows the word count of the document, or the sum of words of the child items
|
||||
for folders and documents with subdocuments. If the counts seem incorrect, they can be updated
|
||||
by rebuilding the :term:`project index` from the :guilabel:`Tools` menu, or by pressing
|
||||
:kbd:`F9`.
|
||||
for folders and documents with sub-documents. If the counts seem incorrect, they can be updated
|
||||
by rebuilding the :term:`project index` from the **Tools** menu, or by pressing :kbd:`F9`.
|
||||
|
||||
**Column 3**
|
||||
The third column indicates whether the document is considered active or inactive in the project.
|
||||
You can use this flag to indicate that a document is still in the project, but should not be
|
||||
considered an active part of it. When you run the :guilabel:`Build Manuscript` tool, you can
|
||||
include or exclude documents based on this flag. You can change this value from the
|
||||
considered an active part of it. When you run the **Build Manuscript** tool, you can include or
|
||||
exclude documents based on this flag. You can change this value from the right-click
|
||||
:term:`context menu`.
|
||||
|
||||
**Column 4**
|
||||
The fourth column shows the user-defined status or importance labels you've assigned to each
|
||||
project item. See :ref:`a_ui_tree_status` for more details on how to uses these labels. You can
|
||||
change these labels from the :term:`context menu`.
|
||||
select these labels from the :term:`context menu`, and define them in **Project Settings**.
|
||||
|
||||
Right-clicking an item in the project tree will open a context menu under the cursor, displaying
|
||||
a selection of actions that can be performed on the selected item.
|
||||
|
||||
At the top of the tree, you will find a set of buttons.
|
||||
At the top of the project tree, you will find a set of buttons.
|
||||
|
||||
* The first button is a quick links button that will show you a dropdown menu of all the
|
||||
:term:`root folders<root folder>` in your project. Selecting one will move to that position in
|
||||
@@ -62,52 +61,59 @@ Below the project tree you will find a small details panel showing the full info
|
||||
currently selected item. This panel also includes the latest paragraph and character counts in
|
||||
addition to the word count.
|
||||
|
||||
.. tip::
|
||||
If you want to set the label of a document to be the same as a header within it, you can
|
||||
right-click a header in the document when it is open in the editor and select
|
||||
:guilabel:`Set as Document Name` from the context menu.
|
||||
|
||||
|
||||
.. _a_ui_tree_split_merge:
|
||||
|
||||
Splitting and Merging Documents
|
||||
-------------------------------
|
||||
|
||||
Under the :guilabel:`Transform` submenu in the context menu of an item in the project tree, you
|
||||
will find several options on how to change a document or folder. This includes changing between
|
||||
document and note, but also splitting them into multiple documents, or merging child items into a
|
||||
single document.
|
||||
Under the **Transform** submenu in the context menu of an item in the project tree, you will find
|
||||
several options on how to change a document or folder. This includes changing between document and
|
||||
note, but also splitting them into multiple documents, or merging child items into a single
|
||||
document.
|
||||
|
||||
|
||||
Splitting Documents
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: images/fig_project_split_tool.png
|
||||
|
||||
The :guilabel:`Split Document` dialog.
|
||||
The **Split Document** dialog.
|
||||
|
||||
The :guilabel:`Split Document by Header` option will open a dialog that allows you to split the
|
||||
selected document into multiple new documents based on the headings it contains. You can select at
|
||||
which heading level the split is to be performed from the dropdown box. The list box will preview
|
||||
which headings will be split into new documents.
|
||||
The **Split Document by Headings** option will open a dialog that allows you to split the selected
|
||||
document into multiple new documents based on the headings it contains. You can select at which
|
||||
heading level the split is to be performed from the dropdown box. The list box will preview which
|
||||
headings will be split into new documents.
|
||||
|
||||
You are given the option to create a folder for these new documents, and whether or not to create a
|
||||
hierarchy of documents. That is, put sections under scenes, and scenes under chapters.
|
||||
|
||||
The source document *is not* deleted in the process, but you have the option to let the tool move
|
||||
The source document **is not** deleted in the process, but you have the option to let the tool move
|
||||
the source document to the :guilabel:`Trash` folder.
|
||||
|
||||
|
||||
Merging Documents
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: images/fig_project_merge_tool.png
|
||||
|
||||
The :guilabel:`Merge Documents` dialog.
|
||||
The **Merge Documents** dialog.
|
||||
|
||||
You have two options for merging documents that are child elements of another document. You can
|
||||
either :guilabel:`Merge Child Items into Self` and :guilabel:`Merge Child Items into New`. The
|
||||
first option will pull all content of child items and merge them into the parent document, while
|
||||
the second option will create a new document in the process.
|
||||
either **Merge Child Items into Self** and **Merge Child Items into New**. The first option will
|
||||
pull all content of child items and merge them into the parent document, while the second option
|
||||
will create a new document in the process.
|
||||
|
||||
When merging documents in a folder, you only have the latter process is possible, so only the
|
||||
choice :guilabel:`Merge Documents in Folder` is available.
|
||||
choice **Merge Documents in Folder** is available.
|
||||
|
||||
In either case, the :guilabel:`Merge Documents` dialog will let you exclude documents you don't
|
||||
want to include, and it also lets you reorder them if you wish.
|
||||
In either case, the **Merge Documents** dialog will let you exclude documents you don't want to
|
||||
include, and it also lets you reorder them if you wish.
|
||||
|
||||
|
||||
.. _a_ui_tree_status:
|
||||
@@ -116,16 +122,16 @@ Document Importance and Status
|
||||
------------------------------
|
||||
|
||||
Each document or folder in your project can have either a "Status" or "Importance" flag set. These
|
||||
are flags that you control and define yourself. novelWriter doesn't do anything with them at all.
|
||||
To modify the labels, go to their respective tabs in :guilabel:`Project Settings`.
|
||||
are flags that you control and define yourself, and novelWriter doesn't use them for anything. To
|
||||
modify the labels, go to their respective tabs in **Project Settings**.
|
||||
|
||||
The "Status" flag is intended to tag a :term:`novel document<novel documents>` as for instance a
|
||||
draft or as completed, and the "Importance" flag is intended to tag character notes, or other
|
||||
:term:`project notes`, as for instance a main, major, or minor character or story element.
|
||||
|
||||
Whether a document uses a "Status" or "Importance" flag depends on which :term:`root folder` it
|
||||
lives in. If it's in a :guilabel:`Novel` folder, it uses the "Status" flag, otherwise it uses an
|
||||
"Importance" flag. Some folders, like :guilabel:`Trash` and :guilabel:`Archive` allow both.
|
||||
lives in. If it's in a **Novel** type folder, it uses the "Status" flag, otherwise it uses an
|
||||
"Importance" flag.
|
||||
|
||||
|
||||
.. _a_ui_tree_dnd:
|
||||
@@ -135,41 +141,45 @@ Project Tree Drag & Drop
|
||||
|
||||
The project tree allows drag & drop to a certain extent to allow you to reorder your documents and
|
||||
folders. Moving a document in the project tree will affect the text's position when you assemble
|
||||
your manuscript in the :guilabel:`Manuscript Build` tool.
|
||||
your manuscript in the **Manuscript Build** tool.
|
||||
|
||||
Drag & drop has only limited support for moving documents. In general, bulk actions are not
|
||||
allowed. This is deliberate to avoid accidentally messing up your project. If you make a mistake,
|
||||
the last move action can be undone by pressing :kbd:`Ctrl+Shift+Z` or from the menu icon in the
|
||||
project tree's toolbar.
|
||||
.. versionadded:: 2.2
|
||||
You can now select multiple items in the project tree by holding down the :kbd:`Ctrl` or
|
||||
:kbd:`Shift` key while selecting items.
|
||||
|
||||
Documents and their folders can be rearranged freely within their root folders. If you move a Novel
|
||||
document out of a Novel folder, it will be converted to a project note. Notes can be moved freely
|
||||
between all root folders, but keep in mind that if you move a note into a :guilabel:`Novel` root
|
||||
folder, its "Importance" setting will be switched with a "Status" setting. See
|
||||
You can drag and drop documents and regular folders, but not root folders. If you select multiple
|
||||
items, they can only be dragged and dropped if they are siblings. That is, they have the same
|
||||
parent item in the project. This limitation is due to the way drag and drop is implemented in the
|
||||
user interface framework novelWriter is built upon.
|
||||
|
||||
Documents and their folders can be rearranged freely within their root folders. If you move a
|
||||
**Novel Document** out of a **Novel** folder, it will be converted to a **Project Note**. Notes can
|
||||
be moved freely between all root folders, but keep in mind that if you move a note into a **Novel**
|
||||
type root folder, its "Importance" setting will be switched with a "Status" setting. See
|
||||
:ref:`a_ui_tree_status`. The old value will not be overwritten though, and should be restored if
|
||||
you move it back at some point.
|
||||
|
||||
Root folders in the project tree cannot be dragged & dropped at all. If you want to reorder them,
|
||||
you can move them up or down with respect to eachother from the arrow buttons at the top of the
|
||||
project tree, or by pressing :kbd:`Ctrl+Shift+Up` or :kbd:`Ctrl+Shift+Down` when they are selected.
|
||||
Root folders in the project tree cannot be dragged and dropped at all. If you want to reorder them,
|
||||
you can move them up or down with respect to each other from the arrow buttons at the top of the
|
||||
project tree, or by pressing :kbd:`Ctrl+Up` or :kbd:`Ctrl+Down` when they are selected.
|
||||
|
||||
|
||||
.. _a_ui_tree_novel:
|
||||
|
||||
The Novel Tree
|
||||
==============
|
||||
The Novel Tree View
|
||||
===================
|
||||
|
||||
.. figure:: images/fig_novel_tree_view.png
|
||||
|
||||
A screenshot of the Novel Tree View.
|
||||
|
||||
An alternative way to view the project structure is the novel tree. You can switch to this view by
|
||||
selecting the :guilabel:`Novel Tree View` button in the sidebar. This view is a simplified version
|
||||
of the view in the :guilabel:`Outline View`. It is convenient when you want to browse the structure
|
||||
of the story itself rather than the document files.
|
||||
An alternative way to view the project structure is the novel view. You can switch to this view by
|
||||
selecting the :guilabel:`Novel View` button in the sidebar. This view is a simplified version of
|
||||
the view in the **Outline View**. It is convenient when you want to browse the structure of the
|
||||
story itself rather than the document files.
|
||||
|
||||
.. note::
|
||||
You cannot reorganise the entries in the novel tree, or add any new documents, as that would
|
||||
You cannot reorganise the entries in the novel view, or add any new documents, as that would
|
||||
imply restructuring the content of the document files themselves. Any such editing must be done
|
||||
in the project tree. However, you can add new headings to existing documents, or change
|
||||
references, which will be updated in this view when the document is saved.
|
||||
@@ -177,21 +187,21 @@ of the story itself rather than the document files.
|
||||
|
||||
.. _a_ui_outline:
|
||||
|
||||
Project Outline View
|
||||
====================
|
||||
The Novel Outline View
|
||||
======================
|
||||
|
||||
.. figure:: images/fig_outline_view.png
|
||||
|
||||
A screenshot of the Novel Outline View.
|
||||
|
||||
The project's :guilabel:`Outline View` is available as another view option from the sidebar. The
|
||||
The project's **Novel Outline View** is available as another view option from the sidebar. The
|
||||
outline provides an overview of the novel structure, displaying a tree hierarchy of the elements of
|
||||
the novel, that is, the level 1 to 4 headings representing partitions, chapters, scenes and
|
||||
sections.
|
||||
|
||||
The document containing the heading can also be displayed as a separate column, as well as the line
|
||||
number where the heading is defined. Double-clicking an entry will open the corresponding document
|
||||
in the editor and switch to :guilabel:`Project Tree View` mode.
|
||||
in the editor and switch to **Project Tree View** mode.
|
||||
|
||||
You can select which novel folder to display from the dropdown menu. You can optionally also choose
|
||||
to show a combination of all novel folders.
|
||||
@@ -207,7 +217,7 @@ the menu button in the toolbar. The order of the columns can also be rearranged
|
||||
a different position. You column settings are saved between sessions on a per-project basis.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`Title` column cannot be disabled or moved.
|
||||
The **Title** column cannot be disabled or moved.
|
||||
|
||||
The information viewed in the outline is based on the :term:`project index`. While novelWriter does
|
||||
its best to keep the index up to date when contents change, you can always rebuild it manually by
|
||||
@@ -216,5 +226,5 @@ pressing :kbd:`F9` if something isn't right.
|
||||
The outline view itself can be regenerated by pressing the refresh button. By default, the content
|
||||
is refreshed each time you switch to this view.
|
||||
|
||||
The :guilabel:`Synopsis` column of the outline view takes its information from a specially
|
||||
formatted comment. See :ref:`a_fmt_comm`.
|
||||
The **Synopsis** column of the outline view takes its information from a specially formatted
|
||||
comment. See :ref:`a_fmt_comm`.
|
||||
|
||||
@@ -20,22 +20,22 @@ Main Window Shortcuts
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`F1`", "Open the online user manual"
|
||||
":kbd:`F5`", "Open the :guilabel:`Build Manuscript` tool"
|
||||
":kbd:`F6`", "Open the :guilabel:`Writing Statistics` tool"
|
||||
":kbd:`F8`", "Toggle :guilabel:`Focus Mode`"
|
||||
":kbd:`F9`", "Re-build the project index"
|
||||
":kbd:`F5`", "Open the **Build Manuscript** tool"
|
||||
":kbd:`F6`", "Open the **Writing Statistics** tool"
|
||||
":kbd:`F8`", "Toggle **Focus Mode**"
|
||||
":kbd:`F9`", "Re-build the project's index"
|
||||
":kbd:`F11`", "Toggle full screen mode"
|
||||
":kbd:`Ctrl+,`", "Open the :guilabel:`Preferences` dialog"
|
||||
":kbd:`Ctrl+,`", "Open the **Preferences** dialog"
|
||||
":kbd:`Ctrl+E`", "Switch focus to the document editor"
|
||||
":kbd:`Ctrl+T`", "Switch focus to the project/novel tree"
|
||||
":kbd:`Ctrl+T`", "Switch or toggle focus for the project tree or novel view"
|
||||
":kbd:`Ctrl+Q`", "Exit novelWriter"
|
||||
":kbd:`Ctrl+Shift+,`", "Open the :guilabel:`Project Settings` dialog"
|
||||
":kbd:`Ctrl+Shift+O`", "Open a project"
|
||||
":kbd:`Ctrl+Shift+,`", "Open the **Project Settings** dialog"
|
||||
":kbd:`Ctrl+Shift+O`", "Open the Welcome dialog to open or create a project"
|
||||
":kbd:`Ctrl+Shift+S`", "Save the current project"
|
||||
":kbd:`Ctrl+Shift+T`", "Switch focus to the outline view"
|
||||
":kbd:`Ctrl+Shift+W`", "Close the current project"
|
||||
":kbd:`Shift+F1`", "Open the local user manual (PDF) if it is available"
|
||||
":kbd:`Shift+F6`", "Open the :guilabel:`Project Details` dialog"
|
||||
":kbd:`Shift+F6`", "Open the **Project Details** dialog"
|
||||
|
||||
|
||||
.. _a_kb_tree:
|
||||
@@ -46,21 +46,20 @@ Project Tree Shortcuts
|
||||
.. csv-table::
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`F2`", "Edit the label of the selected item"
|
||||
":kbd:`Return`", "Open the selected document in the editor"
|
||||
":kbd:`Alt+Up`", "Jump or go to the previous item at same level in the tree"
|
||||
":kbd:`Alt+Down`", "Jump or go to the next item at same level in the tree"
|
||||
":kbd:`Alt+Left`", "Jump to the parent item in the tree"
|
||||
":kbd:`Alt+Right`", "Jump to the first child item in the project tree"
|
||||
":kbd:`Ctrl+.`", "Open the context menu on the selected item"
|
||||
":kbd:`Ctrl+L`", "Open the :guilabel:`Quick Links` menu"
|
||||
":kbd:`Ctrl+N`", "Open the :guilabel:`Create New Item` menu"
|
||||
":kbd:`Ctrl+O`", "Open selected document"
|
||||
":kbd:`Ctrl+R`", "Open the selected document in the viewer"
|
||||
":kbd:`Ctrl+Up`", "Move selected item one step up in the tree"
|
||||
":kbd:`Ctrl+Down`", "Move selected item one step down in the tree"
|
||||
":kbd:`Ctrl+Del`", "Move the selected item to Trash"
|
||||
":kbd:`Ctrl+Shift+Z`", "Undo the last move of a project item, if possible"
|
||||
":kbd:`F2`", "Edit the label of the selected item"
|
||||
":kbd:`Return`", "Open the selected document in the editor"
|
||||
":kbd:`Alt+Up`", "Jump or go to the previous item at same level in the tree"
|
||||
":kbd:`Alt+Down`", "Jump or go to the next item at same level in the tree"
|
||||
":kbd:`Alt+Left`", "Jump to the parent item in the tree"
|
||||
":kbd:`Alt+Right`", "Jump to the first child item in the project tree"
|
||||
":kbd:`Ctrl+.`", "Open the context menu on the selected item"
|
||||
":kbd:`Ctrl+L`", "Open the **Quick Links** menu"
|
||||
":kbd:`Ctrl+N`", "Open the **Create New Item** menu"
|
||||
":kbd:`Ctrl+O`", "Open the selected document in the editor"
|
||||
":kbd:`Ctrl+R`", "Open the selected document in the viewer"
|
||||
":kbd:`Ctrl+Up`", "Move selected item one step up in the tree"
|
||||
":kbd:`Ctrl+Down`", "Move selected item one step down in the tree"
|
||||
":kbd:`Ctrl+Shift+Del`", "Move the selected item to Trash"
|
||||
|
||||
|
||||
.. _a_kb_editor:
|
||||
@@ -76,11 +75,12 @@ Text Search Shortcuts
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`F3`", "Find the next occurrence of the search word"
|
||||
":kbd:`Ctrl+F`", "Open the search bar and search for the selected word, if any is selected"
|
||||
":kbd:`Ctrl+F`", "Open search and look for the selected word"
|
||||
":kbd:`Ctrl+G`", "Find the next occurrence of the search word"
|
||||
":kbd:`Ctrl+H`", "Open the search tool and populate with the selected word (Mac :kbd:`Cmd+=`)"
|
||||
":kbd:`Ctrl+Shift+1`", "Replace selected occurrence of the search word, and move to the next"
|
||||
":kbd:`Ctrl+H`", "Open replace and look for the selected word (Mac :kbd:`Cmd+=`)"
|
||||
":kbd:`Ctrl+Shift+1`", "Replace selected occurrence, and move to the next"
|
||||
":kbd:`Ctrl+Shift+G`", "Find the previous occurrence of the search word"
|
||||
":kbd:`Ctrl+Shift+F`", "Open project search and look for the selected word"
|
||||
":kbd:`Shift+F3`", "Find the previous occurrence of the search word"
|
||||
|
||||
|
||||
@@ -90,23 +90,24 @@ Text Formatting Shortcuts
|
||||
.. csv-table::
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`Ctrl+/`", "Toggle block format as comment"
|
||||
":kbd:`Ctrl+0`", "Remove block formatting for block under cursor"
|
||||
":kbd:`Ctrl+1`", "Change block format to header level 1"
|
||||
":kbd:`Ctrl+2`", "Change block format to header level 2"
|
||||
":kbd:`Ctrl+3`", "Change block format to header level 3"
|
||||
":kbd:`Ctrl+4`", "Change block format to header level 4"
|
||||
":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"
|
||||
":kbd:`Ctrl+4`", "Change block format to heading level 4"
|
||||
":kbd:`Ctrl+5`", "Change block alignment to left-aligned"
|
||||
":kbd:`Ctrl+6`", "Change block alignment to centred"
|
||||
":kbd:`Ctrl+7`", "Change block alignment to right-aligned"
|
||||
":kbd:`Ctrl+8`", "Add a left margin to the block"
|
||||
":kbd:`Ctrl+9`", "Add a right margin to the block"
|
||||
":kbd:`Ctrl+B`", "Format selected text, or word under cursor, with strong emphasis (bold)"
|
||||
":kbd:`Ctrl+D`", "Strikethrough selected text, or word under cursor"
|
||||
":kbd:`Ctrl+I`", "Format selected text, or word under cursor, with emphasis (italic)"
|
||||
":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+Shift+/`", "Remove block formatting for block under cursor"
|
||||
":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+Shift+/`", "Remove format for block or selected text"
|
||||
":kbd:`Ctrl+Shift+D`", "Toggle ignored text format for block or selected text"
|
||||
|
||||
|
||||
Other Editor Shortcuts
|
||||
@@ -115,7 +116,7 @@ Other Editor Shortcuts
|
||||
.. csv-table::
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`F7`", "Re-run the spell checker"
|
||||
":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"
|
||||
@@ -127,12 +128,11 @@ Other Editor Shortcuts
|
||||
":kbd:`Ctrl+X`", "Cut selected text to clipboard"
|
||||
":kbd:`Ctrl+Y`", "Redo latest undo"
|
||||
":kbd:`Ctrl+Z`", "Undo latest changes"
|
||||
":kbd:`Ctrl+Del`", "Delete the word after the cursor"
|
||||
":kbd:`Ctrl+Backspace`", "Delete the word before the cursor"
|
||||
":kbd:`Ctrl+Return`", "Open the tag or reference under the cursor in the viewer"
|
||||
":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:`Ctrl+Shift+I`", "Import text to the current document from a text file"
|
||||
|
||||
|
||||
.. _a_kb_ins:
|
||||
@@ -147,39 +147,40 @@ a key or key combination for the inserted content.
|
||||
.. csv-table::
|
||||
:header: "Shortcut", "Description"
|
||||
|
||||
":kbd:`Ctrl+K`, :kbd:`−`", "Insert a short dash (en dash)"
|
||||
":kbd:`Ctrl+K`, :kbd:`Space`", "Insert a non-breaking space"
|
||||
":kbd:`Ctrl+K`, :kbd:`_`", "Insert a long dash (em dash)"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+_`", "Insert a horizontal bar (quotation dash)"
|
||||
":kbd:`Ctrl+K`, :kbd:`.`", "Insert an ellipsis"
|
||||
":kbd:`Ctrl+K`, :kbd:`'`", "Insert a modifier apostrophe"
|
||||
":kbd:`Ctrl+K`, :kbd:`*`", "Insert a list bullet"
|
||||
":kbd:`Ctrl+K`, :kbd:`%`", "Insert a per mille symbol"
|
||||
":kbd:`Ctrl+K`, :kbd:`~`", "Insert a figure dash (same width as a number)"
|
||||
":kbd:`Ctrl+K`, :kbd:`−`", "Insert a short dash (en dash)"
|
||||
":kbd:`Ctrl+K`, :kbd:`1`", "Insert a left single quote"
|
||||
":kbd:`Ctrl+K`, :kbd:`2`", "Insert a right single quote"
|
||||
":kbd:`Ctrl+K`, :kbd:`3`", "Insert a left double quote"
|
||||
":kbd:`Ctrl+K`, :kbd:`4`", "Insert a right double quote"
|
||||
":kbd:`Ctrl+K`, :kbd:`'`", "Insert a modifier apostrophe"
|
||||
":kbd:`Ctrl+K`, :kbd:`.`", "Insert an ellipsis"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+'`", "Insert a prime"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+""`", "Insert a double prime"
|
||||
":kbd:`Ctrl+K`, :kbd:`Space`", "Insert a non-breaking space"
|
||||
":kbd:`Ctrl+K`, :kbd:`Shift+Space`", "Insert a thin space"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+Space`", "Insert a thin non-breaking space"
|
||||
":kbd:`Ctrl+K`, :kbd:`*`", "Insert a list bullet"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+−`", "Insert a hyphen bullet (alternative bullet)"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+*`", "Insert a flower mark (alternative bullet)"
|
||||
":kbd:`Ctrl+K`, :kbd:`%`", "Insert a per mille symbol"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+O`", "Insert a degree symbol"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+X`", "Insert a times sign"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+D`", "Insert a division sign"
|
||||
":kbd:`Ctrl+K`, :kbd:`G`", "Insert a ``@tag`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`V`", "Insert a ``@pov`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`F`", "Insert a ``@focus`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`C`", "Insert a ``@char`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`E`", "Insert an ``@entity`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`F`", "Insert a ``@focus`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`G`", "Insert a ``@tag`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`H`", "Insert a short description comment"
|
||||
":kbd:`Ctrl+K`, :kbd:`L`", "Insert a ``@location`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`O`", "Insert an ``@object`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`P`", "Insert a ``@plot`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`S`", "Insert a synopsis comment"
|
||||
":kbd:`Ctrl+K`, :kbd:`T`", "Insert a ``@time`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`L`", "Insert a ``@location`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`O`", "Insert an ``@object`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`E`", "Insert an ``@entity`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`V`", "Insert a ``@pov`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`X`", "Insert a ``@custom`` keyword"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+Space`", "Insert a thin non-breaking space"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+_`", "Insert a horizontal bar (quotation dash)"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+'`", "Insert a prime"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+""`", "Insert a double prime"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+*`", "Insert a flower mark (alternative bullet)"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+−`", "Insert a hyphen bullet (alternative bullet)"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+D`", "Insert a division sign"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+O`", "Insert a degree symbol"
|
||||
":kbd:`Ctrl+K`, :kbd:`Ctrl+X`", "Insert a times sign"
|
||||
":kbd:`Ctrl+K`, :kbd:`Shift+Space`", "Insert a thin space"
|
||||
|
||||
|
||||
.. _a_kb_viewer:
|
||||
|
||||
@@ -11,7 +11,7 @@ Typographical Notes
|
||||
|
||||
novelWriter has some support for typographical symbols that are not usually easily available in
|
||||
many text editors. This includes for instance the proper unicode quotation marks, dashes, ellipsis,
|
||||
thin spaces, etc. All these symbols are available from the :guilabel:`Insert` menu, and via
|
||||
thin spaces, etc. All these symbols are available from the **Insert** menu, and via
|
||||
keyboard shortcuts. See :ref:`a_kb_ins`.
|
||||
|
||||
This chapter provides some additional information on how novelWriter handles these symbols.
|
||||
@@ -43,25 +43,25 @@ Single and Double Quotes
|
||||
|
||||
All the different quotation marks listed on the `Quotation Mark`_ Wikipedia page are available, and
|
||||
can be selected as auto-replaced symbols for straight single and double quote key strokes. The
|
||||
settings can be found in :guilabel:`Preferences`.
|
||||
settings can be found in **Preferences**.
|
||||
|
||||
Ordinarily, text wrapped in quotes are highlighted by the editor. This is meant as a convenience
|
||||
for highlighting dialogue between characters. This feature can be disabled in
|
||||
:guilabel:`Preferences` if this feature isn't wanted.
|
||||
**Preferences** if this feature isn't wanted.
|
||||
|
||||
The editor distinguishes between text wrapped in regular straight double quotes and the
|
||||
user-selected double quote symbols. This is to help the writer recognise which parts of the text
|
||||
are not using the chosen quote symbols. Two convenience functions in the :guilabel:`Format` menu
|
||||
are not using the chosen quote symbols. Two convenience functions in the **Format** menu
|
||||
can be used to re-format a selected section of text with the correct quote symbols.
|
||||
|
||||
|
||||
Single and Double Prime
|
||||
------------------------
|
||||
|
||||
Both single and double prime symbols are available in the :guilabel:`Insert` menu. These symbols
|
||||
Both single and double prime symbols are available in the **Insert** menu. These symbols
|
||||
are the correct symbols to use for unit symbols for feet, inches, minutes, and seconds. The usage
|
||||
of these is described in more detail on the Wikipedia Prime_ page. They look very similar to single
|
||||
and double straight quotes, and may be renderred similarly by the font, but they have different
|
||||
and double straight quotes, and may be rendered similarly by the font, but they have different
|
||||
codes. Using these correctly will also prevent the auto-replace and dialogue highlighting features
|
||||
misunderstanding their meaning in the text.
|
||||
|
||||
@@ -74,12 +74,12 @@ even if it is intended as an apostrophe. This also includes the syntax highlight
|
||||
assume the first following apostrophe is the closing symbol of a single quoted region of text.
|
||||
|
||||
To get around this, an alternative apostrophe is available. It is a special Unicode character that
|
||||
is not categorised as punctuation, but as a modifier. It is usually renderred the same way as the
|
||||
is not categorised as punctuation, but as a modifier. It is usually rendered the same way as the
|
||||
right single quotation marks, depending on the font. There is a Wikipedia article for the
|
||||
`Modifier letter apostrophe`_ with more details.
|
||||
|
||||
.. note::
|
||||
On export with the :guilabel:`Build Manuscript` tool, these apostrophes will be replaced
|
||||
On export with the **Build Manuscript** 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.
|
||||
|
||||
|
||||
@@ -23,14 +23,14 @@ having it selected. This will open the document in the document editor. The edit
|
||||
Markdown-like syntax for some features, and a novelWriter-specific syntax for others. The syntax
|
||||
format is described in the :ref:`a_fmt` chapter.
|
||||
|
||||
The editor has a maximise button (toggles the :guilabel:`Focus Mode`) and a close button in the
|
||||
top--right corner. On the top--left side you will find an edit button that opens the
|
||||
:guilabel:`Item Label` dialog for the currently open document, and a search button to open the
|
||||
search dialog.
|
||||
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
|
||||
few buttons for applying text formatting, a drop down menu for navigating between headings, and a
|
||||
search button to open the search dialog.
|
||||
|
||||
Both the document editor and viewer will show the label of the currently open document in the
|
||||
header at the top of the edit or view panel. Optionally, the full project path to the document can
|
||||
be shown. This can be set in :guilabel:`Preferences`.
|
||||
be shown. This can be set in **Preferences**.
|
||||
|
||||
.. tip::
|
||||
Clicking on the document title bar will select the document in the project tree and thus reveal
|
||||
@@ -40,6 +40,17 @@ Any :term:`references<reference>` in the editor can be opened in the viewer by m
|
||||
the label and pressing :kbd:`Ctrl+Return`. You can also control-click them with your mouse.
|
||||
|
||||
|
||||
Editor Auto-Completer
|
||||
---------------------
|
||||
|
||||
If you type the character ``@`` on a new line, a pop-up menu will appear showing the different
|
||||
available keywords. The list will shorten as you type. Once a keyword command has been selected or
|
||||
typed, the editor may suggest further options based on your project content. See
|
||||
:ref:`a_references_completer` for more details.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. _a_ui_view:
|
||||
|
||||
Viewing a Document
|
||||
@@ -50,9 +61,9 @@ Viewing a Document
|
||||
A screenshot of the Document Viewer panel.
|
||||
|
||||
Any document in the project tree can also be viewed in parallel in a right hand side document
|
||||
viewer. To view a document, press :kbd:`Ctrl+R`, or select :guilabel:`View Document` in the menu or
|
||||
context menu. If you have a middle mouse button, middle-clicking on the document will also open it
|
||||
in the viewer.
|
||||
viewer. To view a document, press :kbd:`Ctrl+R`, or select **View Document** in the menu or context
|
||||
menu. If you have a middle mouse button, 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` again will update the
|
||||
@@ -65,20 +76,23 @@ 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, these can be used as well. They work just like the backward and forward features in a
|
||||
browser.
|
||||
browser. The left-most button is a dropdown menu for quickly navigation between headings in the
|
||||
document.
|
||||
|
||||
At the bottom of the view panel there is a :guilabel:`References` panel. (If it is hidden, click
|
||||
the icon next to it to reveal it.) This panel will show links to all documents referring back to
|
||||
the one you're currently viewing, if any has been defined. The :guilabel:`Sticky` button will
|
||||
freeze the content of the panel to the current document, even if you navigate to another document.
|
||||
This is convenient if you want to quickly look through all documents in the list in the
|
||||
:guilabel:`References` panel without losing the list in the process.
|
||||
At the bottom of the view panel there is a **References** panel. (If it is hidden, click the button
|
||||
on the left side of the footer area to reveal it.) This panel contains a References tab with links
|
||||
to all documents referring back to the one you're currently viewing, if any has been defined. If
|
||||
you have created root folders and tags for various story elements like characters and plot points,
|
||||
these will appear as additional tabs in this panel.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`References` panel relies on an up-to-date :term:`index<project index>` of the
|
||||
project. The index is maintained automatically. However, if anything is missing, or seems wrong,
|
||||
the index can always be rebuilt by selecting :guilabel:`Rebuild Index` from the
|
||||
:guilabel:`Tools` menu, or by pressing :kbd:`F9`.
|
||||
The **References** panel relies on an up-to-date :term:`index<project index>` of the project.
|
||||
The index is maintained automatically. However, if anything is missing, or seems wrong, the
|
||||
index can always be rebuilt by selecting **Rebuild Index** from the **Tools** menu, or by
|
||||
pressing :kbd:`F9`.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
The reference panel was redesigned and the additional tabs added.
|
||||
|
||||
|
||||
.. _a_ui_edit_search:
|
||||
@@ -119,8 +133,7 @@ Auto-Replace as You Type
|
||||
========================
|
||||
|
||||
A few auto-replace features are supported by the editor. You can control every aspect of the
|
||||
auto-replace feature from :guilabel:`Preferences`. You can also disable this feature entirely if
|
||||
you wish.
|
||||
auto-replace feature from **Preferences**. You can also disable this feature entirely if you wish.
|
||||
|
||||
.. tip::
|
||||
If you don't like auto-replacement, all symbols inserted by this feature are also available in
|
||||
|
||||
4612
i18n/nw_base.ts
4826
i18n/nw_de_DE.ts
4404
i18n/nw_en_US.ts
4442
i18n/nw_es_419.ts
4832
i18n/nw_fr_FR.ts
4386
i18n/nw_it_IT.ts
4854
i18n/nw_ja_JP.ts
4396
i18n/nw_nb_NO.ts
4808
i18n/nw_nl_NL.ts
4494
i18n/nw_pt_BR.ts
4988
i18n/nw_zh_CN.ts
@@ -6,7 +6,7 @@ File History:
|
||||
Created: 2018-09-22 [0.0.1]
|
||||
|
||||
This file is a part of novelWriter
|
||||
Copyright 2018–2023, Veronica Berglyd Olsen
|
||||
Copyright 2018–2024, Veronica Berglyd Olsen
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -23,28 +23,33 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
import getopt
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from PyQt5.QtWidgets import QApplication, QErrorMessage
|
||||
|
||||
from novelwriter.error import exceptionHandler, logException
|
||||
from novelwriter.config import Config
|
||||
from novelwriter.error import exceptionHandler, logException
|
||||
from novelwriter.shared import SharedData
|
||||
|
||||
if TYPE_CHECKING: # pragma: no cover
|
||||
from novelwriter.guimain import GuiMain
|
||||
|
||||
# Package Meta
|
||||
# ============
|
||||
|
||||
__package__ = "novelwriter"
|
||||
__copyright__ = "Copyright 2018–2023, Veronica Berglyd Olsen"
|
||||
__copyright__ = "Copyright 2018–2024, Veronica Berglyd Olsen"
|
||||
__license__ = "GPLv3"
|
||||
__author__ = "Veronica Berglyd Olsen"
|
||||
__maintainer__ = "Veronica Berglyd Olsen"
|
||||
__email__ = "code@vkbo.net"
|
||||
__version__ = "2.2-beta1"
|
||||
__hexversion__ = "0x020200b1"
|
||||
__date__ = "2023-11-12"
|
||||
__version__ = "2.4"
|
||||
__hexversion__ = "0x020400f0"
|
||||
__date__ = "2024-04-20"
|
||||
__status__ = "Stable"
|
||||
__domain__ = "novelwriter.io"
|
||||
|
||||
@@ -60,7 +65,7 @@ CONFIG = Config()
|
||||
SHARED = SharedData()
|
||||
|
||||
|
||||
def main(sysArgs: list | None = None):
|
||||
def main(sysArgs: list | None = None) -> GuiMain | None:
|
||||
"""Parse command line, set up logging, and launch main GUI."""
|
||||
if sysArgs is None:
|
||||
sysArgs = sys.argv[1:]
|
||||
@@ -76,6 +81,7 @@ def main(sysArgs: list | None = None):
|
||||
"config=",
|
||||
"data=",
|
||||
"testmode",
|
||||
"meminfo"
|
||||
]
|
||||
|
||||
helpMsg = (
|
||||
@@ -92,6 +98,7 @@ def main(sysArgs: list | None = None):
|
||||
" -v, --version Print program version and exit.\n"
|
||||
" --info Print additional runtime information.\n"
|
||||
" --debug Print debug output. Includes --info.\n"
|
||||
" --meminfo Show memory usage information in the status bar.\n"
|
||||
" --style= Sets Qt5 style flag. Defaults to 'Fusion'.\n"
|
||||
" --config= Alternative config file.\n"
|
||||
" --data= Alternative user data path.\n"
|
||||
@@ -127,8 +134,9 @@ def main(sysArgs: list | None = None):
|
||||
elif inOpt == "--info":
|
||||
logLevel = logging.INFO
|
||||
elif inOpt == "--debug":
|
||||
CONFIG.isDebug = True
|
||||
logLevel = logging.DEBUG
|
||||
logFormat = "[{asctime:}] {filename:>17}:{lineno:<4d} {levelname:8} {message:}"
|
||||
logFormat = "[{asctime:}] {filename:>18}:{lineno:<4d} {levelname:8} {message:}"
|
||||
elif inOpt == "--style":
|
||||
qtStyle = inArg
|
||||
elif inOpt == "--config":
|
||||
@@ -137,6 +145,8 @@ def main(sysArgs: list | None = None):
|
||||
dataPath = inArg
|
||||
elif inOpt == "--testmode":
|
||||
testMode = True
|
||||
elif inOpt == "--meminfo":
|
||||
CONFIG.memInfo = True
|
||||
|
||||
# Setup Logging
|
||||
pkgLogger = logging.getLogger(__package__)
|
||||
@@ -182,7 +192,7 @@ def main(sysArgs: list | None = None):
|
||||
))
|
||||
for errLine in errorData:
|
||||
logger.critical(errLine)
|
||||
errApp.exec_()
|
||||
errApp.exec()
|
||||
sys.exit(errorCode)
|
||||
|
||||
# Finish initialising config
|
||||
@@ -190,7 +200,7 @@ def main(sysArgs: list | None = None):
|
||||
|
||||
if CONFIG.osDarwin:
|
||||
try:
|
||||
from Foundation import NSBundle
|
||||
from Foundation import NSBundle # type: ignore
|
||||
bundle = NSBundle.mainBundle()
|
||||
info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
|
||||
info["CFBundleName"] = "novelWriter"
|
||||
@@ -202,7 +212,7 @@ def main(sysArgs: list | None = None):
|
||||
try:
|
||||
import ctypes
|
||||
appID = f"io.novelwriter.{__version__}"
|
||||
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(appID)
|
||||
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(appID) # type: ignore
|
||||
except Exception:
|
||||
logger.error("Failed to set application name")
|
||||
logException()
|
||||
@@ -232,6 +242,8 @@ def main(sysArgs: list | None = None):
|
||||
nwGUI = GuiMain()
|
||||
nwGUI.postLaunchTasks(cmdOpen)
|
||||
|
||||
sys.exit(nwApp.exec_())
|
||||
sys.exit(nwApp.exec())
|
||||
|
||||
return None
|
||||
|
||||
# END Function main
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"Synopsis": "Synopsis",
|
||||
"Short Description": "Kurzbeschreibung",
|
||||
"Comment": "Kommentar",
|
||||
"Notes": "Notizen",
|
||||
"Tag": "Schlagwort",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"Synopsis": "Synopsis",
|
||||
"Short Description": "Short Description",
|
||||
"Comment": "Comment",
|
||||
"Notes": "Notes",
|
||||
"Tag": "Tag",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"Synopsis": "Synopsis",
|
||||
"Short Description": "Short Description",
|
||||
"Comment": "Comment",
|
||||
"Notes": "Notes",
|
||||
"Tag": "Tag",
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
{
|
||||
"Synopsis": "Sinopsis",
|
||||
"Short Description": "Breve Descripción",
|
||||
"Comment": "Comentario",
|
||||
"Notes": "Notas",
|
||||
"Tag": "Etiqueta",
|
||||
"Point of View": "Punto de Vista",
|
||||
"Focus": "Foco",
|
||||
"Characters": "Personajes",
|
||||
"Plot": "Argumento",
|
||||
"Timeline": "Línea de Tiempo",
|
||||
"Locations": "Lugares",
|
||||
"Objects": "Objetos",
|
||||
"Entities": "Entidades",
|
||||
"Custom": "Otros",
|
||||
"0": "Cero",
|
||||
"1": "Uno",
|
||||
"2": "Dos",
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
{
|
||||
"Synopsis": "Synopsis",
|
||||
"Short Description": "Description sommaire",
|
||||
"Comment": "Commentaire",
|
||||
"Notes": "Notes",
|
||||
"Tag": "Étiquette",
|
||||
"Point of View": "Point de vue",
|
||||
"Focus": "Focus",
|
||||
"Characters": "Personnages",
|
||||
"Plot": "Intrigue",
|
||||
"Timeline": "Chronologie",
|
||||
"Locations": "Lieux",
|
||||
"Objects": "Objets",
|
||||
"Entities": "Entités",
|
||||
"Custom": "Personnalisé",
|
||||
"0": "Zero",
|
||||
"1": "Un",
|
||||
"2": "Deux",
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
{
|
||||
"Synopsis": "Sinossi",
|
||||
"Short Description": "Breve descrizione",
|
||||
"Comment": "Commento",
|
||||
"Notes": "Note",
|
||||
"Tag": "Etichetta",
|
||||
"Point of View": "Punto di vista",
|
||||
"Focus": "Focus",
|
||||
"Characters": "Personaggi",
|
||||
"Plot": "Trama",
|
||||
"Timeline": "Sequenza temporale",
|
||||
"Locations": "Luoghi",
|
||||
"Objects": "Oggetti",
|
||||
"Entities": "Enti",
|
||||
"Custom": "Personalizzato",
|
||||
"0": "Zero",
|
||||
"1": "Uno",
|
||||
"2": "Due",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"Synopsis": "あらすじ",
|
||||
"Comment": "コメント",
|
||||
"Short Description": "短い説明",
|
||||
"Comment": "コメント ",
|
||||
"Notes": "ノート",
|
||||
"Tag": "タグ",
|
||||
"Point of View": "視点",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"Synopsis": "Sammendrag",
|
||||
"Short Description": "Kort beskrivelse",
|
||||
"Comment": "Kommentar",
|
||||
"Notes": "Notat",
|
||||
"Tag": "Knagg",
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
{
|
||||
"Synopsis": "Synopsis",
|
||||
"Short Description": "Korte beschrijving",
|
||||
"Comment": "Opmerking",
|
||||
"Notes": "Notities",
|
||||
"Tag": "Label",
|
||||
"Point of View": "Perspectief",
|
||||
"Focus": "Focus",
|
||||
"Characters": "Personages",
|
||||
"Plot": "Plot",
|
||||
"Timeline": "Tijdslijn",
|
||||
"Locations": "Locaties",
|
||||
"Objects": "Objecten",
|
||||
"Entities": "Entiteiten",
|
||||
"Custom": "Aangepast",
|
||||
"0": "nul",
|
||||
"1": "één",
|
||||
"2": "twee",
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
{
|
||||
"Synopsis": "Sinopse",
|
||||
"Short Description": "Descrição breve",
|
||||
"Comment": "Comentários",
|
||||
"Notes": "Notas",
|
||||
"Tag": "Etiqueta",
|
||||
"Point of View": "Ponto de vista",
|
||||
"Focus": "Foco",
|
||||
"Characters": "Personagens",
|
||||
"Plot": "Trama",
|
||||
"Timeline": "Linha do tempo",
|
||||
"Locations": "Lugares",
|
||||
"Objects": "Objetos",
|
||||
"Entities": "Entidades",
|
||||
"Custom": "Outros",
|
||||
"0": "Zero",
|
||||
"1": "Um",
|
||||
"2": "Dois",
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
{
|
||||
"Synopsis": "概要",
|
||||
"Short Description": "简短描述",
|
||||
"Comment": "注释",
|
||||
"Notes": "笔记",
|
||||
"Tag": "标签",
|
||||
"Point of View": "视角",
|
||||
"Focus": "聚焦",
|
||||
"Characters": "角色",
|
||||
"Plot": "情节",
|
||||
"Timeline": "时间线",
|
||||
"Locations": "地点",
|
||||
"Objects": "物品",
|
||||
"Entities": "条目",
|
||||
"Custom": "自定义",
|
||||
"0": "零",
|
||||
"1": "一",
|
||||
"2": "二",
|
||||
|
||||
4
novelwriter/assets/icons/none.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m0 0v4l8 8-8 8v4h4l8-8 8 8h4v-4l-8-8 8-8v-4h-4l-8 8-8-8h-4z" fill="#f00" stroke-width=".70711"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 251 B |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 167 KiB |
@@ -17,6 +17,7 @@ licenseurl = https://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
[Map]
|
||||
add = typ_plus.svg
|
||||
add_document = typ_document-add.svg
|
||||
alert_error = typ_delete-full.svg
|
||||
alert_info = typ_lightbulb-full.svg
|
||||
alert_question = typ_directions-full.svg
|
||||
@@ -39,26 +40,35 @@ cls_none = typ_cancel.svg
|
||||
cls_novel = typ_book.svg
|
||||
cls_object = typ_key.svg
|
||||
cls_plot = typ_puzzle.svg
|
||||
cls_template = mixed_document-new.svg
|
||||
cls_timeline = typ_calendar.svg
|
||||
cls_trash = typ_trash.svg
|
||||
cls_world = typ_location.svg
|
||||
cross = typ_times.svg
|
||||
document = typ_document.svg
|
||||
down = typ_chevron-down.svg
|
||||
edit = typ_pencil.svg
|
||||
export = typ_export.svg
|
||||
fmt_bold = nw_tb-bold.svg
|
||||
fmt_bold-md = nw_tb-bold-md.svg
|
||||
fmt_italic = nw_tb-italic.svg
|
||||
fmt_mode-md = nw_tb-markdown.svg
|
||||
fmt_mode-sc = nw_tb-shortcode.svg
|
||||
fmt_italic-md = nw_tb-italic-md.svg
|
||||
fmt_mark = nw_tb-mark.svg
|
||||
fmt_strike = nw_tb-strike.svg
|
||||
fmt_strike-md = nw_tb-strike-md.svg
|
||||
fmt_subscript = nw_tb-subscript.svg
|
||||
fmt_superscript = nw_tb-superscript.svg
|
||||
fmt_underline = nw_tb-underline.svg
|
||||
forward = typ_chevron-right.svg
|
||||
import = mixed_import.svg
|
||||
list = typ_th-list.svg
|
||||
maximise = typ_arrow-maximise.svg
|
||||
menu = typ_th-dot-menu.svg
|
||||
minimise = typ_arrow-minimise.svg
|
||||
more = typ_th-dot-more.svg
|
||||
noncheckable = mixed_input-none.svg
|
||||
open = typ_folder.svg
|
||||
panel = nw_panel.svg
|
||||
proj_chapter = mixed_document-chapter.svg
|
||||
proj_details = typ_th-list-grey.svg
|
||||
proj_document = typ_document-text.svg
|
||||
@@ -68,7 +78,6 @@ proj_scene = mixed_document-scene.svg
|
||||
proj_section = mixed_document-section.svg
|
||||
proj_stats = typ_chart-bar-grey.svg
|
||||
proj_title = mixed_document-title.svg
|
||||
reference = typ_at.svg
|
||||
refresh = typ_refresh.svg
|
||||
remove = typ_minus.svg
|
||||
revert = typ_refresh-flipped.svg
|
||||
@@ -82,6 +91,7 @@ search_regex = nw_search-regex.svg
|
||||
search_replace = mixed_search-replace.svg
|
||||
search_word = nw_search-word.svg
|
||||
settings = typ_cog.svg
|
||||
star = typ_star.svg
|
||||
status_idle = typ_media-pause-grey.svg
|
||||
status_lang = typ_globe-grey.svg
|
||||
status_lines = typ_th-list-grey.svg
|
||||
@@ -90,15 +100,25 @@ status_time = typ_stopwatch-grey.svg
|
||||
sticky-off = typ_pin-outline.svg
|
||||
sticky-on = typ_pin.svg
|
||||
unchecked = mixed_input-unchecked.svg
|
||||
unfold-hide = typ_unfold-hidden.svg
|
||||
unfold-show = typ_unfold-visible.svg
|
||||
up = typ_chevron-up.svg
|
||||
view = typ_eye.svg
|
||||
view_build = typ_export-grey.svg
|
||||
view_editor = mixed_edit.svg
|
||||
view_novel = typ_book-grey.svg
|
||||
view_outline = typ_puzzle-outline.svg
|
||||
view_search = typ_search-grey.svg
|
||||
|
||||
deco_doc_h0 = nw_deco-h0.svg
|
||||
deco_doc_h0_n = nw_deco-h0.svg
|
||||
deco_doc_h1 = nw_deco-h1.svg
|
||||
deco_doc_h1_n = nw_deco-h1.svg
|
||||
deco_doc_h2 = nw_deco-h2.svg
|
||||
deco_doc_h2_n = nw_deco-h2-narrow.svg
|
||||
deco_doc_h3 = nw_deco-h3.svg
|
||||
deco_doc_h3_n = nw_deco-h3-narrow.svg
|
||||
deco_doc_h4 = nw_deco-h4.svg
|
||||
deco_doc_h4_n = nw_deco-h4-narrow.svg
|
||||
deco_doc_more = nw_deco-noveltree-more.svg
|
||||
deco_doc_nt_n = nw_deco-note.svg
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m5.8898 3.4449c-0.67467 1e-7 -1.2225 0.5478-1.2225 1.2225v14.665c0 0.67466 0.5478 1.2225 1.2225 1.2225h12.22c0.67466 0 1.2225-0.5478 1.2225-1.2225v-11h-1.8326c-1.6854 0-3.0551-1.3696-3.0551-3.0551v-1.8326zm9.7775 0.50488v1.3277c0 1.0108 0.82184 1.8326 1.8326 1.8326h1.3277z" fill="#e5e5e5" fill-opacity=".5" stroke-linecap="round" stroke-width=".55"/>
|
||||
<path d="m5.8898 1c-2.0216 0-3.6674 1.6458-3.6674 3.6674v14.665c0 2.0216 1.6458 3.6674 3.6674 3.6674h12.22c2.0216 0 3.6674-1.6458 3.6674-3.6674v-12.222c0-0.32511-0.12901-0.63512-0.35879-0.86367l-4.8877-4.8877c-0.22856-0.22978-0.53856-0.35879-0.86367-0.35879zm0 2.4449h8.5551v1.8326c0 1.6854 1.3696 3.0551 3.0551 3.0551h1.8326v11c0 0.67466-0.5478 1.2225-1.2225 1.2225h-12.22c-0.67467 0-1.2225-0.5478-1.2225-1.2225v-14.665c0-0.67467 0.5478-1.2225 1.2225-1.2225zm9.7775 0.50488 3.1604 3.1604h-1.3277c-1.0108 0-1.8326-0.82184-1.8326-1.8326z" fill="#aeaeae" stroke-width="1.2222"/>
|
||||
<path d="m10.105 9.9584-3.785 0.4196c-0.13651 0.01653-0.25722 0.10777-0.30249 0.24644-0.045266 0.13867 0 0.28308 0.10059 0.37434 1.1252 1.0267 2.8158 2.5643 2.8158 2.5643-0.00143 0-0.46415 2.2367-0.77166 3.729-0.025865 0.13508 0.022992 0.27806 0.14083 0.36356 0.11711 0.0855 0.268 0.08694 0.38655 0.02012 1.3249-0.753 3.3094-1.8853 3.3094-1.8853l3.308 1.886c0.12071 0.0661 0.27159 0.06467 0.38871-0.02084 0.11783-0.0855 0.16669-0.22848 0.1401-0.36284l-0.7695-3.7297 2.8158-2.5622c0.10059-0.09412 0.14514-0.23854 0.10059-0.37649-0.04454-0.13794-0.16525-0.22919-0.30177-0.245-1.5146-0.16956-3.7857-0.42104-3.7857-0.42104l-1.5685-3.4703c-0.05892-0.1243-0.1825-0.21124-0.32764-0.21124-0.14514 0-0.26944 0.087654-0.32548 0.21124z" fill="#ffff84" stroke-width=".7185"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
5
novelwriter/assets/icons/typicons_dark/mixed_import.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m3.1113 3.666c-0.61332 0-1.1094 0.49689-1.1094 1.1113v15.557h-0.0019531c0 0.61443 0.498 1.1094 1.1113 1.1094h15.557c0.61332 0 1.1113-0.49494 1.1113-1.1094v-8.2578c-0.61899 0.57364-1.3634 1.0131-2.252 1.2578-0.004058 2.0524-0.007162 4.0735 0.005859 5.8887h-13.311v-13.318c1.6116-0.00848 2.8992 0 4.4648 0 0.75712-0.75269 1.5907-1.5005 2.3418-2.2383h-7.918z" fill="#9c9"/>
|
||||
<path d="m21.996 3.1106v-0.55556c-1.8789 2.8644-4 4.3922-6.6667 4.4444v-3.3333c0-0.61222-0.56778-1.1111-1.27-1.1111-0.40444 0-0.75 0.17556-0.98111 0.43444-2.1478 2.2544-6.6378 6.7878-6.6378 6.7878s4.49 4.5356 6.6389 6.8189c0.23111 0.22778 0.57556 0.40333 0.98 0.40333 0.70222 0 1.27-0.49667 1.27-1.1111v-3.3333c5.1778 0 6.6667-5.4122 6.6667-9.4444z" fill="#9c9" stroke-width="1.1111"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 912 B |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="4" height="24" version="1.2" viewBox="0 0 4 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect y="1" width="4" height="22" rx="2" ry="2" fill="#d64848" stroke-width="0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 225 B |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="4" height="24" version="1.2" viewBox="0 0 4 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect y="1" width="4" height="22" rx="2" ry="2" fill="#69c" stroke-width="0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 222 B |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="4" height="24" version="1.2" viewBox="0 0 4 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect y="1" width="4" height="22" rx="2" ry="2" fill="#fff" stroke-width="0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 222 B |
4
novelwriter/assets/icons/typicons_dark/nw_deco-note.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="4" height="24" version="1.2" viewBox="0 0 4 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect y="1" width="4" height="22" rx="2" ry="2" fill="#ffff84" stroke-width="0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 225 B |
4
novelwriter/assets/icons/typicons_dark/nw_panel.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m17.853 2.0017c-0.14248-0.00428-0.28548-1.936e-4 -0.42925 0.01171h-11.135c-2.3531-0.068148-4.4276 2.1102-4.2808 4.4518 0.00689 3.8473-0.014486 7.6959 0.00976 11.542 0.12963 2.1674 2.0751 4.0505 4.2711 3.9912 3.8794-0.0037 7.7592 0.0071 11.639-0.0059 2.3157-0.05864 4.2507-2.2581 4.0603-4.5591-0.0037-3.7862 0.0071-7.5728-0.0059-11.359-0.054966-2.1716-1.9914-4.0089-4.1286-4.0732zm-11.533 2.8514c0.10262-0.00515 0.20595 1.374e-4 0.30828 0.015613 2.2719-0.00131 4.5437 0.0026 6.8153-0.00195 1.5163 0.01818 3.0369-0.036922 4.5501 0.029275 0.83106 0.14317 1.246 1.0195 1.1395 1.7956-0.0023 1.7714-9.95e-4 3.543 0 5.3144h-14.271c-9.495e-4 -1.9468-0.0019-3.8929 0.00585-5.8394 0.049778-0.75434 0.73334-1.2775 1.4517-1.3135z" fill="#848484" stroke-width=".99912"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 912 B |
4
novelwriter/assets/icons/typicons_dark/nw_tb-bold-md.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1.3672 5.5562v-4.7625h1.6289q0.37252 0 0.68662 0.058435 0.32139 0.051131 0.55513 0.18991 0.24104 0.13878 0.37252 0.36522 0.13878 0.22644 0.13878 0.56975 0 0.1607-0.043826 0.32139t-0.12417 0.29948q-0.080349 0.13878-0.19721 0.24835-0.10957 0.10957-0.25565 0.1607v0.029218q0.18261 0.043827 0.33601 0.13878 0.1534 0.087653 0.27027 0.22644 0.11687 0.13878 0.18261 0.3287 0.065739 0.18261 0.065739 0.42365 0 0.36522-0.14608 0.62818-0.13878 0.26295-0.39444 0.43826-0.24835 0.168-0.58435 0.25565-0.33601 0.080349-0.72313 0.080349zm1.0737-2.8561h0.50401q0.39444 0 0.56975-0.1534 0.18261-0.1534 0.18261-0.40905 0-0.27757-0.18261-0.39444t-0.56244-0.11687h-0.51131zm0 2.0233h0.60626q0.88383 0 0.88383-0.64279 0-0.31408-0.21914-0.44557-0.21914-0.13878-0.6647-0.13878h-0.60626z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".54782"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 987 B |
@@ -1,4 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1.3672 5.5562v-4.7625h1.6289q0.37252 0 0.68662 0.058435 0.32139 0.051131 0.55513 0.18991 0.24104 0.13878 0.37252 0.36522 0.13878 0.22644 0.13878 0.56975 0 0.1607-0.043826 0.32139-0.043826 0.16069-0.12417 0.29948-0.080349 0.13878-0.19721 0.24835-0.10957 0.10957-0.25565 0.1607v0.029218q0.18261 0.043827 0.33601 0.13878 0.1534 0.087653 0.27027 0.22644 0.11687 0.13878 0.18261 0.3287 0.065739 0.18261 0.065739 0.42365 0 0.36522-0.14608 0.62818-0.13878 0.26295-0.39444 0.43826-0.24835 0.168-0.58435 0.25565-0.33601 0.080349-0.72313 0.080349zm1.0737-2.8561h0.50401q0.39444 0 0.56975-0.1534 0.18261-0.1534 0.18261-0.40905 0-0.27757-0.18261-0.39444-0.18261-0.11687-0.56244-0.11687h-0.51131zm0 2.0233h0.60626q0.88383 0 0.88383-0.64279 0-0.31408-0.21914-0.44557-0.21914-0.13878-0.6647-0.13878h-0.60626z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".54782"/>
|
||||
<path d="m1.568 5.2917v-4.2333h1.4479q0.33113 0 0.61033 0.051942 0.28568 0.04545 0.49345 0.16881 0.21426 0.12336 0.33113 0.32464 0.12336 0.20128 0.12336 0.50644 0 0.14284-0.038957 0.28568-0.038956 0.14284-0.11037 0.2662-0.071421 0.12336-0.1753 0.22076-0.097396 0.097396-0.22724 0.14284v0.025972q0.16232 0.038957 0.29868 0.12336 0.13636 0.077914 0.24024 0.20128 0.10388 0.12336 0.16232 0.29218 0.058435 0.16232 0.058435 0.37658 0 0.32464-0.12985 0.55838-0.12336 0.23373-0.35061 0.38956-0.22076 0.14933-0.51942 0.22724-0.29868 0.071422-0.64278 0.071422zm0.9544-2.5388h0.44801q0.35061 0 0.50644-0.13636 0.16232-0.13636 0.16232-0.3636 0-0.24673-0.16232-0.35061-0.16232-0.10388-0.49995-0.10388h-0.4545zm0 1.7985h0.5389q0.78563 0 0.78563-0.57137 0-0.27918-0.19479-0.39606-0.19479-0.12336-0.59084-0.12336h-0.5389z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".48695"/>
|
||||
<path d="m4.9555 5.5562v-0.43195h0.54619v-3.8986h-0.54619v-0.43195h1.1299v4.7624z" fill="#69c" stroke-width="1.1186"/>
|
||||
<path d="m0.26458 5.5562v-4.7624h1.1299v0.43195h-0.54083v3.8986h0.54083v0.43195z" fill="#69c" stroke-width="1.1186"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1017 B After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m2.3084 5.5562 0.94666-4.7625h0.78646l-0.94666 4.7625z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".54615"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 277 B |
@@ -1,4 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m2.3084 5.5562 0.94666-4.7625h0.78646l-0.94666 4.7625z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".54615"/>
|
||||
<path d="m2.417 5.2917 0.84148-4.2333h0.69908l-0.84148 4.2333z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".48547"/>
|
||||
<path d="m4.9555 5.5562v-0.43195h0.54619v-3.8986h-0.54619v-0.43195h1.1299v4.7624z" fill="#69c" stroke-width="1.1186"/>
|
||||
<path d="m0.26458 5.5562v-4.7624h1.1299v0.43195h-0.54083v3.8986h0.54083v0.43195z" fill="#69c" stroke-width="1.1186"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 515 B |
7
novelwriter/assets/icons/typicons_dark/nw_tb-mark.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x=".26458" y=".79375" width="5.8208" height="4.7625" fill="#ffff84" fill-opacity=".8" stroke-linecap="round" stroke-width=".1354"/>
|
||||
<path d="m1.3229 5.2917v-4.2333h0.98087l0.6397 1.8829q0.060924 0.18829 0.11576 0.38957 0.054831 0.19479 0.11576 0.38957h0.024369q0.060924-0.19479 0.10966-0.38957 0.054831-0.20128 0.11576-0.38957l0.62752-1.8829h0.97478v4.2333h-0.81638v-1.5518q0-0.15583 0.012185-0.34412 0.012185-0.18829 0.030462-0.37658 0.018277-0.19479 0.036554-0.37658 0.018277-0.18829 0.036554-0.34412h-0.02437l-0.3229 1.0064-0.56659 1.6167h-0.49348l-0.56659-1.6167-0.3168-1.0064h-0.024369q0.018277 0.15583 0.036554 0.34412 0.018277 0.1818 0.036554 0.37658 0.018277 0.18829 0.030462 0.37658 0.012185 0.18829 0.012185 0.34412v1.5518z" fill="#808080" stroke-linecap="round" stroke-width=".11793"/>
|
||||
<path d="m4.9555 5.5562v-0.43195h0.54619v-3.8986h-0.54619v-0.43195h1.1299v4.7624z" fill="#69c" stroke-width="1.1186"/>
|
||||
<path d="m0.26458 5.5562v-4.7624h1.1299v0.43195h-0.54083v3.8986h0.54083v0.43195z" fill="#69c" stroke-width="1.1186"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#aeaeae" stroke-width="1.1">
|
||||
<path d="m0.79397 2.8846-0.29357-0.21175 0.28393-0.5005-0.51975-0.23582 0.11068-0.3465 0.55825 0.1155 0.062562-0.56787h0.37057l0.062562 0.57268 0.55343-0.12032 0.1155 0.3465-0.51975 0.23582 0.28393 0.5005-0.29356 0.21175-0.385-0.42832z"/>
|
||||
<path d="m2.8219 3.15-0.09999 0.37496h0.86866l-0.09374-0.37496q-0.08749-0.30622-0.16873-0.64993-0.081241-0.34372-0.16248-0.66243h-0.024997q-0.074992 0.32496-0.15623 0.66868-0.074992 0.33747-0.16248 0.64369zm-1.4749 2.0623 1.2749-4.0746h1.1062l1.2749 4.0746h-0.97489l-0.24997-0.96865h-1.2437l-0.24997 0.96865z"/>
|
||||
<path d="m4.7812 2.8846-0.29357-0.21175 0.28394-0.5005-0.51975-0.23582 0.11069-0.3465 0.55825 0.1155 0.062562-0.56787h0.37056l0.062562 0.57268 0.55343-0.12032 0.1155 0.3465-0.51975 0.23582 0.28393 0.5005-0.29356 0.21175-0.385-0.42832z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 988 B |
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#aeaeae" stroke-width="1.3799">
|
||||
<path d="m0.52917 5.2683v-4.1866h1.0272v0.37972h-0.49167v3.4272h0.49167v0.37972z"/>
|
||||
<path d="m2.9 2.9219-0.077889 0.29209h0.67667l-0.073022-0.29209q-0.068154-0.23854-0.13144-0.50628-0.063285-0.26775-0.12657-0.51601h-0.019472q-0.058417 0.25314-0.1217 0.52088-0.058417 0.26288-0.12657 0.50141zm-1.1489 1.6065 0.9931-3.174h0.86166l0.9931 3.174h-0.75942l-0.19472-0.75455h-0.96876l-0.19472 0.75455z"/>
|
||||
<path d="m4.7937 5.2683v-0.37972h0.49654v-3.4272h-0.49654v-0.37972h1.0272v4.1866z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 684 B |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m3.1785 5.5562q-0.46361 0-0.89912-0.17561-0.42848-0.17561-0.75863-0.49873l0.47766-0.55492q0.24585 0.2318 0.56195 0.37931 0.3161 0.14049 0.63219 0.14049 0.39336 0 0.59707-0.16156t0.20371-0.42848q0-0.14049-0.056194-0.23883-0.04917-0.098341-0.14751-0.16858-0.091316-0.077267-0.22478-0.14049-0.12644-0.063219-0.28097-0.12644l-0.63219-0.27395q-0.16858-0.070243-0.33717-0.17561-0.16156-0.10537-0.29502-0.25288t-0.21775-0.34419q-0.077268-0.19668-0.077268-0.44956 0-0.27395 0.11239-0.50575 0.11941-0.23883 0.32312-0.41444t0.48468-0.27395q0.288-0.098341 0.62517-0.098341 0.40039 0 0.77268 0.16156 0.37229 0.15454 0.63921 0.42146l-0.41444 0.5198q-0.22478-0.18263-0.46361-0.288t-0.53385-0.10537q-0.33014 0-0.52683 0.14751-0.19668 0.14049-0.19668 0.39336 0 0.13346 0.056194 0.2318 0.063219 0.091316 0.16156 0.16858 0.10537 0.070244 0.23883 0.13346 0.13346 0.056194 0.27395 0.11239l0.62516 0.2599q0.20371 0.084291 0.37229 0.19668 0.16858 0.11239 0.288 0.2599 0.12644 0.14751 0.19668 0.34419 0.070244 0.18966 0.070244 0.44253 0 0.28097-0.11239 0.52683-0.11239 0.24585-0.33015 0.43551-0.21073 0.18263-0.5198 0.29502-0.30205 0.10536-0.68838 0.10536zm-2.3848-2.6458h4.7625v0.52917h-4.7625z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".52683"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -1,4 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m3.1785 5.5562q-0.46361 0-0.89912-0.17561-0.42848-0.17561-0.75863-0.49873l0.47766-0.55492q0.24585 0.2318 0.56195 0.37931 0.3161 0.14049 0.63219 0.14049 0.39336 0 0.59707-0.16156 0.20371-0.16156 0.20371-0.42848 0-0.14049-0.056194-0.23883-0.04917-0.098341-0.14751-0.16858-0.091316-0.077267-0.22478-0.14049-0.12644-0.063219-0.28097-0.12644l-0.63219-0.27395q-0.16858-0.070243-0.33717-0.17561-0.16156-0.10537-0.29502-0.25288-0.13346-0.14751-0.21775-0.34419-0.077268-0.19668-0.077268-0.44956 0-0.27395 0.11239-0.50575 0.11941-0.23883 0.32312-0.41444 0.20371-0.17561 0.48468-0.27395 0.288-0.098341 0.62517-0.098341 0.40039 0 0.77268 0.16156 0.37229 0.15454 0.63921 0.42146l-0.41444 0.5198q-0.22478-0.18263-0.46361-0.288-0.23883-0.10537-0.53385-0.10537-0.33014 0-0.52683 0.14751-0.19668 0.14049-0.19668 0.39336 0 0.13346 0.056194 0.2318 0.063219 0.091316 0.16156 0.16858 0.10537 0.070244 0.23883 0.13346 0.13346 0.056194 0.27395 0.11239l0.62516 0.2599q0.20371 0.084291 0.37229 0.19668 0.16858 0.11239 0.288 0.2599 0.12644 0.14751 0.19668 0.34419 0.070244 0.18966 0.070244 0.44253 0 0.28097-0.11239 0.52683-0.11239 0.24585-0.33015 0.43551-0.21073 0.18263-0.5198 0.29502-0.30205 0.10536-0.68838 0.10536zm-2.3848-2.6458h4.7625v0.52917h-4.7625z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".52683"/>
|
||||
<path d="m3.1782 5.2917q-0.4121 0-0.79922-0.1561-0.38087-0.1561-0.67434-0.44331l0.42459-0.49326q0.21853 0.20604 0.49951 0.33716 0.28098 0.12488 0.56195 0.12488 0.34965 0 0.53073-0.14361 0.18108-0.14361 0.18108-0.38087 0-0.12488-0.04995-0.21229-0.043707-0.087414-0.13112-0.14985-0.08117-0.068682-0.1998-0.12488-0.11239-0.056194-0.24975-0.11239l-0.56195-0.24351q-0.14985-0.062438-0.29971-0.1561-0.14361-0.093662-0.26224-0.22478-0.11863-0.13112-0.19356-0.30595-0.068682-0.17483-0.068682-0.39961 0-0.24351 0.099902-0.44955 0.10614-0.21229 0.28722-0.36839 0.18108-0.1561 0.43083-0.24351 0.256-0.087414 0.55571-0.087414 0.3559 0 0.68683 0.14361 0.33092 0.13737 0.56819 0.37463l-0.36839 0.46204q-0.1998-0.16234-0.4121-0.256-0.21229-0.093662-0.47453-0.093662-0.29346 0-0.46829 0.13112-0.17483 0.12488-0.17483 0.34965 0 0.11863 0.04995 0.20604 0.056194 0.08117 0.14361 0.14985 0.093662 0.062439 0.21229 0.11863 0.11863 0.04995 0.24351 0.099902l0.5557 0.23102q0.18108 0.074925 0.33092 0.17483 0.14985 0.099902 0.256 0.23102 0.11239 0.13112 0.17483 0.30595 0.062439 0.16859 0.062439 0.39336 0 0.24975-0.099902 0.46829-0.099902 0.21853-0.29347 0.38712-0.18732 0.16234-0.46204 0.26224-0.26849 0.093653-0.61189 0.093653zm-2.1198-2.3518h4.2333v0.47037h-4.2333z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".46829"/>
|
||||
<path d="m4.9555 5.5562v-0.43195h0.54619v-3.8986h-0.54619v-0.43195h1.1299v4.7624z" fill="#69c" stroke-width="1.1186"/>
|
||||
<path d="m0.26458 5.5562v-4.7624h1.1299v0.43195h-0.54083v3.8986h0.54083v0.43195z" fill="#69c" stroke-width="1.1186"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m2.124 3.0221-0.16749 0.58257h1.2161l-0.16749-0.58257q-0.11651-0.37867-0.22575-0.77919-0.10195-0.40052-0.2039-0.79375h-0.029128q-0.10195 0.40052-0.2039 0.80103-0.10195 0.39323-0.21846 0.7719zm-1.5948 2.5342 1.5511-4.7625h0.99037l1.5511 4.7625h-0.88842l-0.37139-1.2889h-1.6021l-0.37139 1.2889z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".54616"/>
|
||||
<path d="m4.101 5.5562v-2.3812h0.75354q0.18388 0 0.3353 0.032769 0.15503 0.029128 0.2668 0.098307 0.11538 0.065538 0.17667 0.17841 0.064898 0.11287 0.064898 0.27671 0 0.17113-0.086529 0.31676-0.086529 0.14564-0.24156 0.20026v0.014565q0.19469 0.043691 0.32088 0.18569 0.12979 0.13836 0.12979 0.37867 0 0.17841-0.068503 0.30948-0.068502 0.13107-0.19108 0.21846-0.11899 0.087383-0.28483 0.13107-0.16585 0.04005-0.36054 0.04005zm0.41823-1.3981h0.29925q0.24878 0 0.35693-0.091024 0.11177-0.091025 0.11177-0.24394 0-0.17477-0.11538-0.24759-0.11538-0.072819-0.34612-0.072819h-0.30646zm0 1.0705h0.35334q0.25959 0 0.4002-0.094666 0.14061-0.098307 0.14061-0.29856 0-0.18933-0.13701-0.27308-0.13701-0.087384-0.40381-0.087384h-0.35334z" fill="#69c" stroke-opacity=".78039" stroke-width=".27174"/>
|
||||
<path d="m2.2992 3.0475-0.13958 0.48548h1.0134l-0.13958-0.48548q-0.097092-0.31556-0.18812-0.64932-0.084958-0.33377-0.16992-0.66146h-0.024273q-0.084958 0.33377-0.16992 0.66752-0.084958 0.32769-0.18205 0.64325zm-1.329 2.1118 1.2926-3.9688h0.82531l1.2926 3.9688h-0.74035l-0.30949-1.0741h-1.3351l-0.30949 1.0741z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".45513"/>
|
||||
<path d="m3.9467 5.1593v-1.9843h0.62795q0.15323 0 0.27942 0.027308 0.12919 0.024273 0.22233 0.081922 0.09615 0.054615 0.14722 0.14868 0.054082 0.094058 0.054082 0.23059 0 0.14261-0.072107 0.26397-0.072108 0.12137-0.2013 0.16688v0.012137q0.16224 0.036409 0.2674 0.15474 0.10816 0.1153 0.10816 0.31556 0 0.14868-0.057086 0.2579-0.057085 0.10922-0.15923 0.18205-0.099158 0.072819-0.23736 0.10922-0.13821 0.033375-0.30045 0.033375zm0.34852-1.1651h0.24938q0.20732 0 0.29744-0.075853 0.093142-0.075854 0.093142-0.20328 0-0.14564-0.09615-0.20632-0.09615-0.060682-0.28843-0.060682h-0.25538zm0 0.89208h0.29445q0.21632 0 0.3335-0.078888 0.11718-0.081923 0.11718-0.2488 0-0.15778-0.11418-0.22757-0.11418-0.07282-0.33651-0.07282h-0.29445z" fill="#fff" stroke-opacity=".78039" stroke-width=".22645"/>
|
||||
<path d="m4.9555 5.5562v-0.43195h0.54619v-3.8986h-0.54619v-0.43195h1.1299v4.7624z" fill="#69c" stroke-width="1.1186"/>
|
||||
<path d="m0.26458 5.5562v-4.7624h1.1299v0.43195h-0.54083v3.8986h0.54083v0.43195z" fill="#69c" stroke-width="1.1186"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m2.124 3.0221-0.16749 0.58257h1.2161l-0.16749-0.58257q-0.11651-0.37867-0.22575-0.77919-0.10195-0.40052-0.2039-0.79375h-0.029128q-0.10195 0.40052-0.2039 0.80103-0.10195 0.39323-0.21846 0.7719zm-1.5948 2.5342 1.5511-4.7625h0.99037l1.5511 4.7625h-0.88842l-0.37139-1.2889h-1.6021l-0.37139 1.2889z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".54616"/>
|
||||
<path d="m4.101 3.175v-2.3812h0.75352q0.18389 0 0.33531 0.032768 0.15503 0.029128 0.2668 0.098307 0.11538 0.065538 0.17667 0.17841 0.064898 0.11287 0.064898 0.27671 0 0.17113-0.086528 0.31676-0.086528 0.14564-0.24156 0.20026v0.014565q0.19469 0.043691 0.32088 0.1857 0.12979 0.13836 0.12979 0.37867 0 0.17841-0.068503 0.30948t-0.19108 0.21845q-0.11897 0.087382-0.28482 0.13107-0.16585 0.04005-0.36054 0.04005zm0.41824-1.3981h0.29924q0.24878 0 0.35693-0.091024 0.11177-0.091024 0.11177-0.24394 0-0.17477-0.11538-0.24759-0.11538-0.072818-0.34612-0.072818h-0.30646zm0 1.0705h0.35332q0.25959 0 0.4002-0.094666 0.14061-0.098307 0.14061-0.29855 0-0.18932-0.13701-0.27307-0.13701-0.087383-0.40381-0.087383h-0.35332z" fill="#69c" stroke-opacity=".78039" stroke-width=".27173"/>
|
||||
<path d="m3.9467 3.175v-1.9843h0.62793q0.15324 0 0.27942 0.027307 0.12919 0.024274 0.22233 0.081922 0.09615 0.054615 0.14722 0.14868 0.054082 0.094058 0.054082 0.23059 0 0.14261-0.072107 0.26397-0.072107 0.12137-0.2013 0.16688v0.012138q0.16224 0.03641 0.2674 0.15475 0.10816 0.1153 0.10816 0.31556 0 0.14868-0.057086 0.2579-0.057085 0.10922-0.15923 0.18204-0.099142 0.072818-0.23735 0.10922-0.13821 0.033375-0.30045 0.033375zm0.34853-1.1651h0.24937q0.20732 0 0.29744-0.075853 0.093141-0.075853 0.093141-0.20328 0-0.14564-0.09615-0.20632-0.09615-0.060682-0.28843-0.060682h-0.25538zm0 0.89208h0.29443q0.21632 0 0.3335-0.078888 0.11718-0.081923 0.11718-0.24879 0-0.15777-0.11418-0.22756-0.11418-0.07282-0.33651-0.07282h-0.29443z" fill="#fff" stroke-opacity=".78039" stroke-width=".25475"/>
|
||||
<path d="m2.2992 3.0475-0.13958 0.48548h1.0134l-0.13958-0.48548q-0.097092-0.31556-0.18812-0.64932-0.084958-0.33377-0.16992-0.66146h-0.024273q-0.084958 0.33377-0.16992 0.66753-0.084958 0.32769-0.18205 0.64325zm-1.329 2.1118 1.2926-3.9688h0.82531l1.2926 3.9688h-0.74035l-0.30949-1.0741h-1.3351l-0.30949 1.0741z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".45513"/>
|
||||
<path d="m0.26458 5.5562v-4.7624h1.1299v0.43195h-0.54083v3.8986h0.54083v0.43195z" fill="#69c" stroke-width="1.1186"/>
|
||||
<path d="m4.9555 5.5562v-0.43195h0.54619v-3.8986h-0.54619v-0.43195h1.1299v4.7624z" fill="#69c" stroke-width="1.1186"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m3.1782 5.0271q-0.36231 0-0.6547-0.1017-0.28603-0.10806-0.49579-0.33689-0.2034-0.22883-0.31782-0.58479-0.10806-0.36231-0.10806-0.87717v-2.3328h0.73733v2.3899q0 0.33689 0.057206 0.57207 0.063563 0.22883 0.17162 0.36866 0.11441 0.13984 0.26697 0.2034 0.15255 0.057206 0.34324 0.057206 0.19068 0 0.3496-0.057206 0.15891-0.063564 0.27332-0.2034 0.11441-0.13984 0.17798-0.36866 0.063564-0.23519 0.063564-0.57207v-2.3899h0.70555v2.3328q0 0.51487-0.10806 0.87717-0.10806 0.35595-0.31782 0.58479-0.2034 0.22883-0.49579 0.33689-0.28603 0.1017-0.64835 0.1017z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".47673"/>
|
||||
<rect x="1.0583" y="5.2917" width="4.2333" height=".52917" fill="#aeaeae" stroke-width="1.2172"/>
|
||||
<path d="m3.1778 4.846q-0.32417 0-0.58578-0.090994-0.25592-0.096685-0.4436-0.30143-0.18199-0.20474-0.28436-0.52323-0.096684-0.32417-0.096684-0.78483v-2.0872h0.65971v2.1383q0 0.30143 0.051184 0.51185 0.056872 0.20474 0.15355 0.32985 0.10237 0.12512 0.23887 0.18199 0.13649 0.051184 0.30711 0.051184 0.17061 0 0.3128-0.051184 0.14218-0.056873 0.24455-0.18199 0.10237-0.12512 0.15924-0.32985 0.056873-0.21043 0.056873-0.51185v-2.1383h0.63128v2.0872q0 0.46067-0.096685 0.78483-0.096684 0.31848-0.28436 0.52323-0.18199 0.20474-0.4436 0.30143-0.25592 0.090994-0.5801 0.090994z" fill="#aeaeae" stroke-opacity=".78039" stroke-width=".42654"/>
|
||||
<rect x="1.5875" y="5.0271" width="3.175" height=".39688" fill="#aeaeae" stroke-width=".91291"/>
|
||||
<path d="m4.9555 5.5562v-0.43195h0.54619v-3.8986h-0.54619v-0.43195h1.1299v4.7624z" fill="#69c" stroke-width="1.1186"/>
|
||||
<path d="m0.26458 5.5562v-4.7624h1.1299v0.43195h-0.54083v3.8986h0.54083v0.43195z" fill="#69c" stroke-width="1.1186"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 871 B After Width: | Height: | Size: 1.1 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m12 2c-5.5138 0-10 4.4862-10 10s4.4862 10 10 10c2.02 0 3.965-0.59875 5.6238-1.73 0.57-0.39 0.7175-1.1675 0.32875-1.7375-0.38875-0.57125-1.165-0.715-1.7375-0.32875-1.2425 0.84875-2.7 1.2962-4.215 1.2962-4.1362 0-7.5-3.3638-7.5-7.5s3.3638-7.5 7.5-7.5 7.5 3.3638 7.5 7.5v0.625c0 0.69-0.56 1.25-1.25 1.25s-1.25-0.56-1.25-1.25v-3.75c0-0.69125-0.55875-1.25-1.25-1.25-0.55125 0-1.0062 0.3625-1.1725 0.86-0.725-0.53375-1.6112-0.86-2.5775-0.86-2.4125 0-4.375 1.9625-4.375 4.375s1.9625 4.375 4.375 4.375c1.3062 0 2.4688-0.5875 3.27-1.4988 0.685 0.90375 1.76 1.4988 2.98 1.4988 2.0675 0 3.75-1.6825 3.75-3.75v-0.625c0-5.5138-4.4862-10-10-10zm0 11.875c-1.0338 0-1.875-0.84125-1.875-1.875s0.84125-1.875 1.875-1.875 1.875 0.84125 1.875 1.875-0.84125 1.875-1.875 1.875z" fill="#69c" stroke-width="1.25"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 944 B |