mirror of
https://github.com/zadam/trilium.git
synced 2025-10-26 15:56:29 +01:00
Compare commits
1156 Commits
v0.5.2-bet
...
v0.30.5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24c8b39d8e | ||
|
|
0144dc12df | ||
|
|
65684550a8 | ||
|
|
6d09931a39 | ||
|
|
37d2a7939c | ||
|
|
a432ad7483 | ||
|
|
ae17e4dc60 | ||
|
|
02eddc347a | ||
|
|
ee58bf3d5c | ||
|
|
ecbaffa5f3 | ||
|
|
fe86c09f22 | ||
|
|
c8e01d6cce | ||
|
|
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 | ||
|
|
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 | ||
|
|
a616739805 | ||
|
|
bea28de6a0 | ||
|
|
4e198ca2f0 | ||
|
|
2fbd16a0e3 | ||
|
|
76fc49f037 | ||
|
|
139c99440f | ||
|
|
137b9dfa0b | ||
|
|
5f0fdd15eb | ||
|
|
61e1427b83 | ||
|
|
b3aa0ba47c | ||
|
|
56e2b44c25 | ||
|
|
4d5a17583f | ||
|
|
71eda5aa3d | ||
|
|
0711ea8dc8 | ||
|
|
be206872d1 | ||
|
|
fcf3fe8dcd | ||
|
|
62dbd4062a | ||
|
|
196e8b4380 | ||
|
|
551e1255ff | ||
|
|
e09b61d1ac | ||
|
|
ee23bcc783 | ||
|
|
3e351bd8d3 | ||
|
|
0d3bc22d73 | ||
|
|
d82898421e | ||
|
|
1db2f0c2c5 | ||
|
|
6cd8a2203e | ||
|
|
08e062ab34 | ||
|
|
3a06493459 | ||
|
|
8159564885 | ||
|
|
8ce3c1a480 | ||
|
|
dbc93f4a79 | ||
|
|
92ffe321aa | ||
|
|
6cb7d0098e | ||
|
|
bdcb4361b2 | ||
|
|
15366d37d7 | ||
|
|
acd001501b | ||
|
|
0019865807 | ||
|
|
137ffcc4e3 | ||
|
|
585398ad5c | ||
|
|
50401954d1 | ||
|
|
32a9df8489 | ||
|
|
5bf5d1cac4 | ||
|
|
3608857f25 | ||
|
|
16a1dc12df | ||
|
|
9c834229b9 | ||
|
|
3fd45b15e7 | ||
|
|
f20ab45576 | ||
|
|
77a89d85c8 | ||
|
|
30249a353e | ||
|
|
eb9bae9010 | ||
|
|
0c7ae527c5 | ||
|
|
fef4705e2f | ||
|
|
568c2c997f | ||
|
|
d6b5cd6ead | ||
|
|
00ce379962 | ||
|
|
b1ed022771 | ||
|
|
ad6cb6ba34 | ||
|
|
2e76de5f34 | ||
|
|
4f23f2515a | ||
|
|
8e16cc2326 | ||
|
|
49bca04ebb | ||
|
|
05e9669eaf | ||
|
|
62a250a7fc | ||
|
|
8299524682 | ||
|
|
7691a59977 | ||
|
|
3db2f6784d | ||
|
|
48684d0509 | ||
|
|
1ee8d9fd93 | ||
|
|
228a77cb89 | ||
|
|
90eb1b53fb | ||
|
|
6a36e1ca86 | ||
|
|
3fee263355 | ||
|
|
d19fa89f69 | ||
|
|
6b65592d7a | ||
|
|
94565e3ec0 | ||
|
|
5b9a1ef0e9 | ||
|
|
e0f9a7fc6a | ||
|
|
46c7901e1f | ||
|
|
efc5cf4091 | ||
|
|
39b3c91abf | ||
|
|
6749cbed1b | ||
|
|
346b8c21dd | ||
|
|
8ee8639faa | ||
|
|
fa264d1cbe | ||
|
|
8a3f508825 | ||
|
|
19a07c699c | ||
|
|
b8feb4cce3 | ||
|
|
cfce744338 | ||
|
|
211001fb2f | ||
|
|
a334f08782 | ||
|
|
040bb13800 | ||
|
|
6652ddc20a | ||
|
|
e44c7c9947 | ||
|
|
24a0856d22 | ||
|
|
74acb08f7b | ||
|
|
7be85acf11 | ||
|
|
fc9495bcdf | ||
|
|
247275d391 | ||
|
|
427234293e | ||
|
|
9568fde027 | ||
|
|
9cf08bf926 | ||
|
|
295800881b | ||
|
|
25e68762fe | ||
|
|
ea0a5bc1c9 | ||
|
|
abbade96af | ||
|
|
83c6f86d26 | ||
|
|
db17b05db1 | ||
|
|
1ce26ed704 | ||
|
|
a065a610c1 | ||
|
|
0b85f87cb2 | ||
|
|
144e814b02 | ||
|
|
8dc32e581e | ||
|
|
21d3b0c9d8 | ||
|
|
e7cea59ba7 | ||
|
|
2523f81f3b | ||
|
|
c6e1ad5f15 | ||
|
|
340916d5da | ||
|
|
bbe36fc7fb | ||
|
|
02fd8f8133 | ||
|
|
525f167127 | ||
|
|
3750919169 | ||
|
|
4f34fb802b | ||
|
|
d978c64e1a | ||
|
|
bc2e230425 | ||
|
|
71f333154d | ||
|
|
c5113eb292 | ||
|
|
232f135843 | ||
|
|
8be328cb3b | ||
|
|
bfc09187e3 | ||
|
|
3a4691b46d | ||
|
|
7b3c0243f3 | ||
|
|
8d7a2546e1 | ||
|
|
991d5d3be3 | ||
|
|
6416e3e9fb | ||
|
|
3ba761fe28 | ||
|
|
273a9b14d9 | ||
|
|
afcbfcfa03 | ||
|
|
d7afbe4059 | ||
|
|
21e952a7f0 | ||
|
|
d0d2a7fe47 | ||
|
|
5f427e37fe | ||
|
|
13f9007bd6 | ||
|
|
90dbe637ed | ||
|
|
a0f362457e | ||
|
|
1febf5136c | ||
|
|
3c23d7085e | ||
|
|
57e9850ca6 | ||
|
|
2f4ef0a4a2 | ||
|
|
6fb99ae89e | ||
|
|
69d2bd8b58 | ||
|
|
e62cca886c | ||
|
|
a8e13eac3a | ||
|
|
2f887f1ea7 | ||
|
|
3856de4483 | ||
|
|
0348bbe4f1 | ||
|
|
24dfe0fa98 | ||
|
|
20baa47d26 | ||
|
|
19cb29cdca | ||
|
|
24a1838b13 | ||
|
|
7bdbea81f1 | ||
|
|
b8eaff055a | ||
|
|
5e318c6242 | ||
|
|
607c821cac | ||
|
|
26b9302267 | ||
|
|
de14e808c7 | ||
|
|
80178b52c0 | ||
|
|
370efdc034 | ||
|
|
f06d8c7c54 | ||
|
|
63edde8a73 | ||
|
|
5872146172 | ||
|
|
ab26216cbe | ||
|
|
5cc91c64a3 | ||
|
|
4858f0bec6 | ||
|
|
639284fd85 | ||
|
|
f33f99134b | ||
|
|
a2434f200e | ||
|
|
31abec5d1c | ||
|
|
93d152eae5 | ||
|
|
2a14ea8d0c | ||
|
|
a19af8a61d | ||
|
|
2a129809b3 | ||
|
|
07cbc385e5 | ||
|
|
67d47c389a | ||
|
|
e61f17809a | ||
|
|
23de04daaa | ||
|
|
a8774353fd | ||
|
|
18f2419bd6 | ||
|
|
332a65a9cc | ||
|
|
1d51f58447 | ||
|
|
41fca4c4f3 | ||
|
|
4a5a63d7b4 | ||
|
|
b17f442d1f | ||
|
|
9f0860edab | ||
|
|
0c007566ad | ||
|
|
bfa2b5fa62 | ||
|
|
6559e6c25b | ||
|
|
627e5e0edb | ||
|
|
2a8de2653e | ||
|
|
e487dc1df7 | ||
|
|
04af8a3a96 | ||
|
|
209551a205 | ||
|
|
c6bfd3909f | ||
|
|
8b7694d0ec | ||
|
|
76c980b51f | ||
|
|
1de06b4fc9 | ||
|
|
949456212a | ||
|
|
06a867773e | ||
|
|
269f56bdca | ||
|
|
5352f388a7 | ||
|
|
be94766f76 | ||
|
|
24673168bb | ||
|
|
b5bb653889 | ||
|
|
b09071eb9b | ||
|
|
5f95ab95c9 | ||
|
|
0ce8d1e7e8 | ||
|
|
b2776954a1 | ||
|
|
d65610429c | ||
|
|
62de7f28eb | ||
|
|
257cced182 | ||
|
|
3af27845b5 | ||
|
|
9b425025c9 | ||
|
|
e8797a137f | ||
|
|
947e875b6c | ||
|
|
15610626f1 | ||
|
|
eb84cfbef2 | ||
|
|
e4381d10e8 | ||
|
|
b4a566df9e | ||
|
|
b20ff78653 | ||
|
|
15888a5f8f | ||
|
|
a90c164bbe | ||
|
|
4f3aa9cd79 | ||
|
|
d248994143 | ||
|
|
78518fbc60 | ||
|
|
50cd0c792c | ||
|
|
22e905aa99 | ||
|
|
8b41c1ef31 | ||
|
|
492fde6f46 | ||
|
|
892a254e5a | ||
|
|
1ef3188213 | ||
|
|
c76329e671 | ||
|
|
c95e409b5e | ||
|
|
ff086569f2 | ||
|
|
bdc2fa1019 | ||
|
|
6668b55d6e | ||
|
|
46f37f7426 | ||
|
|
bc669c7b81 | ||
|
|
185fb4b787 | ||
|
|
f2712e92bb | ||
|
|
763f885cc7 | ||
|
|
25f8df1e03 | ||
|
|
c7a609e349 | ||
|
|
a3feaa13b3 | ||
|
|
4a58357a9a | ||
|
|
c41b809720 | ||
|
|
9bdd4437f2 | ||
|
|
467ad79129 | ||
|
|
0daeb71869 | ||
|
|
708874a02c | ||
|
|
fa77132fe9 | ||
|
|
d3300df3d7 | ||
|
|
4984b06d9f | ||
|
|
66c908f2b2 | ||
|
|
7199208d9d | ||
|
|
8adc111b0a | ||
|
|
1079ba1707 | ||
|
|
10ff504528 | ||
|
|
005b66f4f4 | ||
|
|
792039227f | ||
|
|
bc38172792 | ||
|
|
c55bc471db | ||
|
|
fdc3a7a7f2 | ||
|
|
a98d80db31 | ||
|
|
65d99f3f06 | ||
|
|
85215aa440 | ||
|
|
cfa4cc4931 | ||
|
|
ce9805c5bc | ||
|
|
0442a44aab | ||
|
|
be22d3cb4c | ||
|
|
dcc770c443 | ||
|
|
a2d7be445f | ||
|
|
3dd89ee9da | ||
|
|
561b514b84 | ||
|
|
bc61f17a3a | ||
|
|
7c3d46d22a | ||
|
|
1ece9b71ec | ||
|
|
ee54dc3463 | ||
|
|
b65a6c97a1 | ||
|
|
dbca7bfb43 | ||
|
|
3bb021fba1 | ||
|
|
b009bcb6a0 | ||
|
|
de4ace5ada | ||
|
|
7ae2a24770 | ||
|
|
9cfa2ab1ba | ||
|
|
3ad7db39dd | ||
|
|
bc207d5e30 | ||
|
|
d31a136442 | ||
|
|
21a96d2776 | ||
|
|
174d4e67af | ||
|
|
4721ddc6b3 | ||
|
|
c79fb2cc12 | ||
|
|
ad123cfc1a | ||
|
|
05c9c5db50 | ||
|
|
2d1bc46c04 | ||
|
|
4bc44605fb | ||
|
|
b868990fba | ||
|
|
26c06c9826 | ||
|
|
f5b89432a6 | ||
|
|
0e7372adbf | ||
|
|
d4fbe28517 | ||
|
|
668528d5eb | ||
|
|
17348a9cfe | ||
|
|
09b610701d | ||
|
|
71e687ad8e | ||
|
|
171877ce08 | ||
|
|
4f1e6ec70f | ||
|
|
1938c317c3 | ||
|
|
99d81059d0 | ||
|
|
59d5a86110 | ||
|
|
a5e56ea839 | ||
|
|
44f85224e7 | ||
|
|
0aa08b1c1e | ||
|
|
406d74c4d7 | ||
|
|
7f9a8a55ca | ||
|
|
a42bbba0e5 | ||
|
|
145efe67c3 | ||
|
|
513748836e | ||
|
|
427ce3972e | ||
|
|
02c0f9a6cd | ||
|
|
208771216e | ||
|
|
385d97a9b3 | ||
|
|
e39d1d08ac | ||
|
|
0f106fb96f | ||
|
|
df9acd0504 | ||
|
|
dbe0eb3f3a | ||
|
|
4513651e12 | ||
|
|
3204291463 | ||
|
|
510704a074 | ||
|
|
f440493e45 | ||
|
|
b897c6de13 | ||
|
|
acbd18e8fc | ||
|
|
ff5b84db10 | ||
|
|
16535f6a73 | ||
|
|
5b657ad961 | ||
|
|
bbbc3e9dc4 | ||
|
|
f43f0e10a1 | ||
|
|
6d842a65a2 | ||
|
|
50c4de021c | ||
|
|
936d8449f6 | ||
|
|
462bc0edd5 | ||
|
|
35ef3c8470 | ||
|
|
5117d43e29 | ||
|
|
7c9ac488e8 | ||
|
|
fec1574447 | ||
|
|
f7587de452 | ||
|
|
41a6e777ea | ||
|
|
8fb0de900b | ||
|
|
a40bf71fd4 | ||
|
|
2a53bb03ae | ||
|
|
a684879b91 | ||
|
|
ddbd4f73c8 | ||
|
|
b0ed790edf | ||
|
|
3424406ff1 | ||
|
|
ce5c385c15 | ||
|
|
cd9eef32b0 | ||
|
|
12d82e3b33 | ||
|
|
f071d3f651 | ||
|
|
297b536ebc | ||
|
|
7cca2d9247 | ||
|
|
36dc802d16 | ||
|
|
c78ddb70cb | ||
|
|
9fb0599c45 | ||
|
|
13f524fb39 | ||
|
|
27be3b4c90 | ||
|
|
af4ea66742 | ||
|
|
0f42c396f3 | ||
|
|
9e96272eb3 | ||
|
|
965dbcbc9a | ||
|
|
7ac109e7f7 | ||
|
|
ac25770c0e | ||
|
|
5b15424498 | ||
|
|
f1240c26bf | ||
|
|
1c0fd243d1 | ||
|
|
3491235533 | ||
|
|
5f36856571 | ||
|
|
d3e44b37e9 | ||
|
|
90e9297ec5 | ||
|
|
c568ef2f8a | ||
|
|
fcf6141cde | ||
|
|
21551d7b77 | ||
|
|
12031d369f | ||
|
|
b44c523845 | ||
|
|
49989695ff | ||
|
|
a55d3530e9 | ||
|
|
2aab3ad281 | ||
|
|
194ce4f10f | ||
|
|
2089c32839 | ||
|
|
f437be7af0 | ||
|
|
96dc56098d | ||
|
|
61987e46f7 | ||
|
|
509093b755 | ||
|
|
097114c0f2 | ||
|
|
040f9185f8 | ||
|
|
6dc934abbe | ||
|
|
2d24bf81dd | ||
|
|
9452fc236b | ||
|
|
365c37604b | ||
|
|
01c7e58d47 | ||
|
|
d3d49923b1 | ||
|
|
263ac299d0 | ||
|
|
3d185a5178 | ||
|
|
2ff7a890bc | ||
|
|
2eb1a9705f | ||
|
|
ed1381103a | ||
|
|
170d317589 | ||
|
|
ededc063df | ||
|
|
986eace1be | ||
|
|
29086d8dfe | ||
|
|
9b3f3fde05 | ||
|
|
6a50afd952 | ||
|
|
697eee2706 | ||
|
|
8a95afd756 | ||
|
|
4d6eda8fe6 | ||
|
|
e4f459fa2b | ||
|
|
f578e001b0 | ||
|
|
2a08aef885 | ||
|
|
7564bf388c | ||
|
|
7e4d70259f | ||
|
|
5b98c1c0f3 | ||
|
|
02dc7b199b | ||
|
|
d39cdbfada | ||
|
|
50bb4a47ee | ||
|
|
a4627f2ddb | ||
|
|
c8253caae9 | ||
|
|
0ece9bd1be | ||
|
|
b6935abcc9 | ||
|
|
37ab7b4641 | ||
|
|
013714cb5c | ||
|
|
1fe7c62f5a | ||
|
|
a06618d851 | ||
|
|
e7460ca3a9 | ||
|
|
073300bbcd | ||
|
|
a201661ce5 | ||
|
|
6235a3c886 | ||
|
|
3972c27e7a | ||
|
|
14cffbbe62 | ||
|
|
599c3c04af | ||
|
|
f1412b631d | ||
|
|
41908050bb | ||
|
|
f07033423c | ||
|
|
daf96fcbf2 | ||
|
|
2bca94529e | ||
|
|
b2c9a0da21 | ||
|
|
7a9542b4fc | ||
|
|
3a95c9e1bc | ||
|
|
3d2ef6be01 | ||
|
|
d67246699a | ||
|
|
14c704d6db | ||
|
|
4c8eeb2e6f | ||
|
|
c1b245c8b1 | ||
|
|
74202d67bb | ||
|
|
26066f39b1 | ||
|
|
b255cf190c | ||
|
|
bc77b143b0 | ||
|
|
9f0ff6ae7a | ||
|
|
736704c7d6 | ||
|
|
654c116c58 | ||
|
|
89a5cab98f | ||
|
|
c39d0be8cd | ||
|
|
e75b4cd848 | ||
|
|
378e8f35e5 | ||
|
|
bdb5e2f13f | ||
|
|
8211bed449 | ||
|
|
b243632483 | ||
|
|
e4d2513451 | ||
|
|
385144451b | ||
|
|
c8c533844e | ||
|
|
0e69f0c079 | ||
|
|
aee60c444f | ||
|
|
e7a504c66b | ||
|
|
45d9c7164c | ||
|
|
bd913a63a8 | ||
|
|
5a1938c078 | ||
|
|
015cd68756 | ||
|
|
76c0e5b2b8 | ||
|
|
0f8f707acd | ||
|
|
083cccea28 | ||
|
|
31b76b23ce | ||
|
|
af529f82e5 | ||
|
|
fc6669d254 | ||
|
|
c07785be67 | ||
|
|
80d2457b23 | ||
|
|
5dde2752d2 | ||
|
|
8bf4633cd0 | ||
|
|
bd66b8a1c8 | ||
|
|
be51e533fc | ||
|
|
f47ae12019 | ||
|
|
cab54a458f | ||
|
|
a30734f1bc | ||
|
|
7ad9f7b129 | ||
|
|
40a32e6826 | ||
|
|
ab0486aaf1 | ||
|
|
874593a167 | ||
|
|
03bf33630e | ||
|
|
933cce1b94 | ||
|
|
4a6ff573f8 | ||
|
|
1a737f7d19 | ||
|
|
cb69914f09 | ||
|
|
a372cbb2df | ||
|
|
0ce5caefe8 | ||
|
|
94dabb81f6 | ||
|
|
cd45bcfd03 | ||
|
|
49a53f7a45 | ||
|
|
9fa6c0918c | ||
|
|
e8d089e37e | ||
|
|
a931ce25fa | ||
|
|
b507abb4f7 | ||
|
|
66e7c6de62 | ||
|
|
4ce5ea9886 | ||
|
|
8c54b62f07 | ||
|
|
85eb50ed0f | ||
|
|
5ffd621e9d | ||
|
|
df93cb09da | ||
|
|
bbf04209f0 | ||
|
|
834bfa39c7 | ||
|
|
52b445f70b | ||
|
|
7b9b4fbb0c | ||
|
|
5af0ba1fcb | ||
|
|
85a9748291 | ||
|
|
b4005a7ffe | ||
|
|
82de1c88d4 | ||
|
|
1687ed7e0b | ||
|
|
c8b9c7d936 | ||
|
|
d57057ba28 | ||
|
|
66cee8daa4 | ||
|
|
afd7df0942 | ||
|
|
bd6ae33d32 | ||
|
|
70660a0d68 | ||
|
|
cdad18551a | ||
|
|
592c51d1a5 | ||
|
|
6a57b8a7e7 | ||
|
|
7a94e21c54 | ||
|
|
5b43f321e2 | ||
|
|
a4eafb934f | ||
|
|
7b59a665dd | ||
|
|
3d15450ffc | ||
|
|
b0c6d52461 | ||
|
|
2dc16dd29f | ||
|
|
d8924c536b | ||
|
|
3ebbf2cc46 | ||
|
|
f4079604c9 | ||
|
|
1f96a6beab | ||
|
|
b277a250e5 | ||
|
|
5b0e1a644d | ||
|
|
6bb3cfa9a3 | ||
|
|
9720868f5a | ||
|
|
8d8ee2a87a | ||
|
|
542e82ee5d | ||
|
|
0104b19502 | ||
|
|
120888b53e | ||
|
|
d2e2caed62 | ||
|
|
63066802a8 | ||
|
|
6128bb4ff3 | ||
|
|
982796255d | ||
|
|
36b15f474d | ||
|
|
13f71f8967 | ||
|
|
64336ffbee | ||
|
|
b09463d1b2 | ||
|
|
b5e6f46b9c | ||
|
|
08af4a0465 | ||
|
|
8c5df6321f | ||
|
|
d19f044961 | ||
|
|
e378d9f645 | ||
|
|
39dc0f71b4 | ||
|
|
0cef5c6b8c | ||
|
|
9b5a44cef4 | ||
|
|
29769ed91d | ||
|
|
867d794e17 | ||
|
|
fdd8458336 | ||
|
|
a0bec22e96 | ||
|
|
5aeb5cd214 | ||
|
|
e827ddffb9 | ||
|
|
98f80998b9 | ||
|
|
69727d0b12 | ||
|
|
84faf32b98 | ||
|
|
6ed6e27602 | ||
|
|
fb54678fef | ||
|
|
2cdcb3af12 | ||
|
|
cf7a336ac2 | ||
|
|
abfc64af95 | ||
|
|
42dd8d4754 | ||
|
|
a4e64350e9 | ||
|
|
6f567e3e10 | ||
|
|
c6c76ba360 | ||
|
|
429d3f518e | ||
|
|
26e4ad9bf9 | ||
|
|
6ab0cea4e3 | ||
|
|
277368ab43 | ||
|
|
e2921a648d | ||
|
|
c765dbc5cf | ||
|
|
a066c6fe2b | ||
|
|
311952d4dd | ||
|
|
96dab5d51e | ||
|
|
15d951b04e | ||
|
|
8ba830c04b | ||
|
|
acc82f39c4 | ||
|
|
fad0ec757b | ||
|
|
c9d73c6115 | ||
|
|
ab2f28ceef | ||
|
|
87e415992c | ||
|
|
12439d8761 | ||
|
|
4f200c73dc | ||
|
|
5f7e74e15c | ||
|
|
e8a5d0ae16 | ||
|
|
088fb00ca9 | ||
|
|
05676f3459 | ||
|
|
5d203b2278 | ||
|
|
795d50f02e | ||
|
|
cfe0ae1eda | ||
|
|
aa57a64c61 | ||
|
|
e36a81e189 | ||
|
|
88c07a9e48 | ||
|
|
bfd9f292a6 | ||
|
|
9edee9340b | ||
|
|
8550ed72f2 | ||
|
|
efffc29649 | ||
|
|
0ec909fd7a | ||
|
|
b10b0048f3 | ||
|
|
9bb188b519 | ||
|
|
7464835058 | ||
|
|
913b6bb6f6 | ||
|
|
000cf99546 | ||
|
|
c918267750 | ||
|
|
68921ee59b | ||
|
|
7e856283ee | ||
|
|
9c1b8da573 | ||
|
|
cb39b9cca8 | ||
|
|
788ac43ad1 | ||
|
|
57d19f3302 | ||
|
|
68bba623b6 | ||
|
|
35998058ce | ||
|
|
cdf94181d2 | ||
|
|
91ee90d827 | ||
|
|
d3316cd09c | ||
|
|
ac1b06967f | ||
|
|
47eb1e3e02 | ||
|
|
a69d8737ce | ||
|
|
341f47f0f2 | ||
|
|
19c605a9a8 | ||
|
|
54e4f54678 | ||
|
|
297a2cd9da | ||
|
|
d746d707b5 | ||
|
|
299252b650 | ||
|
|
fddd1c278f | ||
|
|
f52d7e3c28 | ||
|
|
a699210a29 | ||
|
|
b3c32a39e9 | ||
|
|
df27533b66 | ||
|
|
b96a1274c5 | ||
|
|
001a5107dd | ||
|
|
c8e456cdb1 | ||
|
|
0f6b00e1c8 | ||
|
|
5ea060a054 | ||
|
|
95bb2cf0bb | ||
|
|
4c472ce78b | ||
|
|
511fb89af0 | ||
|
|
7e524c0cd1 | ||
|
|
e3e2dc9fff | ||
|
|
1612e9093d | ||
|
|
f8649feea4 | ||
|
|
ac978c3fa7 | ||
|
|
efcc804149 | ||
|
|
db514e8f41 | ||
|
|
9c32f66329 | ||
|
|
0fd5102a26 | ||
|
|
840af15dae | ||
|
|
f1b0b3bcdb | ||
|
|
e5c0acbb43 | ||
|
|
834661c461 | ||
|
|
5204ab5a7e | ||
|
|
74862536a8 | ||
|
|
a24f1f5b95 | ||
|
|
0be76f746a | ||
|
|
fad89ff63f | ||
|
|
b8ae791191 | ||
|
|
ce754cbd91 | ||
|
|
0fdb6af98a | ||
|
|
f6c7f6a0f2 | ||
|
|
354999f37a | ||
|
|
348c622845 | ||
|
|
44bcdedaba | ||
|
|
755c0f3ce2 | ||
|
|
895bda41b5 | ||
|
|
b2df622cb6 | ||
|
|
9ba6e6d0f5 | ||
|
|
a5c9180533 | ||
|
|
e86f1e0d05 | ||
|
|
b6277049f3 | ||
|
|
c831221cc4 | ||
|
|
577a168714 | ||
|
|
b0bd27321a | ||
|
|
90c5348ca7 | ||
|
|
8e95b080da | ||
|
|
766a567a32 | ||
|
|
6d0218cb36 | ||
|
|
d26170762b | ||
|
|
b3209a9bbf | ||
|
|
61c2456cf6 | ||
|
|
1c6fc9029f | ||
|
|
5c91e38dfe | ||
|
|
07bf075894 | ||
|
|
ddce5c959e | ||
|
|
3b9d1df05c | ||
|
|
d239ef2956 | ||
|
|
7a865a9081 | ||
|
|
83d6c2970f | ||
|
|
8c7d159012 | ||
|
|
d169f67901 | ||
|
|
982b723647 | ||
|
|
31d5ac05ff | ||
|
|
72d91d1571 | ||
|
|
f4b57f4c57 | ||
|
|
ee0833390a | ||
|
|
2acff07368 | ||
|
|
bea1d24f07 | ||
|
|
adc270c59f | ||
|
|
66064f7a94 | ||
|
|
1501fa8dbf | ||
|
|
60bba46d80 | ||
|
|
12c06ae97e | ||
|
|
f0bea9cf71 | ||
|
|
a555b6319c | ||
|
|
5dd93e4cdc | ||
|
|
3b4509d833 | ||
|
|
19308bbfbd | ||
|
|
4acc5432c3 | ||
|
|
08b8141fdf | ||
|
|
e1200aa308 | ||
|
|
89666eb078 | ||
|
|
d5605aa64d | ||
|
|
2582b016f9 | ||
|
|
e8c52e25f0 | ||
|
|
a149c6a105 | ||
|
|
131af9ab12 | ||
|
|
aa2bbc6575 | ||
|
|
78e8c15786 | ||
|
|
fda4146150 | ||
|
|
ddc885066e | ||
|
|
08bc2afb49 | ||
|
|
1d0220b03d | ||
|
|
3033f7cc08 | ||
|
|
6b9ff47c88 | ||
|
|
fd02c6102d | ||
|
|
30c712a6be | ||
|
|
3928c96640 | ||
|
|
d86f655658 | ||
|
|
abdad1c3ae | ||
|
|
9e5f1a0a87 | ||
|
|
cdde6a4d8e | ||
|
|
8028b09351 | ||
|
|
ebe66eaed9 | ||
|
|
5bce9a5f94 | ||
|
|
dfd9927310 | ||
|
|
9bf1735bde | ||
|
|
2e8eeda5ab | ||
|
|
1cef0ce5f9 | ||
|
|
1efac99828 | ||
|
|
0e9473119e | ||
|
|
7bbfef7af3 | ||
|
|
5cb93509c1 | ||
|
|
89e89e04d8 | ||
|
|
72df0d8861 | ||
|
|
9910aebf45 | ||
|
|
f9f8ecb2b1 | ||
|
|
438f7c5b0b | ||
|
|
4b1d1aba74 | ||
|
|
6dea73cfe2 | ||
|
|
58f5d0cf6e | ||
|
|
7b77e40514 | ||
|
|
660908c54b | ||
|
|
e970564036 | ||
|
|
b3038487f8 | ||
|
|
cac98392a6 | ||
|
|
dbd28377e3 | ||
|
|
c76e4faf5d | ||
|
|
e011b9ae63 | ||
|
|
7c74c77a2c | ||
|
|
c2a2f195aa | ||
|
|
85d32c66f2 | ||
|
|
4e70cebf70 | ||
|
|
214d2e7659 | ||
|
|
f380bb7f65 | ||
|
|
0a9a032daa | ||
|
|
23a2b58b24 | ||
|
|
aee64b2522 | ||
|
|
02e07ec03a | ||
|
|
3d2dc8e699 | ||
|
|
c84e15c9be | ||
|
|
e18d0b9fd4 | ||
|
|
52817504d1 | ||
|
|
a3b31fab54 | ||
|
|
bc4aa3e40a | ||
|
|
873ea67e9c | ||
|
|
2c5115003b | ||
|
|
e8ed913374 | ||
|
|
5bffba4e2f | ||
|
|
05575913db | ||
|
|
31c32ff42c | ||
|
|
6a671a5c02 |
7
.dockerignore
Normal file
7
.dockerignore
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
.git
|
||||||
|
.idea
|
||||||
|
/bin
|
||||||
|
/dist
|
||||||
|
/docs
|
||||||
|
/npm-debug.log
|
||||||
|
node_modules
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -6,4 +6,4 @@ yarn-error.log
|
|||||||
*.db
|
*.db
|
||||||
config.ini
|
config.ini
|
||||||
cert.key
|
cert.key
|
||||||
cert.crt
|
cert.crt
|
||||||
|
|||||||
7
.gitpod.yml
Normal file
7
.gitpod.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
tasks:
|
||||||
|
- before: nvm install 10 && nvm use 10
|
||||||
|
init: npm install
|
||||||
|
command: npm run start
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
|
onOpen: open-preview
|
||||||
10
.idea/codeStyles/Project.xml
generated
Normal file
10
.idea/codeStyles/Project.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<code_scheme name="Project" version="173">
|
||||||
|
<option name="OTHER_INDENT_OPTIONS">
|
||||||
|
<value>
|
||||||
|
<option name="INDENT_SIZE" value="2" />
|
||||||
|
<option name="TAB_SIZE" value="2" />
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
</code_scheme>
|
||||||
|
</component>
|
||||||
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<state>
|
||||||
|
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||||
|
</state>
|
||||||
|
</component>
|
||||||
14
.idea/dataSources.xml
generated
Normal file
14
.idea/dataSources.xml
generated
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<?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">
|
||||||
|
<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>
|
||||||
|
</data-source>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
679
.idea/dataSources/a2c75661-f9e2-478f-a69f-6a9409e69997.xml
generated
Normal file
679
.idea/dataSources/a2c75661-f9e2-478f-a69f-6a9409e69997.xml
generated
Normal file
@@ -0,0 +1,679 @@
|
|||||||
|
<?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_contents"/>
|
||||||
|
<table id="12" parent="2" name="note_revisions"/>
|
||||||
|
<table id="13" parent="2" name="notes"/>
|
||||||
|
<table id="14" parent="2" name="options"/>
|
||||||
|
<table id="15" parent="2" name="recent_notes"/>
|
||||||
|
<table id="16" parent="2" name="source_ids"/>
|
||||||
|
<table id="17" parent="2" name="sqlite_master">
|
||||||
|
<System>1</System>
|
||||||
|
</table>
|
||||||
|
<table id="18" parent="2" name="sqlite_sequence">
|
||||||
|
<System>1</System>
|
||||||
|
</table>
|
||||||
|
<table id="19" parent="2" name="sync"/>
|
||||||
|
<column id="20" parent="6" name="apiTokenId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="21" parent="6" name="token">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="22" parent="6" name="dateCreated">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="23" parent="6" name="isDeleted">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="24" parent="6" name="hash">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<index id="25" parent="6" name="sqlite_autoindex_api_tokens_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>apiTokenId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<key id="26" parent="6">
|
||||||
|
<ColNames>apiTokenId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_api_tokens_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="27" parent="7" name="attributeId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="28" parent="7" name="noteId">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="29" parent="7" name="type">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="30" parent="7" name="name">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="31" parent="7" name="value">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>''</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="32" parent="7" name="position">
|
||||||
|
<Position>6</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="33" parent="7" name="dateCreated">
|
||||||
|
<Position>7</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="34" parent="7" name="dateModified">
|
||||||
|
<Position>8</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="35" parent="7" name="isDeleted">
|
||||||
|
<Position>9</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="36" parent="7" name="hash">
|
||||||
|
<Position>10</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="37" parent="7" name="isInheritable">
|
||||||
|
<Position>11</Position>
|
||||||
|
<DataType>int|0s</DataType>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<index id="38" parent="7" name="sqlite_autoindex_attributes_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>attributeId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<index id="39" parent="7" name="IDX_attributes_noteId_index">
|
||||||
|
<ColNames>noteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="40" parent="7" name="IDX_attributes_name_value">
|
||||||
|
<ColNames>name
|
||||||
|
value</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="41" parent="7" name="IDX_attributes_name_index">
|
||||||
|
<ColNames>name</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="42" parent="7" name="IDX_attributes_value_index">
|
||||||
|
<ColNames>value</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<key id="43" parent="7">
|
||||||
|
<ColNames>attributeId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_attributes_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="44" parent="8" name="branchId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="45" parent="8" name="noteId">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="46" parent="8" name="parentNoteId">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="47" parent="8" name="notePosition">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>INTEGER|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="48" parent="8" name="prefix">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="49" parent="8" name="isExpanded">
|
||||||
|
<Position>6</Position>
|
||||||
|
<DataType>BOOLEAN|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="50" parent="8" name="isDeleted">
|
||||||
|
<Position>7</Position>
|
||||||
|
<DataType>INTEGER|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="51" parent="8" name="dateModified">
|
||||||
|
<Position>8</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="52" parent="8" name="hash">
|
||||||
|
<Position>9</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="53" 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="54" parent="8" name="sqlite_autoindex_branches_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>branchId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<index id="55" parent="8" name="IDX_branches_noteId_parentNoteId">
|
||||||
|
<ColNames>noteId
|
||||||
|
parentNoteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="56" parent="8" name="IDX_branches_noteId">
|
||||||
|
<ColNames>noteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="57" parent="8" name="IDX_branches_parentNoteId">
|
||||||
|
<ColNames>parentNoteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<key id="58" parent="8">
|
||||||
|
<ColNames>branchId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_branches_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="59" parent="9" name="eventId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="60" parent="9" name="noteId">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="61" parent="9" name="comment">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="62" parent="9" name="dateCreated">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<index id="63" parent="9" name="sqlite_autoindex_event_log_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>eventId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<key id="64" parent="9">
|
||||||
|
<ColNames>eventId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_event_log_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="65" parent="10" name="linkId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="66" parent="10" name="noteId">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="67" parent="10" name="targetNoteId">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="68" parent="10" name="type">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="69" parent="10" name="hash">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="70" parent="10" name="isDeleted">
|
||||||
|
<Position>6</Position>
|
||||||
|
<DataType>INTEGER|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="71" parent="10" name="dateCreated">
|
||||||
|
<Position>7</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="72" parent="10" name="dateModified">
|
||||||
|
<Position>8</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<index id="73" parent="10" name="sqlite_autoindex_links_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>linkId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<index id="74" parent="10" name="IDX_links_noteId_index">
|
||||||
|
<ColNames>noteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="75" parent="10" name="IDX_links_targetNoteId_index">
|
||||||
|
<ColNames>targetNoteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<key id="76" parent="10">
|
||||||
|
<ColNames>linkId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_links_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="77" parent="11" name="noteContentId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="78" parent="11" name="noteId">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="79" parent="11" name="isProtected">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="80" parent="11" name="content">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<DefaultExpression>NULL</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="81" parent="11" name="hash">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="82" parent="11" name="dateCreated">
|
||||||
|
<Position>6</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>'2018-05-08T23:41:15.225Z'</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="83" parent="11" name="dateModified">
|
||||||
|
<Position>7</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>'2018-05-08T23:41:15.225Z'</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<index id="84" parent="11" name="sqlite_autoindex_note_contents_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>noteContentId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<index id="85" parent="11" name="IDX_note_contents_noteId">
|
||||||
|
<ColNames>noteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<key id="86" parent="11">
|
||||||
|
<ColNames>noteContentId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_note_contents_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="87" parent="12" name="noteRevisionId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="88" parent="12" name="noteId">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="89" parent="12" name="title">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="90" parent="12" name="content">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="91" parent="12" name="isProtected">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="92" parent="12" name="dateModifiedFrom">
|
||||||
|
<Position>6</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="93" parent="12" name="dateModifiedTo">
|
||||||
|
<Position>7</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="94" parent="12" name="type">
|
||||||
|
<Position>8</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>''</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="95" parent="12" name="mime">
|
||||||
|
<Position>9</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>''</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="96" parent="12" name="hash">
|
||||||
|
<Position>10</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<index id="97" parent="12" name="sqlite_autoindex_note_revisions_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>noteRevisionId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<index id="98" parent="12" name="IDX_note_revisions_noteId">
|
||||||
|
<ColNames>noteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="99" parent="12" name="IDX_note_revisions_dateModifiedFrom">
|
||||||
|
<ColNames>dateModifiedFrom</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<index id="100" parent="12" name="IDX_note_revisions_dateModifiedTo">
|
||||||
|
<ColNames>dateModifiedTo</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<key id="101" parent="12">
|
||||||
|
<ColNames>noteRevisionId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_note_revisions_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="102" parent="13" name="noteId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="103" parent="13" name="title">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>"note"</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="104" parent="13" name="isProtected">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="105" parent="13" name="type">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>'text'</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="106" parent="13" name="mime">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>'text/html'</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="107" parent="13" name="hash">
|
||||||
|
<Position>6</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="108" parent="13" name="isDeleted">
|
||||||
|
<Position>7</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="109" parent="13" name="dateCreated">
|
||||||
|
<Position>8</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="110" parent="13" name="dateModified">
|
||||||
|
<Position>9</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<index id="111" parent="13" name="sqlite_autoindex_notes_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>noteId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<key id="112" parent="13">
|
||||||
|
<ColNames>noteId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_notes_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="113" parent="14" name="name">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="114" parent="14" name="value">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="115" parent="14" name="dateModified">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="116" parent="14" name="isSynced">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>INTEGER|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>0</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="117" parent="14" name="hash">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="118" parent="14" name="dateCreated">
|
||||||
|
<Position>6</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>'1970-01-01T00:00:00.000Z'</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<index id="119" parent="14" name="sqlite_autoindex_options_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>name</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<key id="120" parent="14">
|
||||||
|
<ColNames>name</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_options_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="121" parent="15" name="branchId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="122" parent="15" name="notePath">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="123" parent="15" name="hash">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<DefaultExpression>""</DefaultExpression>
|
||||||
|
</column>
|
||||||
|
<column id="124" parent="15" name="dateCreated">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="125" parent="15" name="isDeleted">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>INT|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<index id="126" parent="15" name="sqlite_autoindex_recent_notes_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>branchId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<key id="127" parent="15">
|
||||||
|
<ColNames>branchId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_recent_notes_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="128" parent="16" name="sourceId">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="129" parent="16" name="dateCreated">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<index id="130" parent="16" name="sqlite_autoindex_source_ids_1">
|
||||||
|
<NameSurrogate>1</NameSurrogate>
|
||||||
|
<ColNames>sourceId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<key id="131" parent="16">
|
||||||
|
<ColNames>sourceId</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
<UnderlyingIndexName>sqlite_autoindex_source_ids_1</UnderlyingIndexName>
|
||||||
|
</key>
|
||||||
|
<column id="132" parent="17" name="type">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>text|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="133" parent="17" name="name">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>text|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="134" parent="17" name="tbl_name">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>text|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="135" parent="17" name="rootpage">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>integer|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="136" parent="17" name="sql">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>text|0s</DataType>
|
||||||
|
</column>
|
||||||
|
<column id="137" parent="18" name="name">
|
||||||
|
<Position>1</Position>
|
||||||
|
</column>
|
||||||
|
<column id="138" parent="18" name="seq">
|
||||||
|
<Position>2</Position>
|
||||||
|
</column>
|
||||||
|
<column id="139" parent="19" name="id">
|
||||||
|
<Position>1</Position>
|
||||||
|
<DataType>INTEGER|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
<SequenceIdentity>1</SequenceIdentity>
|
||||||
|
</column>
|
||||||
|
<column id="140" parent="19" name="entityName">
|
||||||
|
<Position>2</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="141" parent="19" name="entityId">
|
||||||
|
<Position>3</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="142" parent="19" name="sourceId">
|
||||||
|
<Position>4</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<column id="143" parent="19" name="syncDate">
|
||||||
|
<Position>5</Position>
|
||||||
|
<DataType>TEXT|0s</DataType>
|
||||||
|
<NotNull>1</NotNull>
|
||||||
|
</column>
|
||||||
|
<index id="144" parent="19" name="IDX_sync_entityName_entityId">
|
||||||
|
<ColNames>entityName
|
||||||
|
entityId</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
<Unique>1</Unique>
|
||||||
|
</index>
|
||||||
|
<index id="145" parent="19" name="IDX_sync_syncDate">
|
||||||
|
<ColNames>syncDate</ColNames>
|
||||||
|
<ColumnCollations></ColumnCollations>
|
||||||
|
</index>
|
||||||
|
<key id="146" parent="19">
|
||||||
|
<ColNames>id</ColNames>
|
||||||
|
<Primary>1</Primary>
|
||||||
|
</key>
|
||||||
|
</database-model>
|
||||||
|
</dataSource>
|
||||||
2
.idea/dataSources/a2c75661-f9e2-478f-a69f-6a9409e69997/storage_v2/_src_/schema/main.uQUzAA.meta
generated
Normal file
2
.idea/dataSources/a2c75661-f9e2-478f-a69f-6a9409e69997/storage_v2/_src_/schema/main.uQUzAA.meta
generated
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#n:main
|
||||||
|
!<md> [0, 0, null, null, -2147483648, -2147483648]
|
||||||
4
.idea/encodings.xml
generated
Normal file
4
.idea/encodings.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
|
||||||
|
</project>
|
||||||
10
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
10
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||||
|
<option name="processCode" value="true" />
|
||||||
|
<option name="processLiterals" value="true" />
|
||||||
|
<option name="processComments" value="true" />
|
||||||
|
</inspection_tool>
|
||||||
|
</profile>
|
||||||
|
</component>
|
||||||
9
.idea/jsLinters/jslint.xml
generated
Normal file
9
.idea/jsLinters/jslint.xml
generated
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JSLintConfiguration">
|
||||||
|
<option devel="true" />
|
||||||
|
<option es6="true" />
|
||||||
|
<option maxerr="50" />
|
||||||
|
<option node="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
9
.idea/misc.xml
generated
Normal file
9
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JavaScriptSettings">
|
||||||
|
<option name="languageLevel" value="ES6" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/trilium.iml" filepath="$PROJECT_DIR$/trilium.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
.idea/sqldialects.xml
generated
Normal file
6
.idea/sqldialects.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="SqlDialectMappings">
|
||||||
|
<file url="PROJECT" dialect="SQLite" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
28
Dockerfile
Normal file
28
Dockerfile
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
FROM node:10.15.0-alpine
|
||||||
|
|
||||||
|
# Create app directory
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
# Copy both package.json and package-lock.json
|
||||||
|
# where available (npm@5+)
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
|
||||||
|
# Install app dependencies
|
||||||
|
RUN set -x \
|
||||||
|
&& apk add --no-cache --virtual .build-dependencies \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
g++ \
|
||||||
|
gcc \
|
||||||
|
libtool \
|
||||||
|
make \
|
||||||
|
nasm \
|
||||||
|
libpng-dev \
|
||||||
|
&& npm install --production \
|
||||||
|
&& apk del .build-dependencies
|
||||||
|
|
||||||
|
# Bundle app source
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
CMD [ "node", "./src/www" ]
|
||||||
64
README.md
64
README.md
@@ -1,43 +1,49 @@
|
|||||||
# Trilium Notes
|
# Trilium Notes
|
||||||
Trilium Notes is a hierarchical note taking application. Picture tells a thousand words:
|
|
||||||
|
[](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 with focus on building large personal knowledge bases. See [screenshots](https://github.com/zadam/trilium/wiki/Screenshot-tour) for quick overview:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
* Notes can be arranged into arbitrarily deep hierarchy
|
* 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))
|
||||||
* 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)
|
||||||
* WYSIWYG (What You See Is What You Get) editing
|
* 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
|
* Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions)
|
||||||
* Can be deployed as web application and / or desktop application with offline access (electron based)
|
* 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 with](https://github.com/zadam/trilium/wiki/Synchronization) self-hosted sync server
|
* [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization) with self-hosted sync server
|
||||||
* Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes)
|
* 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) 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)
|
||||||
|
|
||||||
## Builds
|
## Builds
|
||||||
|
|
||||||
* If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Installation-as-webapp)
|
Trilium is provided as either desktop application (Linux, Windows, Mac) or web application hosted on your server (Linux).
|
||||||
|
|
||||||
* 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 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).
|
||||||
## Supported platforms
|
* Currently only recent Chrome and Firefox are supported (tested) browsers.
|
||||||
|
|
||||||
Desktop (electron-based) 64-bit builds are available for Linux and Windows.
|
|
||||||
|
|
||||||
Requirements for web based installation are [outlined here](https://github.com/zadam/trilium/wiki/Installation-as-webapp).
|
|
||||||
|
|
||||||
Currently only recent Chrome and Firefox are supported (tested) browsers. Other modern browsers (not IE) might work as well.
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
List of documentation pages:
|
[See wiki for complete list of documentation pages.](https://github.com/zadam/trilium/wiki/)
|
||||||
|
|
||||||
* [Installation as webapp](https://github.com/zadam/trilium/wiki/Installation-as-webapp)
|
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.
|
||||||
* [Note navigation](https://github.com/zadam/trilium/wiki/Note-navigation)
|
|
||||||
* [Tree manipulation](https://github.com/zadam/trilium/wiki/Tree-manipulation)
|
## Contribute
|
||||||
* [Links](https://github.com/zadam/trilium/wiki/Links)
|
|
||||||
* [Cloning notes](https://github.com/zadam/trilium/wiki/Cloning-notes)
|
Use a browser based dev environment
|
||||||
* [Protected notes](https://github.com/zadam/trilium/wiki/Protected-notes)
|
|
||||||
* [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization)
|
[](https://gitpod.io/#https://github.com/zadam/trilium)
|
||||||
* [Document](https://github.com/zadam/trilium/wiki/Document)
|
|
||||||
* [Keyboard shortcuts](https://github.com/zadam/trilium/wiki/Keyboard-shortcuts)
|
Or clone locally and run
|
||||||
* [Troubleshooting](https://github.com/zadam/trilium/wiki/Troubleshooting)
|
```
|
||||||
|
npm install
|
||||||
|
npm run start
|
||||||
|
```
|
||||||
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
|
||||||
5
bin/build-docker.sh
Executable file
5
bin/build-docker.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
VERSION=`jq -r ".version" package.json`
|
||||||
|
|
||||||
|
sudo docker build -t zadam/trilium:latest -t zadam/trilium:$VERSION .
|
||||||
24
bin/build-linux-x64.sh
Executable file
24
bin/build-linux-x64.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
BUILD_DIR=./dist/trilium-linux-x64
|
||||||
|
rm -rf $BUILD_DIR
|
||||||
|
|
||||||
|
rm -r node_modules/sqlite3/lib/binding/*
|
||||||
|
|
||||||
|
cp -r bin/deps/linux-x64/sqlite/* node_modules/sqlite3/lib/binding/
|
||||||
|
|
||||||
|
./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite
|
||||||
|
|
||||||
|
mv "./dist/Trilium Notes-linux-x64" $BUILD_DIR
|
||||||
|
|
||||||
|
cp src/public/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
|
||||||
|
|
||||||
|
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
|
||||||
32
bin/build-mac-x64.sh
Executable file
32
bin/build-mac-x64.sh
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
BUILD_DIR=./dist/trilium-mac-x64
|
||||||
|
rm -rf $BUILD_DIR
|
||||||
|
|
||||||
|
echo "Copying required mac binaries"
|
||||||
|
|
||||||
|
rm -r node_modules/sqlite3/lib/binding/*
|
||||||
|
rm -r node_modules/mozjpeg/vendor/*
|
||||||
|
rm -r node_modules/pngquant-bin/vendor/*
|
||||||
|
rm -r node_modules/giflossy/vendor/*
|
||||||
|
|
||||||
|
cp -r bin/deps/mac-x64/sqlite/* node_modules/sqlite3/lib/binding/
|
||||||
|
cp bin/deps/mac-x64/image/cjpeg node_modules/mozjpeg/vendor/
|
||||||
|
cp bin/deps/mac-x64/image/pngquant node_modules/pngquant-bin/vendor/
|
||||||
|
cp bin/deps/mac-x64/image/gifsicle node_modules/giflossy/vendor/
|
||||||
|
|
||||||
|
./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=src/public/images/app-icons/mac/icon.icns
|
||||||
|
|
||||||
|
# Mac build has by default useless directory level
|
||||||
|
mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR
|
||||||
|
|
||||||
|
./bin/reset-local.sh
|
||||||
|
|
||||||
|
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
|
||||||
38
bin/build-server.sh
Executable file
38
bin/build-server.sh
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
PKG_DIR=dist/trilium-linux-x64-server
|
||||||
|
NODE_VERSION=10.15.0
|
||||||
|
|
||||||
|
rm -r $PKG_DIR
|
||||||
|
mkdir $PKG_DIR
|
||||||
|
cd $PKG_DIR
|
||||||
|
|
||||||
|
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*
|
||||||
|
|
||||||
|
rm -r ./node_modules/sqlite3/lib/binding/*
|
||||||
|
|
||||||
|
cp -r ../../bin/deps/linux-x64/sqlite/node* ./node_modules/sqlite3/lib/binding/
|
||||||
|
|
||||||
|
printf "#/bin/sh\n./node/bin/node src/www" > trilium.sh
|
||||||
|
chmod 755 trilium.sh
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
VERSION=`jq -r ".version" ../package.json`
|
||||||
|
|
||||||
|
tar cJf trilium-linux-x64-server-${VERSION}.tar.xz trilium-linux-x64-server
|
||||||
32
bin/build-win-x64.sh
Executable file
32
bin/build-win-x64.sh
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
BUILD_DIR=./dist/trilium-windows-x64
|
||||||
|
rm -rf $BUILD_DIR
|
||||||
|
|
||||||
|
echo "Copying required windows binaries"
|
||||||
|
|
||||||
|
rm -r node_modules/sqlite3/lib/binding/*
|
||||||
|
rm -r node_modules/mozjpeg/vendor/*
|
||||||
|
rm -r node_modules/pngquant-bin/vendor/*
|
||||||
|
rm -r node_modules/giflossy/vendor/*
|
||||||
|
|
||||||
|
cp -r bin/deps/win-x64/sqlite/* node_modules/sqlite3/lib/binding/
|
||||||
|
cp bin/deps/win-x64/image/cjpeg.exe node_modules/mozjpeg/vendor/
|
||||||
|
cp bin/deps/win-x64/image/pngquant.exe node_modules/pngquant-bin/vendor/
|
||||||
|
cp bin/deps/win-x64/image/gifsicle.exe node_modules/giflossy/vendor/
|
||||||
|
|
||||||
|
./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=win32 --arch=x64 --overwrite --icon=src/public/images/app-icons/win/icon.ico
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
./bin/reset-local.sh
|
||||||
|
|
||||||
|
echo "Zipping windows x64 electron distribution..."
|
||||||
|
VERSION=`jq -r ".version" package.json`
|
||||||
|
|
||||||
|
cd dist
|
||||||
|
|
||||||
|
zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64
|
||||||
35
bin/build.sh
35
bin/build.sh
@@ -1,34 +1,21 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
rm -r node_modules
|
||||||
|
|
||||||
|
npm install
|
||||||
|
|
||||||
echo "Deleting existing builds"
|
echo "Deleting existing builds"
|
||||||
|
|
||||||
rm -r dist/*
|
rm -r dist/*
|
||||||
|
|
||||||
echo "Rebuilding binaries for linux-ia32"
|
bin/build-win-x64.sh
|
||||||
./node_modules/.bin/electron-rebuild --arch=ia32
|
|
||||||
|
|
||||||
./node_modules/.bin/electron-packager . --out=dist --platform=linux --arch=ia32 --overwrite
|
bin/build-mac-x64.sh
|
||||||
|
|
||||||
./node_modules/.bin/electron-packager . --out=dist --platform=win32 --arch=x64 --overwrite
|
# building X64 linux as the last so electron-rebuild will prepare X64 binaries for local development
|
||||||
|
bin/build-linux-x64.sh
|
||||||
|
|
||||||
# we build x64 as second so that we keep X64 binaries in node_modules for local development
|
# this needs to be run after linux build
|
||||||
echo "Rebuilding binaries for linux-x64"
|
bin/build-debian.sh
|
||||||
./node_modules/.bin/electron-rebuild --arch=x64
|
|
||||||
|
|
||||||
./node_modules/.bin/electron-packager . --out=dist --platform=linux --arch=x64 --overwrite
|
bin/build-server.sh
|
||||||
|
|
||||||
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/
|
|
||||||
cp bin/deps/scrypt.node $WIN_RES_DIR/node_modules/scrypt/build/Release/
|
|
||||||
|
|
||||||
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
|
|
||||||
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.
BIN
bin/deps/linux-x64/sqlite/electron-v4.0-linux-x64/node_sqlite3.node
Executable file
BIN
bin/deps/linux-x64/sqlite/electron-v4.0-linux-x64/node_sqlite3.node
Executable file
Binary file not shown.
BIN
bin/deps/linux-x64/sqlite/node-v64-linux-x64/node_sqlite3.node
Executable file
BIN
bin/deps/linux-x64/sqlite/node-v64-linux-x64/node_sqlite3.node
Executable file
Binary file not shown.
BIN
bin/deps/mac-x64/image/cjpeg
Executable file
BIN
bin/deps/mac-x64/image/cjpeg
Executable file
Binary file not shown.
BIN
bin/deps/mac-x64/image/gifsicle
Normal file
BIN
bin/deps/mac-x64/image/gifsicle
Normal file
Binary file not shown.
BIN
bin/deps/mac-x64/image/pngquant
Normal file
BIN
bin/deps/mac-x64/image/pngquant
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0
bin/deps/image/cjpeg.exe → bin/deps/win-x64/image/cjpeg.exe
Normal file → Executable file
0
bin/deps/image/cjpeg.exe → bin/deps/win-x64/image/cjpeg.exe
Normal file → Executable file
BIN
bin/deps/win-x64/image/pngquant.exe
Normal file
BIN
bin/deps/win-x64/image/pngquant.exe
Normal file
Binary file not shown.
Binary file not shown.
@@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
SCHEMA_FILE_PATH=db/schema.sql
|
SCHEMA_FILE_PATH=db/schema.sql
|
||||||
|
|
||||||
sqlite3 ~/trilium-data/document.db .schema > "$SCHEMA_FILE_PATH"
|
sqlite3 ~/trilium-data/document.db .schema | grep -v "sqlite_sequence" > "$SCHEMA_FILE_PATH"
|
||||||
|
|
||||||
echo "DB schema exported to $SCHEMA_FILE_PATH"
|
echo "DB schema exported to $SCHEMA_FILE_PATH"
|
||||||
0
bin/generate-cert.sh
Normal file → Executable file
0
bin/generate-cert.sh
Normal file → Executable file
@@ -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
|
|
||||||
9
bin/push-docker-image.sh
Executable file
9
bin/push-docker-image.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [[ $# -eq 0 ]] ; then
|
||||||
|
echo "Missing argument of new version"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo docker push zadam/trilium:latest
|
||||||
|
sudo docker push zadam/trilium:$1
|
||||||
@@ -24,9 +24,9 @@ jq '.version = "'$VERSION'"' package.json|sponge package.json
|
|||||||
|
|
||||||
git add package.json
|
git add package.json
|
||||||
|
|
||||||
echo 'module.exports = { build_date:"'`date --iso-8601=seconds`'", build_revision: "'`git log -1 --format="%H"`'" };' > services/build.js
|
echo 'module.exports = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.js
|
||||||
|
|
||||||
git add services/build.js
|
git add src/services/build.js
|
||||||
|
|
||||||
TAG=v$VERSION
|
TAG=v$VERSION
|
||||||
|
|
||||||
@@ -42,17 +42,30 @@ git push origin $TAG
|
|||||||
|
|
||||||
bin/build.sh
|
bin/build.sh
|
||||||
|
|
||||||
bin/package.sh
|
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.tar.xz
|
||||||
|
DEBIAN_X64_BUILD=trilium_${VERSION}_amd64.deb
|
||||||
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.7z
|
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.zip
|
||||||
LINUX_IA32_BUILD=trilium-linux-ia32-$VERSION.7z
|
MAC_X64_BUILD=trilium-mac-x64-$VERSION.zip
|
||||||
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.7z
|
SERVER_BUILD=trilium-linux-x64-server-$VERSION.tar.xz
|
||||||
|
|
||||||
echo "Creating release in GitHub"
|
echo "Creating release in GitHub"
|
||||||
|
|
||||||
|
EXTRA=
|
||||||
|
|
||||||
|
if [[ $TAG == *"beta"* ]]; then
|
||||||
|
EXTRA=--pre-release
|
||||||
|
fi
|
||||||
|
|
||||||
github-release release \
|
github-release release \
|
||||||
--tag $TAG \
|
--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"
|
echo "Uploading linux x64 build"
|
||||||
|
|
||||||
@@ -61,13 +74,6 @@ github-release upload \
|
|||||||
--name "$LINUX_X64_BUILD" \
|
--name "$LINUX_X64_BUILD" \
|
||||||
--file "dist/$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"
|
echo "Uploading windows x64 build"
|
||||||
|
|
||||||
github-release upload \
|
github-release upload \
|
||||||
@@ -75,4 +81,26 @@ github-release upload \
|
|||||||
--name "$WINDOWS_X64_BUILD" \
|
--name "$WINDOWS_X64_BUILD" \
|
||||||
--file "dist/$WINDOWS_X64_BUILD"
|
--file "dist/$WINDOWS_X64_BUILD"
|
||||||
|
|
||||||
|
echo "Uploading mac x64 build"
|
||||||
|
|
||||||
|
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 \
|
||||||
|
--name "$SERVER_BUILD" \
|
||||||
|
--file "dist/$SERVER_BUILD"
|
||||||
|
|
||||||
|
echo "Building docker image"
|
||||||
|
|
||||||
|
bin/build-docker.sh $VERSION
|
||||||
|
|
||||||
|
echo "Pushing docker image to dockerhub"
|
||||||
|
|
||||||
|
bin/push-docker-image.sh $VERSION
|
||||||
|
|
||||||
echo "Release finished!"
|
echo "Release finished!"
|
||||||
3
bin/reset-local.sh
Executable file
3
bin/reset-local.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
./node_modules/.bin/electron-rebuild --arch=x64
|
||||||
@@ -1,13 +1,12 @@
|
|||||||
|
[General]
|
||||||
|
# Instance name can be used to distinguish between different instances
|
||||||
|
instanceName=
|
||||||
|
|
||||||
[Network]
|
[Network]
|
||||||
|
# port setting is relevant only for web deployments, desktop builds run on random free port
|
||||||
port=8080
|
port=8080
|
||||||
# true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
|
# true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
|
||||||
https=false
|
https=false
|
||||||
# path to certificate (run "bash generate-cert.sh" to generate self-signed certificate). Relevant only if https=true
|
# path to certificate (run "bash bin/generate-cert.sh" to generate self-signed certificate). Relevant only if https=true
|
||||||
certPath=
|
certPath=
|
||||||
keyPath=
|
keyPath=
|
||||||
|
|
||||||
[Sync]
|
|
||||||
syncServerHost=
|
|
||||||
syncServerTimeout=10000
|
|
||||||
syncProxy=
|
|
||||||
syncServerCertificate=
|
|
||||||
BIN
db/demo.tar
Normal file
BIN
db/demo.tar
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1,57 +0,0 @@
|
|||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('root', 'root', 'root', 0, 0, '2017-12-22T11:41:07.000Z', '2017-12-22T11:41:07.000Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('1Heh2acXfPNt', 'Trilium Demo', '<figure class="image image-style-side"><img src="/api/images/ed64aET6i379/trilium-small.png"></figure><p><strong>Welcome to Trilium Notes!</strong></p><p> </p><p>This is initial document provided by default Trilium to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.</p><p> </p><p>If you need any help, visit Trilium website: <a href="https://github.com/zadam/trilium">https://github.com/zadam/trilium</a></p><h3>Cleanup</h3><p>Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.</p><h3>Formatting</h3><p>Trilium supports classic formatting like <i>italic</i>, <strong>bold</strong>, <i><strong>bold and italic</strong></i>. Of course you can add links like this one pointing to <a href="http://www.google.com">google.com</a></p><h4>Lists</h4><p><strong>Ordered:</strong></p><ol><li>First Item</li><li>Second item<ol><li>First sub-item</li><li>Second sub-item</li></ol></li></ol><p> </p><p><strong>Unordered:</strong></p><ul><li>Item</li><li>Another item<ul><li>Sub-item<ul><li>Sub-sub-item</li></ul></li></ul></li></ul><h4>Block quotes</h4><blockquote><p>Whereof one cannot speak, thereof one must be silent”</p><p>– Ludwig Wittgenstein</p></blockquote><p> </p>', 0, 0, '2017-12-23T00:46:39.304Z', '2017-12-23T04:08:45.445Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('3RkyK9LI18dO', 'Journal', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:20:04.181Z', '2017-12-23T18:07:55.377Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('L1Ox40M1aEyy', '2016', '<p>No content.</p><p> </p><p> </p><p> </p><p> </p>', 0, 0, '2017-12-23T01:20:45.365Z', '2017-12-23T16:40:43.129Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('HJusZTbBU494', '2017', '<p>No content.</p>', 0, 0, '2017-12-23T01:20:50.709Z', '2017-12-23T16:41:03.119Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('3oldoiMUPOlr', 'December', '', 0, 0, '2017-12-23T01:20:55.775Z', '2017-12-23T01:21:05.806Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('MG0wntwILQW6', '22 - friday', 'Daily summary', 0, 0, '2017-12-23T01:21:10.517Z', '2017-12-23T01:22:45.814Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('ZC78NlmdXeC6', 'Linux', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:22:55.255Z', '2017-12-23T18:08:10.381Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('NncfGH8dyNjJ', 'Programming', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:23:02.584Z', '2017-12-23T18:08:20.179Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('eouCLkjbruai', 'Java', '', 0, 0, '2017-12-23T01:23:28.291Z', '2017-12-23T01:23:31.944Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('C44aq4mkaX67', 'Bash scripting', '<p><strong>Bash</strong> is a <a href="https://en.wikipedia.org/wiki/Unix_shell">Unix shell</a> and <a href="https://en.wikipedia.org/wiki/Command_language">command language</a> written by <a href="https://en.wikipedia.org/wiki/Brian_Fox_(computer_programmer)">Brian Fox</a> for the <a href="https://en.wikipedia.org/wiki/GNU_Project">GNU Project</a> as a <a href="https://en.wikipedia.org/wiki/Free_software">free software</a> replacement for the <a href="https://en.wikipedia.org/wiki/Bourne_shell">Bourne shell</a>. First released in 1989, it has been distributed widely as the default <a href="https://en.wikipedia.org/wiki/Login">login</a> shell for most <a href="https://en.wikipedia.org/wiki/Linux">Linux</a> distributions and <a href="https://en.wikipedia.org/wiki/Apple_Inc.">Apple''s</a> <a href="https://en.wikipedia.org/wiki/MacOS">macOS</a> (formerly OS X). A version <a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux">is also available for Windows 10</a>.</p><p> </p><p><a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">Bash on Wikipedia</a></p>', 0, 0, '2017-12-23T01:23:31.879Z', '2017-12-23T04:00:49.098Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('I6Cw88AirBBl', 'While loop', '<p>Documentation: <a href="http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html">http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html</a></p><p> </p><p>#!/bin/bash
|
|
||||||
|
|
||||||
</p><p># This script opens 4 terminal windows.
|
|
||||||
|
|
||||||
</p><p> </p><p>i="0"
|
|
||||||
|
|
||||||
</p><p>while [ $i -lt 4 ]
|
|
||||||
</p><p>do
|
|
||||||
</p><p> xterm &
|
|
||||||
</p><p> i=$[$i+1]
|
|
||||||
</p><p>done</p>', 0, 0, '2017-12-23T01:24:04.681Z', '2017-12-23T01:26:07.786Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('mcEwFMSjhlvL', 'Bash startup modes', '<h3>Login shell</h3><p>As a "login shell", Bash reads and sets (executes) the user''s profile from /etc/profile and one of ~/.bash_profile, ~/.bash_login, or ~/.profile (in that order, using the first one that''s readable!).</p><p>When a login shell exits, Bash reads and executes commands from the file ~/.bash_logout, if it exists.</p><p>Why an extra login shell mode? There are many actions and variable sets that only make sense for the initial user login. That''s why all UNIX® shells have (should have) a "login" mode.</p><p><i><strong>Methods to start Bash as a login shell:</strong></i></p><ul><li>the first character of argv[0] is - (a hyphen): traditional UNIX® shells start from the login binary</li><li>Bash is started with the -l option</li><li>Bash is started with the --login option</li></ul><p><i><strong>Methods to test for login shell mode:</strong></i></p><ul><li>the shell option <a href="http://wiki.bash-hackers.org/internals/shell_options#login_shell">login_shell</a> is set</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>--noprofile disables reading of all profile files</li></ul><h3>Interactive shell</h3><p>When Bash starts as an interactive non-login shell, it reads and executes commands from ~/.bashrc. This file should contain, for example, aliases, since they need to be defined in every shell as they''re not inherited from the parent shell.</p><p>The feature to have a system-wide /etc/bash.bashrc or a similar system-wide rc-file is specific to vendors and distributors that ship <i>their own, patched variant of Bash</i>. The classic way to have a system-wide rc file is to source /etc/bashrc from every user''s ~/.bashrc.</p><p><i><strong>Methods to test for interactive-shell mode:</strong></i></p><ul><li>the special parameter $- contains the letter i (lowercase I)</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>-i forces the interactive mode</li><li>--norc disables reading of the startup files (e.g. /etc/bash.bashrc if supported) and ~/.bashrc</li><li>--rcfile defines another startup file (instead of /etc/bash.bashrc and ~/.bashrc)</li></ul><h3>SH mode</h3><p>When Bash starts in SH compatiblity mode, it tries to mimic the startup behaviour of historical versions of sh as closely as possible, while conforming to the POSIX® standard as well. The profile files read are /etc/profile and ~/.profile, if it''s a login shell.</p><p>If it''s not a login shell, the environment variable <a href="http://wiki.bash-hackers.org/syntax/shellvars#env">ENV</a> is evaluated and the resulting filename is used as the name of the startup file.</p><p>After the startup files are read, Bash enters the <a href="http://wiki.bash-hackers.org/scripting/bashbehaviour#posix_run_mode">POSIX(r) compatiblity mode (for running, not for starting!)</a>.</p><p><i><strong>Bash starts in sh compatiblity mode when:</strong></i></p><ul><li>the base filename in argv[0] is sh (<figure class="image"><img></figure> NB: /bin/sh may be linked to /bin/bash, but that doesn''t mean it acts like /bin/bash <figure class="image"><img></figure>)</li></ul>', 0, 0, '2017-12-23T01:29:35.974Z', '2017-12-23T01:34:10.493Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('CF2lUIJAr6Ey', 'Python', '', 0, 0, '2017-12-23T01:34:37.658Z', '2017-12-23T01:34:40.465Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('xkXwueRoDNeN', 'Christmas shopping', '<p> </p>', 0, 0, '2017-12-23T01:35:40.306Z', '2017-12-23T16:43:08.157Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('eXHZAKsMYgur', 'Books', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T03:32:42.868Z', '2017-12-23T18:08:03.857Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('2WU27ekfy07E', 'To read', '<p>Checkout Kindle daily deals: <a href="https://www.amazon.com/gp/feature.html?docId=1000677541">https://www.amazon.com/gp/feature.html?docId=1000677541</a></p><p> </p><ul><li>Cixin Liu - <a href="https://www.amazon.com/Dark-Forest-Remembrance-Earths-Past/dp/0765386690/ref=pd_bxgy_14_img_2?_encoding=UTF8&pd_rd_i=0765386690&pd_rd_r=AB0J179TM9NTEAMHE240&pd_rd_w=FAhxX&pd_rd_wg=pLGK7&psc=1&refRID=AB0J179TM9NTEAMHE240">The Dark Forest</a></li><li>Ann Leckie - <a href="https://www.amazon.com/Ancillary-Sword-Imperial-Radch-Leckie/dp/0316246654/ref=pd_sim_14_1?_encoding=UTF8&pd_rd_i=0316246654&pd_rd_r=D7KDTGZFP7YM1YSYVY4G&pd_rd_w=jkn28&pd_rd_wg=JVhtw&psc=1&refRID=D7KDTGZFP7YM1YSYVY4G">Ancillary Sword</a></li></ul>', 0, 0, '2017-12-23T03:32:49.379Z', '2017-12-23T03:59:01.970Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('TjWEndYCCg7g', 'Reviews', '', 0, 0, '2017-12-23T03:33:23.584Z', '2017-12-23T03:33:35.089Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('8nRNDJGyGs2Z', 'The Mechanical', '<p><strong>Amazon:</strong> <a href="https://www.amazon.com/Mechanical-Alchemy-Wars-Ian-Tregillis/dp/0316248002">https://www.amazon.com/Mechanical-Alchemy-Wars-Ian-Tregillis/dp/0316248002</a></p><p><strong>Author:</strong> Ian Tregillis</p><p><strong>Dates of reading:</strong> 24. 11. 2017 -13. 12. 2017</p><p> </p><p>I enjoyed this book a lot. It''s slow moving at times with the author taking his time with conversations and descriptions of them. The premise is very interesting, but I''m sad that it wasn''t elaborated more deeply - e.g. the history and development of the clakker technology with Huygens and how Spinoza comes into the picture. Maybe the author saves it for the next two parts of the book.</p><p> </p><p>Language can be intimidating at first for non-native english speakers - author uses wide range of vocabulary. Fortunately it gets better after a while as reader adjusts.</p>', 0, 0, '2017-12-23T03:33:37.327Z', '2017-12-23T03:36:51.534Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('9zSwD89vgzNO', 'Highlights', '<blockquote><p>Like a raindrop rolling down dry valleys to the sea, his body sensed the contours of agony and helplessly followed their gradient. Impelled by alchemical compulsion rather than gravity, Jax became an unstoppable boulder careering along gullies of human whim.</p></blockquote><p> </p><blockquote><p>Free Will was a vacuum, a negative space. It was the absence of coercion, the absence of compulsion, the absence of agony.</p></blockquote><p> </p><blockquote><p>Overwhelming: he could do anything he wanted. But the grand sum of anything-at-all was nothing-at-all. The topology of freedom offered no gradients to nudge him, no landmarks to guide him. How did humans guide themselves? How did they know what to do and what not to do? How did they know when to do anything without the benefit of geasa and metageasa to prioritize every single action of their waking lives? How did they order their daily existence without somebody to tell them what to do?</p></blockquote><blockquote><p>Life as a slave was unspeakable; life as a slave who had briefly tasted freedom was unthinkable. Clakkers carried complex geasa by dint of alchemy; humans carried heavy obligations, too, but called them culture. Society.</p></blockquote>', 0, 0, '2017-12-23T03:37:04.912Z', '2017-12-23T03:38:16.533Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('u5t1EvWa3CMO', 'Man''s search for meaning', '<p><strong>Autor</strong>: Viktor Frankl - <a href="https://en.wikipedia.org/wiki/Viktor_Frankl">https://en.wikipedia.org/wiki/Viktor_Frankl</a></p><p><strong>Wiki</strong> - <a href="https://en.wikipedia.org/wiki/Man%27s_Search_for_Meaning">https://en.wikipedia.org/wiki/Man%27s_Search_for_Meaning</a></p><p> </p><p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?</p><p> </p>', 0, 0, '2017-12-23T03:39:21.918Z', '2017-12-23T03:40:26.692Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('Iha4YwchR413', '21 - thursday', '', 0, 0, '2017-12-23T03:44:21.176Z', '2017-12-23T03:44:28.816Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('6ZuXjCSWgjB4', 'November', '', 0, 0, '2017-12-23T03:44:45.351Z', '2017-12-23T03:44:53.787Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('GpGnjmcAPeWG', '28', '', 0, 0, '2017-12-23T03:44:57.036Z', '2017-12-23T03:45:08.790Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('21K84UqGhqlt', 'Christmas gift ideas', '<ul><li>XBox</li><li>Candles</li><li><a href="https://www.amazon.ca/Anker-SoundCore-Portable-Bluetooth-Resistance/dp/B01MTB55WH?pd_rd_wg=honW8&pd_rd_r=c9bb7c0f-0051-4da7-991f-4ca711a1b3e3&pd_rd_w=ciUpR&ref_=pd_gw_simh&pf_rd_r=K10XKX0NGPDNTYYP4BS4&pf_rd_p=5f1b460b-78c1-580e-929e-2878fe4859e8">Portable speakers</a></li><li>...?</li></ul>', 0, 0, '2017-12-23T03:45:10.933Z', '2017-12-23T16:43:28.160Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('rz5t0r9Qr2WC', 'Epics', '<p>Epic is kind of medium-term events or projects spread over days or months.</p><p> </p><p>Remember that Trilium is all free form so you can organise your stuff in whatever way you''d like</p><p> </p><p> </p>', 0, 0, '2017-12-23T03:45:20.914Z', '2017-12-23T03:52:37.779Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('R6pheWjdwmNU', 'Christmas', '<p>This christmas is going to be awesome!</p>', 0, 0, '2017-12-23T03:45:28.002Z', '2017-12-23T16:42:53.142Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('5v5Dx6LMHXIO', 'Christmas shopping', '<p>Bought a book!</p>', 0, 0, '2017-12-23T03:45:44.184Z', '2017-12-23T04:09:15.442Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('MLQjmREtcnJ3', 'Shopping', '', 0, 0, '2017-12-23T03:47:48.208Z', '2017-12-23T03:47:51.917Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('pTTjrxgnvURB', 'Vacation days', '<p>25. 12., 26. 12., 1. 1. - statutory holidays</p><p>27. 12. - 29. 12., 2. 1. - vacation days</p>', 0, 0, '2017-12-23T03:47:55.932Z', '2017-12-23T03:49:46.419Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('cFK9sGYZaMWs', 'Vacation in Cuba', 'Planning stuff etc.', 0, 0, '2017-12-23T03:49:32.210Z', '2017-12-23T03:55:17.763Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('pOFVzbXLmzhX', 'Christmas dinner', 'Carp of course!', 0, 0, '2017-12-23T03:54:46.138Z', '2017-12-23T03:54:57.762Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('0xtvjqrcGiRB', 'History', '<p>The <strong>history of Linux</strong> began in 1991 with the commencement of a personal project by <a href="https://en.wikipedia.org/wiki/Finland">Finnish</a> student <a href="https://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a> to create a new free operating system kernel. Since then, the resulting <a href="https://en.wikipedia.org/wiki/Linux_kernel">Linux kernel</a> has been marked by constant growth throughout its history. Since the initial release of its <a href="https://en.wikipedia.org/wiki/Source_code">source code</a> in 1991, it has grown from a small number of <a href="https://en.wikipedia.org/wiki/C_Programming_Language">C</a> files under a license prohibiting commercial distribution to the 4.2.3 version in 2015 with more than 18 million lines of source code under the <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GNU General Public License</a> v2.</p>', 0, 0, '2017-12-23T04:01:51.565Z', '2017-12-23T04:02:05.496Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('Zl69uXBSen0w', 'Ubuntu', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:02:16.685Z', '2017-12-23T18:08:15.381Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('62BKAQMVP2KW', 'Unity shortcuts', '<ul><li>Hold Super - Invoke the Launcher and display the shortcuts</li><li>Hold Super, then press 1 or 2 or 3 and so on until 0 to open or focus an application. The number corresponds to the location of the icon on the launcher from top to bottom.<ul><li>Adding Shift will open a new instance of the application if it''s already open.</li><li>Holding the key is also useful when you want to get to the Launcher but do not want to invoke the Dash.</li></ul></li><li>Super + T - Open the rubbish bin/trash can.</li><li>Alt + F1 - Put keyboard focus on the Launcher, use arrow keys to navigate, Enter launches an application, Right arrow exposes the quicklists if an application has them.</li><li>Ctrl + Alt + T - Launch a terminal window.</li></ul>', 0, 0, '2017-12-23T04:02:39.164Z', '2017-12-23T04:03:09.867Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('h4OfLEAYspud', 'Security', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:04:00.715Z', '2017-12-23T18:08:25.474Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('1hASbLRDL7oo', 'Trusted timestamping', '<p>Wiki: <a href="https://en.wikipedia.org/wiki/Trusted_timestamping">https://en.wikipedia.org/wiki/Trusted_timestamping</a></p><p>Bozho: <a href="https://techblog.bozho.net/using-trusted-timestamping-java/">https://techblog.bozho.net/using-trusted-timestamping-java/</a></p><p> </p><p><strong>Trusted timestamping</strong> is the process of <a href="https://en.wikipedia.org/wiki/Computer_security">securely</a> keeping track of the creation and modification time of a document. Security here means that no one—not even the owner of the document—should be able to change it once it has been recorded provided that the timestamper''s integrity is never compromised.</p><p>The administrative aspect involves setting up a publicly available, trusted timestamp management infrastructure to collect, process and renew timestamps.</p>', 0, 0, '2017-12-23T04:04:08.155Z', '2017-12-23T04:04:30.386Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('jyqG9GucsMdn', 'Office party', 'That was fun!', 0, 0, '2017-12-23T04:05:16.439Z', '2017-12-23T04:05:30.373Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('WdWZFuWNVDZk', 'Tech', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:06:16.179Z', '2017-12-23T18:08:05.376Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('yK4SBJfwD3tY', 'Work', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:06:32.833Z', '2017-12-23T18:08:30.573Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('r4BnsmSQeVr1', 'HR', '<p>HR stuff </p>', 0, 0, '2017-12-23T04:06:37.427Z', '2017-12-23T16:42:23.145Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('QbL3pTvhgzM8', 'Processes', '<p>No content.</p><p> </p>', 0, 0, '2017-12-23T04:06:43.841Z', '2017-12-23T16:42:15.893Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('moMbTKwN15Ps', 'Projects', '<p>Here I''d keep various notes related to my work''s projects etc.</p>', 0, 0, '2017-12-23T04:06:49.331Z', '2017-12-23T04:07:25.429Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('PEGQGg0In3Ar', 'Phone call about work project', '<p>Bla bla bla ....</p>', 0, 0, '2017-12-23T16:44:35.900Z', '2017-12-23T16:44:53.174Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('IlULcDiOTI4K', 'Inbox', '<p>This is a place I use to put notes waiting for better categorization</p><p> </p>', 0, 0, '2017-12-23T16:45:11.047Z', '2017-12-23T18:04:49.545Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('vBv6ovBupfTj', 'Grocery list for today', '<ul><li>cucumber</li><li>cheese</li><li>beer</li></ul><p> </p>', 0, 0, '2017-12-23T18:04:50.904Z', '2017-12-23T18:05:19.574Z');
|
|
||||||
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('mw4f2xB4J5fV', 'Book to read', '<p>How to be a stoic from Massimo Pigliuci:</p><p> </p><p><a href="https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&storeType=ebooks&pageType=STOREFRONT&pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&pf_rd_r=4J6CT15BS4X8062XNGDF&pf_rd_s=merchandised-search-5&pf_rd_t=40901&ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&pf_rd_i=154606011">https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&storeType=ebooks&pageType=STOREFRONT&pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&pf_rd_r=4J6CT15BS4X8062XNGDF&pf_rd_s=merchandised-search-5&pf_rd_t=40901&ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&pf_rd_i=154606011</a></p>', 0, 0, '2017-12-23T18:05:24.868Z', '2017-12-23T18:06:55.320Z');
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
INSERT INTO note_images (noteImageId, noteId, imageId, isDeleted, dateModified, dateCreated) VALUES ('2EtgRRPfk4Fi', '1Heh2acXfPNt', 'ed64aET6i379', 0, '2018-01-08T04:41:30.663Z', '2018-01-08T04:41:30.663Z');
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('dLgtLUFn3GoN', '1Heh2acXfPNt', 'root', 21, null, 1, 0, '2017-12-23T00:46:39.304Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('QLfS835GSfIh', '3RkyK9LI18dO', '1Heh2acXfPNt', 1, null, 1, 0, '2017-12-23T01:20:04.181Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('QJAcYJ1gGUh9', 'L1Ox40M1aEyy', '3RkyK9LI18dO', 0, null, 0, 0, '2017-12-23T01:20:45.365Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('wLTa2l3lYi83', 'HJusZTbBU494', '3RkyK9LI18dO', 2, null, 1, 0, '2017-12-23T01:20:50.709Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('yMhwsE7uvEij', '3oldoiMUPOlr', 'HJusZTbBU494', 1, null, 1, 0, '2017-12-23T01:20:55.775Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('EjQTcVVHFmmZ', 'MG0wntwILQW6', '3oldoiMUPOlr', 1, null, 1, 0, '2017-12-23T01:21:10.517Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('jvhKcwz4pYTr', 'ZC78NlmdXeC6', 'WdWZFuWNVDZk', 0, null, 1, 0, '2017-12-23T04:06:21.579Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('CarTrwkGVcPz', 'NncfGH8dyNjJ', 'WdWZFuWNVDZk', 1, null, 0, 0, '2017-12-23T04:06:24.012Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('6M7qPlr7at6N', 'eouCLkjbruai', 'NncfGH8dyNjJ', 0, null, 0, 0, '2017-12-23T01:23:28.291Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('tQgognnAH9WI', 'C44aq4mkaX67', 'NncfGH8dyNjJ', 1, null, 0, 0, '2017-12-23T01:23:31.879Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('xyAi7MmgvAgR', 'C44aq4mkaX67', 'ZC78NlmdXeC6', 1, null, 0, 0, '2017-12-23T01:23:47.756Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('xQ3fjRp9yaPq', 'I6Cw88AirBBl', 'C44aq4mkaX67', 0, null, 0, 0, '2017-12-23T01:24:04.681Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('2GOsNT5LsvTP', 'mcEwFMSjhlvL', 'C44aq4mkaX67', 1, null, 0, 0, '2017-12-23T01:29:35.974Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('RxUiraiR655R', 'CF2lUIJAr6Ey', 'NncfGH8dyNjJ', 2, null, 0, 0, '2017-12-23T01:34:37.658Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('mZuSrZ18Zmv0', 'xkXwueRoDNeN', 'MG0wntwILQW6', 0, null, 0, 0, '2017-12-23T01:35:40.306Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('hbcWTnEnXPwF', 'eXHZAKsMYgur', '1Heh2acXfPNt', 3, null, 1, 0, '2017-12-23T03:32:42.868Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('8a3aNxjG0nu7', '2WU27ekfy07E', 'eXHZAKsMYgur', 0, null, 0, 0, '2017-12-23T03:32:49.379Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('4Tu6vaPdCxCM', 'TjWEndYCCg7g', 'eXHZAKsMYgur', 1, null, 0, 0, '2017-12-23T03:33:23.584Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('lBPOmhP12egP', '8nRNDJGyGs2Z', 'TjWEndYCCg7g', 0, null, 0, 0, '2017-12-23T03:33:37.327Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('C5ipVqeDWySp', '9zSwD89vgzNO', '8nRNDJGyGs2Z', 0, null, 0, 0, '2017-12-23T03:37:04.912Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('uSitzbGcSATJ', 'u5t1EvWa3CMO', 'TjWEndYCCg7g', 1, null, 0, 0, '2017-12-23T03:39:21.918Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('GZ6aRI8rdSJt', '8nRNDJGyGs2Z', 'MG0wntwILQW6', 1, '', 0, 0, '2017-12-23T03:42:28.310Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('HsN4600rQoL9', 'Iha4YwchR413', '3oldoiMUPOlr', 0, null, 1, 0, '2017-12-23T03:44:30.945Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('uipfvAfwWRgx', '6ZuXjCSWgjB4', 'HJusZTbBU494', 0, null, 0, 0, '2017-12-23T03:44:54.096Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('nMRpPWWH8WRk', 'GpGnjmcAPeWG', '6ZuXjCSWgjB4', 0, null, 1, 0, '2017-12-23T03:44:57.036Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('c4wt27WNjepw', '21K84UqGhqlt', 'GpGnjmcAPeWG', 0, null, 0, 0, '2017-12-23T03:45:10.933Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('0fpnraUGs9Kl', 'rz5t0r9Qr2WC', 'HJusZTbBU494', 2, null, 1, 0, '2017-12-23T03:45:20.914Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('d8L8zYlLTbym', 'R6pheWjdwmNU', 'rz5t0r9Qr2WC', 0, null, 1, 0, '2017-12-23T03:45:28.002Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('T4USGzfllu5t', '5v5Dx6LMHXIO', 'Iha4YwchR413', 0, null, 0, 0, '2017-12-23T03:45:44.184Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('c4JgFNIobvQW', 'MLQjmREtcnJ3', 'R6pheWjdwmNU', 0, null, 0, 0, '2017-12-23T03:47:48.208Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('nfWjptAU2ZDg', 'pTTjrxgnvURB', 'R6pheWjdwmNU', 1, null, 0, 0, '2017-12-23T03:47:55.932Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('T2ToYBfyPy0g', 'cFK9sGYZaMWs', 'rz5t0r9Qr2WC', 1, null, 0, 0, '2017-12-23T03:49:32.210Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('NG4gbKOnsM3v', '21K84UqGhqlt', 'MLQjmREtcnJ3', 0, '28. 11. 2017', 0, 0, '2017-12-23T03:53:38.110Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('Fstg4tkccO4N', '5v5Dx6LMHXIO', 'MLQjmREtcnJ3', 1, '21. 12. 2017', 0, 0, '2017-12-23T03:53:49.737Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('MN8B7qXDUViO', 'xkXwueRoDNeN', 'MLQjmREtcnJ3', 2, '22. 12. 2017', 0, 0, '2017-12-23T03:53:57.486Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('gSRkHpB7Bu3D', 'pOFVzbXLmzhX', 'R6pheWjdwmNU', 2, null, 0, 0, '2017-12-23T03:54:46.138Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('6brdjeWDOB6w', '0xtvjqrcGiRB', 'ZC78NlmdXeC6', 0, null, 0, 0, '2017-12-23T04:02:06.650Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('AqKUM2zUVFUF', 'Zl69uXBSen0w', 'ZC78NlmdXeC6', 2, null, 1, 0, '2017-12-23T04:02:16.685Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('Ez7NN2WVzRc4', '62BKAQMVP2KW', 'Zl69uXBSen0w', 1, null, 0, 0, '2017-12-23T04:02:39.164Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('t3vVElqMIQVa', 'h4OfLEAYspud', 'WdWZFuWNVDZk', 2, null, 1, 0, '2017-12-23T04:06:25.769Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('O983DHtLpgmr', '1hASbLRDL7oo', 'h4OfLEAYspud', 0, null, 0, 0, '2017-12-23T16:42:26.347Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('RsvL795Mk1bp', '1hASbLRDL7oo', 'GpGnjmcAPeWG', 1, '', 0, 0, '2017-12-23T04:04:56.830Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('79e4hrHLFmx6', 'jyqG9GucsMdn', 'Iha4YwchR413', 1, null, 0, 0, '2017-12-23T04:05:16.439Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('oWO8rctUjf7d', 'WdWZFuWNVDZk', '1Heh2acXfPNt', 5, null, 1, 0, '2017-12-23T04:06:16.179Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('GOxcrZrxalFN', 'yK4SBJfwD3tY', '1Heh2acXfPNt', 8, null, 1, 0, '2017-12-23T04:06:32.833Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bSPmEvjLzQKU', 'r4BnsmSQeVr1', 'yK4SBJfwD3tY', 0, null, 0, 0, '2017-12-23T04:06:37.427Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bMtxCD6cwNR9', 'QbL3pTvhgzM8', 'yK4SBJfwD3tY', 2, null, 0, 0, '2017-12-23T04:06:43.841Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('o4ycR7xIi4oI', 'moMbTKwN15Ps', 'yK4SBJfwD3tY', 3, null, 1, 0, '2017-12-23T04:06:49.331Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('abTEhnOsAsSg', 'PEGQGg0In3Ar', 'GpGnjmcAPeWG', 2, null, 0, 0, '2017-12-23T16:44:35.900Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bryQseMhyzaI', 'IlULcDiOTI4K', '1Heh2acXfPNt', 0, null, 0, 0, '2017-12-23T18:04:26.439Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('ccslPJf3wQV3', 'vBv6ovBupfTj', 'IlULcDiOTI4K', 0, null, 0, 0, '2017-12-23T18:04:50.904Z');
|
|
||||||
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('5Dt9YCMn59sY', 'mw4f2xB4J5fV', 'IlULcDiOTI4K', 1, null, 0, 0, '2017-12-23T18:05:24.868Z');
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DROP INDEX IDX_attributes_noteId_name;
|
||||||
1
db/migrations/0073__add_isDeleted_to_attributes.sql
Normal file
1
db/migrations/0073__add_isDeleted_to_attributes.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE attributes ADD COLUMN isDeleted INT NOT NULL DEFAULT 0;
|
||||||
1
db/migrations/0074__add_position_to_attribute.sql
Normal file
1
db/migrations/0074__add_position_to_attribute.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE attributes ADD COLUMN position INT NOT NULL DEFAULT 0;
|
||||||
7
db/migrations/0075__add_api_token.sql
Normal file
7
db/migrations/0075__add_api_token.sql
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
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
|
||||||
|
);
|
||||||
1
db/migrations/0076__add_attribute_name_index.sql
Normal file
1
db/migrations/0076__add_attribute_name_index.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
CREATE INDEX IDX_attributes_name_value ON attributes (name, value);
|
||||||
23
db/migrations/0077__non_null_attribute_value.sql
Normal file
23
db/migrations/0077__non_null_attribute_value.sql
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
UPDATE attributes SET value = '' WHERE value IS NULL;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS "attributes_mig"
|
||||||
|
(
|
||||||
|
attributeId TEXT PRIMARY KEY NOT NULL,
|
||||||
|
noteId TEXT NOT NULL,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
value TEXT NOT NULL DEFAULT '',
|
||||||
|
position INT NOT NULL DEFAULT 0,
|
||||||
|
dateCreated TEXT NOT NULL,
|
||||||
|
dateModified TEXT NOT NULL,
|
||||||
|
isDeleted INT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO attributes_mig (attributeId, noteId, name, value, position, dateCreated, dateModified, isDeleted)
|
||||||
|
SELECT attributeId, noteId, name, value, position, dateCreated, dateModified, isDeleted FROM attributes;
|
||||||
|
|
||||||
|
DROP TABLE attributes;
|
||||||
|
|
||||||
|
ALTER TABLE attributes_mig RENAME TO attributes;
|
||||||
|
|
||||||
|
CREATE INDEX IDX_attributes_noteId ON attributes (noteId);
|
||||||
|
CREATE INDEX IDX_attributes_name_value ON attributes (name, value);
|
||||||
1
db/migrations/0078__javascript_type.sql
Normal file
1
db/migrations/0078__javascript_type.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
UPDATE notes SET mime = 'application/javascript;env=frontend' WHERE type = 'code' AND mime = 'application/javascript';
|
||||||
38
db/migrations/0079__rename_note_tree.sql
Normal file
38
db/migrations/0079__rename_note_tree.sql
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
CREATE TABLE "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,
|
||||||
|
PRIMARY KEY(`branchId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified)
|
||||||
|
SELECT noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified FROM note_tree;
|
||||||
|
|
||||||
|
DROP TABLE note_tree;
|
||||||
|
|
||||||
|
CREATE INDEX `IDX_branches_noteId` ON `branches` (
|
||||||
|
`noteId`
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (
|
||||||
|
`noteId`,
|
||||||
|
`parentNoteId`
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `recent_notes_mig` (
|
||||||
|
`branchId` TEXT NOT NULL PRIMARY KEY,
|
||||||
|
`notePath` TEXT NOT NULL,
|
||||||
|
`dateAccessed` TEXT NOT NULL,
|
||||||
|
isDeleted INT
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO recent_notes_mig (branchId, notePath, dateAccessed, isDeleted)
|
||||||
|
SELECT noteTreeId, notePath, dateAccessed, isDeleted FROM recent_notes;
|
||||||
|
|
||||||
|
DROP TABLE recent_notes;
|
||||||
|
ALTER TABLE recent_notes_mig RENAME TO recent_notes;
|
||||||
22
db/migrations/0080__rename_attributes_to_labels.sql
Normal file
22
db/migrations/0080__rename_attributes_to_labels.sql
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
create table labels
|
||||||
|
(
|
||||||
|
labelId TEXT not null primary key,
|
||||||
|
noteId 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
|
||||||
|
);
|
||||||
|
|
||||||
|
create index IDX_labels_name_value
|
||||||
|
on labels (name, value);
|
||||||
|
|
||||||
|
create index IDX_labels_noteId
|
||||||
|
on labels (noteId);
|
||||||
|
|
||||||
|
INSERT INTO labels (labelId, noteId, name, "value", "position", dateCreated, dateModified, isDeleted)
|
||||||
|
SELECT attributeId, noteId, name, "value", "position", dateCreated, dateModified, isDeleted FROM attributes;
|
||||||
|
|
||||||
|
DROP TABLE attributes;
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE options SET name = 'note_revision_snapshot_time_interval' WHERE name = 'history_snapshot_time_interval';
|
||||||
14
db/migrations/0082__camelCase_options.sql
Normal file
14
db/migrations/0082__camelCase_options.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
UPDATE "options" SET "name" = 'passwordVerificationHash' WHERE "name" = 'password_verification_hash';
|
||||||
|
UPDATE "options" SET "name" = 'dbVersion' WHERE "name" = 'db_version';
|
||||||
|
UPDATE "options" SET "name" = 'passwordDerivedKeySalt' WHERE "name" = 'password_derived_key_salt';
|
||||||
|
UPDATE "options" SET "name" = 'documentId' WHERE "name" = 'document_id';
|
||||||
|
UPDATE "options" SET "name" = 'lastSyncedPull' WHERE "name" = 'last_synced_pull';
|
||||||
|
UPDATE "options" SET "name" = 'startNotePath' WHERE "name" = 'start_note_path';
|
||||||
|
UPDATE "options" SET "name" = 'lastSyncedPush' WHERE "name" = 'last_synced_push';
|
||||||
|
UPDATE "options" SET "name" = 'documentSecret' WHERE "name" = 'document_secret';
|
||||||
|
UPDATE "options" SET "name" = 'lastBackupDate' WHERE "name" = 'last_backup_date';
|
||||||
|
UPDATE "options" SET "name" = 'noteRevisionSnapshotTimeInterval' WHERE "name" = 'note_revision_snapshot_time_interval';
|
||||||
|
UPDATE "options" SET "name" = 'protectedSessionTimeout' WHERE "name" = 'protected_session_timeout';
|
||||||
|
UPDATE "options" SET "name" = 'encryptedDataKey' WHERE "name" = 'encrypted_data_key';
|
||||||
|
UPDATE "options" SET "name" = 'encryptedDataKeyIv' WHERE "name" = 'encrypted_data_key_iv';
|
||||||
|
UPDATE "options" SET "name" = 'passwordVerificationSalt' WHERE "name" = 'password_verification_salt';
|
||||||
7
db/migrations/0083__camelCase_labels.sql
Normal file
7
db/migrations/0083__camelCase_labels.sql
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
UPDATE labels SET name = 'disableVersioning' WHERE name = 'disable_versioning';
|
||||||
|
UPDATE labels SET name = 'calendarRoot' WHERE name = 'calendar_root';
|
||||||
|
UPDATE labels SET name = 'hideInAutocomplete' WHERE name = 'hide_in_autocomplete';
|
||||||
|
UPDATE labels SET name = 'excludeFromExport' WHERE name = 'exclude_from_export';
|
||||||
|
UPDATE labels SET name = 'manualTransactionHandling' WHERE name = 'manual_transaction_handling';
|
||||||
|
UPDATE labels SET name = 'disableInclusion' WHERE name = 'disable_inclusion';
|
||||||
|
UPDATE labels SET name = 'appCss' WHERE name = 'app_css';
|
||||||
4
db/migrations/0084__camelCase_reddit_ids.sql
Normal file
4
db/migrations/0084__camelCase_reddit_ids.sql
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
UPDATE labels SET name = 'redditId' WHERE name = 'reddit_id';
|
||||||
|
UPDATE labels SET name = 'redditKind' WHERE name = 'reddit_kind';
|
||||||
|
UPDATE labels SET name = 'redditCreatedUtc' WHERE name = 'reddit_created_utc';
|
||||||
|
UPDATE labels SET name = 'redditDateNote' WHERE name = 'reddit_date_note';
|
||||||
2
db/migrations/0085__camelCase_run_values.sql
Normal file
2
db/migrations/0085__camelCase_run_values.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
UPDATE labels SET value = 'frontendStartup' WHERE value = 'frontend_startup';
|
||||||
|
UPDATE labels SET value = 'backendStartup' WHERE value = 'backend_startup';
|
||||||
7
db/migrations/0086__camelCase_custom_labels.sql
Normal file
7
db/migrations/0086__camelCase_custom_labels.sql
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
UPDATE labels SET name = 'dateData' WHERE name = 'date_data';
|
||||||
|
UPDATE labels SET name = 'dateNote' WHERE name = 'date_note';
|
||||||
|
UPDATE labels SET name = 'fileSize' WHERE name = 'file_size';
|
||||||
|
UPDATE labels SET name = 'hideInAutocomplete' WHERE name = 'hide_in_autocomplete';
|
||||||
|
UPDATE labels SET name = 'monthNote' WHERE name = 'month_note';
|
||||||
|
UPDATE labels SET name = 'originalFileName' WHERE name = 'original_file_name';
|
||||||
|
UPDATE labels SET name = 'yearNote' WHERE name = 'year_note';
|
||||||
5
db/migrations/0087__add_type_mime_to_note_revision.sql
Normal file
5
db/migrations/0087__add_type_mime_to_note_revision.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
ALTER TABLE note_revisions ADD type TEXT DEFAULT '' NOT NULL;
|
||||||
|
ALTER TABLE note_revisions ADD mime TEXT DEFAULT '' NOT NULL;
|
||||||
|
|
||||||
|
UPDATE note_revisions SET type = (SELECT type FROM notes WHERE notes.noteId = note_revisions.noteId);
|
||||||
|
UPDATE note_revisions SET mime = (SELECT mime FROM notes WHERE notes.noteId = note_revisions.noteId);
|
||||||
34
db/migrations/0088__non_null_note_title_content.sql
Normal file
34
db/migrations/0088__non_null_note_title_content.sql
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
CREATE TABLE event_logc027
|
||||||
|
(
|
||||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||||
|
noteId TEXT,
|
||||||
|
comment TEXT,
|
||||||
|
dateAdded TEXT NOT NULL
|
||||||
|
);
|
||||||
|
INSERT INTO event_logc027(id, noteId, comment, dateAdded) SELECT id, noteId, comment, dateAdded FROM event_log;
|
||||||
|
DROP TABLE event_log;
|
||||||
|
ALTER TABLE event_logc027 RENAME TO event_log;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||||
|
`noteId` TEXT NOT NULL,
|
||||||
|
`title` TEXT NOT NULL DEFAULT "unnamed",
|
||||||
|
`content` TEXT NOT NULL DEFAULT "",
|
||||||
|
`isProtected` INT NOT NULL DEFAULT 0,
|
||||||
|
`isDeleted` INT NOT NULL DEFAULT 0,
|
||||||
|
`dateCreated` TEXT NOT NULL,
|
||||||
|
`dateModified` TEXT NOT NULL,
|
||||||
|
type TEXT NOT NULL DEFAULT 'text',
|
||||||
|
mime TEXT NOT NULL DEFAULT 'text/html',
|
||||||
|
PRIMARY KEY(`noteId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO notes_mig (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime)
|
||||||
|
SELECT noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime FROM notes;
|
||||||
|
|
||||||
|
DROP TABLE notes;
|
||||||
|
|
||||||
|
ALTER TABLE notes_mig RENAME TO notes;
|
||||||
|
|
||||||
|
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (
|
||||||
|
`isDeleted`
|
||||||
|
);
|
||||||
5
db/migrations/0089__add_root_branch.sql
Normal file
5
db/migrations/0089__add_root_branch.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, dateModified)
|
||||||
|
VALUES ('root', 'root', 'none', 0, null, 1, '2018-01-01T00:00:00.000Z');
|
||||||
|
|
||||||
|
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
|
||||||
|
VALUES ('branches' ,'root', 'SYNC_FILL', '2018-01-01T00:00:00.000Z');
|
||||||
1
db/migrations/0090__branch_index.sql
Normal file
1
db/migrations/0090__branch_index.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
|
||||||
2
db/migrations/0091__drop_isDeleted_index.sql
Normal file
2
db/migrations/0091__drop_isDeleted_index.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
-- index confuses planner and is mostly useless anyway since we're mostly used in non-deleted notes (which are presumably majority)
|
||||||
|
DROP INDEX IDX_notes_isDeleted;
|
||||||
2
db/migrations/0092__add_type_index.sql
Normal file
2
db/migrations/0092__add_type_index.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
create index IDX_notes_type
|
||||||
|
on notes (type);
|
||||||
9
db/migrations/0093__add_hash_field.sql
Normal file
9
db/migrations/0093__add_hash_field.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ALTER TABLE notes ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE branches ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE note_revisions ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE recent_notes ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE options ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE note_images ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE images ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE labels ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
|
ALTER TABLE api_tokens ADD hash TEXT DEFAULT "" NOT NULL;
|
||||||
30
db/migrations/0094__unify_auditing_fields.sql
Normal file
30
db/migrations/0094__unify_auditing_fields.sql
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
ALTER TABLE branches ADD dateCreated TEXT NOT NULL DEFAULT '1970-01-01T00:00:00.000Z';
|
||||||
|
|
||||||
|
CREATE TABLE `event_log_mig` (
|
||||||
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
`noteId` TEXT,
|
||||||
|
`comment` TEXT,
|
||||||
|
`dateCreated` TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO event_log_mig (id, noteId, comment, dateCreated)
|
||||||
|
SELECT id, noteId, comment, dateAdded FROM event_log;
|
||||||
|
|
||||||
|
DROP TABLE event_log;
|
||||||
|
ALTER TABLE event_log_mig RENAME TO event_log;
|
||||||
|
|
||||||
|
ALTER TABLE options ADD dateCreated TEXT NOT NULL DEFAULT '1970-01-01T00:00:00.000Z';
|
||||||
|
|
||||||
|
CREATE TABLE `recent_notes_mig` (
|
||||||
|
`branchId` TEXT NOT NULL PRIMARY KEY,
|
||||||
|
`notePath` TEXT NOT NULL,
|
||||||
|
hash TEXT DEFAULT "" NOT NULL,
|
||||||
|
`dateCreated` TEXT NOT NULL,
|
||||||
|
isDeleted INT
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO recent_notes_mig (branchId, notePath, hash, dateCreated, isDeleted)
|
||||||
|
SELECT branchId, notePath, hash, dateAccessed, isDeleted FROM recent_notes;
|
||||||
|
|
||||||
|
DROP TABLE recent_notes;
|
||||||
|
ALTER TABLE recent_notes_mig RENAME TO recent_notes;
|
||||||
1
db/migrations/0095__mime_type_for_render.sql
Normal file
1
db/migrations/0095__mime_type_for_render.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
UPDATE notes SET mime = 'text/html' WHERE type = 'render';
|
||||||
29
db/migrations/0096__unify_surrogate_keys.sql
Normal file
29
db/migrations/0096__unify_surrogate_keys.sql
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
CREATE TABLE `event_log_mig` (
|
||||||
|
`eventId` TEXT NOT NULL PRIMARY KEY,
|
||||||
|
`noteId` TEXT,
|
||||||
|
`comment` TEXT,
|
||||||
|
`dateCreated` TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO event_log_mig (eventId, noteId, comment, dateCreated)
|
||||||
|
SELECT id, noteId, comment, dateCreated FROM event_log;
|
||||||
|
|
||||||
|
DROP TABLE event_log;
|
||||||
|
ALTER TABLE event_log_mig RENAME TO event_log;
|
||||||
|
|
||||||
|
create table options_mig
|
||||||
|
(
|
||||||
|
optionId TEXT NOT NULL PRIMARY KEY,
|
||||||
|
name TEXT not null,
|
||||||
|
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
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO options_mig (optionId, name, value, dateModified, isSynced, hash, dateCreated)
|
||||||
|
SELECT name || "_key", name, value, dateModified, isSynced, hash, dateCreated FROM options;
|
||||||
|
|
||||||
|
DROP TABLE options;
|
||||||
|
ALTER TABLE options_mig RENAME TO options;
|
||||||
2
db/migrations/0097__add_zoomFactor.sql
Normal file
2
db/migrations/0097__add_zoomFactor.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
INSERT INTO options (optionId, name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('zoomFactor_key', 'zoomFactor', '1.0', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
|
||||||
1
db/migrations/0098__rename_hideInAutocomplete.sql
Normal file
1
db/migrations/0098__rename_hideInAutocomplete.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
UPDATE labels SET name = 'archived' WHERE name = 'hideInAutocomplete'
|
||||||
2
db/migrations/0099__add_theme_option.sql
Normal file
2
db/migrations/0099__add_theme_option.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
INSERT INTO options (optionId, name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('theme_key', 'theme', 'white', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
|
||||||
15
db/migrations/0100__remove_optionId.sql
Normal file
15
db/migrations/0100__remove_optionId.sql
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
create table options_mig
|
||||||
|
(
|
||||||
|
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
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO options_mig (name, value, dateModified, isSynced, hash, dateCreated)
|
||||||
|
SELECT name, value, dateModified, isSynced, hash, dateCreated FROM options;
|
||||||
|
|
||||||
|
DROP TABLE options;
|
||||||
|
ALTER TABLE options_mig RENAME TO options;
|
||||||
8
db/migrations/0101__add_sync_options.sql
Normal file
8
db/migrations/0101__add_sync_options.sql
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('syncServerHost', '', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
|
||||||
|
|
||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('syncServerTimeout', '5000', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
|
||||||
|
|
||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('syncProxy', '', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
|
||||||
2
db/migrations/0102__fix_sync_entityIds.sql
Normal file
2
db/migrations/0102__fix_sync_entityIds.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
DELETE FROM sync WHERE entityName = 'note_tree';
|
||||||
|
DELETE FROM sync WHERE entityName = 'attributes';
|
||||||
2
db/migrations/0103__add_initialized_option.sql
Normal file
2
db/migrations/0103__add_initialized_option.sql
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('initialized', 'true', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
|
||||||
4
db/migrations/0104__fill_sync_rows_for_options.js
Normal file
4
db/migrations/0104__fill_sync_rows_for_options.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
const syncTableService = require('../../src/services/sync_table');
|
||||||
|
|
||||||
|
// options has not been filled so far which caused problems with clean-slate sync.
|
||||||
|
module.exports = async () => await syncTableService.fillAllSyncRows();
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
UPDATE notes SET content = '' WHERE isDeleted = 1;
|
||||||
|
UPDATE note_revisions SET content = '' WHERE (SELECT isDeleted FROM notes WHERE noteId = note_revisions.noteId) = 1;
|
||||||
15
db/migrations/0106__add_relations_table.sql
Normal file
15
db/migrations/0106__add_relations_table.sql
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
CREATE TABLE relations
|
||||||
|
(
|
||||||
|
relationId TEXT not null primary key,
|
||||||
|
sourceNoteId TEXT not null,
|
||||||
|
name TEXT not null,
|
||||||
|
targetNoteId TEXT 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);
|
||||||
|
CREATE INDEX IDX_relation_sourceNoteId
|
||||||
|
on relations (sourceNoteId);
|
||||||
|
CREATE INDEX IDX_relation_targetNoteId
|
||||||
|
on relations (targetNoteId);
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE relations ADD isInheritable int DEFAULT 0 NULL;
|
||||||
9
db/migrations/0108__new_backup_options.sql
Normal file
9
db/migrations/0108__new_backup_options.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
UPDATE options SET name = 'lastDailyBackupDate' WHERE name = 'lastBackupDate';
|
||||||
|
|
||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('lastWeeklyBackupDate', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||||
|
|
||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('lastMonthlyBackupDate', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||||
|
|
||||||
|
-- these options are not synced so no need to fix sync rows
|
||||||
27
db/migrations/0109__create_attributes.sql
Normal file
27
db/migrations/0109__create_attributes.sql
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
create table 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,
|
||||||
|
dateCreated TEXT not null,
|
||||||
|
dateModified TEXT not null,
|
||||||
|
isDeleted INT not null,
|
||||||
|
hash TEXT default "" not null);
|
||||||
|
|
||||||
|
create index IDX_attributes_name_value
|
||||||
|
on attributes (name, value);
|
||||||
|
|
||||||
|
create index IDX_attributes_value
|
||||||
|
on attributes (value);
|
||||||
|
|
||||||
|
create index IDX_attributes_noteId
|
||||||
|
on attributes (noteId);
|
||||||
|
|
||||||
|
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash)
|
||||||
|
SELECT labelId, noteId, 'label', name, value, position, dateCreated, dateModified, isDeleted, hash FROM labels;
|
||||||
|
|
||||||
|
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash)
|
||||||
|
SELECT relationId, sourceNoteId, 'relation', name, targetNoteId, position, dateCreated, dateModified, isDeleted, hash FROM relations;
|
||||||
1
db/migrations/0110__add_isInheritable_to_attributes.sql
Normal file
1
db/migrations/0110__add_isInheritable_to_attributes.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE attributes ADD isInheritable int DEFAULT 0 NULL;
|
||||||
4
db/migrations/0111__cleanup_labels_and_relations.sql
Normal file
4
db/migrations/0111__cleanup_labels_and_relations.sql
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
DROP TABLE relations;
|
||||||
|
DROP TABLE labels;
|
||||||
|
|
||||||
|
DELETE FROM sync WHERE entityName = 'relations' OR entityName = 'labels';
|
||||||
1
db/migrations/0112__rename_inheritAttributes.sql
Normal file
1
db/migrations/0112__rename_inheritAttributes.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
UPDATE attributes SET name = 'template' WHERE name = 'inheritAttributes';
|
||||||
5
db/migrations/0113__left_pane_size_options.sql
Normal file
5
db/migrations/0113__left_pane_size_options.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('leftPaneMinWidth', '350', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||||
|
|
||||||
|
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
|
||||||
|
VALUES ('leftPaneWidthPercent', '20', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
|
||||||
1
db/migrations/0114__fix_root_note_cycle.sql
Normal file
1
db/migrations/0114__fix_root_note_cycle.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
update branches set parentNoteId = 'none' where branchId = 'root'
|
||||||
75
db/migrations/0115__images_in_notes.sql
Normal file
75
db/migrations/0115__images_in_notes.sql
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
-- first fix deleted status of existing images
|
||||||
|
UPDATE note_images SET isDeleted = 1 WHERE noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1);
|
||||||
|
|
||||||
|
-- we don't need set data to null because table is going to be dropped anyway and we want image size into attribute
|
||||||
|
UPDATE images SET isDeleted = 1 WHERE imageId NOT IN (SELECT imageId FROM note_images WHERE isDeleted = 0);
|
||||||
|
|
||||||
|
-- allow null for note content (for deleted notes)
|
||||||
|
CREATE TABLE IF NOT EXISTS "notes_mig" (
|
||||||
|
`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`)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO notes_mig (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash)
|
||||||
|
SELECT noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash FROM notes;
|
||||||
|
|
||||||
|
DROP TABLE notes;
|
||||||
|
|
||||||
|
ALTER TABLE notes_mig RENAME TO notes;
|
||||||
|
|
||||||
|
CREATE TABLE "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`)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO links (linkId, noteId, targetNoteId, type, isDeleted, dateCreated, dateModified)
|
||||||
|
SELECT 'L' || SUBSTR(noteImageId, 2), noteId, imageId, 'image', isDeleted, dateCreated, dateModified FROM note_images;
|
||||||
|
|
||||||
|
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified, hash, dateCreated)
|
||||||
|
SELECT 'B' || SUBSTR(noteImageId, 2), imageId, noteId, 100, '', 0, isDeleted, dateModified, hash, dateCreated FROM note_images;
|
||||||
|
|
||||||
|
DROP TABLE note_images;
|
||||||
|
|
||||||
|
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash)
|
||||||
|
SELECT imageId, name, data, 0, isDeleted, dateCreated, dateModified, 'image', 'image/' || format, hash FROM images;
|
||||||
|
|
||||||
|
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash, isInheritable)
|
||||||
|
SELECT 'O' || SUBSTR(imageId, 2), imageId, 'label', 'originalFileName', name, 0, dateCreated, dateModified, isDeleted, '', 0 FROM images;
|
||||||
|
|
||||||
|
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash, isInheritable)
|
||||||
|
SELECT 'F' || SUBSTR(imageId, 2), imageId, 'label', 'fileSize', LENGTH(data), 0, dateCreated, dateModified, isDeleted, '', 0 FROM images;
|
||||||
|
|
||||||
|
DROP TABLE images;
|
||||||
|
|
||||||
|
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
|
||||||
|
SELECT 'attributes', 'O' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'images';
|
||||||
|
|
||||||
|
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
|
||||||
|
SELECT 'attributes', 'F' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'images';
|
||||||
|
|
||||||
|
UPDATE sync SET entityName = 'notes' WHERE entityName = 'images';
|
||||||
|
|
||||||
|
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
|
||||||
|
SELECT 'links', 'L' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'note_images';
|
||||||
|
|
||||||
|
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
|
||||||
|
SELECT 'branches', 'B' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'note_images';
|
||||||
|
|
||||||
|
DELETE FROM sync WHERE entityName = 'note_images';
|
||||||
|
DELETE FROM sync WHERE entityName = 'images';
|
||||||
14
db/migrations/0116__add_indexes.sql
Normal file
14
db/migrations/0116__add_indexes.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
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);
|
||||||
1
db/migrations/0117__fix_attributes_of_deleted_notes.sql
Normal file
1
db/migrations/0117__fix_attributes_of_deleted_notes.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
UPDATE attributes SET isDeleted = 1 WHERE noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1);
|
||||||
1
db/migrations/0118__fix_broken_relations.sql
Normal file
1
db/migrations/0118__fix_broken_relations.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
UPDATE attributes SET isDeleted = 1 WHERE type = 'relation' AND value NOT IN (SELECT noteId FROM notes WHERE notes.isDeleted = 0);
|
||||||
1
db/migrations/0119__rename_mirror_to_inverse.sql
Normal file
1
db/migrations/0119__rename_mirror_to_inverse.sql
Normal file
@@ -0,0 +1 @@
|
|||||||
|
UPDATE attributes SET value = replace(value, 'mirrorRelation', 'inverseRelation') WHERE type = 'relation-definition';
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE attributes SET name = 'archived' where name = 'hideInAutocomplete';
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user