mirror of
https://github.com/zadam/trilium.git
synced 2025-10-26 15:56:29 +01:00
Compare commits
2290 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10ce26799d | ||
|
|
91a2bb9b26 | ||
|
|
287ef9b522 | ||
|
|
32d609e796 | ||
|
|
8a435a2149 | ||
|
|
8855f29a49 | ||
|
|
384a9474c0 | ||
|
|
a7f510783d | ||
|
|
1a262fe680 | ||
|
|
0c4deda091 | ||
|
|
71894c34aa | ||
|
|
8313116b7f | ||
|
|
90622d71f8 | ||
|
|
620e896a89 | ||
|
|
a9a9edf658 | ||
|
|
5e2077e6ae | ||
|
|
a0e4a416cd | ||
|
|
8f018cc7c6 | ||
|
|
4a470ff9e5 | ||
|
|
03e4c49f89 | ||
|
|
4f92fbf8a5 | ||
|
|
dd020baee5 | ||
|
|
cba9b92202 | ||
|
|
d163289003 | ||
|
|
c45f590e9f | ||
|
|
fbb36d652f | ||
|
|
8f68b4f298 | ||
|
|
9de51c8b9e | ||
|
|
748979eafd | ||
|
|
8ad7318bd8 | ||
|
|
e2fcc6711a | ||
|
|
5f6dd18489 | ||
|
|
a577485e42 | ||
|
|
1fcb99fa60 | ||
|
|
bdebb35f62 | ||
|
|
2b1383205b | ||
|
|
995f4f2582 | ||
|
|
15796b6870 | ||
|
|
12943ca151 | ||
|
|
0e795b2978 | ||
|
|
0eef18a799 | ||
|
|
6518d113c6 | ||
|
|
ea524403f7 | ||
|
|
1d5a53fee6 | ||
|
|
395eb92d93 | ||
|
|
71323500b7 | ||
|
|
7f9bcc162e | ||
|
|
27052143ab | ||
|
|
50d3ddbed5 | ||
|
|
7ee50113d7 | ||
|
|
07bd5129ca | ||
|
|
ec7021b436 | ||
|
|
c75439a4b5 | ||
|
|
d21cb78baa | ||
|
|
c371873b7e | ||
|
|
6220b02ef0 | ||
|
|
4e15bc0bb1 | ||
|
|
2f720df9d2 | ||
|
|
d57a303251 | ||
|
|
13b9f5231c | ||
|
|
71ed24344c | ||
|
|
0c8a2a23a7 | ||
|
|
5738f2a5b3 | ||
|
|
d345c4850f | ||
|
|
eeacd8118f | ||
|
|
f5216e4799 | ||
|
|
85d13b1d62 | ||
|
|
f5f48ef6c4 | ||
|
|
f1ed114167 | ||
|
|
70995a7691 | ||
|
|
a82b8cdb37 | ||
|
|
33511c0c10 | ||
|
|
04c93d6736 | ||
|
|
5e11806110 | ||
|
|
1e1709ca6a | ||
|
|
37602cfcae | ||
|
|
0ca0996751 | ||
|
|
63ebb46049 | ||
|
|
847766b434 | ||
|
|
056c40c0d0 | ||
|
|
bff5b015ea | ||
|
|
ee4ce3ffd8 | ||
|
|
a73733d0fc | ||
|
|
0c5f842626 | ||
|
|
8b4cf474bd | ||
|
|
80f269d844 | ||
|
|
75c9db6432 | ||
|
|
69e36d2677 | ||
|
|
eb4d86f41d | ||
|
|
b0bf88c487 | ||
|
|
032ffa8367 | ||
|
|
7400c91a4f | ||
|
|
fbdf089d5d | ||
|
|
a7505682ed | ||
|
|
b148f3d032 | ||
|
|
874972a3d3 | ||
|
|
6d095b7250 | ||
|
|
ceb762e56b | ||
|
|
0c72d29684 | ||
|
|
29efe3a492 | ||
|
|
5bdfb6e11f | ||
|
|
11c63b7778 | ||
|
|
befec48506 | ||
|
|
15d94e91db | ||
|
|
7787fa1758 | ||
|
|
0bd9b849b2 | ||
|
|
918e827d91 | ||
|
|
42ecc0e15b | ||
|
|
a37fa0cb3f | ||
|
|
647863b489 | ||
|
|
e8114fcc4f | ||
|
|
0745d9ec0b | ||
|
|
5e75d2380a | ||
|
|
32c88c7481 | ||
|
|
0aef99b98e | ||
|
|
bf548f9d38 | ||
|
|
a15f8d7e11 | ||
|
|
574b71de63 | ||
|
|
408ed8dbf0 | ||
|
|
98f1bc51a5 | ||
|
|
f3efb22a50 | ||
|
|
5fd58def11 | ||
|
|
b793f8cb88 | ||
|
|
058edcfe15 | ||
|
|
5d500de527 | ||
|
|
81207f3d27 | ||
|
|
21575d862b | ||
|
|
9359f05335 | ||
|
|
7fb22d41a0 | ||
|
|
2823bf3488 | ||
|
|
172f3689fa | ||
|
|
5a8c3f6a2b | ||
|
|
416b7088c5 | ||
|
|
3f69a3c572 | ||
|
|
268910ed3b | ||
|
|
8259b4a32c | ||
|
|
9873dd1242 | ||
|
|
f4266754d8 | ||
|
|
30e84321f9 | ||
|
|
020a8766c8 | ||
|
|
dc288fb18c | ||
|
|
26dfa1ffdb | ||
|
|
d4e1900f89 | ||
|
|
4cd1a0ee7d | ||
|
|
355780c595 | ||
|
|
ef996f3919 | ||
|
|
445902d081 | ||
|
|
31d85ed8cc | ||
|
|
c8af250caa | ||
|
|
b7b13c1d8b | ||
|
|
b05b9196a0 | ||
|
|
fbe3995398 | ||
|
|
6aa61ca306 | ||
|
|
87161cfe0d | ||
|
|
6a3e27eb62 | ||
|
|
b7947a40ea | ||
|
|
1d813c82e4 | ||
|
|
46e373e822 | ||
|
|
a6c79c934c | ||
|
|
08c612c876 | ||
|
|
ed6181a85e | ||
|
|
0533b95562 | ||
|
|
5b4826fd08 | ||
|
|
60e213433b | ||
|
|
153de63f4d | ||
|
|
4d4d9f2000 | ||
|
|
0b38e24185 | ||
|
|
d037420acb | ||
|
|
20b4b059e3 | ||
|
|
28ebca1268 | ||
|
|
a89629b3de | ||
|
|
eec850c11f | ||
|
|
52e0f838a9 | ||
|
|
d1f70efdb4 | ||
|
|
5b1e229d7d | ||
|
|
5c55278c59 | ||
|
|
3c224e80ee | ||
|
|
5741b380f0 | ||
|
|
7335844ae3 | ||
|
|
53c361945b | ||
|
|
03d7ee9abb | ||
|
|
3670fbff49 | ||
|
|
f24e27dadd | ||
|
|
53b39e2e82 | ||
|
|
c20577909c | ||
|
|
a87b710626 | ||
|
|
625483a8f2 | ||
|
|
121c819b79 | ||
|
|
77a3bdce1f | ||
|
|
827f8b42a0 | ||
|
|
b815e10ff3 | ||
|
|
c2789bf355 | ||
|
|
e8d63b5647 | ||
|
|
53c6542af6 | ||
|
|
d9c246f8a7 | ||
|
|
803694d113 | ||
|
|
f6f9f0d2c0 | ||
|
|
47a9516ada | ||
|
|
bd8b83898f | ||
|
|
97109efb6c | ||
|
|
b4d9fdaeda | ||
|
|
1810116a34 | ||
|
|
3e89855aa3 | ||
|
|
eaac65142f | ||
|
|
ae909d1079 | ||
|
|
935e5de493 | ||
|
|
8d0df6ddb9 | ||
|
|
3b148eb6f8 | ||
|
|
4e8d1dac67 | ||
|
|
7779fd1dfe | ||
|
|
960d7dede3 | ||
|
|
e663d7da1b | ||
|
|
02cc52af66 | ||
|
|
f60af1f05e | ||
|
|
224fbdc8cd | ||
|
|
8561201abc | ||
|
|
3c1a809276 | ||
|
|
ddf0a89e1f | ||
|
|
4b101baf00 | ||
|
|
782127dd91 | ||
|
|
7900622f38 | ||
|
|
864271d5ef | ||
|
|
5a5ea4f474 | ||
|
|
749791f6d1 | ||
|
|
5ca3e9a0bc | ||
|
|
f4a4e746bf | ||
|
|
4fc8bace94 | ||
|
|
47a22f6e8d | ||
|
|
17d7ff3ff1 | ||
|
|
3582013a33 | ||
|
|
95bbdb3b6b | ||
|
|
e1dd933ec0 | ||
|
|
8a57960c6e | ||
|
|
a7b62b30cb | ||
|
|
c9cbc2db02 | ||
|
|
c92526372c | ||
|
|
5f4a84d967 | ||
|
|
ef59810f89 | ||
|
|
099e90ed64 | ||
|
|
9b15437ff6 | ||
|
|
a3a2f1a2b4 | ||
|
|
3261fea67f | ||
|
|
b19589033d | ||
|
|
2217c5a3e0 | ||
|
|
b60efbbf5a | ||
|
|
e9bfe4521e | ||
|
|
79d9d79055 | ||
|
|
a36022d8c1 | ||
|
|
0eb77e43e2 | ||
|
|
e1d4be814f | ||
|
|
aa4a645670 | ||
|
|
2c9565b4b3 | ||
|
|
c5cc6b91c1 | ||
|
|
3109233d4f | ||
|
|
60e8bd98b9 | ||
|
|
32ecb43b5c | ||
|
|
f03e4bc7d7 | ||
|
|
4e5ddaf7d1 | ||
|
|
35469f6f2d | ||
|
|
4c7b1d6543 | ||
|
|
df69b1d8dd | ||
|
|
9d46c7253b | ||
|
|
a94ae81c30 | ||
|
|
9f527f0330 | ||
|
|
68d8b1c8a9 | ||
|
|
0ab9d02434 | ||
|
|
3d324b954d | ||
|
|
f028b88cce | ||
|
|
64dc522b27 | ||
|
|
3d02f82c77 | ||
|
|
528418aecb | ||
|
|
5dd73562da | ||
|
|
62cacf85ed | ||
|
|
443f389d73 | ||
|
|
08edc521e4 | ||
|
|
f54f6d09b0 | ||
|
|
3219441fdf | ||
|
|
1c97310e92 | ||
|
|
0ecb2f3662 | ||
|
|
055db32510 | ||
|
|
054420225f | ||
|
|
448a3254a3 | ||
|
|
b2c0eaeaf8 | ||
|
|
1b0a2b41da | ||
|
|
50b976990c | ||
|
|
9f2545395d | ||
|
|
67bffbf30b | ||
|
|
51dae378a3 | ||
|
|
a0b3bc858d | ||
|
|
2e24111c2b | ||
|
|
69d529ada1 | ||
|
|
bfa69a3dc3 | ||
|
|
5b862c3d29 | ||
|
|
dee4083bf3 | ||
|
|
18749092ff | ||
|
|
c4cc48dfc9 | ||
|
|
ef847b9904 | ||
|
|
3e189d5c10 | ||
|
|
46d3160da4 | ||
|
|
78a2c1753e | ||
|
|
f0b608ddec | ||
|
|
582429e762 | ||
|
|
bf073690e0 | ||
|
|
c012620338 | ||
|
|
5e18e7dc67 | ||
|
|
51f094f87f | ||
|
|
262a4fa3c7 | ||
|
|
c778e87683 | ||
|
|
dd62b306fd | ||
|
|
1f05638609 | ||
|
|
92e49214c7 | ||
|
|
9615e25a67 | ||
|
|
a574fce13f | ||
|
|
238df0fb40 | ||
|
|
89356918f1 | ||
|
|
263b65997c | ||
|
|
2b757bfccd | ||
|
|
99d66ea89f | ||
|
|
c78ca4c9db | ||
|
|
b245b249d3 | ||
|
|
a0395e9866 | ||
|
|
89aa4fbc73 | ||
|
|
74a7802088 | ||
|
|
a89b6711d1 | ||
|
|
b2549b2834 | ||
|
|
959c4cbe64 | ||
|
|
d03d3603d2 | ||
|
|
22302e8200 | ||
|
|
f117ae4915 | ||
|
|
c34a9b96e4 | ||
|
|
f0acfaf147 | ||
|
|
e1c2573778 | ||
|
|
56d6384ae1 | ||
|
|
5f699cc28c | ||
|
|
969f31dde2 | ||
|
|
027afab6b1 | ||
|
|
6207203b35 | ||
|
|
88348c560c | ||
|
|
30062d687f | ||
|
|
ffc96ad6b2 | ||
|
|
2af2b45062 | ||
|
|
eabe4775bd | ||
|
|
da9b321aa0 | ||
|
|
7b0aa7ab0b | ||
|
|
f700e6e12b | ||
|
|
a87e59cecb | ||
|
|
a04aa6fd36 | ||
|
|
a7d9870846 | ||
|
|
c18d8d2d1b | ||
|
|
f745e21e0d | ||
|
|
5f2361ebd5 | ||
|
|
9791dab97d | ||
|
|
85d986534d | ||
|
|
00faf758e8 | ||
|
|
6ba2e5cf73 | ||
|
|
fb3876d28b | ||
|
|
fb975849b9 | ||
|
|
16fef78344 | ||
|
|
e0b4b369dc | ||
|
|
0df7851214 | ||
|
|
5d47c2b23e | ||
|
|
d09b021487 | ||
|
|
910bda860c | ||
|
|
2d92b4931a | ||
|
|
212b719ee9 | ||
|
|
1db892d22f | ||
|
|
535dcb6d12 | ||
|
|
4426362799 | ||
|
|
2c609e8136 | ||
|
|
11b73b79ed | ||
|
|
28dc6b93ca | ||
|
|
e70c862e72 | ||
|
|
b3e66d5a83 | ||
|
|
e8cd821e57 | ||
|
|
401a3f0ecb | ||
|
|
e73dffad0b | ||
|
|
ef1d062745 | ||
|
|
f245d51746 | ||
|
|
be7ac74235 | ||
|
|
ad48b59893 | ||
|
|
e817acba4e | ||
|
|
4ae965c5cb | ||
|
|
58fa0832f6 | ||
|
|
1502b9ce66 | ||
|
|
ed9fbae65d | ||
|
|
01a7af965c | ||
|
|
99120be46d | ||
|
|
915b1d1a45 | ||
|
|
e68aed2057 | ||
|
|
eedeaca37d | ||
|
|
7307ca385f | ||
|
|
c1fd9825aa | ||
|
|
9de7d3fc53 | ||
|
|
3c5db844ba | ||
|
|
e7330c1104 | ||
|
|
ec4586b164 | ||
|
|
91e5f24798 | ||
|
|
38723e0189 | ||
|
|
8c88ce6f65 | ||
|
|
0def5f9a63 | ||
|
|
4d22959e28 | ||
|
|
50a28d8c51 | ||
|
|
e25b633ec4 | ||
|
|
ac10701b55 | ||
|
|
75bd395669 | ||
|
|
5e353a5612 | ||
|
|
c0cd321118 | ||
|
|
d65624d8d2 | ||
|
|
6b359b7796 | ||
|
|
13f9d037dc | ||
|
|
1911d64c1c | ||
|
|
1c388c9805 | ||
|
|
6a957eff17 | ||
|
|
5aaa429203 | ||
|
|
d4c3f1b3f2 | ||
|
|
ae934720bc | ||
|
|
753c181979 | ||
|
|
55b210d7c5 | ||
|
|
dc2d5a0a79 | ||
|
|
c753f228ac | ||
|
|
a1a744bb00 | ||
|
|
077d19b44b | ||
|
|
b5627b138a | ||
|
|
cb4d0624b5 | ||
|
|
e2490f9975 | ||
|
|
9ede77aead | ||
|
|
8ce2afff8a | ||
|
|
a2e1fb35b8 | ||
|
|
bb03a8714a | ||
|
|
ae772288e2 | ||
|
|
355ffd3d02 | ||
|
|
3d12341ff1 | ||
|
|
4ea934509e | ||
|
|
3db84daf94 | ||
|
|
714881ad99 | ||
|
|
ee053b9fdf | ||
|
|
cd48135394 | ||
|
|
a06662f4ce | ||
|
|
2e6395ad88 | ||
|
|
75d8627f1c | ||
|
|
a8d12f723f | ||
|
|
08dbf90a8c | ||
|
|
32dde426fd | ||
|
|
b26100479d | ||
|
|
faf4daa577 | ||
|
|
2526715aa4 | ||
|
|
04c573e212 | ||
|
|
99aa481ace | ||
|
|
ef37bc1a99 | ||
|
|
58f4f5d1e6 | ||
|
|
b72dc977e6 | ||
|
|
81bf84f2de | ||
|
|
fa5d982a55 | ||
|
|
e77e0ce675 | ||
|
|
32eaafd024 | ||
|
|
60c2049729 | ||
|
|
dcd371b5b1 | ||
|
|
e3071e630a | ||
|
|
78ea0b4ba9 | ||
|
|
f07025f741 | ||
|
|
5f1f65a3c2 | ||
|
|
a3e2369599 | ||
|
|
1ec446137d | ||
|
|
108afe8896 | ||
|
|
a287bb59ea | ||
|
|
7992f32d34 | ||
|
|
b07accfd9d | ||
|
|
ccb5f3ee18 | ||
|
|
29e6b63f82 | ||
|
|
2818854c4b | ||
|
|
d75b770fb9 | ||
|
|
37da0adb8a | ||
|
|
13117d2e68 | ||
|
|
4f50864ec8 | ||
|
|
30b9ef8604 | ||
|
|
b063b4c528 | ||
|
|
b51f5ac6fd | ||
|
|
e08b0141a4 | ||
|
|
9d8b8e26a1 | ||
|
|
cb70109ee7 | ||
|
|
2e0fb8aaf1 | ||
|
|
ac4e6077bd | ||
|
|
8e8fa48241 | ||
|
|
e541abbd60 | ||
|
|
940a70adc5 | ||
|
|
9a662f76da | ||
|
|
88e8eb7e9c | ||
|
|
b365c186a1 | ||
|
|
15bc9dce1c | ||
|
|
552fc5261a | ||
|
|
83c9e6e846 | ||
|
|
2e837642e2 | ||
|
|
c70a842bc6 | ||
|
|
d20415c979 | ||
|
|
c3438e0f3f | ||
|
|
64c9734f05 | ||
|
|
48c843c087 | ||
|
|
1bb895bb83 | ||
|
|
0e4eec10b9 | ||
|
|
a3661cb763 | ||
|
|
115879ec4a | ||
|
|
f1ce0c7774 | ||
|
|
df11b076bc | ||
|
|
54ecd2ee75 | ||
|
|
2369bcf9fc | ||
|
|
5d8808a2ad | ||
|
|
62b993f06f | ||
|
|
8aa5608085 | ||
|
|
b452d7e5c5 | ||
|
|
a0f8caeccd | ||
|
|
edb9bc9229 | ||
|
|
9b9d6d86d0 | ||
|
|
7f2755d4a0 | ||
|
|
3b268cc8eb | ||
|
|
768ac83e14 | ||
|
|
6dfe335707 | ||
|
|
c7125d2b50 | ||
|
|
e8a33a5ee7 | ||
|
|
deb0b24c4c | ||
|
|
cafcb67a8a | ||
|
|
4c6e9480e4 | ||
|
|
109bead1c7 | ||
|
|
ae1220b970 | ||
|
|
b89a2df462 | ||
|
|
8b5536ee3a | ||
|
|
647790885d | ||
|
|
227c3e4dcc | ||
|
|
4eb2407c73 | ||
|
|
43e12fbea2 | ||
|
|
2a3091f788 | ||
|
|
742df25bc2 | ||
|
|
7ac2206e9b | ||
|
|
9be1d1f697 | ||
|
|
ed52f93bbb | ||
|
|
3466a19397 | ||
|
|
fe53e2351c | ||
|
|
5c35b870eb | ||
|
|
90d091aedb | ||
|
|
0a05a40186 | ||
|
|
7482ed063b | ||
|
|
70e343f2fc | ||
|
|
358f3a7291 | ||
|
|
6161b1c193 | ||
|
|
94b57dadd7 | ||
|
|
81fbefb9cd | ||
|
|
6d6695e3a9 | ||
|
|
4c308ad68f | ||
|
|
989a003d2f | ||
|
|
ccdb41841e | ||
|
|
0a94622413 | ||
|
|
5769587305 | ||
|
|
ffbfccb701 | ||
|
|
56ce23fc36 | ||
|
|
cba7e5a59f | ||
|
|
86cf8f3202 | ||
|
|
907cdd8fcb | ||
|
|
7ea53d468e | ||
|
|
586d6b4557 | ||
|
|
8f68ff1932 | ||
|
|
a1ea2c9115 | ||
|
|
e8ce81a133 | ||
|
|
aff12950f0 | ||
|
|
75c58cbf79 | ||
|
|
87a1e98fa2 | ||
|
|
d1eacbb574 | ||
|
|
71d248cd87 | ||
|
|
ac608b9334 | ||
|
|
32020d78b5 | ||
|
|
ff853c7d0a | ||
|
|
8526cb2315 | ||
|
|
dc89f72e75 | ||
|
|
657ff16267 | ||
|
|
ed759f5585 | ||
|
|
a86177bb59 | ||
|
|
9f1b3cc892 | ||
|
|
8473f72ec8 | ||
|
|
666d202a3a | ||
|
|
988fae50cb | ||
|
|
98bbd17920 | ||
|
|
dadcc93ae3 | ||
|
|
48e19d0149 | ||
|
|
f97c9e3619 | ||
|
|
61167f6646 | ||
|
|
29cec8112e | ||
|
|
48aadc8309 | ||
|
|
b2508db9af | ||
|
|
87510fd72b | ||
|
|
339f212e4c | ||
|
|
3c311cd2a4 | ||
|
|
b5bf581bd9 | ||
|
|
242f139be4 | ||
|
|
6c76d862d2 | ||
|
|
62bc05134e | ||
|
|
50d3928dd5 | ||
|
|
44d641617e | ||
|
|
f3b84e5185 | ||
|
|
34b8979016 | ||
|
|
6c188982b3 | ||
|
|
1175a8ee49 | ||
|
|
9c04ef9fb7 | ||
|
|
6cc3e3cdf6 | ||
|
|
f8bd55374f | ||
|
|
3ccb1c6ac1 | ||
|
|
d34d265d01 | ||
|
|
c063f75f48 | ||
|
|
2d1f3b7633 | ||
|
|
3772d97dfa | ||
|
|
5c0355718f | ||
|
|
081693f263 | ||
|
|
8d312515dd | ||
|
|
7bd05415fa | ||
|
|
8d7687f354 | ||
|
|
42128c007f | ||
|
|
dfb97d64f7 | ||
|
|
b1bed18331 | ||
|
|
ae50c9847d | ||
|
|
6201dd70a0 | ||
|
|
451c408063 | ||
|
|
3bbb213f82 | ||
|
|
bab657e43d | ||
|
|
4b24d9562c | ||
|
|
a73739d03e | ||
|
|
4485650cbc | ||
|
|
58f610b2c6 | ||
|
|
5024454914 | ||
|
|
ca0e36ea81 | ||
|
|
c9b2ff05e9 | ||
|
|
0973498fe9 | ||
|
|
189202b1f6 | ||
|
|
cc298b1e7a | ||
|
|
f8bd6183bf | ||
|
|
ef60cb5395 | ||
|
|
b10c083560 | ||
|
|
8eeb395523 | ||
|
|
084882a50e | ||
|
|
7c04521e9c | ||
|
|
0a0de7312c | ||
|
|
37255243f7 | ||
|
|
b4b22d9353 | ||
|
|
d3eb640aa2 | ||
|
|
78d431387b | ||
|
|
c4bc53da59 | ||
|
|
34de8fb874 | ||
|
|
5a6ab68144 | ||
|
|
c4e5b35187 | ||
|
|
2e55d544f1 | ||
|
|
b778985b5e | ||
|
|
f9a79fa00f | ||
|
|
ef61e22f1f | ||
|
|
8a92786012 | ||
|
|
a856463173 | ||
|
|
cb168218fb | ||
|
|
978575498c | ||
|
|
8584de27ab | ||
|
|
a36d6bf9be | ||
|
|
9b17e9976e | ||
|
|
d927865cbd | ||
|
|
6de0b19569 | ||
|
|
84d7097b1a | ||
|
|
8ccc48c25d | ||
|
|
438da7cfbb | ||
|
|
af5c4b5859 | ||
|
|
04360381b6 | ||
|
|
45e2dc96fb | ||
|
|
ff426fc1fc | ||
|
|
6dfc2755e7 | ||
|
|
789f12ac8f | ||
|
|
9a1a76605a | ||
|
|
debce78c7f | ||
|
|
48c57c7ce7 | ||
|
|
4a89df7ebf | ||
|
|
6295a1825d | ||
|
|
280955b3a2 | ||
|
|
72cc54a83f | ||
|
|
c3b44b9a91 | ||
|
|
8a9875ecfa | ||
|
|
9230b07adb | ||
|
|
5a6066dcd1 | ||
|
|
d4d54c5f01 | ||
|
|
141d4593ca | ||
|
|
a7ddc33b6d | ||
|
|
173030e02e | ||
|
|
8ae78a9e23 | ||
|
|
babc27f824 | ||
|
|
2c7eb723d5 | ||
|
|
40247a591e | ||
|
|
3a4d32f163 | ||
|
|
7f2c859b94 | ||
|
|
a5764c269f | ||
|
|
6a1bfdeab9 | ||
|
|
6de0f75931 | ||
|
|
fcf72262bd | ||
|
|
114017147f | ||
|
|
a717ee00fb | ||
|
|
f5e27278ab | ||
|
|
2cc0442ef2 | ||
|
|
687a466a35 | ||
|
|
20c24e26cc | ||
|
|
3bafc396fc | ||
|
|
08606f7d88 | ||
|
|
3fa3e912a4 | ||
|
|
44219e7ccc | ||
|
|
48abd765c6 | ||
|
|
2d38706ba8 | ||
|
|
8d45662bee | ||
|
|
dc4024b6de | ||
|
|
5b67854cbe | ||
|
|
72745aca29 | ||
|
|
e6e41adad0 | ||
|
|
bcbf1b79c3 | ||
|
|
1d78432df4 | ||
|
|
c6d912dcb7 | ||
|
|
eb287917c1 | ||
|
|
da53c1eaa8 | ||
|
|
c67613a557 | ||
|
|
0ca107ff48 | ||
|
|
73bf2dcb02 | ||
|
|
719f10981e | ||
|
|
1774f48d07 | ||
|
|
deb67d6275 | ||
|
|
bafd829ff6 | ||
|
|
e7aa84435b | ||
|
|
493d088d80 | ||
|
|
5f4d963580 | ||
|
|
5114f3f782 | ||
|
|
53f5df4e88 | ||
|
|
e4039ea5e1 | ||
|
|
95fef8d2e5 | ||
|
|
7105b61aab | ||
|
|
78a50be663 | ||
|
|
3d3ad3b99b | ||
|
|
0d9cdcac85 | ||
|
|
c4f7bb37db | ||
|
|
81ec85083a | ||
|
|
62da383623 | ||
|
|
8513e0201c | ||
|
|
abd60581be | ||
|
|
aff02184f8 | ||
|
|
8909d175d0 | ||
|
|
091eb8f791 | ||
|
|
e10d23289e | ||
|
|
26599f057c | ||
|
|
4e0e2e8926 | ||
|
|
9c631e4398 | ||
|
|
687539cc95 | ||
|
|
03e0c98066 | ||
|
|
77f358b846 | ||
|
|
4c82e882e0 | ||
|
|
0f4ba43463 | ||
|
|
f15239c006 | ||
|
|
ed1b5e3843 | ||
|
|
607bdfef92 | ||
|
|
4f744564f2 | ||
|
|
f64b343d8d | ||
|
|
47b803920b | ||
|
|
8888d04878 | ||
|
|
49398f5374 | ||
|
|
95d1952896 | ||
|
|
3ab2b41e8c | ||
|
|
e5155130e7 | ||
|
|
724ba352e6 | ||
|
|
1239293435 | ||
|
|
16f42dd4ab | ||
|
|
350331e2ef | ||
|
|
a2d6a5c3e9 | ||
|
|
cb35284d37 | ||
|
|
2af37640d8 | ||
|
|
4bd298a55b | ||
|
|
cd4b1235a7 | ||
|
|
5e3c85f891 | ||
|
|
b2a3e1cc04 | ||
|
|
d71763aedb | ||
|
|
368d0c55da | ||
|
|
637010577b | ||
|
|
7bcae9981b | ||
|
|
3752cf8cba | ||
|
|
7270bf287d | ||
|
|
d821ea4095 | ||
|
|
41d1d83dc2 | ||
|
|
a2fe110400 | ||
|
|
fdc99bb6f9 | ||
|
|
36eac6badd | ||
|
|
7cac2521ef | ||
|
|
e8a9e49e9e | ||
|
|
fb55cdaea6 | ||
|
|
b9b2cc8364 | ||
|
|
8dfdd090f5 | ||
|
|
fe7705524a | ||
|
|
8e77d729e5 | ||
|
|
2b1b7774f8 | ||
|
|
2d58019d6e | ||
|
|
fe31f08c0d | ||
|
|
d9fb36a9a6 | ||
|
|
52f4876f2d | ||
|
|
ad7a55d305 | ||
|
|
2e3534dfb7 | ||
|
|
d288c1b052 | ||
|
|
f2cf361acf | ||
|
|
e7af24c139 | ||
|
|
9797942b8e | ||
|
|
32d60a7eb9 | ||
|
|
4330dc47a0 | ||
|
|
8ca9ad3497 | ||
|
|
a679fedb58 | ||
|
|
880f4ad711 | ||
|
|
e000fb4579 | ||
|
|
22c042e21f | ||
|
|
2c3f07521d | ||
|
|
e06f3ef97e | ||
|
|
7e41a2750c | ||
|
|
b2a48a1f3a | ||
|
|
e1bf4dcbc9 | ||
|
|
6d847d22d3 | ||
|
|
9337564075 | ||
|
|
2fa41b44c5 | ||
|
|
8d2c2202fa | ||
|
|
380bb0cd01 | ||
|
|
789f62267c | ||
|
|
25553c9e67 | ||
|
|
81a54cd4a0 | ||
|
|
1d2fc773c2 | ||
|
|
7767edd82f | ||
|
|
99ea238c3f | ||
|
|
826c434630 | ||
|
|
4401a8e1e8 | ||
|
|
4ce4ac9584 | ||
|
|
88bd65c679 | ||
|
|
9eab3026bb | ||
|
|
7abaedbf31 | ||
|
|
402718d293 | ||
|
|
990a84c202 | ||
|
|
d8e181a828 | ||
|
|
4ec671d199 | ||
|
|
9f4a514562 | ||
|
|
18ee239362 | ||
|
|
08687b76ea | ||
|
|
60d07a6871 | ||
|
|
81f4966a1a | ||
|
|
9acf723a9a | ||
|
|
47f7f5f4d9 | ||
|
|
14d6372bd8 | ||
|
|
6d912c4897 | ||
|
|
62e1284790 | ||
|
|
d79ae261e1 | ||
|
|
92f6558e55 | ||
|
|
8d49249ed7 | ||
|
|
d1bb62c40e | ||
|
|
42017fde5f | ||
|
|
786bbbc160 | ||
|
|
0cc013c13f | ||
|
|
c5475765e5 | ||
|
|
9ea91f821c | ||
|
|
b757dfcf79 | ||
|
|
44ddcdd852 | ||
|
|
66204811cf | ||
|
|
822a8509b3 | ||
|
|
9f62490a75 | ||
|
|
b63ecba695 | ||
|
|
d5ae3802d1 | ||
|
|
7c6cd63a53 | ||
|
|
62a80ef016 | ||
|
|
27ab55d26a | ||
|
|
34150e7177 | ||
|
|
b946599320 | ||
|
|
3cd4be4e48 | ||
|
|
96e2b9bc18 | ||
|
|
adb8caa8a2 | ||
|
|
0054a32dc7 | ||
|
|
513ce1a183 | ||
|
|
9f38ea6ee7 | ||
|
|
0e13678f7c | ||
|
|
f0cbca2838 | ||
|
|
f6f7836b8e | ||
|
|
7651c53363 | ||
|
|
0f25c8a95f | ||
|
|
1a49894adf | ||
|
|
bd8c078fb9 | ||
|
|
6e060b87b8 | ||
|
|
2375b170ba | ||
|
|
eeedb91ef7 | ||
|
|
05b51c0f68 | ||
|
|
8bf794f13b | ||
|
|
48b401164a | ||
|
|
b65631be7e | ||
|
|
439b45b0b8 | ||
|
|
976b2aa6f5 | ||
|
|
88213c1bbd | ||
|
|
d2e3aedf7f | ||
|
|
368d3b1b97 | ||
|
|
9301679707 | ||
|
|
865f7e1ee1 | ||
|
|
c243d2e85c | ||
|
|
97a35d6fba | ||
|
|
3f0974d3d2 | ||
|
|
48a7c0235f | ||
|
|
ac7d5f2e81 | ||
|
|
516e6c35da | ||
|
|
7cad386a56 | ||
|
|
60c908cd63 | ||
|
|
52a907651e | ||
|
|
3254b551d8 | ||
|
|
7a62d1636b | ||
|
|
7d9b720ea8 | ||
|
|
ba500a3a80 | ||
|
|
606d5afcab | ||
|
|
4b66765cc1 | ||
|
|
8651e47118 | ||
|
|
34bc02965f | ||
|
|
eacefeb08b | ||
|
|
11a61325f9 | ||
|
|
370c63986d | ||
|
|
d103b16d9a | ||
|
|
c63bb7ce8a | ||
|
|
af5c623671 | ||
|
|
55d1f9e9f0 | ||
|
|
96a7b4e45e | ||
|
|
c83ca78565 | ||
|
|
c5eac8f438 | ||
|
|
9bc1f5af45 | ||
|
|
423a70d102 | ||
|
|
562c729ed6 | ||
|
|
0760dc742b | ||
|
|
1098d75ce0 | ||
|
|
bd8e5f255b | ||
|
|
8da094cd3c | ||
|
|
44dc3c28de | ||
|
|
828cce0d78 | ||
|
|
49c0d3199d | ||
|
|
416d733510 | ||
|
|
6de4914ea6 | ||
|
|
9f1e777e6d | ||
|
|
adb9ce5e93 | ||
|
|
746181689f | ||
|
|
a99c016818 | ||
|
|
37f279fab0 | ||
|
|
ab535bf147 | ||
|
|
1876664dfb | ||
|
|
1690248e24 | ||
|
|
cbeb8ea17e | ||
|
|
e355b449c4 | ||
|
|
4fdea77c57 | ||
|
|
9a13edd490 | ||
|
|
6d276582cb | ||
|
|
493730dff6 | ||
|
|
b00a9f4415 | ||
|
|
b25c1d6fa8 | ||
|
|
c9113ae752 | ||
|
|
0ec11d29ba | ||
|
|
a6cd25071e | ||
|
|
97b13ae91d | ||
|
|
0178232f26 | ||
|
|
cc138ef9f8 | ||
|
|
1552c3804d | ||
|
|
7963de0abc | ||
|
|
f98a20928c | ||
|
|
209b1610f6 | ||
|
|
bd0f7d3680 | ||
|
|
f852e1de81 | ||
|
|
c9770573b2 | ||
|
|
23701219e1 | ||
|
|
c9bc4ad108 | ||
|
|
8b9c235465 | ||
|
|
20fdeee048 | ||
|
|
657d01da95 | ||
|
|
17e2627a34 | ||
|
|
bf7541bfb9 | ||
|
|
9d81bf030d | ||
|
|
f25d735b9d | ||
|
|
4d16018f6c | ||
|
|
5e11840137 | ||
|
|
61474defff | ||
|
|
b12e38c231 | ||
|
|
d1f679ab90 | ||
|
|
0f8a7bad06 | ||
|
|
9e031dcd60 | ||
|
|
51c3f98dde | ||
|
|
a79a063d17 | ||
|
|
5e91b1b5e0 | ||
|
|
7877443fb4 | ||
|
|
759e47bfcf | ||
|
|
67bdffb27b | ||
|
|
3386dace3b | ||
|
|
f3a2e2cbde | ||
|
|
3cf3fc13b9 | ||
|
|
2b69abf8ab | ||
|
|
3e49a7dbfa | ||
|
|
4c7c3105e8 | ||
|
|
f782d2bef9 | ||
|
|
ccaa9eae3a | ||
|
|
24c5388e0c | ||
|
|
1cd2711097 | ||
|
|
f0dfe7d552 | ||
|
|
3b8b4da149 | ||
|
|
2150619d62 | ||
|
|
acb76e0630 | ||
|
|
fdb46f9329 | ||
|
|
ca587cccf6 | ||
|
|
571772069a | ||
|
|
79e7762c72 | ||
|
|
d025cfee1b | ||
|
|
7793552443 | ||
|
|
f377a84fa1 | ||
|
|
b8f2797abf | ||
|
|
54d89a9f47 | ||
|
|
1699646b39 | ||
|
|
94a0a31f17 | ||
|
|
10219fb9dd | ||
|
|
50431dd55a | ||
|
|
17b23d92ef | ||
|
|
14f3c783f2 | ||
|
|
c1d0a1e07b | ||
|
|
1d3608b7bf | ||
|
|
d0c655f66a | ||
|
|
ac75fd2ca3 | ||
|
|
3b98428c8c | ||
|
|
7d877d0fef | ||
|
|
cb79f2c7eb | ||
|
|
547a5714ae | ||
|
|
82420fe5f6 | ||
|
|
395913d1bb | ||
|
|
f3a29b55ba | ||
|
|
232321f3a4 | ||
|
|
51dddb0bbb | ||
|
|
8b9bf6e46f | ||
|
|
631a75deec | ||
|
|
3f1d0e5872 | ||
|
|
0fe91d0184 | ||
|
|
2f711a12f8 | ||
|
|
64f32ba38f | ||
|
|
7db4859fb9 | ||
|
|
eee9fcae5c | ||
|
|
9c4a976342 | ||
|
|
e4a09c6207 | ||
|
|
d467db2227 | ||
|
|
b8d6ff0542 | ||
|
|
a9b8e65c9b | ||
|
|
bb8b563ece | ||
|
|
05a8ffb944 | ||
|
|
2502646a64 | ||
|
|
3d95d69f80 | ||
|
|
df751f5d67 | ||
|
|
4f06b6de78 | ||
|
|
d2177cd517 | ||
|
|
0affcf5ad2 | ||
|
|
7a416b107b | ||
|
|
1ff124dab7 | ||
|
|
4cb511bad0 | ||
|
|
73c8d145fa | ||
|
|
ab79f24729 | ||
|
|
cec71f65b3 | ||
|
|
f75c008154 | ||
|
|
474baa7d95 | ||
|
|
a155b6e8d5 | ||
|
|
229974e543 | ||
|
|
6fc19bfb93 | ||
|
|
ccaa108faa | ||
|
|
0a72383495 | ||
|
|
d389100611 | ||
|
|
ea7257a5b2 | ||
|
|
0ebc947fbd | ||
|
|
c89514f9bb | ||
|
|
e0368e395c | ||
|
|
6986c201dd | ||
|
|
bcf163f8a1 | ||
|
|
15aaead7b9 | ||
|
|
d29c5c4758 | ||
|
|
81e2baeee5 | ||
|
|
4cececafc9 | ||
|
|
7c8e7a3f4b | ||
|
|
613d5f93e8 | ||
|
|
4f5b23fbf8 | ||
|
|
a37b9cfc7b | ||
|
|
2bc18bc214 | ||
|
|
f31a998c5d | ||
|
|
5552917533 | ||
|
|
a9702aa6a2 | ||
|
|
d1941cc650 | ||
|
|
f98fa4098f | ||
|
|
5350496ed4 | ||
|
|
b62d79044a | ||
|
|
0db3722ec2 | ||
|
|
d47403c0e7 | ||
|
|
77311954a1 | ||
|
|
b7cf4fe96b | ||
|
|
6d9b702d4c | ||
|
|
6e4c30571c | ||
|
|
5988776b7e | ||
|
|
384da60953 | ||
|
|
21fab412cb | ||
|
|
eb4dfbad92 | ||
|
|
aff9ce97ee | ||
|
|
b0a3f828fb | ||
|
|
76f5736255 | ||
|
|
a82066d899 | ||
|
|
45c5287d53 | ||
|
|
dce54c7af3 | ||
|
|
ee15db0ae1 | ||
|
|
c48dbb0913 | ||
|
|
882ebdbd8f | ||
|
|
6f32d6fabe | ||
|
|
1e123f2390 | ||
|
|
b29155775e | ||
|
|
b821ed28fc | ||
|
|
fdb8959aa1 | ||
|
|
7554cb057b | ||
|
|
fab959539a | ||
|
|
afe44a6fe8 | ||
|
|
7ed526beb7 | ||
|
|
af695802e3 | ||
|
|
156f040880 | ||
|
|
cf6f04defb | ||
|
|
a890b91079 | ||
|
|
e0aabe4f9c | ||
|
|
01cd9d8fb3 | ||
|
|
af10f0f52a | ||
|
|
aa5ede5039 | ||
|
|
21e77c83fc | ||
|
|
b0310e34e2 | ||
|
|
9812b9c272 | ||
|
|
92d5f91aa6 | ||
|
|
b0368c7f17 | ||
|
|
8e1f8c869b | ||
|
|
4688cda493 | ||
|
|
761c51069a | ||
|
|
4dc285d84f | ||
|
|
0e2f8b5734 | ||
|
|
a1402c7c66 | ||
|
|
6ba3e5ab7f | ||
|
|
f740e52ebf | ||
|
|
e9454e4db7 | ||
|
|
749bb90713 | ||
|
|
eb8c296e62 | ||
|
|
dc063983ea | ||
|
|
2595c3ac31 | ||
|
|
9cb8bc5dd8 | ||
|
|
3b690f5456 | ||
|
|
7ef2e7769f | ||
|
|
4c07ac4c4c | ||
|
|
35cd7f3261 | ||
|
|
8c3e2e5eb7 | ||
|
|
d57caee0d3 | ||
|
|
6e83980784 | ||
|
|
295af1f43e | ||
|
|
ed2afe5c20 | ||
|
|
bfc7570e14 | ||
|
|
d9b9d730bb | ||
|
|
ba8a8dca7b | ||
|
|
29eb5a8435 | ||
|
|
5de92171a7 | ||
|
|
29c5e394ab | ||
|
|
07b3d11fe5 | ||
|
|
67663fba50 | ||
|
|
995ebbf577 | ||
|
|
d0e6be3e0c | ||
|
|
01370a5968 | ||
|
|
6c561b5764 | ||
|
|
2953f1bdb8 | ||
|
|
1c057cac75 | ||
|
|
0415efd33b | ||
|
|
e58dc829f5 | ||
|
|
90d10c1ff3 | ||
|
|
5b30291601 | ||
|
|
5193f073e9 | ||
|
|
6c7d8a9667 | ||
|
|
5e9bedd903 | ||
|
|
e712990c03 | ||
|
|
91487b338a | ||
|
|
3ff24d53e5 | ||
|
|
94c904fb40 | ||
|
|
5f258fbbbf | ||
|
|
56c7b7f5bd | ||
|
|
bf9ad976b9 | ||
|
|
19206d1e0d | ||
|
|
420be6d8c6 | ||
|
|
dbd2040bee | ||
|
|
1e979d71c7 | ||
|
|
6bbd4c59bc | ||
|
|
3a54d00e2b | ||
|
|
499c9a7381 | ||
|
|
cd139bdd76 | ||
|
|
60c3b5cccc | ||
|
|
540f9f933a | ||
|
|
a59943094e | ||
|
|
c400a7143c | ||
|
|
1f37d00e42 | ||
|
|
d21e824343 | ||
|
|
ff3f0ee0a0 | ||
|
|
01ff34b5d4 | ||
|
|
0cde7ede24 | ||
|
|
92cb723d0c | ||
|
|
e4bec265c1 | ||
|
|
434d8ef48c | ||
|
|
c8ba07a4ae | ||
|
|
4da6234911 | ||
|
|
38e7649ac3 | ||
|
|
ff0245f05f | ||
|
|
7a2c7edd7e | ||
|
|
98c81faedb | ||
|
|
cfb850acb2 | ||
|
|
a16aaf7a81 | ||
|
|
465c3b87a7 | ||
|
|
0e5028acd3 | ||
|
|
00c295e4bf | ||
|
|
7084ed4fb1 | ||
|
|
587134c2f8 | ||
|
|
5fac2c7633 | ||
|
|
08a518479b | ||
|
|
522f71cb91 | ||
|
|
bcdfb47939 | ||
|
|
667471e7bb | ||
|
|
d357943ebb | ||
|
|
07043fb177 | ||
|
|
3c4ec7fe1a | ||
|
|
1f8d382b1f | ||
|
|
4bd7438fca | ||
|
|
0ae9c8da17 | ||
|
|
61e8cbbcba | ||
|
|
86c5dd6494 | ||
|
|
f921562346 | ||
|
|
c5acb7fc9b | ||
|
|
643d9077fc | ||
|
|
b4709e8ee5 | ||
|
|
a1181623b7 | ||
|
|
73a6c66379 | ||
|
|
1d5daa8dfd | ||
|
|
834e1f7253 | ||
|
|
c141f4b2c0 | ||
|
|
1a87190f43 | ||
|
|
a1262aaaf3 | ||
|
|
1838f097e5 | ||
|
|
95d0ad1cad | ||
|
|
767aaa18f4 | ||
|
|
8a7228146c | ||
|
|
f9b5e473f2 | ||
|
|
3d294c5163 | ||
|
|
60231de0ed | ||
|
|
35e9df6170 | ||
|
|
13c0411533 | ||
|
|
c5e040c4a4 | ||
|
|
e00ab5dbf9 | ||
|
|
95c37cfdd1 | ||
|
|
de02e9e889 | ||
|
|
e143becb7a | ||
|
|
c0eb30472e | ||
|
|
8b320bb85f | ||
|
|
d93b9b8a23 | ||
|
|
69b53fdfb3 | ||
|
|
920d71a5a6 | ||
|
|
d4a277321c | ||
|
|
4068691078 | ||
|
|
86d7e139a4 | ||
|
|
44add751b2 | ||
|
|
c49c69f824 | ||
|
|
7bd1d8feb4 | ||
|
|
4ba7e74b58 | ||
|
|
4cda661c1b | ||
|
|
5b4a2bd71c | ||
|
|
a808e12d31 | ||
|
|
1f3f9a4037 | ||
|
|
77ac8df1e6 | ||
|
|
b53e2a3570 | ||
|
|
7539e6a616 | ||
|
|
b5a0cadcf4 | ||
|
|
b8db842788 | ||
|
|
dea5195223 | ||
|
|
c3ea2ae1b3 | ||
|
|
1fddd6f318 | ||
|
|
466a4802b6 | ||
|
|
8f2d2b189c | ||
|
|
0837cabb41 | ||
|
|
5646218be8 | ||
|
|
169551c6a8 | ||
|
|
3a1c80c189 | ||
|
|
31bcc037f1 | ||
|
|
179d530ea9 | ||
|
|
da92809299 | ||
|
|
c2ebd4b308 | ||
|
|
9b24ae0600 | ||
|
|
7cd75cebfc | ||
|
|
664485ccd5 | ||
|
|
60ac1a04f4 | ||
|
|
7c7beb5502 | ||
|
|
5aa5ec3af1 | ||
|
|
58a857cf79 | ||
|
|
712f67e983 | ||
|
|
3149dff880 | ||
|
|
d58e98e361 | ||
|
|
744855d4f5 | ||
|
|
8a9f2ff1d8 | ||
|
|
f539aedd25 | ||
|
|
05547845cb | ||
|
|
9b905563c3 | ||
|
|
894c888d87 | ||
|
|
34d4274032 | ||
|
|
b685d7ffb5 | ||
|
|
d87c469fbb | ||
|
|
d8730f1722 | ||
|
|
72fda89360 | ||
|
|
7075842954 | ||
|
|
a2c78e2c5c | ||
|
|
9c9ef1c7b4 | ||
|
|
df40accdd4 | ||
|
|
b67aa99b86 | ||
|
|
5ecb881cec | ||
|
|
fcb6a06d68 | ||
|
|
5b5ab0b044 | ||
|
|
ab04bde5fb | ||
|
|
c9e4261930 | ||
|
|
9ea8209d4e | ||
|
|
56e50cc850 | ||
|
|
fc87bcf10c | ||
|
|
b471d51cb4 | ||
|
|
b7b583ff04 | ||
|
|
475fddeec1 | ||
|
|
2af86927b0 | ||
|
|
2e58e32112 | ||
|
|
5c05963bd9 | ||
|
|
4e5e3e4675 | ||
|
|
f7c59700a5 | ||
|
|
f1a7fce277 | ||
|
|
cf53cbf1dd | ||
|
|
1a182d1b58 | ||
|
|
8bd52f349a | ||
|
|
68faa47c6f | ||
|
|
2f2a14d4b8 | ||
|
|
a2a53deb94 | ||
|
|
d50e072ea4 | ||
|
|
904eb25f64 | ||
|
|
205081c804 | ||
|
|
c4d5060a0b | ||
|
|
5bba18191f | ||
|
|
5e3538669d | ||
|
|
23c449ca0c | ||
|
|
b7344329f4 | ||
|
|
e04845335b | ||
|
|
86a330c8c3 | ||
|
|
f82e99b5ed | ||
|
|
bdf42749f3 | ||
|
|
7ccbf45569 | ||
|
|
c0b30e603a | ||
|
|
d3c957768f | ||
|
|
ed9ecf2a57 | ||
|
|
22d48b0586 | ||
|
|
edc23940d0 | ||
|
|
c72ea2ed60 | ||
|
|
4570319517 | ||
|
|
69d739400c | ||
|
|
ec7c0f0723 | ||
|
|
3de124748d | ||
|
|
41d47c5d33 | ||
|
|
132360b46b | ||
|
|
f0496cb42c | ||
|
|
1522297700 | ||
|
|
2a5ab3a5e1 | ||
|
|
358fd13c8d | ||
|
|
2305ad7405 | ||
|
|
78f5b7b288 | ||
|
|
1903c59163 | ||
|
|
b16c2d19b6 | ||
|
|
00bb1236ce | ||
|
|
82bbf4173b | ||
|
|
9f4ca279aa | ||
|
|
b890859025 | ||
|
|
56e4f4f5ac | ||
|
|
157bd3816d | ||
|
|
21588829c7 | ||
|
|
9689029c4b | ||
|
|
992d174b23 | ||
|
|
8886e95847 | ||
|
|
6d5762fac8 | ||
|
|
e9ab044e46 | ||
|
|
fda219d070 | ||
|
|
2be1aca2f3 | ||
|
|
1b318d6a30 | ||
|
|
22c4859d42 | ||
|
|
80a6361cf1 | ||
|
|
8439effeeb | ||
|
|
fafab95a07 | ||
|
|
24c8e8fc2b | ||
|
|
1923bf7dda | ||
|
|
2ee94a3a69 | ||
|
|
2fb3a3eff9 | ||
|
|
bcbbf4dc3e | ||
|
|
7dc793920f | ||
|
|
0b43eceb2d | ||
|
|
85f736139b | ||
|
|
98a6670cb4 | ||
|
|
a15be82f00 | ||
|
|
6c3809e1db | ||
|
|
33a2cd21a3 | ||
|
|
3eebce22e7 | ||
|
|
adae0625b9 | ||
|
|
5063cfb979 | ||
|
|
0835930a8a | ||
|
|
c9432990b7 | ||
|
|
9ad521822d | ||
|
|
824fb08511 | ||
|
|
cc4c15daf0 | ||
|
|
7718778013 | ||
|
|
a25260353d | ||
|
|
c1e8a4b384 | ||
|
|
3f2229d9e1 | ||
|
|
8561227622 | ||
|
|
8859e2ac40 | ||
|
|
7423b2f4fd | ||
|
|
d23e9f1bc4 | ||
|
|
516277a478 | ||
|
|
cbc7710d81 | ||
|
|
ea71e96f72 | ||
|
|
59d1cb1833 | ||
|
|
7c54ba63ce | ||
|
|
5892b5b851 | ||
|
|
02eb737b9d | ||
|
|
144e75da9e | ||
|
|
8d14a0d687 | ||
|
|
dec2c218f7 | ||
|
|
dd147a7209 | ||
|
|
c3fabcb666 | ||
|
|
35e825b376 | ||
|
|
334a38c493 | ||
|
|
8ec01c73cd | ||
|
|
0ef6634d41 | ||
|
|
f6fc24d11d | ||
|
|
ed24e32305 | ||
|
|
86df60bb74 | ||
|
|
42cf02e9a4 | ||
|
|
3add997b49 | ||
|
|
649862b01c | ||
|
|
f5228f87f0 | ||
|
|
76f3e87790 | ||
|
|
30c56cd8af | ||
|
|
16be0c1014 | ||
|
|
c82de8b6b2 | ||
|
|
d3f2b71803 | ||
|
|
f3955bcbdc | ||
|
|
90afb2a1ee | ||
|
|
2dae9b9621 | ||
|
|
521a9b0b2c | ||
|
|
2cfe9b3c03 | ||
|
|
45ee959c11 | ||
|
|
3bf8546d51 | ||
|
|
ca8b603bd9 | ||
|
|
faae11f070 | ||
|
|
b069436039 | ||
|
|
e828ef370d | ||
|
|
50a0400616 | ||
|
|
0226b1e9a8 | ||
|
|
135102d2b5 | ||
|
|
a17b8a053e | ||
|
|
fdc86bab50 | ||
|
|
f885388bf7 | ||
|
|
aa96b33bc2 | ||
|
|
e36d636f93 | ||
|
|
2e05cb1764 | ||
|
|
9404e27cba | ||
|
|
494ec0b051 | ||
|
|
36b575c286 | ||
|
|
d1992b061c | ||
|
|
a79aec85b5 | ||
|
|
76dce5197f | ||
|
|
5d80df398b | ||
|
|
a6f57d7761 | ||
|
|
a981df6282 | ||
|
|
ae8a2bfb1b | ||
|
|
15a2fe2570 | ||
|
|
8dadc7e518 | ||
|
|
c614bc3263 | ||
|
|
1e50d88166 | ||
|
|
c9cc2cb4f3 | ||
|
|
c8a5c71ec2 | ||
|
|
55356963dd | ||
|
|
0e867a995f | ||
|
|
3ca37b2f42 | ||
|
|
0c78fda531 | ||
|
|
7c60080772 | ||
|
|
bf5a31dcdb | ||
|
|
a5e38165ef | ||
|
|
fe6f19e611 | ||
|
|
576a07bcb7 | ||
|
|
4be7ac7ae1 | ||
|
|
a81b00e130 | ||
|
|
d4e27c1b76 | ||
|
|
be477f178b | ||
|
|
de95b92f90 | ||
|
|
89ed9027da | ||
|
|
1c0b55e422 | ||
|
|
10d089240a | ||
|
|
84b1f1f24e | ||
|
|
c8f59ea547 | ||
|
|
9d958e1860 | ||
|
|
ec06b940f4 | ||
|
|
f331172c7d | ||
|
|
650d9e0b27 | ||
|
|
ff1d312a43 | ||
|
|
a4acbf3aea | ||
|
|
242bea236f | ||
|
|
ca2f14a2d0 | ||
|
|
48a654630f | ||
|
|
cf5c1c1be1 | ||
|
|
0558c30b56 | ||
|
|
36c87b7fa0 | ||
|
|
d039a5f24e | ||
|
|
3e3d111d76 | ||
|
|
ecb485c8bc | ||
|
|
02ab59c9e0 | ||
|
|
8e4e0bd543 | ||
|
|
bbe0e9e425 | ||
|
|
24a3f814ed | ||
|
|
233a50dbb7 | ||
|
|
6d8f11d533 | ||
|
|
4e4beb26c6 | ||
|
|
1f092c2656 | ||
|
|
9622b046e0 | ||
|
|
f9abea83f3 | ||
|
|
b84542064c | ||
|
|
8ab2c924c4 | ||
|
|
4b9415a619 | ||
|
|
c11479de58 | ||
|
|
dddb02a286 | ||
|
|
fab4c59f9b | ||
|
|
b818f020a7 | ||
|
|
9888850c22 | ||
|
|
04209182c1 | ||
|
|
02c9dabcff | ||
|
|
c9d0b8cc40 | ||
|
|
3cb421143f | ||
|
|
fd9b79e115 | ||
|
|
53c4bb8a94 | ||
|
|
723fc42d88 | ||
|
|
1882b089ab | ||
|
|
ad7a6c4d79 | ||
|
|
48e0e797da | ||
|
|
fbb77d3e55 | ||
|
|
d1d8e54d20 | ||
|
|
f259c60b54 | ||
|
|
aa981d3cd4 | ||
|
|
f8118444f9 | ||
|
|
59da25ef55 | ||
|
|
61520bc3b3 | ||
|
|
5406b09f3a | ||
|
|
90f1bfb3e4 | ||
|
|
f30eec7737 | ||
|
|
493cd1a7e0 | ||
|
|
dfa1ab65c6 | ||
|
|
963ed32ce4 | ||
|
|
de4733e848 | ||
|
|
bfbc124e78 | ||
|
|
fcd87b3e2d | ||
|
|
7bee93bb73 | ||
|
|
c0c36d10e5 | ||
|
|
6e260ee563 | ||
|
|
b1075d956f | ||
|
|
4dd6352aec | ||
|
|
6fe8bde720 | ||
|
|
0556ab5e66 | ||
|
|
7060700225 | ||
|
|
385b79ad34 | ||
|
|
b8509c487d | ||
|
|
083dee9bdd | ||
|
|
0c2dd6aa35 | ||
|
|
743c15aacc | ||
|
|
263bff903c | ||
|
|
741dfaf2de | ||
|
|
e4e4f73638 | ||
|
|
85e4bd817b | ||
|
|
78ffac8232 | ||
|
|
b488adc330 | ||
|
|
a06bd877c9 | ||
|
|
b3834324f6 | ||
|
|
d351134b75 | ||
|
|
ea0835561c | ||
|
|
b0c0c5f56b | ||
|
|
849fad0421 | ||
|
|
eb28a3b0c9 | ||
|
|
5283b489dc | ||
|
|
d54f848572 | ||
|
|
1ac0c4f874 | ||
|
|
3850f52401 | ||
|
|
6d5f8e0562 | ||
|
|
04633bdf3a | ||
|
|
97219aa12e | ||
|
|
e825abf893 | ||
|
|
63b655cff4 | ||
|
|
0524942d11 | ||
|
|
b5d75f183a | ||
|
|
706fc647ff | ||
|
|
13e9f9f9e7 | ||
|
|
a76dcb44ae | ||
|
|
b9373806cf | ||
|
|
9de2927304 | ||
|
|
c3e1126489 | ||
|
|
3413c9ed64 | ||
|
|
dcebcb0e73 | ||
|
|
3d7a5f20e7 | ||
|
|
6a99af64a8 | ||
|
|
7d57961ab2 | ||
|
|
95a773e5c9 | ||
|
|
a912b2f23d | ||
|
|
36b581489c | ||
|
|
976684a3a8 | ||
|
|
093dfb4a39 | ||
|
|
ddf381f92d | ||
|
|
2b44f3bc76 | ||
|
|
7b1fdfabf8 | ||
|
|
070e8d9647 | ||
|
|
bf3360572a | ||
|
|
e5036318af | ||
|
|
6d2394a9da | ||
|
|
427a266c57 | ||
|
|
196264b8c2 | ||
|
|
afe24866f0 | ||
|
|
d18a20cc06 | ||
|
|
e94669de03 | ||
|
|
9c91b0459e | ||
|
|
b161db064e | ||
|
|
ec4abe0d81 | ||
|
|
af21dd4463 | ||
|
|
ef46727870 | ||
|
|
1ea0d283de | ||
|
|
ed380e09c9 | ||
|
|
b5daa83d69 | ||
|
|
c4b957427d | ||
|
|
2f3b256272 | ||
|
|
6e3d8472e1 | ||
|
|
2a9f36a027 | ||
|
|
cf3726289c | ||
|
|
c8e4a5c9e7 | ||
|
|
3851bedb57 | ||
|
|
a3951f1cce | ||
|
|
7c77ae758b | ||
|
|
20d3d61cec | ||
|
|
1b831f94a9 | ||
|
|
3f241553aa | ||
|
|
8624c83108 | ||
|
|
d49cae9cea | ||
|
|
174128447b | ||
|
|
5d213eea7e | ||
|
|
f45e25172b | ||
|
|
ec87856ef4 | ||
|
|
6feb7ad1d5 | ||
|
|
6833e84d55 | ||
|
|
154a575701 | ||
|
|
504b2e2c4a | ||
|
|
2c5292222f | ||
|
|
989da8877b | ||
|
|
70591eadd5 | ||
|
|
fead3cd7ad | ||
|
|
a7cf3cdf05 | ||
|
|
5372f71faa | ||
|
|
3b76939f17 | ||
|
|
c827d38f39 | ||
|
|
1e7586fae4 | ||
|
|
ee89111bfb | ||
|
|
288b3077b2 | ||
|
|
5c1922ac9f | ||
|
|
93f1d46104 | ||
|
|
c5daaf541a | ||
|
|
12b17b1e9e | ||
|
|
ad46ba7d0f | ||
|
|
44f592c6cb | ||
|
|
943b35fb7d | ||
|
|
f1967fd466 | ||
|
|
ce2404b18a | ||
|
|
cdd53a39f1 | ||
|
|
c646019536 | ||
|
|
c8049f0efe | ||
|
|
f2c497049b | ||
|
|
d713274ae2 | ||
|
|
a72eeb9a98 | ||
|
|
41cdd5c640 | ||
|
|
4cde65d171 | ||
|
|
27659805f6 | ||
|
|
8ab081a3fd | ||
|
|
ccbb2e2e12 | ||
|
|
2bf2ec5a6c | ||
|
|
4329675c60 | ||
|
|
412b0377e9 | ||
|
|
69e48ff4d7 | ||
|
|
4cacd1dfa2 | ||
|
|
0c8ad1b46e | ||
|
|
d3ac7b0939 | ||
|
|
e0306d4ad7 | ||
|
|
1f3d726048 | ||
|
|
f3ed7e936d | ||
|
|
547ad7221d | ||
|
|
97a258c0c6 | ||
|
|
19a154c2f4 | ||
|
|
b389ec5ea3 | ||
|
|
412375e92f | ||
|
|
4b96ada781 | ||
|
|
87b16f3325 | ||
|
|
0a0663be69 | ||
|
|
7eed076674 | ||
|
|
b5143c152b | ||
|
|
6ef8a4c018 | ||
|
|
ebd26f85bd | ||
|
|
fbfb7b3b30 | ||
|
|
cfb313b60e | ||
|
|
54e37dea20 | ||
|
|
5b14358620 | ||
|
|
c4669cbaa3 | ||
|
|
74b41c9911 | ||
|
|
d08a36174d | ||
|
|
e845b80e10 | ||
|
|
b0303ef529 | ||
|
|
68f67ec6ee | ||
|
|
20ae67f510 | ||
|
|
237749e4af | ||
|
|
15f4782947 | ||
|
|
d48efd1925 | ||
|
|
883d726622 | ||
|
|
0a0cac5f41 | ||
|
|
012a18be00 | ||
|
|
890c00d4ba | ||
|
|
bb43014230 | ||
|
|
53a995fecb | ||
|
|
8d3262d232 | ||
|
|
373ec4ac50 | ||
|
|
3fdecee95f | ||
|
|
86b9f5a8b0 | ||
|
|
873b60b00d | ||
|
|
fc58086f6e | ||
|
|
40cec31099 | ||
|
|
33733d3ab7 | ||
|
|
f08bf0be15 | ||
|
|
296cb7236f | ||
|
|
d614967d62 | ||
|
|
35648b9f37 | ||
|
|
494a980ecb | ||
|
|
810aa8c2fb | ||
|
|
027b3eaed8 | ||
|
|
dedc1e708f | ||
|
|
79956b5676 | ||
|
|
48b1aece4d | ||
|
|
eee75bd2e8 | ||
|
|
29828f8e8f | ||
|
|
ced02b42b5 | ||
|
|
3fe9218ea8 | ||
|
|
ff5ea8b311 | ||
|
|
32fae5e9e8 | ||
|
|
48b4488a58 | ||
|
|
aead6a44de | ||
|
|
f59f08fa0e | ||
|
|
119d7367da | ||
|
|
ddb99a0917 | ||
|
|
ecfba95841 | ||
|
|
597eb5a300 | ||
|
|
f3e7e6bbe7 | ||
|
|
722380e7b8 | ||
|
|
8c46e96397 | ||
|
|
f22cc37df7 | ||
|
|
dd1fc23fe8 | ||
|
|
f9f4148e8c | ||
|
|
2178f82324 | ||
|
|
79d779dee8 | ||
|
|
93c0469aa0 | ||
|
|
81d10fa605 | ||
|
|
75ef766649 | ||
|
|
fab8b77794 | ||
|
|
8b030a2323 | ||
|
|
14c420b782 | ||
|
|
637547a3fa | ||
|
|
c39c1baa4d | ||
|
|
b9edd0ecc7 | ||
|
|
2dec8f1ad6 | ||
|
|
bd97df5ee9 | ||
|
|
8a501521e8 | ||
|
|
be68391c37 | ||
|
|
89d4be504d | ||
|
|
0a2acbe4be | ||
|
|
a7a42ff4af | ||
|
|
bacf163c96 | ||
|
|
db7e083a21 | ||
|
|
8eaf44735a | ||
|
|
bfc61f8b36 | ||
|
|
4ea27e604f | ||
|
|
aef0e552a0 | ||
|
|
d36bff2a97 | ||
|
|
61696f0287 | ||
|
|
9a97fe09ee | ||
|
|
b1d0cef33b | ||
|
|
7f0c92c56b | ||
|
|
b21568806a | ||
|
|
80fb89b794 | ||
|
|
47d28b4eef | ||
|
|
a9762c5139 | ||
|
|
32439ed006 | ||
|
|
ff41904d72 | ||
|
|
39093cbc4c | ||
|
|
c7b5784123 | ||
|
|
3e22804a76 | ||
|
|
7ce98b0b28 | ||
|
|
0d11cadc18 | ||
|
|
63ab82a076 | ||
|
|
7e03f14e01 | ||
|
|
c9183f8bd4 | ||
|
|
bc2d1f1ef9 | ||
|
|
e7c053d273 | ||
|
|
3ccf553fda | ||
|
|
6d2eb7b187 | ||
|
|
7234324112 | ||
|
|
8205cdc288 | ||
|
|
29931bbddf | ||
|
|
68cd4c9a31 | ||
|
|
f4b986e1c1 | ||
|
|
c0496ebef3 | ||
|
|
6aa30a4c74 | ||
|
|
3035a948b9 | ||
|
|
7880cf62fe | ||
|
|
ff76ba7d1b | ||
|
|
06be593fe4 | ||
|
|
91e3eb8ae7 | ||
|
|
f7dd3558a7 | ||
|
|
eac5ec6e26 | ||
|
|
f273b4334e | ||
|
|
15eaf67189 | ||
|
|
983d9c4319 | ||
|
|
a88a00b60e | ||
|
|
a44f43b133 | ||
|
|
69677b15fe | ||
|
|
2573c3b8a6 | ||
|
|
0b0e9f2953 | ||
|
|
1990c9399e | ||
|
|
151641b659 | ||
|
|
36c6376220 | ||
|
|
f0e22b70f6 | ||
|
|
225e893461 | ||
|
|
064a11d872 | ||
|
|
3760835608 | ||
|
|
e7ac2ec4ed | ||
|
|
8da8dfc543 | ||
|
|
6b3c8b4bac | ||
|
|
25fe78012f | ||
|
|
147d79c65c | ||
|
|
6fddd2bd62 | ||
|
|
77c9b64dc7 | ||
|
|
47cb7c7f5e | ||
|
|
1bd769827d | ||
|
|
288ec88c2f | ||
|
|
71916b5e28 | ||
|
|
b2d4330692 | ||
|
|
253a6ef081 | ||
|
|
e1e020c1a4 | ||
|
|
2b4413a1bd | ||
|
|
dae674a7cd | ||
|
|
751bf94758 | ||
|
|
4b934a4a81 | ||
|
|
7e374e795b | ||
|
|
be378f71b0 | ||
|
|
27f74489fd | ||
|
|
ae8f4ffbbe | ||
|
|
896776516b | ||
|
|
a27525af9e | ||
|
|
83b4382787 | ||
|
|
ef1b32d586 | ||
|
|
fe3a0bc756 | ||
|
|
2259e1d44d | ||
|
|
9ca4a016eb | ||
|
|
2978a262f7 | ||
|
|
f47f3461e6 | ||
|
|
06202c31e4 | ||
|
|
925dc258a6 | ||
|
|
3670800a51 | ||
|
|
90a331b989 | ||
|
|
a4c8bdeda2 | ||
|
|
5bda254184 | ||
|
|
26621c0318 | ||
|
|
c6806256fd | ||
|
|
f00e1235f9 | ||
|
|
51bede6541 | ||
|
|
75dbaa4b77 | ||
|
|
bec6576620 | ||
|
|
44551e0e8c | ||
|
|
67553cb40e | ||
|
|
7cafbda7cd | ||
|
|
9a5a085103 | ||
|
|
cdb17ae937 | ||
|
|
c240fb9896 | ||
|
|
4b41eddf44 | ||
|
|
b51ac112a2 | ||
|
|
a1ac609b34 | ||
|
|
66e2a12f3d | ||
|
|
9f69294f7f | ||
|
|
a5fc8d5329 | ||
|
|
7bbf797caf | ||
|
|
f479c0e10e | ||
|
|
0f32154b91 | ||
|
|
f2019ee5f9 | ||
|
|
89b8e2bb08 | ||
|
|
8fb6edad67 | ||
|
|
c2e3a3fe04 | ||
|
|
b2052a6ccd | ||
|
|
a07479cd5a | ||
|
|
3820384f51 | ||
|
|
0610576e5a | ||
|
|
efac7701eb | ||
|
|
905eb303bc | ||
|
|
27cee1cf33 | ||
|
|
3c56d29fca | ||
|
|
946dae72d9 | ||
|
|
58f71c7300 | ||
|
|
07e9013152 | ||
|
|
29c60581a6 | ||
|
|
4bdcf32475 | ||
|
|
44c742e839 | ||
|
|
001bd1d004 | ||
|
|
6c7e2f0aa1 | ||
|
|
9fc5d328b4 | ||
|
|
f6413d095c | ||
|
|
d66ad4319e | ||
|
|
251fcaeb48 | ||
|
|
3311c6336c | ||
|
|
fc13e1fa6a | ||
|
|
9ca680f842 | ||
|
|
616829464f | ||
|
|
0267468cd5 | ||
|
|
ca0d17d93a | ||
|
|
3f656ea76f | ||
|
|
1faf2c6ecd | ||
|
|
33f2aaa650 | ||
|
|
177caec011 | ||
|
|
62650a4545 | ||
|
|
81dc907afc | ||
|
|
3ee33e1024 | ||
|
|
2326eb85f1 | ||
|
|
0885e60b80 | ||
|
|
ef40c66344 | ||
|
|
0d0464549f | ||
|
|
b68b0fe783 | ||
|
|
b4c6d9f800 | ||
|
|
24c8b39d8e | ||
|
|
0144dc12df | ||
|
|
65684550a8 | ||
|
|
6d09931a39 | ||
|
|
1c41d459f0 | ||
|
|
f65fefe7b1 | ||
|
|
0a906b5663 | ||
|
|
dd9b7bbbb5 | ||
|
|
d25a1e3ed9 | ||
|
|
05374becfd | ||
|
|
37d2a7939c | ||
|
|
a432ad7483 | ||
|
|
ae17e4dc60 | ||
|
|
02eddc347a | ||
|
|
ee58bf3d5c | ||
|
|
ecbaffa5f3 | ||
|
|
fe86c09f22 | ||
|
|
c8e01d6cce | ||
|
|
fd0bd5dd00 | ||
|
|
cd6d4fb527 | ||
|
|
8ed6851e85 | ||
|
|
a6fd3bfb00 | ||
|
|
610dd8a783 | ||
|
|
7c404f03db | ||
|
|
ed1cf6aad5 | ||
|
|
9703fd61e2 | ||
|
|
16790e388b | ||
|
|
b48474998b | ||
|
|
95d8f07458 | ||
|
|
e628c30c89 | ||
|
|
52a8aae74f | ||
|
|
54b5898582 | ||
|
|
64974d75d5 | ||
|
|
bd118027fb | ||
|
|
36de217835 | ||
|
|
b5283d58bb | ||
|
|
8414d97ffa | ||
|
|
9f30d4e673 | ||
|
|
8e0d1fa0df | ||
|
|
5b251b9977 | ||
|
|
8b3e721028 | ||
|
|
7e2a2baa5d | ||
|
|
003eed368b | ||
|
|
4b1cf05c0e | ||
|
|
d9429c4f4b | ||
|
|
b7bd94b6b0 | ||
|
|
51bbc10744 | ||
|
|
fb5df33ee7 | ||
|
|
d8ba0ccd7d | ||
|
|
886ea6c68c | ||
|
|
ec384fafce | ||
|
|
936f85c09e | ||
|
|
b25deea21d | ||
|
|
cf5ec44303 | ||
|
|
6f956c2415 | ||
|
|
3533160bef | ||
|
|
60cbfdcabd | ||
|
|
604f036a54 | ||
|
|
dd4f3ec264 | ||
|
|
ff67b8a0ba | ||
|
|
1d5fb0b646 | ||
|
|
80931a318f | ||
|
|
16f16cb36a | ||
|
|
899f24cde5 | ||
|
|
9f29521ab8 | ||
|
|
c1ce0c6b22 | ||
|
|
a7fce33750 | ||
|
|
6fd8e73150 | ||
|
|
1359dd86c2 | ||
|
|
a1b610fc50 | ||
|
|
c849d719e9 | ||
|
|
96de2e7008 | ||
|
|
f140b77e7c | ||
|
|
22228de63b | ||
|
|
b0596c9eb2 | ||
|
|
2a2319d434 | ||
|
|
dad47d115f | ||
|
|
502026359c | ||
|
|
47b0e4e4d3 | ||
|
|
6c927d9159 | ||
|
|
ddc79b2517 | ||
|
|
4c2e12d2cb | ||
|
|
14f7a8b7b9 | ||
|
|
caa7dd9619 | ||
|
|
8aa7e2d0a0 | ||
|
|
6be8a3f343 | ||
|
|
a097cefba7 | ||
|
|
e4c78f3887 | ||
|
|
5baa251944 | ||
|
|
cde68abec9 | ||
|
|
51175e3676 | ||
|
|
45ddfef30a | ||
|
|
1e1d78999e | ||
|
|
92fcd7b345 | ||
|
|
e04f1cd574 | ||
|
|
176c3a5d51 | ||
|
|
c09570cf39 | ||
|
|
4a093000be | ||
|
|
6952b643ae | ||
|
|
c487a95bc7 | ||
|
|
8884177d9f | ||
|
|
8b250ed523 | ||
|
|
d8b78d8025 | ||
|
|
42112b8053 | ||
|
|
6cc0dd5a80 | ||
|
|
afd5f4823f | ||
|
|
b0cf82c91b | ||
|
|
6a67cdd5af | ||
|
|
bad7b84993 | ||
|
|
d3ca6b5ae6 | ||
|
|
da5009f089 | ||
|
|
c08524c977 | ||
|
|
f89537037e | ||
|
|
c153793766 | ||
|
|
0aec5927d5 | ||
|
|
8aea9a1801 | ||
|
|
73247e3220 | ||
|
|
89344a6eda | ||
|
|
40d2e6ea83 | ||
|
|
910cfe9a17 | ||
|
|
e58a80fc00 | ||
|
|
4a2319cb33 | ||
|
|
5619088c41 | ||
|
|
60271993eb | ||
|
|
6695e8b011 | ||
|
|
707df18b93 | ||
|
|
90895f1288 | ||
|
|
ba1ca506af | ||
|
|
f90ed99a40 | ||
|
|
67630b1a22 | ||
|
|
2c1580ea65 | ||
|
|
840a0b5f64 | ||
|
|
b39f6ef7ad | ||
|
|
fb27088fcd | ||
|
|
76fbff68ba | ||
|
|
54de4d236d | ||
|
|
e211dd65ad | ||
|
|
a87f4d8653 | ||
|
|
b59c175c2e | ||
|
|
580104c4c5 | ||
|
|
0fc3053b0a | ||
|
|
929e0f69c2 | ||
|
|
e70af1300a | ||
|
|
4d0e46021b | ||
|
|
1a9a49b739 | ||
|
|
2ac560c56e | ||
|
|
c23387c0fb | ||
|
|
0ff250fe15 | ||
|
|
52b1e58b26 | ||
|
|
484715e440 | ||
|
|
9d42c3d802 | ||
|
|
c654172d33 | ||
|
|
e17b26c883 | ||
|
|
24d02d9cf5 | ||
|
|
7208a311ac | ||
|
|
ad7355372b | ||
|
|
f18b5babad | ||
|
|
9831ec0ca9 | ||
|
|
596544eca3 | ||
|
|
1f853024ee | ||
|
|
0308b13460 | ||
|
|
06b8a82f70 | ||
|
|
91ca07929d | ||
|
|
afabaa5fdb | ||
|
|
a6fd3fa77c | ||
|
|
58a2c08dcd | ||
|
|
299bbff2f4 | ||
|
|
19d8947123 | ||
|
|
35edce7523 | ||
|
|
bc4cec69a5 | ||
|
|
cce8c1b674 | ||
|
|
aa58788769 | ||
|
|
6c62ab7a52 | ||
|
|
d6ab638b30 | ||
|
|
bd4db406de | ||
|
|
e50f9cd0a3 | ||
|
|
2b64cbce2c | ||
|
|
2797c942ab | ||
|
|
f1c3278874 | ||
|
|
424c22dcde | ||
|
|
5c223dfd12 | ||
|
|
6a3e7a5a8e | ||
|
|
f88cdac000 | ||
|
|
eeead90f32 | ||
|
|
b607857409 | ||
|
|
9268f88bc3 | ||
|
|
f7f0560a9f | ||
|
|
3d8905207e | ||
|
|
dbc312010b | ||
|
|
b115a7cf19 | ||
|
|
348562352c | ||
|
|
70fd917e7c | ||
|
|
d2b60764cd | ||
|
|
581b1fdaa5 | ||
|
|
3c19a712c0 | ||
|
|
cc27f16088 | ||
|
|
dffdb82288 | ||
|
|
2b32addade | ||
|
|
0b251530fa | ||
|
|
f5b933149a | ||
|
|
48bbfb8bdb | ||
|
|
889971c4d6 | ||
|
|
0722494d41 | ||
|
|
4b977a3306 | ||
|
|
3ff3021acd | ||
|
|
99e56a9c42 | ||
|
|
77279dfe16 | ||
|
|
93f8050454 | ||
|
|
31cfede7a7 | ||
|
|
c8ec86e537 | ||
|
|
05aee884b6 | ||
|
|
012ba9e060 | ||
|
|
8e8fd88857 | ||
|
|
523ccdad6b | ||
|
|
ded3f605be | ||
|
|
62b44e3549 | ||
|
|
030d12a465 | ||
|
|
4d15628840 | ||
|
|
81b849898c | ||
|
|
3824486b85 | ||
|
|
081ab00a0a | ||
|
|
04f6af5c9a | ||
|
|
4dc1f1f6eb | ||
|
|
3930a02123 | ||
|
|
3112de105e | ||
|
|
3b8d7b8fba | ||
|
|
9fca7f09a5 | ||
|
|
fd39d6b3a9 | ||
|
|
a103886ea5 | ||
|
|
373408e401 | ||
|
|
db44c1d8e6 | ||
|
|
95a34c9e2d | ||
|
|
6ce401f260 | ||
|
|
5d74dcd256 | ||
|
|
5a9fc1697b | ||
|
|
927415838c | ||
|
|
d72fcefdc7 | ||
|
|
0be173a8f7 | ||
|
|
c3913a8735 | ||
|
|
e2dfe1b6de | ||
|
|
fec3e47eb8 | ||
|
|
d72efd2450 | ||
|
|
ef1c840aa7 | ||
|
|
1581464d8c | ||
|
|
9de29584a4 | ||
|
|
9e2e6fb50c | ||
|
|
c85979b66b | ||
|
|
ecdc5865a6 | ||
|
|
1771ddb787 | ||
|
|
3ab657fe46 | ||
|
|
8785dae753 | ||
|
|
2f1c5b29d4 | ||
|
|
7135349a10 | ||
|
|
66c639d5e3 | ||
|
|
6704b755d8 | ||
|
|
cf96baad48 | ||
|
|
32220476aa | ||
|
|
86bc84a2ad | ||
|
|
de9e0c7929 | ||
|
|
6963e662ef | ||
|
|
7127822e8f | ||
|
|
0a35abf68f | ||
|
|
3f8e8f8561 | ||
|
|
e02eca87b0 | ||
|
|
2f680c4326 | ||
|
|
0b4a44a403 | ||
|
|
89299f865c | ||
|
|
f6db9a50ab | ||
|
|
78d9fac1e6 | ||
|
|
458ed1faff | ||
|
|
0657815de5 | ||
|
|
a608832681 | ||
|
|
d2f72529b3 | ||
|
|
28185af158 | ||
|
|
7aacd01ad7 | ||
|
|
74cc34696e | ||
|
|
d4baac0bb5 | ||
|
|
35bc1421f1 | ||
|
|
d4db265fd9 | ||
|
|
1dad919de9 | ||
|
|
246dfbdcb4 | ||
|
|
f8d32d64f5 | ||
|
|
5dea271d6f | ||
|
|
eeb62a6cf2 | ||
|
|
35cf8026b0 | ||
|
|
e0028ab6f1 | ||
|
|
a32645cdeb | ||
|
|
812f9f6fca | ||
|
|
f7a670ec24 | ||
|
|
d0d24f0f4a | ||
|
|
042f9b7f2d | ||
|
|
2d260cdbed | ||
|
|
6a786cad83 | ||
|
|
67019b3d6c | ||
|
|
1db6e59077 | ||
|
|
5e4770875e | ||
|
|
e9a77f3f16 | ||
|
|
cbec85f295 | ||
|
|
14bd5d301d | ||
|
|
321d0e8d64 | ||
|
|
84e1512031 | ||
|
|
b036852b2d | ||
|
|
f693dc31e8 | ||
|
|
af8f5b11b8 | ||
|
|
8ca943f87b | ||
|
|
35cc9da626 | ||
|
|
44cc86a1a5 | ||
|
|
7c3bbfd45e | ||
|
|
a1f939e3a0 | ||
|
|
4ca7886090 | ||
|
|
b942163748 | ||
|
|
5b6d15acb3 | ||
|
|
841420360e | ||
|
|
a680bb4612 | ||
|
|
f763e13996 | ||
|
|
e73e1262ae | ||
|
|
b774d56cf7 | ||
|
|
bae55f2e8b | ||
|
|
6c16cdb011 | ||
|
|
86fcbb0354 | ||
|
|
17d030e800 | ||
|
|
6fbf28b30d | ||
|
|
8171b68b18 | ||
|
|
d30e3a4052 | ||
|
|
87aab7ac5b | ||
|
|
c46f5805b1 | ||
|
|
dd6a29dfc0 | ||
|
|
a0933c7f10 | ||
|
|
492adc2909 | ||
|
|
90a52f57b5 | ||
|
|
a1469854e8 | ||
|
|
e2c2993255 | ||
|
|
270d63b265 | ||
|
|
1d004be91d | ||
|
|
b8a74c727e | ||
|
|
c87b592277 | ||
|
|
cfa926602a | ||
|
|
350cb52c07 | ||
|
|
af195beb7e | ||
|
|
cb00d42546 | ||
|
|
ee0b0c3dfe | ||
|
|
ddcb4a0e10 | ||
|
|
8cbb29ee25 | ||
|
|
9da11ac144 | ||
|
|
ba7c8e77e5 | ||
|
|
4577b03fc9 | ||
|
|
72d83aa85e | ||
|
|
8ee80cb5f1 | ||
|
|
4cc08bff8b | ||
|
|
295cfb2d75 | ||
|
|
7775376b33 | ||
|
|
9f64e994dc | ||
|
|
ee1e4fc710 | ||
|
|
5ea62c710d | ||
|
|
aeca31d06a | ||
|
|
9cb9ea6ab5 | ||
|
|
e37dd69827 | ||
|
|
6c51696d1a | ||
|
|
27787c8f37 | ||
|
|
e910595545 |
@@ -1,4 +1,7 @@
|
||||
.git
|
||||
.idea
|
||||
/bin
|
||||
/dist
|
||||
/docs
|
||||
/npm-debug.log
|
||||
node_modules
|
||||
npm-debug.log
|
||||
dist
|
||||
.idea
|
||||
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [zadam]
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,9 +1,11 @@
|
||||
.DS_Store
|
||||
node_modules/
|
||||
dist/
|
||||
src/public/app-dist/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
*.db
|
||||
config.ini
|
||||
cert.key
|
||||
cert.crt
|
||||
server-package.json
|
||||
15
.gitpod.dockerfile
Normal file
15
.gitpod.dockerfile
Normal file
@@ -0,0 +1,15 @@
|
||||
FROM gitpod/workspace-full
|
||||
|
||||
RUN sudo apt-get update \
|
||||
&& sudo apt-get install -yq --no-install-recommends \
|
||||
libpng16-16 \
|
||||
libpng-dev \
|
||||
pkg-config \
|
||||
autoconf \
|
||||
libtool \
|
||||
build-essential \
|
||||
nasm \
|
||||
libx11-dev \
|
||||
libxkbfile-dev \
|
||||
&& sudo rm -rf /var/lib/apt/lists/*
|
||||
|
||||
11
.gitpod.yml
Normal file
11
.gitpod.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
image:
|
||||
file: .gitpod.dockerfile
|
||||
|
||||
tasks:
|
||||
- before: nvm install 10 && nvm use 10
|
||||
init: npm install
|
||||
command: npm run start-server
|
||||
|
||||
ports:
|
||||
- port: 8080
|
||||
onOpen: open-preview
|
||||
6
.idea/.gitignore
generated
vendored
Normal file
6
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# Default ignored files
|
||||
/workspace.xml
|
||||
|
||||
# Datasource local storage ignored files
|
||||
/dataSources.local.xml
|
||||
/dataSources/
|
||||
3
.idea/codeStyles/Project.xml
generated
3
.idea/codeStyles/Project.xml
generated
@@ -6,5 +6,8 @@
|
||||
<option name="TAB_SIZE" value="2" />
|
||||
</value>
|
||||
</option>
|
||||
<JSCodeStyleSettings version="0">
|
||||
<option name="USE_EXPLICIT_JS_EXTENSION" value="TRUE" />
|
||||
</JSCodeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
7
.idea/dataSources.xml
generated
7
.idea/dataSources.xml
generated
@@ -1,14 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="document.db" uuid="a2c75661-f9e2-478f-a69f-6a9409e69997">
|
||||
<data-source source="LOCAL" name="document.db" uuid="4e69c96a-8a2b-43f5-9b40-d1608f75f7a4">
|
||||
<driver-ref>sqlite.xerial</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
|
||||
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/../trilium-data/document.db</jdbc-url>
|
||||
<driver-properties>
|
||||
<property name="enable_load_extension" value="true" />
|
||||
</driver-properties>
|
||||
<jdbc-url>jdbc:sqlite:$USER_HOME$/trilium-data/document.db</jdbc-url>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
@@ -1,603 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<dataSource name="document.db">
|
||||
<database-model serializer="dbm" dbms="SQLITE" family-id="SQLITE" format-version="4.14">
|
||||
<root id="1">
|
||||
<ServerVersion>3.16.1</ServerVersion>
|
||||
</root>
|
||||
<schema id="2" parent="1" name="main">
|
||||
<Current>1</Current>
|
||||
<Visible>1</Visible>
|
||||
</schema>
|
||||
<collation id="3" parent="1" name="BINARY"/>
|
||||
<collation id="4" parent="1" name="NOCASE"/>
|
||||
<collation id="5" parent="1" name="RTRIM"/>
|
||||
<table id="6" parent="2" name="api_tokens"/>
|
||||
<table id="7" parent="2" name="attributes"/>
|
||||
<table id="8" parent="2" name="branches"/>
|
||||
<table id="9" parent="2" name="event_log"/>
|
||||
<table id="10" parent="2" name="links"/>
|
||||
<table id="11" parent="2" name="note_revisions"/>
|
||||
<table id="12" parent="2" name="notes"/>
|
||||
<table id="13" parent="2" name="options"/>
|
||||
<table id="14" parent="2" name="recent_notes"/>
|
||||
<table id="15" parent="2" name="source_ids"/>
|
||||
<table id="16" parent="2" name="sqlite_master">
|
||||
<System>1</System>
|
||||
</table>
|
||||
<table id="17" parent="2" name="sqlite_sequence">
|
||||
<System>1</System>
|
||||
</table>
|
||||
<table id="18" parent="2" name="sync"/>
|
||||
<column id="19" parent="6" name="apiTokenId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="20" parent="6" name="token">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="21" parent="6" name="dateCreated">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="22" parent="6" name="isDeleted">
|
||||
<Position>4</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="23" parent="6" name="hash">
|
||||
<Position>5</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<index id="24" parent="6" name="sqlite_autoindex_api_tokens_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>apiTokenId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="25" parent="6">
|
||||
<ColNames>apiTokenId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_api_tokens_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="26" parent="7" name="attributeId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="27" parent="7" name="noteId">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="28" parent="7" name="type">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="29" parent="7" name="name">
|
||||
<Position>4</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="30" parent="7" name="value">
|
||||
<Position>5</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>''</DefaultExpression>
|
||||
</column>
|
||||
<column id="31" parent="7" name="position">
|
||||
<Position>6</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="32" parent="7" name="dateCreated">
|
||||
<Position>7</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="33" parent="7" name="dateModified">
|
||||
<Position>8</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="34" parent="7" name="isDeleted">
|
||||
<Position>9</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="35" parent="7" name="hash">
|
||||
<Position>10</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<column id="36" parent="7" name="isInheritable">
|
||||
<Position>11</Position>
|
||||
<DataType>int|0s</DataType>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<index id="37" parent="7" name="sqlite_autoindex_attributes_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>attributeId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="38" parent="7">
|
||||
<ColNames>attributeId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_attributes_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="39" parent="8" name="branchId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="40" parent="8" name="noteId">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="41" parent="8" name="parentNoteId">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="42" parent="8" name="notePosition">
|
||||
<Position>4</Position>
|
||||
<DataType>INTEGER|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="43" parent="8" name="prefix">
|
||||
<Position>5</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
</column>
|
||||
<column id="44" parent="8" name="isExpanded">
|
||||
<Position>6</Position>
|
||||
<DataType>BOOLEAN|0s</DataType>
|
||||
</column>
|
||||
<column id="45" parent="8" name="isDeleted">
|
||||
<Position>7</Position>
|
||||
<DataType>INTEGER|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="46" parent="8" name="dateModified">
|
||||
<Position>8</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="47" parent="8" name="hash">
|
||||
<Position>9</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<column id="48" parent="8" name="dateCreated">
|
||||
<Position>10</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>'1970-01-01T00:00:00.000Z'</DefaultExpression>
|
||||
</column>
|
||||
<index id="49" parent="8" name="sqlite_autoindex_branches_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>branchId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<index id="50" parent="8" name="IDX_branches_noteId_parentNoteId">
|
||||
<ColNames>noteId
|
||||
parentNoteId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
</index>
|
||||
<index id="51" parent="8" name="IDX_branches_noteId">
|
||||
<ColNames>noteId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
</index>
|
||||
<index id="52" parent="8" name="IDX_branches_parentNoteId">
|
||||
<ColNames>parentNoteId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
</index>
|
||||
<key id="53" parent="8">
|
||||
<ColNames>branchId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_branches_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="54" parent="9" name="eventId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="55" parent="9" name="noteId">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
</column>
|
||||
<column id="56" parent="9" name="comment">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
</column>
|
||||
<column id="57" parent="9" name="dateCreated">
|
||||
<Position>4</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<index id="58" parent="9" name="sqlite_autoindex_event_log_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>eventId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="59" parent="9">
|
||||
<ColNames>eventId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_event_log_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="60" parent="10" name="linkId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="61" parent="10" name="noteId">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="62" parent="10" name="targetNoteId">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="63" parent="10" name="type">
|
||||
<Position>4</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="64" parent="10" name="isDeleted">
|
||||
<Position>5</Position>
|
||||
<DataType>INTEGER|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="65" parent="10" name="dateCreated">
|
||||
<Position>6</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="66" parent="10" name="dateModified">
|
||||
<Position>7</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="67" parent="10" name="hash">
|
||||
<Position>8</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<index id="68" parent="10" name="sqlite_autoindex_links_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>linkId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="69" parent="10">
|
||||
<ColNames>linkId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_links_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="70" parent="11" name="noteRevisionId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="71" parent="11" name="noteId">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="72" parent="11" name="title">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
</column>
|
||||
<column id="73" parent="11" name="content">
|
||||
<Position>4</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
</column>
|
||||
<column id="74" parent="11" name="isProtected">
|
||||
<Position>5</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="75" parent="11" name="dateModifiedFrom">
|
||||
<Position>6</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="76" parent="11" name="dateModifiedTo">
|
||||
<Position>7</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="77" parent="11" name="type">
|
||||
<Position>8</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>''</DefaultExpression>
|
||||
</column>
|
||||
<column id="78" parent="11" name="mime">
|
||||
<Position>9</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>''</DefaultExpression>
|
||||
</column>
|
||||
<column id="79" parent="11" name="hash">
|
||||
<Position>10</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<index id="80" parent="11" name="sqlite_autoindex_note_revisions_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>noteRevisionId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<index id="81" parent="11" name="IDX_note_revisions_noteId">
|
||||
<ColNames>noteId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
</index>
|
||||
<index id="82" parent="11" name="IDX_note_revisions_dateModifiedFrom">
|
||||
<ColNames>dateModifiedFrom</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
</index>
|
||||
<index id="83" parent="11" name="IDX_note_revisions_dateModifiedTo">
|
||||
<ColNames>dateModifiedTo</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
</index>
|
||||
<key id="84" parent="11">
|
||||
<ColNames>noteRevisionId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_note_revisions_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="85" parent="12" name="noteId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="86" parent="12" name="title">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>"note"</DefaultExpression>
|
||||
</column>
|
||||
<column id="87" parent="12" name="content">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<DefaultExpression>NULL</DefaultExpression>
|
||||
</column>
|
||||
<column id="88" parent="12" name="isProtected">
|
||||
<Position>4</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="89" parent="12" name="type">
|
||||
<Position>5</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>'text'</DefaultExpression>
|
||||
</column>
|
||||
<column id="90" parent="12" name="mime">
|
||||
<Position>6</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>'text/html'</DefaultExpression>
|
||||
</column>
|
||||
<column id="91" parent="12" name="hash">
|
||||
<Position>7</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<column id="92" parent="12" name="isDeleted">
|
||||
<Position>8</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="93" parent="12" name="dateCreated">
|
||||
<Position>9</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="94" parent="12" name="dateModified">
|
||||
<Position>10</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<index id="95" parent="12" name="sqlite_autoindex_notes_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>noteId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="96" parent="12">
|
||||
<ColNames>noteId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_notes_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="97" parent="13" name="name">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="98" parent="13" name="value">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
</column>
|
||||
<column id="99" parent="13" name="dateModified">
|
||||
<Position>3</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
</column>
|
||||
<column id="100" parent="13" name="isSynced">
|
||||
<Position>4</Position>
|
||||
<DataType>INTEGER|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>0</DefaultExpression>
|
||||
</column>
|
||||
<column id="101" parent="13" name="hash">
|
||||
<Position>5</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<column id="102" parent="13" name="dateCreated">
|
||||
<Position>6</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>'1970-01-01T00:00:00.000Z'</DefaultExpression>
|
||||
</column>
|
||||
<index id="103" parent="13" name="sqlite_autoindex_options_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>name</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="104" parent="13">
|
||||
<ColNames>name</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_options_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="105" parent="14" name="branchId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="106" parent="14" name="notePath">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="107" parent="14" name="hash">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<DefaultExpression>""</DefaultExpression>
|
||||
</column>
|
||||
<column id="108" parent="14" name="dateCreated">
|
||||
<Position>4</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="109" parent="14" name="isDeleted">
|
||||
<Position>5</Position>
|
||||
<DataType>INT|0s</DataType>
|
||||
</column>
|
||||
<index id="110" parent="14" name="sqlite_autoindex_recent_notes_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>branchId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="111" parent="14">
|
||||
<ColNames>branchId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_recent_notes_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="112" parent="15" name="sourceId">
|
||||
<Position>1</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="113" parent="15" name="dateCreated">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<index id="114" parent="15" name="sqlite_autoindex_source_ids_1">
|
||||
<NameSurrogate>1</NameSurrogate>
|
||||
<ColNames>sourceId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<key id="115" parent="15">
|
||||
<ColNames>sourceId</ColNames>
|
||||
<Primary>1</Primary>
|
||||
<UnderlyingIndexName>sqlite_autoindex_source_ids_1</UnderlyingIndexName>
|
||||
</key>
|
||||
<column id="116" parent="16" name="type">
|
||||
<Position>1</Position>
|
||||
<DataType>text|0s</DataType>
|
||||
</column>
|
||||
<column id="117" parent="16" name="name">
|
||||
<Position>2</Position>
|
||||
<DataType>text|0s</DataType>
|
||||
</column>
|
||||
<column id="118" parent="16" name="tbl_name">
|
||||
<Position>3</Position>
|
||||
<DataType>text|0s</DataType>
|
||||
</column>
|
||||
<column id="119" parent="16" name="rootpage">
|
||||
<Position>4</Position>
|
||||
<DataType>integer|0s</DataType>
|
||||
</column>
|
||||
<column id="120" parent="16" name="sql">
|
||||
<Position>5</Position>
|
||||
<DataType>text|0s</DataType>
|
||||
</column>
|
||||
<column id="121" parent="17" name="name">
|
||||
<Position>1</Position>
|
||||
</column>
|
||||
<column id="122" parent="17" name="seq">
|
||||
<Position>2</Position>
|
||||
</column>
|
||||
<column id="123" parent="18" name="id">
|
||||
<Position>1</Position>
|
||||
<DataType>INTEGER|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
<SequenceIdentity>1</SequenceIdentity>
|
||||
</column>
|
||||
<column id="124" parent="18" name="entityName">
|
||||
<Position>2</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="125" parent="18" name="entityId">
|
||||
<Position>3</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="126" parent="18" name="sourceId">
|
||||
<Position>4</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<column id="127" parent="18" name="syncDate">
|
||||
<Position>5</Position>
|
||||
<DataType>TEXT|0s</DataType>
|
||||
<NotNull>1</NotNull>
|
||||
</column>
|
||||
<index id="128" parent="18" name="IDX_sync_entityName_entityId">
|
||||
<ColNames>entityName
|
||||
entityId</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
<Unique>1</Unique>
|
||||
</index>
|
||||
<index id="129" parent="18" name="IDX_sync_syncDate">
|
||||
<ColNames>syncDate</ColNames>
|
||||
<ColumnCollations></ColumnCollations>
|
||||
</index>
|
||||
<key id="130" parent="18">
|
||||
<ColNames>id</ColNames>
|
||||
<Primary>1</Primary>
|
||||
</key>
|
||||
</database-model>
|
||||
</dataSource>
|
||||
@@ -1,2 +0,0 @@
|
||||
#n:main
|
||||
!<md> [0, 0, null, null, -2147483648, -2147483648]
|
||||
1
.idea/inspectionProfiles/Project_Default.xml
generated
1
.idea/inspectionProfiles/Project_Default.xml
generated
@@ -1,6 +1,7 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="JSUnfilteredForInLoop" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||
<option name="processCode" value="true" />
|
||||
<option name="processLiterals" value="true" />
|
||||
|
||||
6
.idea/jsLibraryMappings.xml
generated
Normal file
6
.idea/jsLibraryMappings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<file url="PROJECT" libraries="{@types/jquery}" />
|
||||
</component>
|
||||
</project>
|
||||
1
.idea/vcs.xml
generated
1
.idea/vcs.xml
generated
@@ -2,5 +2,6 @@
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
18
.vscode/launch.json
vendored
Normal file
18
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "start-server",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"env": {
|
||||
"TRILIUM_ENV": "dev"
|
||||
},
|
||||
"outputCapture": "std",
|
||||
"program": "${workspaceFolder}/src/www"
|
||||
}
|
||||
]
|
||||
}
|
||||
28
Dockerfile
28
Dockerfile
@@ -1,21 +1,27 @@
|
||||
FROM node:10.13.0
|
||||
|
||||
RUN apt-get update && apt-get install -y nasm
|
||||
FROM node:12.16.3-alpine
|
||||
|
||||
# Create app directory
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Install app dependencies
|
||||
# A wildcard is used to ensure both package.json AND package-lock.json are copied
|
||||
# where available (npm@5+)
|
||||
COPY package*.json ./
|
||||
COPY server-package.json package.json
|
||||
|
||||
RUN npm install --production
|
||||
# If you are building your code for production
|
||||
# RUN npm install --only=production
|
||||
# Install app dependencies
|
||||
RUN set -x \
|
||||
&& apk add --no-cache --virtual .build-dependencies \
|
||||
autoconf \
|
||||
automake \
|
||||
g++ \
|
||||
gcc \
|
||||
libtool \
|
||||
make \
|
||||
nasm \
|
||||
libpng-dev \
|
||||
python \
|
||||
&& npm install --production \
|
||||
&& apk del .build-dependencies
|
||||
|
||||
# Bundle app source
|
||||
COPY . .
|
||||
|
||||
EXPOSE 8080
|
||||
CMD [ "node", "src/www" ]
|
||||
CMD [ "node", "./src/www" ]
|
||||
|
||||
44
README.md
44
README.md
@@ -1,37 +1,57 @@
|
||||
# Trilium Notes
|
||||
|
||||
[](https://gitter.im/trilium-notes/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
Trilium Notes is a hierarchical note taking application. Picture tells a thousand words:
|
||||
Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases. See [screenshots](https://github.com/zadam/trilium/wiki/Screenshot-tour) for quick overview:
|
||||
|
||||

|
||||
|
||||
See other pictures in [screenshot tour](https://github.com/zadam/trilium/wiki/Screenshot-tour).
|
||||
|
||||
## Features
|
||||
|
||||
* Notes can be arranged into arbitrarily deep hierarchy (tree)
|
||||
* Notes can have more than 1 parents - see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes)
|
||||
* Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-editor#autoformat)
|
||||
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes))
|
||||
* Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-notes#autoformat)
|
||||
* Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting
|
||||
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation)
|
||||
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting)
|
||||
* Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions)
|
||||
* Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://github.com/zadam/trilium/wiki/Scripts)
|
||||
* [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization) with self-hosted sync server
|
||||
* Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes)
|
||||
* [Relation maps](https://github.com/zadam/trilium/wiki/Relation-map) for visualizing notes and their relations
|
||||
* Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes) with per-note granularity
|
||||
* [Relation maps](https://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map) for visualizing notes and their relations
|
||||
* [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - see [Advanced showcases](https://github.com/zadam/trilium/wiki/Advanced-showcases)
|
||||
* Scales well in both usability and performance upwards of 100 000 notes
|
||||
* Touch optimized [mobile frontend](https://github.com/zadam/trilium/wiki/Mobile-frontend) for smartphones and tablets
|
||||
* [Night theme](https://github.com/zadam/trilium/wiki/Themes)
|
||||
* [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) and [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown)
|
||||
* [Web Clipper](https://github.com/zadam/trilium/wiki/Web-clipper) for easy saving of web content
|
||||
|
||||
## Builds
|
||||
|
||||
Trilium is provided as either desktop application ([Electron](https://electronjs.org)-based) or web application hosted on your server.
|
||||
Trilium is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is [unsupported](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support).
|
||||
|
||||
* If you want to use Trilium on the desktop, download binary release for your platform (currently Linux and Windows are supported) from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable.
|
||||
* If you want to use Trilium on the desktop, download binary release for your platform from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable.
|
||||
* If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Server-installation).
|
||||
* Currently only recent Chrome and Firefox are supported (tested) browsers.
|
||||
|
||||
## Documentation
|
||||
|
||||
[See wiki for complete list of documentation pages.](https://github.com/zadam/trilium/wiki/)
|
||||
[See wiki for complete list of documentation pages.](https://github.com/zadam/trilium/wiki/)
|
||||
|
||||
You can also read [Patterns of personal knowledge base](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base) to get some inspiration on how you might use Trilium.
|
||||
|
||||
## Contribute
|
||||
|
||||
Use a browser based dev environment
|
||||
|
||||
[](https://gitpod.io/#https://github.com/zadam/trilium)
|
||||
|
||||
Or clone locally and run
|
||||
```
|
||||
npm install
|
||||
npm run start-server
|
||||
```
|
||||
|
||||
## Shoutouts
|
||||
|
||||
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - best WYSIWYG editor on the market, very interactive and listening team
|
||||
* [FancyTree](https://github.com/mar10/fancytree) - very feature rich tree library without real competition. Trilium Notes would not be the same without it.
|
||||
* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with support for huge amount of languages
|
||||
* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library without competition. Used in [relation maps](https://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map)
|
||||
13
SECURITY.md
Normal file
13
SECURITY.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
In the (still active) 0.X phase of the project only the latest stable minor release is getting bugfixes (including security ones).
|
||||
|
||||
So e.g. if the latest stable version is 0.42.3 and the latest beta version is 0.43.0-beta, then 0.42 line will still get security fixes but older versions (like 0.41.X) won't get any fixes.
|
||||
|
||||
Description above is a general rule and may be altered on case by case basis.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
You can report low severity vulnerabilities as GitHub issues, more severe vulnerabilities should be reported to the email zadam.apps@gmail.com
|
||||
BIN
bin/better-sqlite3/linux-desktop-better_sqlite3.node
Normal file
BIN
bin/better-sqlite3/linux-desktop-better_sqlite3.node
Normal file
Binary file not shown.
BIN
bin/better-sqlite3/linux-server-better_sqlite3.node
Normal file
BIN
bin/better-sqlite3/linux-server-better_sqlite3.node
Normal file
Binary file not shown.
BIN
bin/better-sqlite3/mac-better_sqlite3.node
Normal file
BIN
bin/better-sqlite3/mac-better_sqlite3.node
Normal file
Binary file not shown.
BIN
bin/better-sqlite3/win-better_sqlite3.node
Normal file
BIN
bin/better-sqlite3/win-better_sqlite3.node
Normal file
Binary file not shown.
7
bin/build-debian.sh
Executable file
7
bin/build-debian.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo "Packaging debian x64 distribution..."
|
||||
|
||||
VERSION=`jq -r ".version" package.json`
|
||||
|
||||
./node_modules/.bin/electron-installer-debian --config bin/deb-options.json --options.version=${VERSION} --arch amd64
|
||||
@@ -1,8 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
echo "Missing argument of new version"
|
||||
exit 1
|
||||
fi
|
||||
VERSION=`jq -r ".version" package.json`
|
||||
SERIES=${VERSION:0:4}-latest
|
||||
|
||||
sudo docker build -t zadam/trilium:latest -t zadam/trilium:$1 .
|
||||
cat package.json | grep -v electron > server-package.json
|
||||
|
||||
sudo docker build -t zadam/trilium:$VERSION -t zadam/trilium:$SERIES .
|
||||
|
||||
if [[ $VERSION != *"beta"* ]]; then
|
||||
sudo docker tag zadam/trilium:$VERSION zadam/trilium:latest
|
||||
fi
|
||||
|
||||
42
bin/build-linux-x64.sh
Executable file
42
bin/build-linux-x64.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SRC_DIR=./dist/trilium-linux-x64-src
|
||||
|
||||
if [ "$1" != "DONTCOPY" ]
|
||||
then
|
||||
./bin/copy-trilium.sh $SRC_DIR
|
||||
fi
|
||||
|
||||
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
|
||||
|
||||
echo "Copying required linux-x64 binaries"
|
||||
|
||||
cp -r bin/better-sqlite3/linux-desktop-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
|
||||
|
||||
echo "Packaging linux x64 electron build"
|
||||
|
||||
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite
|
||||
|
||||
BUILD_DIR=./dist/trilium-linux-x64
|
||||
rm -rf $BUILD_DIR
|
||||
|
||||
mv "./dist/Trilium Notes-linux-x64" $BUILD_DIR
|
||||
|
||||
cp images/app-icons/png/128x128.png $BUILD_DIR/icon.png
|
||||
|
||||
# removing software WebGL binaries because they are pretty huge and not necessary
|
||||
rm -r $BUILD_DIR/swiftshader
|
||||
|
||||
cp bin/tpl/portable-trilium.sh $BUILD_DIR/
|
||||
chmod 755 $BUILD_DIR/portable-trilium.sh
|
||||
|
||||
echo "Packaging linux x64 electron distribution..."
|
||||
VERSION=`jq -r ".version" package.json`
|
||||
|
||||
cd dist
|
||||
|
||||
tar cJf trilium-linux-x64-${VERSION}.tar.xz trilium-linux-x64
|
||||
|
||||
cd ..
|
||||
|
||||
bin/build-debian.sh
|
||||
33
bin/build-mac-x64.sh
Executable file
33
bin/build-mac-x64.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SRC_DIR=./dist/trilium-mac-x64-src
|
||||
|
||||
if [ "$1" != "DONTCOPY" ]
|
||||
then
|
||||
./bin/copy-trilium.sh $SRC_DIR
|
||||
fi
|
||||
|
||||
echo "Copying required mac binaries"
|
||||
|
||||
cp -r bin/better-sqlite3/mac-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
|
||||
|
||||
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
|
||||
|
||||
echo "Packaging mac x64 electron build"
|
||||
|
||||
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=images/app-icons/mac/icon.icns
|
||||
|
||||
BUILD_DIR=./dist/trilium-mac-x64
|
||||
rm -rf $BUILD_DIR
|
||||
|
||||
# Mac build has by default useless directory level
|
||||
mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR
|
||||
|
||||
echo "Zipping mac x64 electron distribution..."
|
||||
|
||||
VERSION=`jq -r ".version" package.json`
|
||||
|
||||
cd dist
|
||||
|
||||
rm trilium-mac-x64-${VERSION}.zip
|
||||
zip -r9 --symlinks trilium-mac-x64-${VERSION}.zip trilium-mac-x64
|
||||
@@ -1,38 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
echo "Missing argument of new version"
|
||||
exit 1
|
||||
PKG_DIR=dist/trilium-linux-x64-server
|
||||
NODE_VERSION=12.18.3
|
||||
|
||||
if [ "$1" != "DONTCOPY" ]
|
||||
then
|
||||
./bin/copy-trilium.sh $PKG_DIR
|
||||
fi
|
||||
|
||||
VERSION=$1
|
||||
PKG_DIR=dist/trilium-linux-x64-server
|
||||
NODE_VERSION=10.13.0
|
||||
|
||||
rm -r $PKG_DIR
|
||||
mkdir $PKG_DIR
|
||||
cd $PKG_DIR
|
||||
|
||||
cd dist
|
||||
wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz
|
||||
tar xvfJ node-v${NODE_VERSION}-linux-x64.tar.xz
|
||||
rm node-v${NODE_VERSION}-linux-x64.tar.xz
|
||||
|
||||
mv node-v${NODE_VERSION}-linux-x64 node
|
||||
|
||||
cp -r ../../node_modules/ ./
|
||||
cp -r ../../src/ ./
|
||||
cp -r ../../db/ ./
|
||||
cp -r ../../package.json ./
|
||||
cp -r ../../package-lock.json ./
|
||||
cp -r ../../README.md ./
|
||||
cp -r ../../LICENSE ./
|
||||
cp -r ../../config-sample.ini ./
|
||||
|
||||
rm -r ./node_modules/electron*
|
||||
|
||||
printf "#/bin/sh\n./node/bin/node src/www" > trilium.sh
|
||||
chmod 755 trilium.sh
|
||||
|
||||
cd ..
|
||||
|
||||
7z a trilium-linux-x64-server-${VERSION}.7z trilium-linux-x64-server
|
||||
mv dist/node-v${NODE_VERSION}-linux-x64 $PKG_DIR/node
|
||||
|
||||
rm -r $PKG_DIR/node/lib/node_modules/npm
|
||||
rm -r $PKG_DIR/node/include/node
|
||||
|
||||
rm -r $PKG_DIR/node_modules/electron*
|
||||
|
||||
cp -r bin/better-sqlite3/linux-server-better_sqlite3.node $PKG_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
|
||||
|
||||
printf "#!/bin/sh\n./node/bin/node src/www" > $PKG_DIR/trilium.sh
|
||||
chmod 755 $PKG_DIR/trilium.sh
|
||||
|
||||
VERSION=`jq -r ".version" package.json`
|
||||
|
||||
cd dist
|
||||
|
||||
tar cJf trilium-linux-x64-server-${VERSION}.tar.xz trilium-linux-x64-server
|
||||
|
||||
35
bin/build-win-x64.sh
Executable file
35
bin/build-win-x64.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SRC_DIR=./dist/trilium-windows-x64-src
|
||||
|
||||
if [ "$1" != "DONTCOPY" ]
|
||||
then
|
||||
./bin/copy-trilium.sh $SRC_DIR
|
||||
fi
|
||||
|
||||
echo "Copying required windows binaries"
|
||||
|
||||
cp -r bin/better-sqlite3/win-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
|
||||
|
||||
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
|
||||
|
||||
echo "Packaging windows x64 electron build"
|
||||
|
||||
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=win32 --arch=x64 --overwrite --icon=images/app-icons/win/icon.ico
|
||||
|
||||
BUILD_DIR=./dist/trilium-windows-x64
|
||||
rm -rf $BUILD_DIR
|
||||
|
||||
mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR
|
||||
|
||||
# removing software WebGL binaries because they are pretty huge and not necessary
|
||||
rm -r $BUILD_DIR/swiftshader
|
||||
|
||||
cp bin/tpl/portable-trilium.bat $BUILD_DIR/
|
||||
|
||||
echo "Zipping windows x64 electron distribution..."
|
||||
VERSION=`jq -r ".version" package.json`
|
||||
|
||||
cd dist
|
||||
|
||||
zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64
|
||||
44
bin/build.sh
44
bin/build.sh
@@ -1,43 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
rm -r node_modules
|
||||
|
||||
npm install
|
||||
|
||||
echo "Deleting existing builds"
|
||||
|
||||
rm -r dist/*
|
||||
rm -rf dist/*
|
||||
|
||||
echo "Rebuilding binaries for linux-ia32"
|
||||
./node_modules/.bin/electron-rebuild --arch=ia32
|
||||
SRC_DIR=dist/trilium-src
|
||||
|
||||
./node_modules/.bin/electron-packager . --out=dist --executable-name=trilium --platform=linux --arch=ia32 --overwrite
|
||||
bin/copy-trilium.sh $SRC_DIR
|
||||
|
||||
mv "./dist/Trilium Notes-linux-ia32" ./dist/trilium-linux-ia32
|
||||
# we'll just copy the same SRC dir to all the builds so we don't have to do npm install in each separately
|
||||
cp -r $SRC_DIR ./dist/trilium-linux-x64-src
|
||||
cp -r $SRC_DIR ./dist/trilium-linux-x64-server
|
||||
cp -r $SRC_DIR ./dist/trilium-windows-x64-src
|
||||
cp -r $SRC_DIR ./dist/trilium-mac-x64-src
|
||||
|
||||
./node_modules/.bin/electron-packager . --out=dist --executable-name=trilium --platform=win32 --arch=x64 --overwrite --icon=src/public/images/app-icons/win/icon.ico
|
||||
bin/build-win-x64.sh DONTCOPY
|
||||
|
||||
mv "./dist/Trilium Notes-win32-x64" ./dist/trilium-win32-x64
|
||||
bin/build-mac-x64.sh DONTCOPY
|
||||
|
||||
# we build x64 as second so that we keep X64 binaries in node_modules for local development and server build
|
||||
echo "Rebuilding binaries for linux-x64"
|
||||
./node_modules/.bin/electron-rebuild --arch=x64
|
||||
bin/build-linux-x64.sh DONTCOPY
|
||||
|
||||
./node_modules/.bin/electron-packager . --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite
|
||||
|
||||
mv "./dist/Trilium Notes-linux-x64" ./dist/trilium-linux-x64
|
||||
|
||||
echo "Copying required windows binaries"
|
||||
|
||||
WIN_RES_DIR=./dist/trilium-win32-x64/resources/app
|
||||
|
||||
cp -r bin/deps/sqlite/* $WIN_RES_DIR/node_modules/sqlite3/lib/binding/
|
||||
cp bin/deps/image/cjpeg.exe $WIN_RES_DIR/node_modules/mozjpeg/vendor/
|
||||
cp bin/deps/image/pngquant.exe $WIN_RES_DIR/node_modules/pngquant-bin/vendor/
|
||||
cp bin/deps/image/gifsicle.exe $WIN_RES_DIR/node_modules/giflossy/vendor/
|
||||
|
||||
echo "Cleaning up unnecessary binaries from all builds"
|
||||
|
||||
rm -r ./dist/trilium-linux-ia32/resources/app/bin/deps
|
||||
rm -r ./dist/trilium-linux-x64/resources/app/bin/deps
|
||||
rm -r ./dist/trilium-win32-x64/resources/app/bin/deps
|
||||
bin/build-server.sh DONTCOPY
|
||||
|
||||
51
bin/copy-trilium.sh
Executable file
51
bin/copy-trilium.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
echo "Missing argument of target directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
npm run webpack
|
||||
|
||||
DIR=$1
|
||||
|
||||
rm -rf $DIR
|
||||
mkdir $DIR
|
||||
|
||||
echo "Copying Trilium to build directory $DIR"
|
||||
|
||||
cp -r images $DIR/
|
||||
cp -r libraries $DIR/
|
||||
cp -r src $DIR/
|
||||
cp -r db $DIR/
|
||||
cp -r package.json $DIR/
|
||||
cp -r package-lock.json $DIR/
|
||||
cp -r README.md $DIR/
|
||||
cp -r LICENSE $DIR/
|
||||
cp -r config-sample.ini $DIR/
|
||||
cp -r electron.js $DIR/
|
||||
cp webpack-* $DIR/
|
||||
|
||||
# run in subshell (so we return to original dir)
|
||||
(cd $DIR && npm install --only=prod)
|
||||
|
||||
# cleanup of useless files in dependencies
|
||||
rm -r $DIR/node_modules/image-q/demo
|
||||
rm -r $DIR/node_modules/better-sqlite3/Release
|
||||
rm -r $DIR/node_modules/better-sqlite3/deps/sqlite3.tar.gz
|
||||
rm -r $DIR/node_modules/@jimp/plugin-print/fonts
|
||||
rm -r $DIR/node_modules/jimp/browser
|
||||
rm -r $DIR/node_modules/jimp/fonts
|
||||
|
||||
# delete all tests (there are often large images as test file for jimp etc.)
|
||||
find $DIR/node_modules -name test -exec rm -rf {} \;
|
||||
find $DIR/node_modules -name docs -exec rm -rf {} \;
|
||||
find $DIR/node_modules -name demo -exec rm -rf {} \;
|
||||
|
||||
find $DIR/libraries -name "*.map" -type f -delete
|
||||
|
||||
rm -r $DIR/src/public/app
|
||||
|
||||
sed -i -e 's/app\/desktop.js/app-dist\/desktop.js/g' $DIR/src/views/desktop.ejs
|
||||
sed -i -e 's/app\/mobile.js/app-dist\/mobile.js/g' $DIR/src/views/mobile.ejs
|
||||
sed -i -e 's/app\/setup.js/app-dist\/setup.js/g' $DIR/src/views/setup.ejs
|
||||
14
bin/deb-options.json
Normal file
14
bin/deb-options.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"src": "dist/trilium-linux-x64",
|
||||
"dest": "dist/",
|
||||
"name": "trilium",
|
||||
"productName": "Trilium Notes",
|
||||
"genericName": "Note taker",
|
||||
"description": "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.",
|
||||
"sections": "misc",
|
||||
"maintainer": "zadam.apps@gmail.com",
|
||||
"homepage": "https://github.com/zadam/trilium",
|
||||
"bin": "trilium",
|
||||
"icon": "dist/trilium-linux-x64/icon.png",
|
||||
"categories": [ "Office" ]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
3
bin/generate-cert.sh
Normal file → Executable file
3
bin/generate-cert.sh
Normal file → Executable file
@@ -12,5 +12,4 @@ fi
|
||||
mkdir -p "$DIR"
|
||||
cd "$DIR"
|
||||
|
||||
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 2000 -nodes
|
||||
|
||||
openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out cert.crt -keyout key.key
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
VERSION=`jq -r ".version" package.json`
|
||||
|
||||
cd dist
|
||||
|
||||
echo "Packaging linux x64 electron distribution..."
|
||||
7z a trilium-linux-x64-${VERSION}.7z trilium-linux-x64
|
||||
|
||||
echo "Packaging linux ia32 electron distribution..."
|
||||
7z a trilium-linux-ia32-${VERSION}.7z trilium-linux-ia32
|
||||
|
||||
echo "Packaging windows x64 electron distribution..."
|
||||
7z a trilium-windows-x64-${VERSION}.7z trilium-win32-x64
|
||||
@@ -5,5 +5,12 @@ if [[ $# -eq 0 ]] ; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo docker push zadam/trilium:latest
|
||||
sudo docker push zadam/trilium:$1
|
||||
VERSION=$1
|
||||
SERIES=${VERSION:0:4}-latest
|
||||
|
||||
sudo docker push zadam/trilium:$VERSION
|
||||
sudo docker push zadam/trilium:$SERIES
|
||||
|
||||
if [[ $1 != *"beta"* ]]; then
|
||||
sudo docker push zadam/trilium:latest
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
export GITHUB_REPO=trilium
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
echo "Missing argument of new version"
|
||||
exit 1
|
||||
@@ -42,18 +44,30 @@ git push origin $TAG
|
||||
|
||||
bin/build.sh
|
||||
|
||||
bin/package.sh
|
||||
|
||||
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.7z
|
||||
LINUX_IA32_BUILD=trilium-linux-ia32-$VERSION.7z
|
||||
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.7z
|
||||
SERVER_BUILD=trilium-linux-x64-server-$VERSION.7z
|
||||
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.tar.xz
|
||||
DEBIAN_X64_BUILD=trilium_${VERSION}_amd64.deb
|
||||
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.zip
|
||||
MAC_X64_BUILD=trilium-mac-x64-$VERSION.zip
|
||||
SERVER_BUILD=trilium-linux-x64-server-$VERSION.tar.xz
|
||||
|
||||
echo "Creating release in GitHub"
|
||||
|
||||
EXTRA=
|
||||
|
||||
if [[ $TAG == *"beta"* ]]; then
|
||||
EXTRA=--pre-release
|
||||
fi
|
||||
|
||||
github-release release \
|
||||
--tag $TAG \
|
||||
--name "$TAG release"
|
||||
--name "$TAG release" $EXTRA
|
||||
|
||||
echo "Uploading debian x64 package"
|
||||
|
||||
github-release upload \
|
||||
--tag $TAG \
|
||||
--name "$DEBIAN_X64_BUILD" \
|
||||
--file "dist/$DEBIAN_X64_BUILD"
|
||||
|
||||
echo "Uploading linux x64 build"
|
||||
|
||||
@@ -62,13 +76,6 @@ github-release upload \
|
||||
--name "$LINUX_X64_BUILD" \
|
||||
--file "dist/$LINUX_X64_BUILD"
|
||||
|
||||
echo "Uploading linux ia32 build"
|
||||
|
||||
github-release upload \
|
||||
--tag $TAG \
|
||||
--name "$LINUX_IA32_BUILD" \
|
||||
--file "dist/$LINUX_IA32_BUILD"
|
||||
|
||||
echo "Uploading windows x64 build"
|
||||
|
||||
github-release upload \
|
||||
@@ -76,9 +83,14 @@ github-release upload \
|
||||
--name "$WINDOWS_X64_BUILD" \
|
||||
--file "dist/$WINDOWS_X64_BUILD"
|
||||
|
||||
echo "Packaging server version"
|
||||
echo "Uploading mac x64 build"
|
||||
|
||||
bin/build-server.sh $VERSION
|
||||
github-release upload \
|
||||
--tag $TAG \
|
||||
--name "$MAC_X64_BUILD" \
|
||||
--file "dist/$MAC_X64_BUILD"
|
||||
|
||||
echo "Uploading linux x64 server build"
|
||||
|
||||
github-release upload \
|
||||
--tag $TAG \
|
||||
|
||||
4
bin/tpl/portable-trilium.bat
Normal file
4
bin/tpl/portable-trilium.bat
Normal file
@@ -0,0 +1,4 @@
|
||||
SET DIR=%~dp0
|
||||
SET TRILIUM_DATA_DIR=%DIR%\trilium-data
|
||||
cd %DIR%
|
||||
start trilium.exe
|
||||
7
bin/tpl/portable-trilium.sh
Executable file
7
bin/tpl/portable-trilium.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
DIR=`dirname "$0"`
|
||||
export TRILIUM_DATA_DIR="$DIR/trilium-data"
|
||||
|
||||
"$DIR/trilium"
|
||||
|
||||
@@ -2,8 +2,16 @@
|
||||
# Instance name can be used to distinguish between different instances
|
||||
instanceName=
|
||||
|
||||
# set to true to allow using Trilium without authentication (makes sense for server build only, desktop build doesn't need password)
|
||||
noAuthentication=false
|
||||
|
||||
# Disable automatically generating desktop icon
|
||||
# noDesktopIcon=true
|
||||
|
||||
[Network]
|
||||
# port setting is relevant only for web deployments, desktop builds run on random free port
|
||||
# host setting is relevant only for web deployments - set the host on which the server will listen
|
||||
# host=0.0.0.0
|
||||
# port setting is relevant only for web deployments, desktop builds run on a fixed port (changeable with TRILIUM_PORT environment variable)
|
||||
port=8080
|
||||
# true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
|
||||
https=false
|
||||
|
||||
BIN
db/demo.tar
BIN
db/demo.tar
Binary file not shown.
BIN
db/demo.zip
Normal file
BIN
db/demo.zip
Normal file
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
const syncTableService = require('../../src/services/sync_table');
|
||||
const syncTableService = require('../../src/services/entity_changes.js');
|
||||
|
||||
// options has not been filled so far which caused problems with clean-slate sync.
|
||||
module.exports = async () => await syncTableService.fillAllSyncRows();
|
||||
module.exports = async () => await syncTableService.fillAllSyncRows();
|
||||
|
||||
2
db/migrations/0121__add_hoisting_option.sql
Normal file
2
db/migrations/0121__add_hoisting_option.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||
VALUES ('hoistedNoteId', 'root', '2018-12-11T18:31:00.874Z', '2018-12-11T18:31:00.874Z', 0);
|
||||
62
db/migrations/0122__add_iv_to_columns.js
Normal file
62
db/migrations/0122__add_iv_to_columns.js
Normal file
@@ -0,0 +1,62 @@
|
||||
const sql = require('../../src/services/sql');
|
||||
|
||||
function prependIv(cipherText, ivText) {
|
||||
const arr = ivText.split("").map(c => parseInt(c) || 0);
|
||||
const iv = Buffer.from(arr);
|
||||
const payload = Buffer.from(cipherText, 'base64');
|
||||
const complete = Buffer.concat([iv, payload]);
|
||||
|
||||
return complete.toString('base64');
|
||||
}
|
||||
|
||||
async function updateEncryptedDataKey() {
|
||||
const encryptedDataKey = await sql.getValue("SELECT value FROM options WHERE name = 'encryptedDataKey'");
|
||||
const encryptedDataKeyIv = await sql.getValue("SELECT value FROM options WHERE name = 'encryptedDataKeyIv'");
|
||||
|
||||
const newEncryptedDataKey = prependIv(encryptedDataKey, encryptedDataKeyIv);
|
||||
|
||||
await sql.execute("UPDATE options SET value = ? WHERE name = 'encryptedDataKey'", [newEncryptedDataKey]);
|
||||
|
||||
await sql.execute("DELETE FROM options WHERE name = 'encryptedDataKeyIv'");
|
||||
await sql.execute("DELETE FROM sync WHERE entityName = 'options' AND entityId = 'encryptedDataKeyIv'");
|
||||
}
|
||||
|
||||
async function updateNotes() {
|
||||
const protectedNotes = await sql.getRows("SELECT noteId, title, content FROM notes WHERE isProtected = 1");
|
||||
|
||||
for (const note of protectedNotes) {
|
||||
if (note.title !== null) {
|
||||
note.title = prependIv(note.title, "0" + note.noteId);
|
||||
}
|
||||
|
||||
if (note.content !== null) {
|
||||
note.content = prependIv(note.content, "1" + note.noteId);
|
||||
}
|
||||
|
||||
await sql.execute("UPDATE notes SET title = ?, content = ? WHERE noteId = ?", [note.title, note.content, note.noteId]);
|
||||
}
|
||||
}
|
||||
|
||||
async function updateNoteRevisions() {
|
||||
const protectedNoteRevisions = await sql.getRows("SELECT noteRevisionId, title, content FROM note_revisions WHERE isProtected = 1");
|
||||
|
||||
for (const noteRevision of protectedNoteRevisions) {
|
||||
if (noteRevision.title !== null) {
|
||||
noteRevision.title = prependIv(noteRevision.title, "0" + noteRevision.noteRevisionId);
|
||||
}
|
||||
|
||||
if (noteRevision.content !== null) {
|
||||
noteRevision.content = prependIv(noteRevision.content, "1" + noteRevision.noteRevisionId);
|
||||
}
|
||||
|
||||
await sql.execute("UPDATE note_revisions SET title = ?, content = ? WHERE noteRevisionId = ?", [noteRevision.title, noteRevision.content, noteRevision.noteRevisionId]);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = async () => {
|
||||
await updateEncryptedDataKey();
|
||||
|
||||
await updateNotes();
|
||||
|
||||
await updateNoteRevisions();
|
||||
};
|
||||
8
db/migrations/0123__add_options_for_font_sizes.sql
Normal file
8
db/migrations/0123__add_options_for_font_sizes.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||
VALUES ('mainFontSize', '100', '2019-01-13T18:31:00.874Z', '2019-01-13T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||
VALUES ('treeFontSize', '100', '2019-01-13T18:31:00.874Z', '2019-01-13T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||
VALUES ('detailFontSize', '110', '2019-01-13T18:31:00.874Z', '2019-01-13T18:31:00.874Z', 0);
|
||||
11
db/migrations/0124__readd_font_sizes.sql
Normal file
11
db/migrations/0124__readd_font_sizes.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||
SELECT 'mainFontSize', '100', '2019-01-13T18:31:00.874Z', '2019-01-13T18:31:00.874Z', 0
|
||||
WHERE NOT EXISTS (SELECT 1 FROM options WHERE name = 'mainFontSize');
|
||||
|
||||
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||
SELECT 'treeFontSize', '100', '2019-01-13T18:31:00.874Z', '2019-01-13T18:31:00.874Z', 0
|
||||
WHERE NOT EXISTS (SELECT 1 FROM options WHERE name = 'treeFontSize');
|
||||
|
||||
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||
SELECT 'detailFontSize', '110', '2019-01-13T18:31:00.874Z', '2019-01-13T18:31:00.874Z', 0
|
||||
WHERE NOT EXISTS (SELECT 1 FROM options WHERE name = 'detailFontSize');
|
||||
35
db/migrations/0125__create_note_content_table.sql
Normal file
35
db/migrations/0125__create_note_content_table.sql
Normal file
@@ -0,0 +1,35 @@
|
||||
CREATE TABLE IF NOT EXISTS "note_contents" (
|
||||
`noteContentId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`content` TEXT NULL DEFAULT NULL,
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteContentId`)
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX `IDX_note_contents_noteId` ON `note_contents` (`noteId`);
|
||||
|
||||
INSERT INTO note_contents (noteContentId, noteId, isProtected, content, dateCreated, dateModified)
|
||||
SELECT 'C' || SUBSTR(noteId, 2), noteId, isProtected, content, dateCreated, dateModified FROM notes;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`)
|
||||
);
|
||||
|
||||
INSERT INTO notes_mig (noteId, title, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash)
|
||||
SELECT noteId, title, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash FROM notes;
|
||||
|
||||
DROP TABLE notes;
|
||||
|
||||
ALTER TABLE notes_mig RENAME TO notes;
|
||||
2
db/migrations/0126__fill_sync_for_note_contents.sql
Normal file
2
db/migrations/0126__fill_sync_for_note_contents.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
INSERT OR REPLACE INTO sync (entityName, entityId, sourceId, syncDate)
|
||||
SELECT 'note_contents', noteContentId, '', '2019-03-02T18:07:29.182Z' FROM note_contents;
|
||||
6
db/migrations/0127__fix_inconsistent_isProtected.sql
Normal file
6
db/migrations/0127__fix_inconsistent_isProtected.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
UPDATE notes SET title = 'Recovered protected note', isProtected = 0 WHERE noteId IN (
|
||||
SELECT noteId FROM notes JOIN note_contents USING(noteId)
|
||||
WHERE notes.isProtected = 1
|
||||
AND note_contents.isProtected = 0
|
||||
AND notes.isDeleted = 0
|
||||
)
|
||||
0
db/migrations/0128__add_note_fulltext.sql
Normal file
0
db/migrations/0128__add_note_fulltext.sql
Normal file
1
db/migrations/0129__fill_note_fulltext.js
Normal file
1
db/migrations/0129__fill_note_fulltext.js
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = async () => {};
|
||||
236
db/migrations/0130__rename_dates_to_utc.sql
Normal file
236
db/migrations/0130__rename_dates_to_utc.sql
Normal file
@@ -0,0 +1,236 @@
|
||||
CREATE TABLE IF NOT EXISTS "sync_mig" (
|
||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
`entityName` TEXT NOT NULL,
|
||||
`entityId` TEXT NOT NULL,
|
||||
`sourceId` TEXT NOT NULL,
|
||||
`utcSyncDate` TEXT NOT NULL);
|
||||
|
||||
INSERT INTO sync_mig (id, entityName, entityId, sourceId, utcSyncDate)
|
||||
SELECT id, entityName, entityId, sourceId, REPLACE(syncDate, 'T', ' ') FROM sync;
|
||||
|
||||
DROP TABLE sync;
|
||||
ALTER TABLE sync_mig RENAME TO sync;
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "source_ids_mig" (
|
||||
`sourceId` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
PRIMARY KEY(`sourceId`)
|
||||
);
|
||||
|
||||
INSERT INTO source_ids_mig (sourceId, utcDateCreated)
|
||||
SELECT sourceId, REPLACE(dateCreated, 'T', ' ') FROM source_ids;
|
||||
|
||||
DROP TABLE source_ids;
|
||||
ALTER TABLE source_ids_mig RENAME TO source_ids;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "note_revisions_mig" (
|
||||
`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT,
|
||||
`content` TEXT,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`utcDateModifiedFrom` TEXT NOT NULL,
|
||||
`utcDateModifiedTo` TEXT NOT NULL,
|
||||
`dateModifiedFrom` TEXT NOT NULL,
|
||||
`dateModifiedTo` TEXT NOT NULL,
|
||||
type TEXT DEFAULT '' NOT NULL,
|
||||
mime TEXT DEFAULT '' NOT NULL,
|
||||
hash TEXT DEFAULT "" NOT NULL);
|
||||
|
||||
INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, content, isProtected, utcDateModifiedFrom, utcDateModifiedTo, dateModifiedFrom, dateModifiedTo, type, mime, hash)
|
||||
SELECT noteRevisionId, noteId, title, content, isProtected, REPLACE(dateModifiedFrom, 'T', ' '), REPLACE(dateModifiedTo, 'T', ' '), REPLACE(REPLACE(dateModifiedFrom, 'T', ' '), 'Z', '+0000'), REPLACE(REPLACE(dateModifiedTo, 'T', ' '), 'Z', '+0000'), type, mime, hash FROM note_revisions;
|
||||
|
||||
DROP TABLE note_revisions;
|
||||
ALTER TABLE note_revisions_mig RENAME TO note_revisions;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "api_tokens_mig"
|
||||
(
|
||||
apiTokenId TEXT PRIMARY KEY NOT NULL,
|
||||
token TEXT NOT NULL,
|
||||
utcDateCreated TEXT NOT NULL,
|
||||
isDeleted INT NOT NULL DEFAULT 0,
|
||||
hash TEXT DEFAULT "" NOT NULL);
|
||||
|
||||
INSERT INTO api_tokens_mig (apiTokenId, token, utcDateCreated, isDeleted, hash)
|
||||
SELECT apiTokenId, token, REPLACE(dateCreated, 'T', ' '), isDeleted, hash FROM api_tokens;
|
||||
|
||||
DROP TABLE api_tokens;
|
||||
ALTER TABLE api_tokens_mig RENAME TO api_tokens;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "branches_mig" (
|
||||
`branchId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`parentNoteId` TEXT NOT NULL,
|
||||
`notePosition` INTEGER NOT NULL,
|
||||
`prefix` TEXT,
|
||||
`isExpanded` BOOLEAN,
|
||||
`isDeleted` INTEGER NOT NULL DEFAULT 0,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
utcDateCreated TEXT NOT NULL,
|
||||
hash TEXT DEFAULT "" NOT NULL,
|
||||
PRIMARY KEY(`branchId`)
|
||||
);
|
||||
|
||||
INSERT INTO branches_mig (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated, hash)
|
||||
SELECT branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, REPLACE(dateModified, 'T', ' '), REPLACE(dateCreated, 'T', ' '), hash FROM branches;
|
||||
|
||||
DROP TABLE branches;
|
||||
ALTER TABLE branches_mig RENAME TO branches;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "recent_notes_mig" (
|
||||
`branchId` TEXT NOT NULL PRIMARY KEY,
|
||||
`notePath` TEXT NOT NULL,
|
||||
hash TEXT DEFAULT "" NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
isDeleted INT
|
||||
);
|
||||
|
||||
INSERT INTO recent_notes_mig (branchId, notePath, hash, utcDateCreated, isDeleted)
|
||||
SELECT branchId, notePath, hash, REPLACE(dateCreated, 'T', ' '), isDeleted FROM recent_notes;
|
||||
|
||||
DROP TABLE recent_notes;
|
||||
ALTER TABLE recent_notes_mig RENAME TO recent_notes;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "event_log_mig" (
|
||||
`eventId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT,
|
||||
`comment` TEXT,
|
||||
`utcDateCreated` TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO event_log_mig (eventId, noteId, comment, utcDateCreated)
|
||||
SELECT eventId, noteId, comment, REPLACE(dateCreated, 'T', ' ') FROM event_log;
|
||||
|
||||
DROP TABLE event_log;
|
||||
ALTER TABLE event_log_mig RENAME TO event_log;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "options_mig"
|
||||
(
|
||||
name TEXT not null PRIMARY KEY,
|
||||
value TEXT,
|
||||
isSynced INTEGER default 0 not null,
|
||||
hash TEXT default "" not null,
|
||||
utcDateCreated TEXT not null,
|
||||
utcDateModified TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO options_mig (name, value, isSynced, hash, utcDateCreated, utcDateModified)
|
||||
SELECT name, value, isSynced, hash, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM options;
|
||||
|
||||
DROP TABLE options;
|
||||
ALTER TABLE options_mig RENAME TO options;
|
||||
|
||||
CREATE TABLE attributes_mig
|
||||
(
|
||||
attributeId TEXT not null primary key,
|
||||
noteId TEXT not null,
|
||||
type TEXT not null,
|
||||
name TEXT not null,
|
||||
value TEXT default '' not null,
|
||||
position INT default 0 not null,
|
||||
utcDateCreated TEXT not null,
|
||||
utcDateModified TEXT not null,
|
||||
isDeleted INT not null,
|
||||
hash TEXT default "" not null,
|
||||
isInheritable int DEFAULT 0 NULL);
|
||||
|
||||
INSERT INTO attributes_mig (attributeId, noteId, type, name, value, position, utcDateCreated, utcDateModified, isDeleted, hash, isInheritable)
|
||||
SELECT attributeId, noteId, type, name, value, position, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' '), isDeleted, hash, isInheritable FROM attributes;
|
||||
|
||||
DROP TABLE attributes;
|
||||
ALTER TABLE attributes_mig RENAME TO attributes;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "links_mig" (
|
||||
`linkId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`targetNoteId` TEXT NOT NULL,
|
||||
`type` TEXT NOT NULL,
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INTEGER NOT NULL DEFAULT 0,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`linkId`)
|
||||
);
|
||||
|
||||
INSERT INTO links_mig (linkId, noteId, targetNoteId, type, hash, isDeleted, utcDateCreated, utcDateModified)
|
||||
SELECT linkId, noteId, targetNoteId, type, hash, isDeleted, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM links;
|
||||
|
||||
DROP TABLE links;
|
||||
ALTER TABLE links_mig RENAME TO links;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "note_contents_mig" (
|
||||
`noteContentId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`content` TEXT NULL DEFAULT NULL,
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteContentId`)
|
||||
);
|
||||
|
||||
INSERT INTO note_contents_mig (noteContentId, noteId, isProtected, content, hash, utcDateCreated, utcDateModified)
|
||||
SELECT noteContentId, noteId, isProtected, content, hash, REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM note_contents;
|
||||
|
||||
DROP TABLE note_contents;
|
||||
ALTER TABLE note_contents_mig RENAME TO note_contents;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`)
|
||||
);
|
||||
|
||||
INSERT INTO notes_mig (noteId, title, isProtected, type, mime, hash, isDeleted, dateCreated, dateModified, utcDateCreated, utcDateModified)
|
||||
SELECT noteId, title, isProtected, type, mime, hash, isDeleted, REPLACE(REPLACE(dateCreated, 'T', ' '), 'Z', '+0000'), REPLACE(REPLACE(dateModified, 'T', ' '), 'Z', '+0000'), REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM notes;
|
||||
|
||||
DROP TABLE notes;
|
||||
ALTER TABLE notes_mig RENAME TO notes;
|
||||
|
||||
CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
|
||||
`entityName`,
|
||||
`entityId`
|
||||
);
|
||||
CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` (
|
||||
`utcSyncDate`
|
||||
);
|
||||
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (
|
||||
`noteId`
|
||||
);
|
||||
CREATE INDEX `IDX_note_revisions_dateModifiedFrom` ON `note_revisions` (
|
||||
`utcDateModifiedFrom`
|
||||
);
|
||||
CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` (
|
||||
`utcDateModifiedTo`
|
||||
);
|
||||
CREATE INDEX `IDX_branches_noteId` ON `branches` (
|
||||
`noteId`
|
||||
);
|
||||
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (
|
||||
`noteId`,
|
||||
`parentNoteId`
|
||||
);
|
||||
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
|
||||
CREATE INDEX IDX_attributes_name_value
|
||||
on attributes (name, value);
|
||||
CREATE INDEX IDX_links_noteId_index
|
||||
on links (noteId);
|
||||
CREATE INDEX IDX_links_targetNoteId_index
|
||||
on links (targetNoteId);
|
||||
CREATE INDEX IDX_attributes_name_index
|
||||
on attributes (name);
|
||||
CREATE INDEX IDX_attributes_noteId_index
|
||||
on attributes (noteId);
|
||||
CREATE INDEX IDX_attributes_value_index
|
||||
on attributes (value);
|
||||
CREATE UNIQUE INDEX `IDX_note_contents_noteId` ON `note_contents` (`noteId`);
|
||||
13
db/migrations/0131__cleanup_note_contents.sql
Normal file
13
db/migrations/0131__cleanup_note_contents.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE IF NOT EXISTS "note_contents_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`content` TEXT NULL DEFAULT NULL,
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`)
|
||||
);
|
||||
|
||||
INSERT INTO note_contents_mig (noteId, content, hash, utcDateModified)
|
||||
SELECT noteId, content, hash, utcDateModified FROM note_contents;
|
||||
|
||||
DROP TABLE note_contents;
|
||||
ALTER TABLE note_contents_mig RENAME TO note_contents;
|
||||
5
db/migrations/0132__fill_sync.js
Normal file
5
db/migrations/0132__fill_sync.js
Normal file
@@ -0,0 +1,5 @@
|
||||
const syncTableService = require('../../src/services/entity_changes.js');
|
||||
|
||||
module.exports = async () => {
|
||||
await syncTableService.fillAllSyncRows();
|
||||
};
|
||||
1
db/migrations/0133__drop_note_fulltext.sql
Normal file
1
db/migrations/0133__drop_note_fulltext.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP TABLE IF EXISTS note_fulltext;
|
||||
4
db/migrations/0134__create_openTabs_option.sql
Normal file
4
db/migrations/0134__create_openTabs_option.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
SELECT 'openTabs', '[{"notePath":"' || value || '","active": true,"tabId":"1111"}]', '2019-05-01T18:31:00.874Z', '2019-05-01T18:31:00.874Z', 0 FROM options WHERE name = 'startNotePath';
|
||||
|
||||
DELETE FROM options WHERE name = 'startNotePath';
|
||||
2
db/migrations/0135__add_hideTabRowForOneTab_option.sql
Normal file
2
db/migrations/0135__add_hideTabRowForOneTab_option.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('hideTabRowForOneTab', 'false', '2019-05-01T18:31:00.874Z', '2019-05-01T18:31:00.874Z', 0);
|
||||
12
db/migrations/0136__update_recent_notes.sql
Normal file
12
db/migrations/0136__update_recent_notes.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
drop table recent_notes;
|
||||
|
||||
create table recent_notes
|
||||
(
|
||||
noteId TEXT not null primary key,
|
||||
notePath TEXT not null,
|
||||
hash TEXT default "" not null,
|
||||
utcDateCreated TEXT not null,
|
||||
isDeleted INT
|
||||
);
|
||||
|
||||
delete from sync where entityName = 'recent_notes';
|
||||
10
db/migrations/0137__links_to_attributes.sql
Normal file
10
db/migrations/0137__links_to_attributes.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
UPDATE links SET type = 'internal-link' WHERE type = 'hyper';
|
||||
UPDATE links SET type = 'image-link' WHERE type = 'image';
|
||||
UPDATE links SET type = 'relation-map-link' WHERE type = 'relation-map';
|
||||
|
||||
INSERT INTO attributes (attributeId, noteId, type, name, value, position, utcDateCreated, utcDateModified, isDeleted, hash, isInheritable)
|
||||
SELECT linkId, noteId, 'relation', type, targetNoteId, 0, utcDateCreated, utcDateModified, isDeleted, hash, 0 FROM links;
|
||||
|
||||
UPDATE sync SET entityName = 'attributes' WHERE entityName = 'links';
|
||||
|
||||
DROP TABLE links;
|
||||
5
db/migrations/0138__sidebar_sizing.sql
Normal file
5
db/migrations/0138__sidebar_sizing.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('sidebarMinWidth', '350', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('sidebarWidthPercent', '25', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
2
db/migrations/0139__show_sidebar_in_new_tab.sql
Normal file
2
db/migrations/0139__show_sidebar_in_new_tab.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('showSidebarInNewTab', 'true', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
14
db/migrations/0140__widget_config.sql
Normal file
14
db/migrations/0140__widget_config.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('noteInfoWidget', '{"enabled":true,"expanded":true,"position":100}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('attributesWidget', '{"enabled":true,"expanded":true,"position":200}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('linkMapWidget', '{"enabled":true,"expanded":true,"position":300}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('noteRevisionsWidget', '{"enabled":true,"expanded":true,"position":400}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('whatLinksHereWidget', '{"enabled":false,"expanded":true,"position":500}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
5
db/migrations/0141__add_code_note_mime_types.sql
Normal file
5
db/migrations/0141__add_code_note_mime_types.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('codeNotesMimeTypes', '["text/x-csrc","text/x-c++src","text/x-csharp","text/css","text/x-go","text/x-groovy","text/x-haskell","text/html","message/http","text/x-java","application/javascript;env=frontend","application/javascript;env=backend","application/json","text/x-kotlin","text/x-markdown","text/x-perl","text/x-php","text/x-python","text/x-ruby",null,"text/x-sql","text/x-swift","text/xml","text/x-yaml"]', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 1);
|
||||
|
||||
INSERT INTO sync (entityName, entityId, sourceId, utcSyncDate)
|
||||
VALUES ('options' ,'codeNotesMimeTypes', 'SYNC_FILL', '2018-01-01T00:00:00.000Z');
|
||||
2
db/migrations/0142__similar_notes_widget.sql
Normal file
2
db/migrations/0142__similar_notes_widget.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('similarNotesWidget', '{"enabled":true,"expanded":true,"position":600}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
1
db/migrations/0143__drop_event_log.sql
Normal file
1
db/migrations/0143__drop_event_log.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP TABLE event_log;
|
||||
2
db/migrations/0144__edited_notes_widget.sql
Normal file
2
db/migrations/0144__edited_notes_widget.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('editedNotesWidget', '{"enabled":true,"expanded":true,"position":50}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
2
db/migrations/0145__calendar_widget.sql
Normal file
2
db/migrations/0145__calendar_widget.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('calendarWidget', '{"enabled":true,"expanded":true,"position":20}', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
5
db/migrations/0146__add_spell_check_options.sql
Normal file
5
db/migrations/0146__add_spell_check_options.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('spellCheckEnabled', 'true', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
VALUES ('spellCheckLanguageCode', 'en-US', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||
@@ -0,0 +1,3 @@
|
||||
INSERT INTO options (name, value, utcDateCreated, utcDateModified, isSynced)
|
||||
SELECT 'hideTabRowForOneTab', 'false', '2019-05-01T18:31:00.874Z', '2019-05-01T18:31:00.874Z', 0
|
||||
WHERE NOT EXISTS(SELECT 1 FROM options WHERE name = 'hideTabRowForOneTab');
|
||||
22
db/migrations/0148__make_isExpanded_not_null.sql
Normal file
22
db/migrations/0148__make_isExpanded_not_null.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
CREATE TABLE IF NOT EXISTS "mig_branches" (
|
||||
`branchId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`parentNoteId` TEXT NOT NULL,
|
||||
`notePosition` INTEGER NOT NULL,
|
||||
`prefix` TEXT,
|
||||
`isExpanded` INTEGER NOT NULL DEFAULT 0,
|
||||
`isDeleted` INTEGER NOT NULL DEFAULT 0,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
utcDateCreated TEXT NOT NULL,
|
||||
hash TEXT DEFAULT "" NOT NULL,
|
||||
PRIMARY KEY(`branchId`));
|
||||
|
||||
INSERT INTO mig_branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated, hash)
|
||||
SELECT branchId, noteId, parentNoteId, notePosition, prefix, COALESCE(isExpanded, 0), isDeleted, utcDateModified, utcDateCreated, hash FROM branches;
|
||||
|
||||
DROP TABLE branches;
|
||||
ALTER TABLE mig_branches RENAME TO branches;
|
||||
|
||||
CREATE INDEX `IDX_branches_noteId` ON `branches` (`noteId`);
|
||||
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`);
|
||||
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
|
||||
2
db/migrations/0149__space_out_positions.sql
Normal file
2
db/migrations/0149__space_out_positions.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
UPDATE branches SET notePosition = notePosition * 10;
|
||||
UPDATE attributes SET position = position * 10;
|
||||
36
db/migrations/0150__note_revision_contents.sql
Normal file
36
db/migrations/0150__note_revision_contents.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
CREATE TABLE IF NOT EXISTS "note_revisions_mig" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT,
|
||||
`contentLength` INT NOT NULL,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`utcDateLastEdited` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
`dateLastEdited` TEXT NOT NULL,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
type TEXT DEFAULT '' NOT NULL,
|
||||
mime TEXT DEFAULT '' NOT NULL,
|
||||
hash TEXT DEFAULT '' NOT NULL);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "note_revision_contents" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`content` TEXT,
|
||||
hash TEXT DEFAULT '' NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL);
|
||||
|
||||
INSERT INTO note_revision_contents (noteRevisionId, content, hash, utcDateModified)
|
||||
SELECT noteRevisionId, content, hash, utcDateModifiedTo FROM note_revisions;
|
||||
|
||||
INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, contentLength, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash)
|
||||
SELECT noteRevisionId, noteId, title, COALESCE(LENGTH(content), 0), isProtected, utcDateModifiedFrom, utcDateModifiedTo, utcDateModifiedTo, dateModifiedFrom, dateModifiedTo, type, mime, hash FROM note_revisions;
|
||||
|
||||
DROP TABLE note_revisions;
|
||||
ALTER TABLE note_revisions_mig RENAME TO note_revisions;
|
||||
|
||||
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`);
|
||||
CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`);
|
||||
|
||||
INSERT INTO sync (entityName, entityId, sourceId, utcSyncDate)
|
||||
SELECT 'note_revision_contents', entityId, sourceId, utcSyncDate FROM sync WHERE entityName = 'note_revisions';
|
||||
31
db/migrations/0151__add_isErased_to_note.sql
Normal file
31
db/migrations/0151__add_isErased_to_note.sql
Normal file
@@ -0,0 +1,31 @@
|
||||
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`));
|
||||
|
||||
INSERT INTO notes_mig (noteId, title, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified)
|
||||
SELECT noteId, title, isProtected, type, mime, hash, isDeleted, 0, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes;
|
||||
|
||||
DROP TABLE notes;
|
||||
ALTER TABLE notes_mig RENAME TO notes;
|
||||
|
||||
UPDATE notes SET isErased = 1 WHERE isDeleted = 1
|
||||
AND 1=(SELECT CASE WHEN content IS NULL THEN 1 ELSE 0 END FROM note_contents WHERE note_contents.noteId = notes.noteId);
|
||||
|
||||
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`);
|
||||
CREATE INDEX `IDX_notes_title` ON `notes` (`title`);
|
||||
CREATE INDEX `IDX_notes_type` ON `notes` (`type`);
|
||||
CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`);
|
||||
CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`);
|
||||
34
db/migrations/0152__add_contentLength_to_note.sql
Normal file
34
db/migrations/0152__add_contentLength_to_note.sql
Normal file
@@ -0,0 +1,34 @@
|
||||
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`contentLength` INT NOT NULL,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`));
|
||||
|
||||
INSERT INTO notes_mig (noteId, title, contentLength, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified)
|
||||
SELECT noteId, title, -1, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes;
|
||||
|
||||
DROP TABLE notes;
|
||||
ALTER TABLE notes_mig RENAME TO notes;
|
||||
|
||||
UPDATE notes SET contentLength = COALESCE((SELECT COALESCE(LENGTH(content), 0) FROM note_contents WHERE note_contents.noteId = notes.noteId), -1);
|
||||
|
||||
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`);
|
||||
CREATE INDEX `IDX_notes_title` ON `notes` (`title`);
|
||||
CREATE INDEX `IDX_notes_type` ON `notes` (`type`);
|
||||
CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`);
|
||||
CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`);
|
||||
|
||||
-- should be OK since sync protocol changes so all instances must upgrade
|
||||
UPDATE attributes SET isDeleted = 1 WHERE name = 'fileSize';
|
||||
28
db/migrations/0153__add_isErased_to_note_revision.sql
Normal file
28
db/migrations/0153__add_isErased_to_note_revision.sql
Normal file
@@ -0,0 +1,28 @@
|
||||
CREATE TABLE IF NOT EXISTS "note_revisions_mig" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT,
|
||||
`contentLength` INT NOT NULL,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`utcDateLastEdited` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
`dateLastEdited` TEXT NOT NULL,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
type TEXT DEFAULT '' NOT NULL,
|
||||
mime TEXT DEFAULT '' NOT NULL,
|
||||
hash TEXT DEFAULT '' NOT NULL);
|
||||
|
||||
INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, contentLength, isErased, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash)
|
||||
SELECT noteRevisionId, noteId, title, contentLength, 0, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash FROM note_revisions;
|
||||
|
||||
DROP TABLE note_revisions;
|
||||
ALTER TABLE note_revisions_mig RENAME TO note_revisions;
|
||||
|
||||
UPDATE note_revisions SET isErased = (SELECT isErased FROM notes WHERE notes.noteId = note_revisions.noteId);
|
||||
|
||||
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`);
|
||||
CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`);
|
||||
@@ -0,0 +1,3 @@
|
||||
UPDATE attributes SET name = 'internalLink' WHERE name = 'internal-link';
|
||||
UPDATE attributes SET name = 'imageLink' WHERE name = 'image-link';
|
||||
UPDATE attributes SET name = 'relationMapLink' WHERE name = 'relation-map-link';
|
||||
5
db/migrations/0155__indexes.sql
Normal file
5
db/migrations/0155__indexes.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
DROP INDEX IF EXISTS IDX_attributes_name_index;
|
||||
DROP INDEX IF EXISTS IDX_branches_noteId;
|
||||
|
||||
CREATE INDEX IDX_source_ids_utcDateCreated
|
||||
on source_ids (utcDateCreated);
|
||||
81
db/migrations/0156__add_deleteId.sql
Normal file
81
db/migrations/0156__add_deleteId.sql
Normal file
@@ -0,0 +1,81 @@
|
||||
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`contentLength` INT NOT NULL,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`deleteId` TEXT DEFAULT NULL,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`));
|
||||
|
||||
INSERT INTO notes_mig (noteId, title, contentLength, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified)
|
||||
SELECT noteId, title, -1, isProtected, type, mime, hash, isDeleted, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes;
|
||||
|
||||
DROP TABLE notes;
|
||||
ALTER TABLE notes_mig RENAME TO notes;
|
||||
|
||||
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`);
|
||||
CREATE INDEX `IDX_notes_title` ON `notes` (`title`);
|
||||
CREATE INDEX `IDX_notes_type` ON `notes` (`type`);
|
||||
CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`);
|
||||
CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "branches_mig" (
|
||||
`branchId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`parentNoteId` TEXT NOT NULL,
|
||||
`notePosition` INTEGER NOT NULL,
|
||||
`prefix` TEXT,
|
||||
`isExpanded` INTEGER NOT NULL DEFAULT 0,
|
||||
`isDeleted` INTEGER NOT NULL DEFAULT 0,
|
||||
`deleteId` TEXT DEFAULT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
utcDateCreated TEXT NOT NULL,
|
||||
hash TEXT DEFAULT "" NOT NULL,
|
||||
PRIMARY KEY(`branchId`));
|
||||
|
||||
INSERT INTO branches_mig (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated, hash)
|
||||
SELECT branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, utcDateModified, utcDateCreated, hash FROM branches;
|
||||
|
||||
DROP TABLE branches;
|
||||
ALTER TABLE branches_mig RENAME TO branches;
|
||||
|
||||
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`);
|
||||
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "attributes_mig"
|
||||
(
|
||||
attributeId TEXT not null primary key,
|
||||
noteId TEXT not null,
|
||||
type TEXT not null,
|
||||
name TEXT not null,
|
||||
value TEXT default '' not null,
|
||||
position INT default 0 not null,
|
||||
utcDateCreated TEXT not null,
|
||||
utcDateModified TEXT not null,
|
||||
isDeleted INT not null,
|
||||
`deleteId` TEXT DEFAULT NULL,
|
||||
hash TEXT default "" not null,
|
||||
isInheritable int DEFAULT 0 NULL);
|
||||
|
||||
INSERT INTO attributes_mig (attributeId, noteId, type, name, value, position, utcDateCreated, utcDateModified, isDeleted, hash, isInheritable)
|
||||
SELECT attributeId, noteId, type, name, value, position, utcDateCreated, utcDateModified, isDeleted, hash, isInheritable FROM attributes;
|
||||
|
||||
DROP TABLE attributes;
|
||||
ALTER TABLE attributes_mig RENAME TO attributes;
|
||||
|
||||
CREATE INDEX IDX_attributes_name_value
|
||||
on attributes (name, value);
|
||||
CREATE INDEX IDX_attributes_noteId_index
|
||||
on attributes (noteId);
|
||||
CREATE INDEX IDX_attributes_value_index
|
||||
on attributes (value);
|
||||
1
db/migrations/0157__fix_contentLength.sql
Normal file
1
db/migrations/0157__fix_contentLength.sql
Normal file
@@ -0,0 +1 @@
|
||||
UPDATE notes SET contentLength = COALESCE((SELECT COALESCE(LENGTH(content), 0) FROM note_contents WHERE note_contents.noteId = notes.noteId), -1);
|
||||
22
db/migrations/0158__add_isSynced_to_sync.sql
Normal file
22
db/migrations/0158__add_isSynced_to_sync.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
CREATE TABLE IF NOT EXISTS "sync_mig" (
|
||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
`entityName` TEXT NOT NULL,
|
||||
`entityId` TEXT NOT NULL,
|
||||
`sourceId` TEXT NOT NULL,
|
||||
`isSynced` INTEGER default 0 not null,
|
||||
`utcSyncDate` TEXT NOT NULL);
|
||||
|
||||
INSERT INTO sync_mig (id, entityName, entityId, sourceId, isSynced, utcSyncDate)
|
||||
SELECT id, entityName, entityId, sourceId, 1, utcSyncDate FROM sync;
|
||||
|
||||
DROP TABLE sync;
|
||||
|
||||
ALTER TABLE sync_mig RENAME TO sync;
|
||||
|
||||
CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
|
||||
`entityName`,
|
||||
`entityId`
|
||||
);
|
||||
CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` (
|
||||
`utcSyncDate`
|
||||
);
|
||||
4
db/migrations/0159__fix_isSynced_in_sync_rows.sql
Normal file
4
db/migrations/0159__fix_isSynced_in_sync_rows.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
UPDATE sync SET isSynced = 1 WHERE entityName != 'options' OR (
|
||||
entityName = 'options'
|
||||
AND 1 = (SELECT isSynced FROM options WHERE name = sync.entityId)
|
||||
)
|
||||
2
db/migrations/0160__migrate_attr_definitions.sql
Normal file
2
db/migrations/0160__migrate_attr_definitions.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
UPDATE attributes SET type = 'label', name = 'label:' || name WHERE type = 'label-definition';
|
||||
UPDATE attributes SET type = 'label', name = 'relation:' || name WHERE type = 'relation-definition';
|
||||
79
db/migrations/0161__attr_def_short.js
Normal file
79
db/migrations/0161__attr_def_short.js
Normal file
@@ -0,0 +1,79 @@
|
||||
const sql = require('../../src/services/sql');
|
||||
|
||||
module.exports = () => {
|
||||
for (const attr of sql.getRows("SELECT * FROM attributes WHERE name LIKE 'label:%'")) {
|
||||
let obj;
|
||||
|
||||
try {
|
||||
obj = JSON.parse(attr.value);
|
||||
}
|
||||
catch (e) {
|
||||
console.log(`Parsing attribute definition "${attr.value}" of ${attr.attributeId} failed with error "${e.message}", setting to default value.`);
|
||||
|
||||
sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?',
|
||||
["multi,text", attr.attributeId]);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
const tokens = [];
|
||||
|
||||
if (obj.isPromoted) {
|
||||
tokens.push('promoted');
|
||||
}
|
||||
|
||||
if (obj.multiplicityType === 'singlevalue') {
|
||||
tokens.push('single');
|
||||
} else if (obj.multiplicityType === 'multivalue') {
|
||||
tokens.push('multi');
|
||||
}
|
||||
|
||||
if (obj.labelType) {
|
||||
tokens.push(obj.labelType);
|
||||
}
|
||||
|
||||
if (obj.numberPrecision) {
|
||||
tokens.push('precision='+obj.numberPrecision);
|
||||
}
|
||||
|
||||
const newValue = tokens.join(',');
|
||||
|
||||
sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?', [newValue, attr.attributeId]);
|
||||
}
|
||||
|
||||
for (const attr of sql.getRows("SELECT * FROM attributes WHERE name LIKE 'relation:%'")) {
|
||||
let obj;
|
||||
|
||||
try {
|
||||
obj = JSON.parse(attr.value);
|
||||
}
|
||||
catch (e) {
|
||||
console.log(`Parsing attribute definition "${attr.value}" of ${attr.attributeId} failed with error "${e.message}", setting to default value.`);
|
||||
|
||||
sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?',
|
||||
["multi", attr.attributeId]);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
const tokens = [];
|
||||
|
||||
if (obj.isPromoted) {
|
||||
tokens.push('promoted');
|
||||
}
|
||||
|
||||
if (obj.multiplicityType === 'singlevalue') {
|
||||
tokens.push('single');
|
||||
} else if (obj.multiplicityType === 'multivalue') {
|
||||
tokens.push('multi');
|
||||
}
|
||||
|
||||
if (obj.inverseRelation) {
|
||||
tokens.push('inverse=' + obj.inverseRelation);
|
||||
}
|
||||
|
||||
const newValue = tokens.join(',');
|
||||
|
||||
sql.execute('UPDATE attributes SET value = ? WHERE attributeId = ?', [newValue, attr.attributeId]);
|
||||
}
|
||||
};
|
||||
1
db/migrations/0162__drop_source_ids.sql
Normal file
1
db/migrations/0162__drop_source_ids.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP TABLE source_ids;
|
||||
1
db/migrations/0163__rename_sync_to_entity_changes.sql
Normal file
1
db/migrations/0163__rename_sync_to_entity_changes.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE sync RENAME TO entity_changes;
|
||||
22
db/migrations/0164__rename_utcSyncDate.sql
Normal file
22
db/migrations/0164__rename_utcSyncDate.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
CREATE TABLE IF NOT EXISTS "mig_entity_changes" (
|
||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
`entityName` TEXT NOT NULL,
|
||||
`entityId` TEXT NOT NULL,
|
||||
`sourceId` TEXT NOT NULL,
|
||||
`isSynced` INTEGER default 0 not null,
|
||||
`utcChangedDate` TEXT NOT NULL);
|
||||
|
||||
INSERT INTO mig_entity_changes (id, entityName, entityId, sourceId, isSynced, utcChangedDate)
|
||||
SELECT id, entityName, entityId, sourceId, isSynced, utcSyncDate FROM entity_changes;
|
||||
|
||||
DROP TABLE entity_changes;
|
||||
|
||||
ALTER TABLE mig_entity_changes RENAME TO entity_changes;
|
||||
|
||||
CREATE UNIQUE INDEX `IDX_entityChanges_entityName_entityId` ON "entity_changes" (
|
||||
`entityName`,
|
||||
`entityId`
|
||||
);
|
||||
CREATE INDEX `IDX_entityChanges_utcChangedDate` ON "entity_changes" (
|
||||
`utcChangedDate`
|
||||
);
|
||||
55
db/migrations/0165__move_contentLength.sql
Normal file
55
db/migrations/0165__move_contentLength.sql
Normal file
@@ -0,0 +1,55 @@
|
||||
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`deleteId` TEXT DEFAULT NULL,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`));
|
||||
|
||||
INSERT INTO notes_mig (noteId, title, isProtected, type, mime, hash, isDeleted, deleteId, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified)
|
||||
SELECT noteId, title, isProtected, type, mime, hash, isDeleted, deleteId, isErased, dateCreated, dateModified, utcDateCreated, utcDateModified FROM notes;
|
||||
|
||||
DROP TABLE notes;
|
||||
ALTER TABLE notes_mig RENAME TO notes;
|
||||
|
||||
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`);
|
||||
CREATE INDEX `IDX_notes_title` ON `notes` (`title`);
|
||||
CREATE INDEX `IDX_notes_type` ON `notes` (`type`);
|
||||
CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`);
|
||||
CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "note_revisions_mig" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`utcDateLastEdited` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
`dateLastEdited` TEXT NOT NULL,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
type TEXT DEFAULT '' NOT NULL,
|
||||
mime TEXT DEFAULT '' NOT NULL,
|
||||
hash TEXT DEFAULT '' NOT NULL);
|
||||
|
||||
INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, isErased, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash)
|
||||
SELECT noteRevisionId, noteId, title, isErased, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, type, mime, hash FROM note_revisions;
|
||||
|
||||
DROP TABLE note_revisions;
|
||||
ALTER TABLE note_revisions_mig RENAME TO note_revisions;
|
||||
|
||||
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`);
|
||||
CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`);
|
||||
20
db/migrations/0166__add_dateModified_to_note_content.sql
Normal file
20
db/migrations/0166__add_dateModified_to_note_content.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
CREATE TABLE IF NOT EXISTS "note_contents_mig" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`content` TEXT NULL DEFAULT NULL,
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`)
|
||||
);
|
||||
|
||||
INSERT INTO note_contents_mig (noteId, content, hash, dateModified, utcDateModified)
|
||||
SELECT noteId,
|
||||
content,
|
||||
hash,
|
||||
COALESCE((SELECT dateModified FROM notes WHERE noteId = note_contents.noteId), utcDateModified),
|
||||
utcDateModified
|
||||
FROM note_contents;
|
||||
|
||||
DROP TABLE note_contents;
|
||||
|
||||
ALTER TABLE note_contents_mig RENAME TO note_contents;
|
||||
1
db/migrations/0167__remove_activateParentNote.sql
Normal file
1
db/migrations/0167__remove_activateParentNote.sql
Normal file
@@ -0,0 +1 @@
|
||||
DELETE FROM options WHERE name = 'keyboardShortcutsActivateParentNote';
|
||||
@@ -0,0 +1 @@
|
||||
UPDATE attributes SET name = 'archived' WHERE name = 'hideInAutocomplete';
|
||||
20
db/migrations/0169__convert_h1_to_h2.js
Normal file
20
db/migrations/0169__convert_h1_to_h2.js
Normal file
@@ -0,0 +1,20 @@
|
||||
const repository = require('../../src/services/repository');
|
||||
|
||||
module.exports = () => {
|
||||
for (const note of repository.getEntities("SELECT * FROM notes WHERE type = 'text' AND isProtected = 0")) {
|
||||
try {
|
||||
let origContent = note.getContent();
|
||||
|
||||
const newContent = origContent
|
||||
.replace(/<h1/ig, "<h2")
|
||||
.replace(/<\/h1/ig, "</h2");
|
||||
|
||||
if (newContent !== origContent) {
|
||||
note.setContent(newContent);
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
console.log(`Changing note content for note ${note.noteId} failed with: ${e.message} ${e.stack}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
14
db/migrations/0170__fix_branch_ordering.js
Normal file
14
db/migrations/0170__fix_branch_ordering.js
Normal file
@@ -0,0 +1,14 @@
|
||||
const repository = require('../../src/services/repository');
|
||||
const sql = require('../../src/services/sql');
|
||||
|
||||
module.exports = () => {
|
||||
for (const note of repository.getEntities("SELECT * FROM notes")) {
|
||||
let position = 0;
|
||||
|
||||
for (const branch of note.getChildBranches()) {
|
||||
sql.execute(`UPDATE branches SET notePosition = ? WHERE branchId = ?`, [position, branch.branchId]);
|
||||
|
||||
position += 10;
|
||||
}
|
||||
}
|
||||
};
|
||||
227
db/schema.sql
227
db/schema.sql
@@ -1,132 +1,125 @@
|
||||
CREATE TABLE IF NOT EXISTS "sync" (
|
||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
`entityName` TEXT NOT NULL,
|
||||
`entityId` TEXT NOT NULL,
|
||||
`sourceId` TEXT NOT NULL,
|
||||
`syncDate` TEXT NOT NULL);
|
||||
CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
|
||||
`entityName`,
|
||||
`entityId`
|
||||
);
|
||||
CREATE INDEX `IDX_sync_syncDate` ON `sync` (
|
||||
`syncDate`
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "source_ids" (
|
||||
`sourceId` TEXT NOT NULL,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
PRIMARY KEY(`sourceId`)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "note_revisions" (
|
||||
`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT,
|
||||
`content` TEXT,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`dateModifiedFrom` TEXT NOT NULL,
|
||||
`dateModifiedTo` TEXT NOT NULL
|
||||
, type TEXT DEFAULT '' NOT NULL, mime TEXT DEFAULT '' NOT NULL, hash TEXT DEFAULT "" NOT NULL);
|
||||
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (
|
||||
`noteId`
|
||||
);
|
||||
CREATE INDEX `IDX_note_revisions_dateModifiedFrom` ON `note_revisions` (
|
||||
`dateModifiedFrom`
|
||||
);
|
||||
CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` (
|
||||
`dateModifiedTo`
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "api_tokens"
|
||||
(
|
||||
apiTokenId TEXT PRIMARY KEY NOT NULL,
|
||||
token TEXT NOT NULL,
|
||||
dateCreated TEXT NOT NULL,
|
||||
isDeleted INT NOT NULL DEFAULT 0
|
||||
, hash TEXT DEFAULT "" NOT NULL);
|
||||
CREATE TABLE IF NOT EXISTS "branches" (
|
||||
`branchId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`parentNoteId` TEXT NOT NULL,
|
||||
`notePosition` INTEGER NOT NULL,
|
||||
`prefix` TEXT,
|
||||
`isExpanded` BOOLEAN,
|
||||
`isDeleted` INTEGER NOT NULL DEFAULT 0,
|
||||
`dateModified` TEXT NOT NULL, hash TEXT DEFAULT "" NOT NULL, dateCreated TEXT NOT NULL DEFAULT '1970-01-01T00:00:00.000Z',
|
||||
PRIMARY KEY(`branchId`)
|
||||
);
|
||||
CREATE INDEX `IDX_branches_noteId` ON `branches` (
|
||||
`noteId`
|
||||
);
|
||||
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (
|
||||
`noteId`,
|
||||
`parentNoteId`
|
||||
);
|
||||
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
|
||||
CREATE TABLE IF NOT EXISTS "recent_notes" (
|
||||
`branchId` TEXT NOT NULL PRIMARY KEY,
|
||||
`notePath` TEXT NOT NULL,
|
||||
hash TEXT DEFAULT "" NOT NULL,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
isDeleted INT
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "event_log" (
|
||||
`eventId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT,
|
||||
`comment` TEXT,
|
||||
`dateCreated` TEXT NOT NULL
|
||||
);
|
||||
utcDateCreated TEXT NOT NULL,
|
||||
isDeleted INT NOT NULL DEFAULT 0,
|
||||
hash TEXT DEFAULT "" NOT NULL);
|
||||
CREATE TABLE IF NOT EXISTS "options"
|
||||
(
|
||||
name TEXT not null PRIMARY KEY,
|
||||
value TEXT,
|
||||
dateModified INT,
|
||||
isSynced INTEGER default 0 not null,
|
||||
hash TEXT default "" not null,
|
||||
dateCreated TEXT default '1970-01-01T00:00:00.000Z' not null
|
||||
utcDateCreated TEXT not null,
|
||||
utcDateModified TEXT NOT NULL
|
||||
);
|
||||
CREATE TABLE attributes
|
||||
CREATE TABLE recent_notes
|
||||
(
|
||||
attributeId TEXT not null primary key,
|
||||
noteId TEXT not null,
|
||||
type TEXT not null,
|
||||
name TEXT not null,
|
||||
value TEXT default '' not null,
|
||||
position INT default 0 not null,
|
||||
dateCreated TEXT not null,
|
||||
dateModified TEXT not null,
|
||||
isDeleted INT not null,
|
||||
hash TEXT default "" not null, isInheritable int DEFAULT 0 NULL);
|
||||
noteId TEXT not null primary key,
|
||||
notePath TEXT not null,
|
||||
hash TEXT default "" not null,
|
||||
utcDateCreated TEXT not null,
|
||||
isDeleted INT
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "note_revision_contents" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`content` TEXT,
|
||||
hash TEXT DEFAULT '' NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL);
|
||||
CREATE TABLE IF NOT EXISTS "branches" (
|
||||
`branchId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`parentNoteId` TEXT NOT NULL,
|
||||
`notePosition` INTEGER NOT NULL,
|
||||
`prefix` TEXT,
|
||||
`isExpanded` INTEGER NOT NULL DEFAULT 0,
|
||||
`isDeleted` INTEGER NOT NULL DEFAULT 0,
|
||||
`deleteId` TEXT DEFAULT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
utcDateCreated TEXT NOT NULL,
|
||||
hash TEXT DEFAULT "" NOT NULL,
|
||||
PRIMARY KEY(`branchId`));
|
||||
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`);
|
||||
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
|
||||
CREATE TABLE IF NOT EXISTS "attributes"
|
||||
(
|
||||
attributeId TEXT not null primary key,
|
||||
noteId TEXT not null,
|
||||
type TEXT not null,
|
||||
name TEXT not null,
|
||||
value TEXT default '' not null,
|
||||
position INT default 0 not null,
|
||||
utcDateCreated TEXT not null,
|
||||
utcDateModified TEXT not null,
|
||||
isDeleted INT not null,
|
||||
`deleteId` TEXT DEFAULT NULL,
|
||||
hash TEXT default "" not null,
|
||||
isInheritable int DEFAULT 0 NULL);
|
||||
CREATE INDEX IDX_attributes_name_value
|
||||
on attributes (name, value);
|
||||
CREATE TABLE IF NOT EXISTS "notes" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`content` TEXT NULL DEFAULT NULL,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "links" (
|
||||
`linkId` TEXT NOT NULL,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`targetNoteId` TEXT NOT NULL,
|
||||
`type` TEXT NOT NULL,
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INTEGER NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`linkId`)
|
||||
);
|
||||
CREATE INDEX IDX_links_noteId_index
|
||||
on links (noteId);
|
||||
CREATE INDEX IDX_links_targetNoteId_index
|
||||
on links (targetNoteId);
|
||||
CREATE INDEX IDX_attributes_name_index
|
||||
on attributes (name);
|
||||
on attributes (name, value);
|
||||
CREATE INDEX IDX_attributes_noteId_index
|
||||
on attributes (noteId);
|
||||
on attributes (noteId);
|
||||
CREATE INDEX IDX_attributes_value_index
|
||||
on attributes (value);
|
||||
on attributes (value);
|
||||
CREATE TABLE IF NOT EXISTS "entity_changes" (
|
||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
`entityName` TEXT NOT NULL,
|
||||
`entityId` TEXT NOT NULL,
|
||||
`sourceId` TEXT NOT NULL,
|
||||
`isSynced` INTEGER default 0 not null,
|
||||
`utcChangedDate` TEXT NOT NULL);
|
||||
CREATE UNIQUE INDEX `IDX_entityChanges_entityName_entityId` ON "entity_changes" (
|
||||
`entityName`,
|
||||
`entityId`
|
||||
);
|
||||
CREATE INDEX `IDX_entityChanges_utcChangedDate` ON "entity_changes" (
|
||||
`utcChangedDate`
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "notes" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT NOT NULL DEFAULT "note",
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`type` TEXT NOT NULL DEFAULT 'text',
|
||||
`mime` TEXT NOT NULL DEFAULT 'text/html',
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||
`deleteId` TEXT DEFAULT NULL,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`));
|
||||
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`);
|
||||
CREATE INDEX `IDX_notes_title` ON `notes` (`title`);
|
||||
CREATE INDEX `IDX_notes_type` ON `notes` (`type`);
|
||||
CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`);
|
||||
CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`);
|
||||
CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`);
|
||||
CREATE TABLE IF NOT EXISTS "note_revisions" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
|
||||
`noteId` TEXT NOT NULL,
|
||||
`title` TEXT,
|
||||
`isErased` INT NOT NULL DEFAULT 0,
|
||||
`isProtected` INT NOT NULL DEFAULT 0,
|
||||
`utcDateLastEdited` TEXT NOT NULL,
|
||||
`utcDateCreated` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
`dateLastEdited` TEXT NOT NULL,
|
||||
`dateCreated` TEXT NOT NULL,
|
||||
type TEXT DEFAULT '' NOT NULL,
|
||||
mime TEXT DEFAULT '' NOT NULL,
|
||||
hash TEXT DEFAULT '' NOT NULL);
|
||||
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`);
|
||||
CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`);
|
||||
CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`);
|
||||
CREATE TABLE IF NOT EXISTS "note_contents" (
|
||||
`noteId` TEXT NOT NULL,
|
||||
`content` TEXT NULL DEFAULT NULL,
|
||||
`hash` TEXT DEFAULT "" NOT NULL,
|
||||
`dateModified` TEXT NOT NULL,
|
||||
`utcDateModified` TEXT NOT NULL,
|
||||
PRIMARY KEY(`noteId`)
|
||||
);
|
||||
|
||||
17
docker-compose.yml
Normal file
17
docker-compose.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: '2.1'
|
||||
services:
|
||||
trilium:
|
||||
build:
|
||||
context: .
|
||||
image: zadam/trilium
|
||||
restart: always
|
||||
environment:
|
||||
- TRILIUM_DATA_DIR=/data
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- trilium:/data
|
||||
|
||||
volumes:
|
||||
trilium:
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
<header>
|
||||
|
||||
<h2><span class="attribs"><span class="type-signature"></span></span>ApiToken<span class="signature">(apiTokenId, token, isDeleted, dateCreated)</span><span class="type-signature"></span></h2>
|
||||
<h2><span class="attribs"><span class="type-signature"></span></span>ApiToken<span class="signature">()</span><span class="type-signature"></span></h2>
|
||||
|
||||
<div class="class-description">ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender.</div>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
|
||||
<h4 class="name" id="ApiToken"><span class="type-signature"></span>new ApiToken<span class="signature">(apiTokenId, token, isDeleted, dateCreated)</span><span class="type-signature"></span></h4>
|
||||
<h4 class="name" id="ApiToken"><span class="type-signature"></span>new ApiToken<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
|
||||
@@ -60,10 +60,15 @@
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
|
||||
|
||||
<table class="params">
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -154,7 +159,7 @@
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>dateCreated</code></td>
|
||||
<td class="name"><code>utcDateCreated</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
@@ -180,8 +185,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
@@ -239,6 +242,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -282,13 +287,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
|
||||
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
<header>
|
||||
|
||||
<h2><span class="attribs"><span class="type-signature"></span></span>Attribute<span class="signature">(attributeId, noteId, type, name, value, position, isInheritable, isDeleted, dateCreated, dateModified)</span><span class="type-signature"></span></h2>
|
||||
<h2><span class="attribs"><span class="type-signature"></span></span>Attribute<span class="signature">()</span><span class="type-signature"></span></h2>
|
||||
|
||||
<div class="class-description">Attribute is key value pair owned by a note.</div>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
|
||||
|
||||
<h4 class="name" id="Attribute"><span class="type-signature"></span>new Attribute<span class="signature">(attributeId, noteId, type, name, value, position, isInheritable, isDeleted, dateCreated, dateModified)</span><span class="type-signature"></span></h4>
|
||||
<h4 class="name" id="Attribute"><span class="type-signature"></span>new Attribute<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
|
||||
@@ -60,10 +60,15 @@
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
|
||||
|
||||
<table class="params">
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -101,7 +106,7 @@
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -124,7 +129,7 @@
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -147,7 +152,7 @@
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -170,7 +175,7 @@
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -239,7 +244,7 @@
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -269,7 +274,33 @@
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>dateCreated</code></td>
|
||||
<td class="name"><code>deleteId</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
|
||||
|
||||
<span class="param-type">null</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">ID identifying delete transaction</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>utcDateCreated</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
@@ -292,7 +323,7 @@
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>dateModified</code></td>
|
||||
<td class="name"><code>utcDateModified</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
@@ -318,8 +349,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
@@ -349,7 +378,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line24">line 24</a>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line26">line 26</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -377,6 +406,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -414,7 +445,7 @@
|
||||
|
||||
|
||||
|
||||
<h4 class="name" id="getNote"><span class="type-signature">(async) </span>getNote<span class="signature">()</span><span class="type-signature"> → {Promise.<(<a href="Note.html">Note</a>|null)>}</span></h4>
|
||||
<h4 class="name" id="getNote"><span class="type-signature"></span>getNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4>
|
||||
|
||||
|
||||
|
||||
@@ -462,7 +493,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line46">line 46</a>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line40">line 40</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -485,6 +516,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
@@ -496,7 +529,10 @@
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">Promise.<(<a href="Note.html">Note</a>|null)></span>
|
||||
<span class="param-type"><a href="Note.html">Note</a></span>
|
||||
|
|
||||
|
||||
<span class="param-type">null</span>
|
||||
|
||||
|
||||
</dd>
|
||||
@@ -514,7 +550,7 @@
|
||||
|
||||
|
||||
|
||||
<h4 class="name" id="getTargetNote"><span class="type-signature">(async) </span>getTargetNote<span class="signature">()</span><span class="type-signature"> → {Promise.<(<a href="Note.html">Note</a>|null)>}</span></h4>
|
||||
<h4 class="name" id="getTargetNote"><span class="type-signature"></span>getTargetNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4>
|
||||
|
||||
|
||||
|
||||
@@ -562,7 +598,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line57">line 57</a>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line47">line 47</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -585,6 +621,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
@@ -596,7 +634,10 @@
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type">Promise.<(<a href="Note.html">Note</a>|null)></span>
|
||||
<span class="param-type"><a href="Note.html">Note</a></span>
|
||||
|
|
||||
|
||||
<span class="param-type">null</span>
|
||||
|
||||
|
||||
</dd>
|
||||
@@ -662,7 +703,7 @@
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line76">line 76</a>
|
||||
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line62">line 62</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -685,6 +726,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
@@ -724,13 +767,13 @@
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
|
||||
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,7 +28,7 @@
|
||||
|
||||
<header>
|
||||
|
||||
<h2><span class="attribs"><span class="type-signature"></span></span>Branch<span class="signature">(branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h2>
|
||||
<h2><span class="attribs"><span class="type-signature"></span></span>Branch<span class="signature">()</span><span class="type-signature"></span></h2>
|
||||
|
||||
<div class="class-description">Branch represents note's placement in the tree - it's essentially pair of noteId and parentNoteId.
|
||||
Each note can have multiple (at least one) branches, meaning it can be placed into multiple places in the tree.</div>
|
||||
@@ -46,7 +46,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
<h4 class="name" id="Branch"><span class="type-signature"></span>new Branch<span class="signature">(branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h4>
|
||||
<h4 class="name" id="Branch"><span class="type-signature"></span>new Branch<span class="signature">()</span><span class="type-signature"></span></h4>
|
||||
|
||||
|
||||
|
||||
@@ -61,10 +61,15 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
<h5>Parameters:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<h5 class="subsection-title">Properties:</h5>
|
||||
|
||||
|
||||
|
||||
<table class="params">
|
||||
<table class="props">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -102,7 +107,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
<td class="description last">primary key</td>
|
||||
<td class="description last">primary key, immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -125,7 +130,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -148,7 +153,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
<td class="description last"></td>
|
||||
<td class="description last">immutable</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -247,7 +252,33 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>dateModified</code></td>
|
||||
<td class="name"><code>deleteId</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
|
||||
|
||||
<span class="param-type">string</span>
|
||||
|
|
||||
|
||||
<span class="param-type">null</span>
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<td class="description last">ID identifying delete transaction</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>utcDateModified</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
@@ -270,7 +301,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="name"><code>dateCreated</code></td>
|
||||
<td class="name"><code>utcDateCreated</code></td>
|
||||
|
||||
|
||||
<td class="type">
|
||||
@@ -296,8 +327,6 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
@@ -355,6 +384,8 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -392,7 +423,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
<h4 class="name" id="getNote"><span class="type-signature">(async) </span>getNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4>
|
||||
<h4 class="name" id="getNote"><span class="type-signature"></span>getNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4>
|
||||
|
||||
|
||||
|
||||
@@ -440,7 +471,7 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line38">line 38</a>
|
||||
<a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line31">line 31</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
@@ -463,6 +494,113 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
|
||||
<span class="param-type"><a href="Note.html">Note</a></span>
|
||||
|
|
||||
|
||||
<span class="param-type">null</span>
|
||||
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="name" id="getParentNote"><span class="type-signature"></span>getParentNote<span class="signature">()</span><span class="type-signature"> → {<a href="Note.html">Note</a>|null}</span></h4>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="details">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dt class="tag-source">Source:</dt>
|
||||
<dd class="tag-source"><ul class="dummy"><li>
|
||||
<a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line36">line 36</a>
|
||||
</li></ul></dd>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h5>Returns:</h5>
|
||||
|
||||
|
||||
@@ -505,13 +643,13 @@ Each note can have multiple (at least one) branches, meaning it can be placed in
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
|
||||
</nav>
|
||||
|
||||
<br class="clear">
|
||||
|
||||
<footer>
|
||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
|
||||
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
|
||||
</footer>
|
||||
|
||||
<script> prettyPrint(); </script>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user