Compare commits
1540 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca4d6a398f | ||
|
|
057bdd546b | ||
|
|
7762f0c85e | ||
|
|
1e6c01ea65 | ||
|
|
4b777f508b | ||
|
|
d15f125964 | ||
|
|
32b435b7e6 | ||
|
|
31d301911f | ||
|
|
911eec5e68 | ||
|
|
2e4bb25e2e | ||
|
|
d99c80eae9 | ||
|
|
0e03240d13 | ||
|
|
02064117bc | ||
|
|
a9e0cc7159 | ||
|
|
6b4332db72 | ||
|
|
0f591953a0 | ||
|
|
0a5e78ccc6 | ||
|
|
fbf7c50a12 | ||
|
|
09c1255239 | ||
|
|
75650ceba3 | ||
|
|
e2a65004f3 | ||
|
|
d4e1bcc660 | ||
|
|
b1b1670c77 | ||
|
|
5a3674f6f6 | ||
|
|
e622e204bf | ||
|
|
c378b06a90 | ||
|
|
c6ce6e6c32 | ||
|
|
355f7ee748 | ||
|
|
c19fa22a26 | ||
|
|
5ba4c8ee5b | ||
|
|
306df5837d | ||
|
|
66bba376db | ||
|
|
ec07d37623 | ||
|
|
cab78d36f3 | ||
|
|
449682baea | ||
|
|
6eb11b9717 | ||
|
|
5a1d138d08 | ||
|
|
dfd75efbe5 | ||
|
|
76ed48fc7c | ||
|
|
1043b9a189 | ||
|
|
e401c683f5 | ||
|
|
9d4fe331fa | ||
|
|
fbae3fd194 | ||
|
|
022f1ce758 | ||
|
|
b367c664c7 | ||
|
|
8512968726 | ||
|
|
2ffc110f03 | ||
|
|
36836c516f | ||
|
|
1f288c25de | ||
|
|
a4b62d48b2 | ||
|
|
397f6902f3 | ||
|
|
e97bceed56 | ||
|
|
7efc0f418e | ||
|
|
ac2a4e1c06 | ||
|
|
ef43348020 | ||
|
|
b6e68bb362 | ||
|
|
8d9ceb5d99 | ||
|
|
af47825b76 | ||
|
|
a4c88697af | ||
|
|
45fbfb098a | ||
|
|
9172e442f2 | ||
|
|
3b91f9af8c | ||
|
|
d5e9cc4bfe | ||
|
|
bb719c5d53 | ||
|
|
05a6775b08 | ||
|
|
1accbb8edc | ||
|
|
a04a7f5714 | ||
|
|
f31f7f7499 | ||
|
|
354d6f307c | ||
|
|
90aa4083ca | ||
|
|
5fbd252db9 | ||
|
|
04d3237a89 | ||
|
|
55aaaeed47 | ||
|
|
84d995335e | ||
|
|
f7d3299ebb | ||
|
|
e762c3add9 | ||
|
|
df6bb065d3 | ||
|
|
2fed02affa | ||
|
|
a739ed6825 | ||
|
|
90c708db2b | ||
|
|
fcbd819f48 | ||
|
|
a25d18bca7 | ||
|
|
4480077894 | ||
|
|
e9aa338c1e | ||
|
|
88a3e874aa | ||
|
|
87814039bc | ||
|
|
af72951671 | ||
|
|
5f2dfc8221 | ||
|
|
c706756d19 | ||
|
|
a4801ead6a | ||
|
|
a57cec8404 | ||
|
|
8b171435a7 | ||
|
|
ab23d071a4 | ||
|
|
3e6c4e9c5e | ||
|
|
28db98c95d | ||
|
|
95583dbbcd | ||
|
|
9d8fc4a065 | ||
|
|
b23cd7bb65 | ||
|
|
28d5be982c | ||
|
|
3836e4d38a | ||
|
|
4ebfd51e98 | ||
|
|
25ff1241d4 | ||
|
|
0dc3e5806e | ||
|
|
982b12a239 | ||
|
|
5995515419 | ||
|
|
8c1c813acd | ||
|
|
0e95d7faf6 | ||
|
|
47c3d4bf9b | ||
|
|
33282e043b | ||
|
|
81efef7c60 | ||
|
|
2678f56499 | ||
|
|
cd8f578b39 | ||
|
|
ab535ec8be | ||
|
|
ada6c3f160 | ||
|
|
0917850634 | ||
|
|
c09a8fbbc4 | ||
|
|
2b392055c1 | ||
|
|
45acd237f5 | ||
|
|
cbf79e38c4 | ||
|
|
ed10ce03e2 | ||
|
|
561abc851f | ||
|
|
8789fd91ee | ||
|
|
b835db49f4 | ||
|
|
a5e832b0b0 | ||
|
|
2b16f813ef | ||
|
|
30b013f5b0 | ||
|
|
5eccfaa34b | ||
|
|
fde69ade6b | ||
|
|
af3d5e9683 | ||
|
|
c757e00ac9 | ||
|
|
19d61b4013 | ||
|
|
b4a4b60871 | ||
|
|
9727f30c61 | ||
|
|
db8e5b3cbb | ||
|
|
b0b6c1dd17 | ||
|
|
47bb35e2e9 | ||
|
|
2433e0d2cd | ||
|
|
cdf891478e | ||
|
|
39b1940f94 | ||
|
|
8564524984 | ||
|
|
2f74f0f587 | ||
|
|
6e2e533184 | ||
|
|
ecd39421d6 | ||
|
|
68d43a0c88 | ||
|
|
c80a3f5568 | ||
|
|
b3d84a05f5 | ||
|
|
95495614a8 | ||
|
|
45d7a164b5 | ||
|
|
97b236d117 | ||
|
|
8718c5ef31 | ||
|
|
7d7418df26 | ||
|
|
dd9aa5bf78 | ||
|
|
7f86f8eb6f | ||
|
|
8b4cac7ba6 | ||
|
|
b388e91177 | ||
|
|
a2ac3f4c8b | ||
|
|
1db8b93cfa | ||
|
|
6217ac90e0 | ||
|
|
bb385490bc | ||
|
|
a5e48ba160 | ||
|
|
c7a4e8e4bb | ||
|
|
85d5b6e889 | ||
|
|
1c725c02f0 | ||
|
|
5008672a48 | ||
|
|
4e03f19bac | ||
|
|
a03c328ee3 | ||
|
|
77ac68f2e8 | ||
|
|
02acc34461 | ||
|
|
a402a8ef84 | ||
|
|
60573c1d78 | ||
|
|
56adf40bb4 | ||
|
|
d33c45165d | ||
|
|
032acedafe | ||
|
|
6a48216afb | ||
|
|
85af461eb4 | ||
|
|
4b1a129f38 | ||
|
|
1762ef3d1e | ||
|
|
8ffba2d88d | ||
|
|
f19cb94f89 | ||
|
|
8fb7caa22a | ||
|
|
07646860f2 | ||
|
|
6765c5f594 | ||
|
|
026f9cb3a0 | ||
|
|
516dfd5c26 | ||
|
|
1fbd5e0b38 | ||
|
|
b35a892853 | ||
|
|
578f8e4947 | ||
|
|
a934dd4fff | ||
|
|
18625758e5 | ||
|
|
eb689c417b | ||
|
|
df226a1102 | ||
|
|
8947f5ade9 | ||
|
|
941a5db8de | ||
|
|
2fcaaea6ac | ||
|
|
5887a396c1 | ||
|
|
f934256e06 | ||
|
|
ccb465e998 | ||
|
|
1b0a6e99f7 | ||
|
|
2e647be565 | ||
|
|
863123ac92 | ||
|
|
434620dea0 | ||
|
|
212d7d24ef | ||
|
|
61cf416df4 | ||
|
|
ff23f6b015 | ||
|
|
d59d60647c | ||
|
|
cf088d00ff | ||
|
|
dd5a10d0e2 | ||
|
|
0da39aa397 | ||
|
|
2dff43acba | ||
|
|
c97853e1aa | ||
|
|
c9be74fe39 | ||
|
|
e7df9c1dca | ||
|
|
3c680cd8e8 | ||
|
|
3545761b92 | ||
|
|
72016d7e7c | ||
|
|
6c1701ea5a | ||
|
|
28372be982 | ||
|
|
58f85212db | ||
|
|
c39bdaf7f2 | ||
|
|
16ab2e59f1 | ||
|
|
29c65c74db | ||
|
|
fee77d7301 | ||
|
|
21d9fa1e74 | ||
|
|
b4d973bfd0 | ||
|
|
993db32652 | ||
|
|
a0f4878c12 | ||
|
|
452df10ea1 | ||
|
|
a3bf38b182 | ||
|
|
674ea8ae25 | ||
|
|
94610f4e61 | ||
|
|
b2df60647d | ||
|
|
e8650a55af | ||
|
|
09805f7091 | ||
|
|
a63040aa11 | ||
|
|
3e97ecab68 | ||
|
|
409b4028d0 | ||
|
|
85b4996dbf | ||
|
|
e7041ff48e | ||
|
|
793b56fc8c | ||
|
|
ea91601459 | ||
|
|
6e3edb7dfb | ||
|
|
4e38c1fe25 | ||
|
|
2adb13ac66 | ||
|
|
d565c4af16 | ||
|
|
877529ae5b | ||
|
|
8b89c2c52e | ||
|
|
427ba0e420 | ||
|
|
4be7aa5665 | ||
|
|
9bd66031ab | ||
|
|
48816d9f2e | ||
|
|
031bfdc1e7 | ||
|
|
88121aaab4 | ||
|
|
8f588aca99 | ||
|
|
5b34a9bfc4 | ||
|
|
ef55d2615f | ||
|
|
1391dd38a4 | ||
|
|
f8f1d5854c | ||
|
|
a1c8cb9f78 | ||
|
|
54ce1b570a | ||
|
|
f2d66c810a | ||
|
|
26de0340ec | ||
|
|
333fbd0db1 | ||
|
|
4cf4c09339 | ||
|
|
34bf8fb5bb | ||
|
|
06eee1e711 | ||
|
|
b6ab086bf7 | ||
|
|
b1d43d292d | ||
|
|
19b92f17dd | ||
|
|
c713625a38 | ||
|
|
24e6b6c8f1 | ||
|
|
cebe28e591 | ||
|
|
b111a2c29d | ||
|
|
8743a8080c | ||
|
|
f2155aa04f | ||
|
|
45346b72f2 | ||
|
|
632a2d79b6 | ||
|
|
2fa5021a0c | ||
|
|
e4b1d2ed9e | ||
|
|
a3fea3d0fc | ||
|
|
d50e5d954d | ||
|
|
970af3870e | ||
|
|
9ba572d788 | ||
|
|
ba2c37c216 | ||
|
|
0e14a325f8 | ||
|
|
1141dabbd8 | ||
|
|
7a044c7397 | ||
|
|
d0b3dd1d99 | ||
|
|
4f80a1567d | ||
|
|
23098a6b02 | ||
|
|
5c8a37be64 | ||
|
|
7b8944e8f2 | ||
|
|
37fcb12ad1 | ||
|
|
f312c44a46 | ||
|
|
999e439d47 | ||
|
|
0566185c4f | ||
|
|
b91574e5c2 | ||
|
|
604361045b | ||
|
|
d45efb484c | ||
|
|
610c6c341c | ||
|
|
6daf480bfc | ||
|
|
bbdac0fd6d | ||
|
|
5f5bfdaa42 | ||
|
|
ad7fdd5c2b | ||
|
|
1321e582d5 | ||
|
|
6d6689b431 | ||
|
|
f78658738a | ||
|
|
7c99ece0e1 | ||
|
|
9058e1166d | ||
|
|
ebd94a532c | ||
|
|
95a4ecb0f1 | ||
|
|
ff8cc83b3a | ||
|
|
fbd3bbdbf9 | ||
|
|
f0e58adfbc | ||
|
|
5ad4ffd3cf | ||
|
|
0700e4bfdb | ||
|
|
82e5df960d | ||
|
|
3ace15d01a | ||
|
|
d367e6a1fb | ||
|
|
a09940ef6a | ||
|
|
6d89108cc4 | ||
|
|
bd01b07b4b | ||
|
|
4e31a114ef | ||
|
|
18d53079dd | ||
|
|
57de7cc03d | ||
|
|
2d7eeb611d | ||
|
|
e6b6e218f8 | ||
|
|
243055289b | ||
|
|
52c7d8dfb7 | ||
|
|
5b0e2e401e | ||
|
|
8381261b7c | ||
|
|
2ada99d314 | ||
|
|
bd27d6fe8c | ||
|
|
b94631533d | ||
|
|
fb9baaed8a | ||
|
|
254fe990ba | ||
|
|
0afe9d4f93 | ||
|
|
ccca3170d3 | ||
|
|
00b1f12dda | ||
|
|
9ca411aa24 | ||
|
|
e976aa0f5f | ||
|
|
02c979bdf6 | ||
|
|
88625c6362 | ||
|
|
76ff68a594 | ||
|
|
d27a2171ea | ||
|
|
075498d03b | ||
|
|
f04ae315e4 | ||
|
|
2e277f3cb3 | ||
|
|
29098aa8db | ||
|
|
659cd1bb92 | ||
|
|
3bf7c6943a | ||
|
|
189e29b5c6 | ||
|
|
0ede252fa3 | ||
|
|
d7d69b2be8 | ||
|
|
d79729f596 | ||
|
|
988d4ab047 | ||
|
|
437866dfcd | ||
|
|
c40dcf020c | ||
|
|
e520bd0eb8 | ||
|
|
3a9e57e228 | ||
|
|
22ed1286e8 | ||
|
|
1a37c54316 | ||
|
|
b6328944a3 | ||
|
|
751d1da704 | ||
|
|
5cf4eea09e | ||
|
|
f0cf4ed8ff | ||
|
|
fa61ed17b1 | ||
|
|
f1363877d8 | ||
|
|
e8825beae5 | ||
|
|
830a83e3d1 | ||
|
|
7d249c61c2 | ||
|
|
a224c8b348 | ||
|
|
c04208d5dd | ||
|
|
394dfad566 | ||
|
|
2c55fe01ac | ||
|
|
680bfef2c3 | ||
|
|
a23cbd0257 | ||
|
|
f5b77e8082 | ||
|
|
10378ac5af | ||
|
|
4a290e6194 | ||
|
|
c2c0fb242b | ||
|
|
9b37e50492 | ||
|
|
6c6e8d2605 | ||
|
|
5a6e6dceda | ||
|
|
e8631da9f3 | ||
|
|
5d57713f95 | ||
|
|
28bd4027cd | ||
|
|
108541e0d0 | ||
|
|
54a177279f | ||
|
|
b3e9974e95 | ||
|
|
2ad66102d2 | ||
|
|
6828114e86 | ||
|
|
f53b43de14 | ||
|
|
d53dbdf5ba | ||
|
|
8ba00f5967 | ||
|
|
56c7b8ca5f | ||
|
|
d6115007ab | ||
|
|
ba53d876bc | ||
|
|
2d593995ee | ||
|
|
3808776ddb | ||
|
|
9a118d0a71 | ||
|
|
684d6d3389 | ||
|
|
89a0e960e2 | ||
|
|
1b21e01938 | ||
|
|
3b692a27b4 | ||
|
|
3c83f379ee | ||
|
|
0c344df07a | ||
|
|
2a20959660 | ||
|
|
94a843429d | ||
|
|
34e6b6652a | ||
|
|
1ba785f28e | ||
|
|
bac24cf520 | ||
|
|
40b7d53349 | ||
|
|
96d44b4322 | ||
|
|
bf127fb0bd | ||
|
|
501bc0133f | ||
|
|
787bf8beeb | ||
|
|
257396aa06 | ||
|
|
7eb469f0ae | ||
|
|
156e544ab9 | ||
|
|
b38a143c66 | ||
|
|
cd21d65400 | ||
|
|
b19cb1215b | ||
|
|
48acad3e47 | ||
|
|
009db01ab9 | ||
|
|
7d8fff9571 | ||
|
|
9d048f5f36 | ||
|
|
cb4ea86310 | ||
|
|
2b099c2ed5 | ||
|
|
6afb55cc30 | ||
|
|
0937e0ff91 | ||
|
|
d602cb6e9e | ||
|
|
e02fa1a4e7 | ||
|
|
9e1661eb8c | ||
|
|
00c6313102 | ||
|
|
f01792ae81 | ||
|
|
bc18b9408b | ||
|
|
fa948c04ab | ||
|
|
8fdd34c245 | ||
|
|
cd5bda3f9e | ||
|
|
e14129d278 | ||
|
|
decb19b92e | ||
|
|
eb770e95d5 | ||
|
|
77f035eb2d | ||
|
|
db2738978e | ||
|
|
180f3c2eca | ||
|
|
e84fbc425f | ||
|
|
c5e2ed9f22 | ||
|
|
a92f0898d8 | ||
|
|
d968901d98 | ||
|
|
c38b761871 | ||
|
|
b49741f8aa | ||
|
|
6866c2a39a | ||
|
|
9598cd13fe | ||
|
|
49c8fef5f5 | ||
|
|
13341f8aa8 | ||
|
|
251cb3f9fa | ||
|
|
51767a8f36 | ||
|
|
c653fe6e4a | ||
|
|
70688f3e00 | ||
|
|
e9c52046fa | ||
|
|
a01b94f80b | ||
|
|
708c79cef8 | ||
|
|
f1ce69d4bf | ||
|
|
5bd417aa39 | ||
|
|
2bf448c587 | ||
|
|
b6c582ad3a | ||
|
|
c35c285580 | ||
|
|
890a61358a | ||
|
|
7de66cdc53 | ||
|
|
b353ec12e1 | ||
|
|
48489ae291 | ||
|
|
85a3d98d4c | ||
|
|
c9eea7e019 | ||
|
|
da483d63f6 | ||
|
|
3f89b39b60 | ||
|
|
e89b5ce870 | ||
|
|
88f6d02c03 | ||
|
|
cc78fcf31c | ||
|
|
37e880b64a | ||
|
|
75b2307d30 | ||
|
|
9e8f700119 | ||
|
|
4bcba0e4f9 | ||
|
|
11b661cad5 | ||
|
|
5e1980d770 | ||
|
|
5e7eb6b2f4 | ||
|
|
994a1f89cd | ||
|
|
4daa07fd14 | ||
|
|
d39165f506 | ||
|
|
468db9566b | ||
|
|
33309105d3 | ||
|
|
8cfe6e772d | ||
|
|
bad6e32e18 | ||
|
|
02d48693dd | ||
|
|
7975ec8d09 | ||
|
|
de898b610d | ||
|
|
0743816822 | ||
|
|
bb4958115b | ||
|
|
b64404a924 | ||
|
|
9a8b47872e | ||
|
|
76070ddd43 | ||
|
|
22066e11b3 | ||
|
|
ef157c7d2b | ||
|
|
e42e9fdd54 | ||
|
|
e2594dc72c | ||
|
|
f4e2153291 | ||
|
|
44db0245a7 | ||
|
|
ff5aa8a0ac | ||
|
|
8c0dd6a8d1 | ||
|
|
1ba21afd30 | ||
|
|
e73537f488 | ||
|
|
9405418572 | ||
|
|
59ccd662c7 | ||
|
|
377751416b | ||
|
|
116c279f01 | ||
|
|
1d8ef45e9c | ||
|
|
380b3be928 | ||
|
|
c151043c70 | ||
|
|
64e13c5f87 | ||
|
|
b55d29dfb7 | ||
|
|
bf86b5a924 | ||
|
|
9f2da67d48 | ||
|
|
d0b34d114d | ||
|
|
d0c9e56aeb | ||
|
|
74cd3ac1e0 | ||
|
|
ecbc401584 | ||
|
|
0c81568df6 | ||
|
|
b9dc2baef1 | ||
|
|
9b43f20159 | ||
|
|
82d3d5edda | ||
|
|
005f626b88 | ||
|
|
63005a8280 | ||
|
|
2943294d08 | ||
|
|
ed03b02e52 | ||
|
|
f43f992125 | ||
|
|
0b646875d0 | ||
|
|
b1b4469d18 | ||
|
|
eea70d380c | ||
|
|
a32880a84d | ||
|
|
72cc5b9d07 | ||
|
|
b9c28c5a7c | ||
|
|
c56d7ac793 | ||
|
|
000bac8cfc | ||
|
|
3c2a8510f9 | ||
|
|
64b0fd7e86 | ||
|
|
36432c00ac | ||
|
|
e7d660149e | ||
|
|
829638c143 | ||
|
|
601990d59b | ||
|
|
3469974861 | ||
|
|
167ea6419b | ||
|
|
472b575e20 | ||
|
|
b622ff7f14 | ||
|
|
d70d0b889e | ||
|
|
a84b791ac7 | ||
|
|
6332e7f518 | ||
|
|
849d3184b3 | ||
|
|
4344148bfa | ||
|
|
251971485b | ||
|
|
fa3ce13a87 | ||
|
|
bc70d50ff0 | ||
|
|
64a0dd52e8 | ||
|
|
5d1c65c936 | ||
|
|
3537770823 | ||
|
|
b1090d4286 | ||
|
|
5b097fc038 | ||
|
|
092ecd1417 | ||
|
|
ff54dc82ff | ||
|
|
ed105b42a2 | ||
|
|
9e2a95db73 | ||
|
|
acf0854e6a | ||
|
|
809c4a1bcf | ||
|
|
42887ca282 | ||
|
|
46752e9b10 | ||
|
|
6be1127cf0 | ||
|
|
d8a627898e | ||
|
|
1f87c5069b | ||
|
|
222f05fe81 | ||
|
|
023221bfab | ||
|
|
b4e40a669d | ||
|
|
f812236180 | ||
|
|
b8c9f0cc8c | ||
|
|
072c7929f7 | ||
|
|
4811fa7d49 | ||
|
|
3d786f78d5 | ||
|
|
0bf62ed39b | ||
|
|
a9196c3268 | ||
|
|
699c72841c | ||
|
|
9c4a80a25f | ||
|
|
beb1b41317 | ||
|
|
bdc3f41ac2 | ||
|
|
fc0dfbe8b4 | ||
|
|
8590f4fbf5 | ||
|
|
f9cc86a6db | ||
|
|
dc263c12e9 | ||
|
|
d6c17132df | ||
|
|
3742be10bc | ||
|
|
a3caa13c23 | ||
|
|
27aa5e8e15 | ||
|
|
83211acaae | ||
|
|
eb97964a00 | ||
|
|
f43ab0ed59 | ||
|
|
df5f7f4890 | ||
|
|
08f07e663e | ||
|
|
cc61fb5d0f | ||
|
|
049f84a52a | ||
|
|
776d1419c1 | ||
|
|
d848dcde5d | ||
|
|
4ff0d34aa2 | ||
|
|
c6f6677d6e | ||
|
|
9944486c17 | ||
|
|
da5c9e415f | ||
|
|
7b5a1b2c14 | ||
|
|
235a5cc765 | ||
|
|
b96e264cc7 | ||
|
|
1d6cdd45eb | ||
|
|
0204906454 | ||
|
|
a7b184abdb | ||
|
|
fff9c657d4 | ||
|
|
6070bfc46e | ||
|
|
073d601b67 | ||
|
|
ad1bbba0b3 | ||
|
|
6b46c288a6 | ||
|
|
8dd352c5c4 | ||
|
|
8fe3f0c35f | ||
|
|
16edb93efb | ||
|
|
b6b5e329aa | ||
|
|
6e5b173861 | ||
|
|
6010b8e1b4 | ||
|
|
8d0d26ed9b | ||
|
|
65bb683b4a | ||
|
|
75e8a19363 | ||
|
|
1a47b837f5 | ||
|
|
50c211fc10 | ||
|
|
4fb035c512 | ||
|
|
78992df894 | ||
|
|
70c423563f | ||
|
|
2503180e73 | ||
|
|
ed0cb0c8f2 | ||
|
|
a6449cb8ba | ||
|
|
9e776df296 | ||
|
|
0e973dab07 | ||
|
|
15e371564a | ||
|
|
f0e33dc242 | ||
|
|
e67c3c1091 | ||
|
|
d5ce0bd93c | ||
|
|
70b6fb32c4 | ||
|
|
7148e9e136 | ||
|
|
44dbcdf2b1 | ||
|
|
ecaeb32675 | ||
|
|
3216442946 | ||
|
|
9d4471b196 | ||
|
|
e4f6f8bcf2 | ||
|
|
91d8a16db2 | ||
|
|
920b0fcb2e | ||
|
|
760c3e869f | ||
|
|
c48107acd9 | ||
|
|
4671518409 | ||
|
|
41bf943f49 | ||
|
|
6488a0f2fb | ||
|
|
efe45f64bc | ||
|
|
d893dd55ff | ||
|
|
f40c6a8617 | ||
|
|
fb98ca7b19 | ||
|
|
451ec49d9c | ||
|
|
1709eb038c | ||
|
|
e69d6cefee | ||
|
|
7abe01ed8c | ||
|
|
17a371d86a | ||
|
|
5b787d56e6 | ||
|
|
33d98114ba | ||
|
|
ce5f0b7785 | ||
|
|
9204b87f3a | ||
|
|
4a83314095 | ||
|
|
99ea119483 | ||
|
|
c361f16fcf | ||
|
|
b4d4fb900e | ||
|
|
0c3b34e89a | ||
|
|
a549615257 | ||
|
|
c796474bce | ||
|
|
26aea439c6 | ||
|
|
32cfb749af | ||
|
|
b79cbf8975 | ||
|
|
3ef154949d | ||
|
|
007b17a7ba | ||
|
|
8c64434069 | ||
|
|
ff1d5bc965 | ||
|
|
346b8683ac | ||
|
|
7a61b09a85 | ||
|
|
53f5a6fa57 | ||
|
|
95172ce4c1 | ||
|
|
84ecdfee71 | ||
|
|
537c5f4ee8 | ||
|
|
68ee0f7580 | ||
|
|
178193ab1a | ||
|
|
e7ddae713f | ||
|
|
bd2883d63f | ||
|
|
12c3c6c472 | ||
|
|
1c08fa2b1a | ||
|
|
24991dc17d | ||
|
|
9261f105e3 | ||
|
|
51f29e112a | ||
|
|
ca8805683d | ||
|
|
8295bd8243 | ||
|
|
7a4b234c6d | ||
|
|
da95d1bb1e | ||
|
|
a1680ddeaa | ||
|
|
871333d3a0 | ||
|
|
5c81d7863c | ||
|
|
354831338c | ||
|
|
593abccedc | ||
|
|
e5c6788243 | ||
|
|
a358f2953a | ||
|
|
9444b63f8b | ||
|
|
79df293fc4 | ||
|
|
be0573f6ea | ||
|
|
4dc6264c64 | ||
|
|
bbc4fd6c79 | ||
|
|
732ff8ecab | ||
|
|
3a0c7168c9 | ||
|
|
41b7aadbda | ||
|
|
a0e475b277 | ||
|
|
834d6938db | ||
|
|
a7ad34bd99 | ||
|
|
dfabceb3d2 | ||
|
|
5499f2edb6 | ||
|
|
935fb98013 | ||
|
|
665fa6cc9c | ||
|
|
772f07e521 | ||
|
|
2bbf219dc0 | ||
|
|
7cc98b8265 | ||
|
|
1808fd3d6e | ||
|
|
0b5c1dcfa7 | ||
|
|
1369f941f2 | ||
|
|
2101c6d0dc | ||
|
|
1993fc6a2c | ||
|
|
b9b43d1f05 | ||
|
|
8d53cf3c77 | ||
|
|
756ddaa97d | ||
|
|
89f64e423d | ||
|
|
ec5596b1a3 | ||
|
|
2de89e31c0 | ||
|
|
9ca5598b6f | ||
|
|
05863276ef | ||
|
|
5ac518f311 | ||
|
|
41f488f8da | ||
|
|
6cc6e51878 | ||
|
|
78bcf84127 | ||
|
|
6b224823f1 | ||
|
|
2734b2f605 | ||
|
|
1ee88d5836 | ||
|
|
2dfd6b76d8 | ||
|
|
330b2e6a6b | ||
|
|
896c25dc9e | ||
|
|
3b04315a38 | ||
|
|
33fffa6a50 | ||
|
|
dbd825f0b6 | ||
|
|
8ab0078d5a | ||
|
|
c381bc8304 | ||
|
|
fb20b58369 | ||
|
|
906017e0c1 | ||
|
|
266369ee04 | ||
|
|
308ac14dbe | ||
|
|
2a9da76512 | ||
|
|
8e43550841 | ||
|
|
75ac0201d8 | ||
|
|
8d9efe4ff7 | ||
|
|
593400743a | ||
|
|
42ff8eaeb0 | ||
|
|
5c2f9946f8 | ||
|
|
63161e62a2 | ||
|
|
c84983ad5b | ||
|
|
3cee53508e | ||
|
|
fde75e1ed5 | ||
|
|
16d2f607c8 | ||
|
|
816a3ebd93 | ||
|
|
d59fe2fa3c | ||
|
|
ef55e7d219 | ||
|
|
424da520cf | ||
|
|
08cb311e5e | ||
|
|
e1b5875c5b | ||
|
|
7d27206fec | ||
|
|
18d405d798 | ||
|
|
34fa50fcf0 | ||
|
|
ca3cf2ea3c | ||
|
|
76fb11366b | ||
|
|
e4f2808870 | ||
|
|
f7496b5341 | ||
|
|
2f0d600e86 | ||
|
|
fa7e6be95a | ||
|
|
cea43a2d21 | ||
|
|
b7387c8741 | ||
|
|
c83852f4e1 | ||
|
|
ce271cf389 | ||
|
|
ead125d599 | ||
|
|
8ee367e52e | ||
|
|
db03091cff | ||
|
|
6b5849b207 | ||
|
|
ba0a8c4092 | ||
|
|
c8ab5d34f7 | ||
|
|
c9367ba4f3 | ||
|
|
a754f697d7 | ||
|
|
dd75ce515f | ||
|
|
ea83b46bfb | ||
|
|
e7f628233d | ||
|
|
24edf15e16 | ||
|
|
70e65129d7 | ||
|
|
a5e97ef846 | ||
|
|
8a1f0d4932 | ||
|
|
f29997a5cf | ||
|
|
4daec6908c | ||
|
|
79bff58021 | ||
|
|
05028d0d9b | ||
|
|
b4148804e1 | ||
|
|
07f8dfb1c5 | ||
|
|
f3c559f1c7 | ||
|
|
48a3228efd | ||
|
|
be661e8685 | ||
|
|
a0918dfc4f | ||
|
|
d214080974 | ||
|
|
a09c6b1088 | ||
|
|
dfed333e1b | ||
|
|
578e12940b | ||
|
|
7d215f95cf | ||
|
|
5435ee60d8 | ||
|
|
761d79272c | ||
|
|
68a9552877 | ||
|
|
d72eca7fb5 | ||
|
|
ca9dba1372 | ||
|
|
7aa688ecbb | ||
|
|
794db2e3e5 | ||
|
|
ba457f7bf3 | ||
|
|
64715573a1 | ||
|
|
8288551531 | ||
|
|
34cc3781d6 | ||
|
|
4eb986643c | ||
|
|
290e5be534 | ||
|
|
aea26f4db9 | ||
|
|
bf5e742a7f | ||
|
|
9816b538f9 | ||
|
|
bd21b7f966 | ||
|
|
021fbb8ecd | ||
|
|
6d7e9ba107 | ||
|
|
bbfbdec483 | ||
|
|
62a32ab5c5 | ||
|
|
2e3a64fcef | ||
|
|
ecdbff68d8 | ||
|
|
9ca427e369 | ||
|
|
228757a5ba | ||
|
|
027a760ce2 | ||
|
|
0a3cadc6b2 | ||
|
|
04ea069280 | ||
|
|
280d54057c | ||
|
|
036fc2d2af | ||
|
|
ab58cca3f7 | ||
|
|
f883820c6a | ||
|
|
9053f9ab44 | ||
|
|
bd7706a38e | ||
|
|
da7a93527d | ||
|
|
9f7534153e | ||
|
|
3b4296c7a4 | ||
|
|
8e065e1109 | ||
|
|
93f3fa9685 | ||
|
|
27a9390ec7 | ||
|
|
62a8d8b203 | ||
|
|
d7bd0bf1df | ||
|
|
9eded2ef39 | ||
|
|
636bc97d29 | ||
|
|
3ccadded97 | ||
|
|
b82c17ea56 | ||
|
|
a0946c67b9 | ||
|
|
00376d3118 | ||
|
|
e8fd5405a7 | ||
|
|
eae017a30a | ||
|
|
718dfa9b5d | ||
|
|
03a0c42795 | ||
|
|
1976471982 | ||
|
|
1426a7ec95 | ||
|
|
2a759eed74 | ||
|
|
8980b78220 | ||
|
|
12b0a839e7 | ||
|
|
b4d570fd21 | ||
|
|
e60fd82400 | ||
|
|
a1abcfd067 | ||
|
|
7f90ad8474 | ||
|
|
e1d52181a3 | ||
|
|
d4494cb502 | ||
|
|
11266ce8f8 | ||
|
|
2f17b3fa7d | ||
|
|
dab595f571 | ||
|
|
afe72d0783 | ||
|
|
8e0e3e8718 | ||
|
|
5ab956a8ec | ||
|
|
a17554c951 | ||
|
|
30ff986603 | ||
|
|
18f46d902d | ||
|
|
3948ed5618 | ||
|
|
e6dd91f698 | ||
|
|
2c82e15fa1 | ||
|
|
2c7d866724 | ||
|
|
a977023e45 | ||
|
|
9c7008e225 | ||
|
|
342aa0ff04 | ||
|
|
d434d51d42 | ||
|
|
f03eb693e6 | ||
|
|
18928d6962 | ||
|
|
f7832e78dc | ||
|
|
68428a714a | ||
|
|
58db31a7d8 | ||
|
|
2917345b56 | ||
|
|
1cfd3482bb | ||
|
|
4d690938a8 | ||
|
|
40b475ecb9 | ||
|
|
4ab0a601ad | ||
|
|
40ba5e9106 | ||
|
|
d4ec2a25d4 | ||
|
|
0b1c18d63e | ||
|
|
f681f1c60b | ||
|
|
27df27d1df | ||
|
|
027dbcf6fa | ||
|
|
91e98cd32e | ||
|
|
1cef2a182a | ||
|
|
ad8764897a | ||
|
|
d2e700eea2 | ||
|
|
895e145d82 | ||
|
|
78ab2aa476 | ||
|
|
b9a7341e5e | ||
|
|
261ea62472 | ||
|
|
fae2aa4582 | ||
|
|
fb7230ec9a | ||
|
|
692aff3c89 | ||
|
|
3091a14223 | ||
|
|
a49f3d460e | ||
|
|
b6e0f8b75a | ||
|
|
ac8a1191f8 | ||
|
|
830c9524eb | ||
|
|
ce1e635451 | ||
|
|
8b0c1b7937 | ||
|
|
33cfa17899 | ||
|
|
87b0d80de0 | ||
|
|
b8c61e34c9 | ||
|
|
02555ba3f5 | ||
|
|
4db2b75699 | ||
|
|
c64590af16 | ||
|
|
3607124e55 | ||
|
|
e7405a13fc | ||
|
|
46f16ce4db | ||
|
|
d3a4466d9b | ||
|
|
46d682f889 | ||
|
|
2b17bf70de | ||
|
|
8e019b7958 | ||
|
|
47037e3f5e | ||
|
|
1ec653268d | ||
|
|
3ee140e77f | ||
|
|
cb490a1762 | ||
|
|
6d8ba5ed4d | ||
|
|
7020130511 | ||
|
|
ff2df04a58 | ||
|
|
3248b97997 | ||
|
|
3c26d831fd | ||
|
|
f4e584cda1 | ||
|
|
df7e9b9c1f | ||
|
|
1108d063ef | ||
|
|
a6306aae05 | ||
|
|
fdf79caf71 | ||
|
|
f31f7f0962 | ||
|
|
df185621ad | ||
|
|
301429d992 | ||
|
|
07db8a2f9d | ||
|
|
3a207843c7 | ||
|
|
8f1639c10b | ||
|
|
b515a5add0 | ||
|
|
33cfa5e104 | ||
|
|
83b85e2cac | ||
|
|
861eb43efa | ||
|
|
a20d6d7230 | ||
|
|
40e7ee79b4 | ||
|
|
dce97221c5 | ||
|
|
fea02736c5 | ||
|
|
d58ad3749d | ||
|
|
727f759b41 | ||
|
|
f42d59409b | ||
|
|
4adaead4ec | ||
|
|
8dbe248df1 | ||
|
|
0e26422613 | ||
|
|
234555b208 | ||
|
|
3cfc3f1cbe | ||
|
|
9b149307ef | ||
|
|
4c1d1dd5d0 | ||
|
|
cad10b6095 | ||
|
|
7aa930ca55 | ||
|
|
7e1c6b6137 | ||
|
|
d008376169 | ||
|
|
eaac77881f | ||
|
|
43ca0a2f58 | ||
|
|
54cd7f85b8 | ||
|
|
5ffe32ef58 | ||
|
|
b0ad83ebf7 | ||
|
|
d5060a2012 | ||
|
|
bf16e2e854 | ||
|
|
ec78319993 | ||
|
|
67b5649ee4 | ||
|
|
eca23a918a | ||
|
|
5b291f8f54 | ||
|
|
274c701907 | ||
|
|
e533024b2e | ||
|
|
8750602f76 | ||
|
|
51a9b9b7c7 | ||
|
|
42d8836569 | ||
|
|
7cfc6fbdb8 | ||
|
|
01886b6df9 | ||
|
|
b7d4697db8 | ||
|
|
742c6f9baa | ||
|
|
c97da77153 | ||
|
|
871848dc28 | ||
|
|
84a0b5d1e1 | ||
|
|
8e68317e7c | ||
|
|
35f7a2a9de | ||
|
|
62dfa0e060 | ||
|
|
2e28461435 | ||
|
|
4259d01638 | ||
|
|
39783df92d | ||
|
|
d39253e36f | ||
|
|
82868037ec | ||
|
|
17ba58a5c2 | ||
|
|
0a79788582 | ||
|
|
ccf0f9c74e | ||
|
|
79e580a79d | ||
|
|
5b9a40de5f | ||
|
|
550468aefb | ||
|
|
84a2a08d22 | ||
|
|
ee8ea5af57 | ||
|
|
2f763809ac | ||
|
|
f91678df4a | ||
|
|
4c654ef19c | ||
|
|
637308d294 | ||
|
|
e2ce65dc61 | ||
|
|
f6061e96e8 | ||
|
|
8c0134eb64 | ||
|
|
18c6bd6e23 | ||
|
|
08be06c9bc | ||
|
|
19ae66d0e9 | ||
|
|
c3f84d8682 | ||
|
|
c721be8787 | ||
|
|
47746d3313 | ||
|
|
103ac4b137 | ||
|
|
d2e3ea0f9d | ||
|
|
16ca3daf21 | ||
|
|
db5f0efaab | ||
|
|
8eb0f87702 | ||
|
|
2c44980b77 | ||
|
|
f261173de2 | ||
|
|
75e293b2d7 | ||
|
|
422eb5be5c | ||
|
|
9d2dea07ad | ||
|
|
821c4f7b4a | ||
|
|
dcbb5ef90d | ||
|
|
758ea8f581 | ||
|
|
5a27977452 | ||
|
|
8d39fdf23c | ||
|
|
73bd402551 | ||
|
|
c473c0baaf | ||
|
|
827b4e5d75 | ||
|
|
14af38fb0f | ||
|
|
2c4d5307f6 | ||
|
|
4677bad9ba | ||
|
|
ae245c0674 | ||
|
|
154fa4ed9a | ||
|
|
a744b7fc8f | ||
|
|
72abab6450 | ||
|
|
0695c29cf5 | ||
|
|
084a5c7fbe | ||
|
|
0feeb743ff | ||
|
|
96fd694eae | ||
|
|
b2c883c869 | ||
|
|
7941786db9 | ||
|
|
2ad9b6dc84 | ||
|
|
59f7f15434 | ||
|
|
8f522ee11d | ||
|
|
f48c0b1700 | ||
|
|
b35b9eaecc | ||
|
|
e217489d37 | ||
|
|
5df6db9ffa | ||
|
|
bd578070de | ||
|
|
a8a061d4b2 | ||
|
|
9d41417c26 | ||
|
|
3888358dc9 | ||
|
|
62302c0420 | ||
|
|
2d93c1ace0 | ||
|
|
42de0bbb32 | ||
|
|
3e15de74f4 | ||
|
|
a1c804ed41 | ||
|
|
559fde4e00 | ||
|
|
1f1c429fc4 | ||
|
|
e9b7c8dad2 | ||
|
|
b6e5bfa7f3 | ||
|
|
fb106b1106 | ||
|
|
34e3be710f | ||
|
|
21674194e0 | ||
|
|
aadb8bb2ea | ||
|
|
af1465278d | ||
|
|
a8f5468f6a | ||
|
|
592c3ea5e2 | ||
|
|
97b088b959 | ||
|
|
3fec18e5e5 | ||
|
|
b15c5d7888 | ||
|
|
24898de2ba | ||
|
|
d629391ad9 | ||
|
|
7ec66b2bf2 | ||
|
|
b5f75acf50 | ||
|
|
255f2f1db6 | ||
|
|
d34fad65b5 | ||
|
|
8d82fce89f | ||
|
|
bfd8a087bf | ||
|
|
cc648b885c | ||
|
|
6628bbbe2f | ||
|
|
f9f8cb8b1f | ||
|
|
70f6529e32 | ||
|
|
671e0d47ea | ||
|
|
e9f493096b | ||
|
|
ee2f5663c4 | ||
|
|
d4204f13f8 | ||
|
|
1a477609be | ||
|
|
0554b25c78 | ||
|
|
f4e7cbaa6e | ||
|
|
83bfc1fd0f | ||
|
|
30439b864d | ||
|
|
80999121a9 | ||
|
|
ca0d0bb373 | ||
|
|
345578a05d | ||
|
|
1f0537124a | ||
|
|
2a2b9a12a7 | ||
|
|
5a19e05931 | ||
|
|
acbc85773c | ||
|
|
b2fc101078 | ||
|
|
d943c559e2 | ||
|
|
6ae4680fcb | ||
|
|
0524bd2083 | ||
|
|
b4cf7899bb | ||
|
|
eac16911d0 | ||
|
|
21bef62b82 | ||
|
|
66d8269a1b | ||
|
|
a1eccfdb61 | ||
|
|
90e05694d3 | ||
|
|
b97ac503a1 | ||
|
|
2cc34151df | ||
|
|
4c160533c2 | ||
|
|
59dd0d1212 | ||
|
|
3bf7e38e52 | ||
|
|
362ee4c9eb | ||
|
|
2462331884 | ||
|
|
ddd451b94c | ||
|
|
cb4147a4bd | ||
|
|
72f3a01abf | ||
|
|
aa2341dfb5 | ||
|
|
31e3c1c295 | ||
|
|
37891a1032 | ||
|
|
70284e1517 | ||
|
|
0bca1dcb48 | ||
|
|
36f9865c0b | ||
|
|
cd48551630 | ||
|
|
0ff130650f | ||
|
|
9b445ac5b6 | ||
|
|
c21248fcc2 | ||
|
|
88aa4c5ec9 | ||
|
|
b31490e52d | ||
|
|
0fd22ad933 | ||
|
|
980b2b67cd | ||
|
|
00b56da220 | ||
|
|
fef6bdde5f | ||
|
|
6f7938e939 | ||
|
|
2cd469cd7c | ||
|
|
cd15055280 | ||
|
|
3380577e40 | ||
|
|
0895b15489 | ||
|
|
d9062b60d6 | ||
|
|
3f4049031d | ||
|
|
c81ce71074 | ||
|
|
7c19d1520d | ||
|
|
84789cbcd4 | ||
|
|
f84ffd235b | ||
|
|
1ca6181856 | ||
|
|
f17954a5db | ||
|
|
586fcf42ab | ||
|
|
18c597b3d2 | ||
|
|
acea401a3d | ||
|
|
e9e4106d22 | ||
|
|
0ec7158102 | ||
|
|
d00d8cb668 | ||
|
|
d3695b2faa | ||
|
|
0668a47758 | ||
|
|
ca645ef476 | ||
|
|
3ff5f79561 | ||
|
|
b5c8b70163 | ||
|
|
173a70c017 | ||
|
|
ae143814fb | ||
|
|
eb52f670b9 | ||
|
|
dd166ce25c | ||
|
|
ea6423226a | ||
|
|
85bf4406ed | ||
|
|
0cb8e0664e | ||
|
|
98dca95c15 | ||
|
|
2842b8fa39 | ||
|
|
317615854a | ||
|
|
a9c82710a6 | ||
|
|
3856a2a719 | ||
|
|
880128c339 | ||
|
|
731fe500ee | ||
|
|
444b48f788 | ||
|
|
cc69591799 | ||
|
|
0d6f774386 | ||
|
|
474ca513ae | ||
|
|
f37c08f341 | ||
|
|
92afba0e28 | ||
|
|
c7be8ebb22 | ||
|
|
974fc552c5 | ||
|
|
d39ff74dd7 | ||
|
|
9e1170bd50 | ||
|
|
081489dc6e | ||
|
|
710cd23bf9 | ||
|
|
296a1fbc7d | ||
|
|
68503e117e | ||
|
|
4d32b1dbbe | ||
|
|
156588a75c | ||
|
|
df63a85f3e | ||
|
|
7ccba91792 | ||
|
|
e23d245091 | ||
|
|
4dde506216 | ||
|
|
c532cb7d45 | ||
|
|
4e6738cbc5 | ||
|
|
0d4a5a22c8 | ||
|
|
15ec8fe303 | ||
|
|
2fb77bb4ad | ||
|
|
b8a0903b88 | ||
|
|
680a6c8983 | ||
|
|
28b8628438 | ||
|
|
a7c2505f36 | ||
|
|
017e4373fb | ||
|
|
25b5becd1a | ||
|
|
49013a0ed0 | ||
|
|
a861d57763 | ||
|
|
a4ab5d9106 | ||
|
|
442cb01adb | ||
|
|
c6793c1dee | ||
|
|
8b3949b7d9 | ||
|
|
a535e8547a | ||
|
|
0fd6fda4d8 | ||
|
|
3b7a7d09a0 | ||
|
|
71b11366bb | ||
|
|
80901cecdb | ||
|
|
7f23828ece | ||
|
|
8e1dca4360 | ||
|
|
86d989a722 | ||
|
|
046b9240e4 | ||
|
|
67f0cfb039 | ||
|
|
238e209982 | ||
|
|
c5f5ac62b5 | ||
|
|
776cf388b0 | ||
|
|
c1c458a934 | ||
|
|
ab721de49c | ||
|
|
588c509194 | ||
|
|
133e83f89d | ||
|
|
af47fc7d60 | ||
|
|
7adaf536f1 | ||
|
|
ffd61065ac | ||
|
|
8ff1042fe3 | ||
|
|
37b5818507 | ||
|
|
23592b8a76 | ||
|
|
79fa88c315 | ||
|
|
62389975a2 | ||
|
|
c0e1e155d7 | ||
|
|
8c3210332e | ||
|
|
758ccadb07 | ||
|
|
cd11b14998 | ||
|
|
f2898f9f20 | ||
|
|
7fbac765e7 | ||
|
|
ccad675336 | ||
|
|
0aa36f3cb0 | ||
|
|
cc61464be3 | ||
|
|
d0e57c8276 | ||
|
|
898ab989aa | ||
|
|
580dac1784 | ||
|
|
2eb8690c2d | ||
|
|
942652ec27 | ||
|
|
6fb8cd293a | ||
|
|
5e7d103eab | ||
|
|
82f3322d40 | ||
|
|
0dd5d08514 | ||
|
|
8d64835765 | ||
|
|
481fe1903e | ||
|
|
96028d1d69 | ||
|
|
8532c2d06e | ||
|
|
9147a10cc7 | ||
|
|
0179c6ee65 | ||
|
|
cdb5d591e8 | ||
|
|
fab81b923b | ||
|
|
1bae601ad9 | ||
|
|
a4795a9df1 | ||
|
|
0644eac7dc | ||
|
|
7a3f136207 | ||
|
|
550b51f77a | ||
|
|
3572833e7a | ||
|
|
c52931e7fa | ||
|
|
535a3d9a83 | ||
|
|
d075c29254 | ||
|
|
299a658050 | ||
|
|
42d3b12b13 | ||
|
|
3eace66274 | ||
|
|
c66bae55b4 | ||
|
|
d1b0f12e5b | ||
|
|
0543d997f6 | ||
|
|
b7e1eb9d1b | ||
|
|
eecf914881 | ||
|
|
cc8a20537e | ||
|
|
04690ce206 | ||
|
|
7a7ffd3492 | ||
|
|
667c4340d8 | ||
|
|
39af36977e | ||
|
|
4cf5f00441 | ||
|
|
96ee41a3dd | ||
|
|
d15eb0e6ad | ||
|
|
c3066cd491 | ||
|
|
85d1ed7255 | ||
|
|
cafd371475 | ||
|
|
ebce5ecd31 | ||
|
|
557a3b80dd | ||
|
|
51c3b6d105 | ||
|
|
f02b7a6028 | ||
|
|
828e1a54f1 | ||
|
|
f89fe0ea1b | ||
|
|
04d7945f10 | ||
|
|
ad5cddf222 | ||
|
|
4b948e2cbb | ||
|
|
122ded671c | ||
|
|
c7c234d04a | ||
|
|
a37582eb4c | ||
|
|
fb0e086f57 | ||
|
|
53611c8627 | ||
|
|
4776b0e6b5 | ||
|
|
dbebd14391 | ||
|
|
6e511d0b20 | ||
|
|
9685ab4a18 | ||
|
|
926d78d9cb | ||
|
|
7bfb316d6b | ||
|
|
9168b192ff | ||
|
|
c2d22694f3 | ||
|
|
633a2a750f | ||
|
|
13341c323d | ||
|
|
670f0ce1d9 | ||
|
|
6fadaa0789 | ||
|
|
1bfbb71767 | ||
|
|
66fc3ae8c5 | ||
|
|
f6667077f3 | ||
|
|
039d2286fb | ||
|
|
0cde375953 | ||
|
|
bbc4a23c86 | ||
|
|
c178b22c10 | ||
|
|
cd081b22a4 | ||
|
|
3dc0a2994b | ||
|
|
34d4cd9ab1 | ||
|
|
442d6a41ad | ||
|
|
5f2542c1c7 | ||
|
|
e0d29c5ca2 | ||
|
|
287a51148a | ||
|
|
4332dd07a9 | ||
|
|
3148f3f502 | ||
|
|
966c4f5866 | ||
|
|
01c7a36025 | ||
|
|
f76d8827eb | ||
|
|
a59fc7b8b8 | ||
|
|
4b723832ea | ||
|
|
823244a787 | ||
|
|
876380b9a7 | ||
|
|
eac96c00dc | ||
|
|
5e3dbbf092 | ||
|
|
08920d5b10 | ||
|
|
144fcf43cf | ||
|
|
e9c11bbef2 | ||
|
|
ee079635bf | ||
|
|
90182e2ceb | ||
|
|
2b7707a6a0 | ||
|
|
cd60acde5f | ||
|
|
e14ab682fd | ||
|
|
7736447ae8 | ||
|
|
f83b65be19 | ||
|
|
b1715dc54f | ||
|
|
40ad4a3d5b | ||
|
|
69bf98ae6e | ||
|
|
4dfbcf0318 | ||
|
|
ce319de97c | ||
|
|
5e329d343f | ||
|
|
1bd3d2693d | ||
|
|
947c920fbd | ||
|
|
354ef34c7a | ||
|
|
3468f59ac7 | ||
|
|
ff8a8dde28 | ||
|
|
9c0f06e306 | ||
|
|
634f2bdfa0 | ||
|
|
5551cb834c | ||
|
|
c4fac41fe3 | ||
|
|
512aae350e | ||
|
|
abccf2278d | ||
|
|
673131926a | ||
|
|
668c9801eb | ||
|
|
6dbf704a13 | ||
|
|
c1edbab1fa | ||
|
|
7274f52988 | ||
|
|
53bccab326 | ||
|
|
83943ce70d | ||
|
|
99eff9587c | ||
|
|
5ec844d883 | ||
|
|
0ca58122a9 | ||
|
|
4107518a02 | ||
|
|
42d99756ea | ||
|
|
7f3f634e3e | ||
|
|
b2070c8ab5 | ||
|
|
6ffc062531 | ||
|
|
f22d6beb28 | ||
|
|
4cc502c477 | ||
|
|
7ca0f8711c | ||
|
|
78cb767172 | ||
|
|
d40cb3c74a | ||
|
|
9277381527 | ||
|
|
7dd886837f | ||
|
|
ba562f0486 | ||
|
|
27647d45d0 | ||
|
|
2e7e3c41c0 | ||
|
|
ce32a08cbf | ||
|
|
9d918ad111 | ||
|
|
f7266ef752 | ||
|
|
f126f3fd53 | ||
|
|
cb29d81529 | ||
|
|
890b0280b3 | ||
|
|
dd2384622c | ||
|
|
5a93fcf952 | ||
|
|
4b14a0db7a | ||
|
|
f3cecd8bdd | ||
|
|
7543f3e543 | ||
|
|
bf687e6fa6 | ||
|
|
ffe286ea49 | ||
|
|
f31f6f8e04 | ||
|
|
725e6ab303 | ||
|
|
cb36bdabdf | ||
|
|
dd058155c8 | ||
|
|
8dabe88246 | ||
|
|
5c0d378d1e | ||
|
|
18f97b067d | ||
|
|
fd858248af | ||
|
|
012841617a | ||
|
|
6496508810 | ||
|
|
0269ec579b | ||
|
|
91a6224156 | ||
|
|
b4801560be | ||
|
|
c7bcbeabd9 | ||
|
|
41c130cd43 | ||
|
|
d11099c0ae | ||
|
|
9c5df5977d | ||
|
|
d3526ae544 | ||
|
|
52d4c3f137 | ||
|
|
0c0bf4b137 | ||
|
|
6b282d845f | ||
|
|
82f223248e | ||
|
|
a9f1ca429a | ||
|
|
7db5d9189b | ||
|
|
4f27ff1100 | ||
|
|
8ff2003411 | ||
|
|
899cbffe33 | ||
|
|
77b44f83e1 | ||
|
|
d1654a3e32 | ||
|
|
77c2e47b95 | ||
|
|
ec4d451d7f | ||
|
|
5fc5813274 | ||
|
|
65c0c4438f | ||
|
|
56b0cf292e | ||
|
|
6685dadddf | ||
|
|
08e0679942 | ||
|
|
6c062edd18 | ||
|
|
65d844c6e7 | ||
|
|
10b4a90501 | ||
|
|
5f00e1f8ee | ||
|
|
3c468a23c1 | ||
|
|
93c4396bfb | ||
|
|
19ac7f3e3f | ||
|
|
fc5c3023c6 | ||
|
|
04243f7dd3 | ||
|
|
cdc6b910cb | ||
|
|
219bf9dc6c | ||
|
|
ad66f0b637 | ||
|
|
bd7469d8e0 | ||
|
|
bfda4df2f2 | ||
|
|
718608cd55 | ||
|
|
7217635c6f | ||
|
|
3eeabdbf89 | ||
|
|
958557d2fe | ||
|
|
c8345c6613 | ||
|
|
83ed2aac00 | ||
|
|
849130621a | ||
|
|
bb6175397c | ||
|
|
2074c4933a | ||
|
|
e8aa9f0381 | ||
|
|
c8590b9523 | ||
|
|
e4ffc8d3de | ||
|
|
e5a522a2fe | ||
|
|
34281a14a4 | ||
|
|
f6d910f226 | ||
|
|
7371a11891 | ||
|
|
48d5183e07 | ||
|
|
bf42db3af1 | ||
|
|
28d3866eb0 | ||
|
|
f5517035ba | ||
|
|
bc9dfe736d | ||
|
|
aee07203a2 | ||
|
|
13b3b9875e | ||
|
|
7fc92dcaa2 | ||
|
|
6539931387 | ||
|
|
85a25d0adc | ||
|
|
8f9e401fc9 | ||
|
|
bd2f06e72f | ||
|
|
bc6bf737b9 | ||
|
|
7b13ceb9a3 | ||
|
|
22effeac42 | ||
|
|
0e77103883 | ||
|
|
020cc6f39b | ||
|
|
3897506c7f | ||
|
|
9f57af80cf | ||
|
|
ebb8786cd9 | ||
|
|
703080a329 | ||
|
|
c1ee217cef | ||
|
|
d0eed03fef | ||
|
|
9ba038b2b3 | ||
|
|
34cff72fce | ||
|
|
052a6df550 | ||
|
|
8032830873 | ||
|
|
4ace1d0b42 | ||
|
|
d0f4fbdfcc | ||
|
|
c7c3659312 | ||
|
|
f6e4091e51 | ||
|
|
4945160bc7 | ||
|
|
863d92cabf | ||
|
|
eae222f264 | ||
|
|
76c870ce04 |
@@ -11,9 +11,9 @@ git:
|
||||
url: https://github.com/getgrav/grav-plugin-markdown-notices
|
||||
path: user/plugins/markdown-notices
|
||||
branch: master
|
||||
antimatter:
|
||||
url: https://github.com/getgrav/grav-theme-antimatter
|
||||
path: user/themes/antimatter
|
||||
quark:
|
||||
url: https://github.com/getgrav/grav-theme-quark
|
||||
path: user/themes/quark
|
||||
branch: master
|
||||
links:
|
||||
problems:
|
||||
@@ -28,7 +28,7 @@ links:
|
||||
src: grav-plugin-markdown-notices
|
||||
path: user/plugins/markdown-notices
|
||||
scm: github
|
||||
antimatter:
|
||||
src: grav-theme-antimatter
|
||||
path: user/themes/antimatter
|
||||
quark:
|
||||
src: grav-theme-quark
|
||||
path: user/themes/quark
|
||||
scm: github
|
||||
|
||||
@@ -13,6 +13,5 @@ indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# 2 space indentation
|
||||
[*.yaml, *.yml]
|
||||
indent_style = space
|
||||
[*.{yaml,.yml}]
|
||||
indent_size = 2
|
||||
|
||||
3
.gitignore
vendored
@@ -37,9 +37,10 @@ Thumbs.db
|
||||
|
||||
# phpstorm
|
||||
.idea/*
|
||||
user/config/security.yaml
|
||||
|
||||
# testing stuff
|
||||
tests/_output/*
|
||||
tests/_support/_generated/*
|
||||
tests/cache/*
|
||||
tests/error.log
|
||||
system/templates/testing/*
|
||||
|
||||
@@ -54,17 +54,17 @@ RewriteRule .* index.php [L]
|
||||
|
||||
## Begin - Security
|
||||
# Block all direct access for these folders
|
||||
RewriteRule ^(.git|cache|bin|logs|backup|webserver-configs|tests)/(.*) error [F]
|
||||
RewriteRule ^(\.git|cache|bin|logs|backup|webserver-configs|tests)/(.*) error [F]
|
||||
# Block access to specific file types for these system folders
|
||||
RewriteRule ^(system|vendor)/(.*)\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ error [F]
|
||||
RewriteRule ^(system|vendor)/(.*)\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ error [F]
|
||||
# Block access to specific file types for these user folders
|
||||
RewriteRule ^(user)/(.*)\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ error [F]
|
||||
RewriteRule ^(user)/(.*)\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ error [F]
|
||||
# Block all direct access to .md files:
|
||||
RewriteRule \.md$ error [F]
|
||||
# Block all direct access to files and folders beginning with a dot
|
||||
RewriteRule (^|/)\.(?!well-known) - [F]
|
||||
# Block access to specific files in the root folder
|
||||
RewriteRule ^(LICENSE.txt|composer.lock|composer.json|\.htaccess)$ error [F]
|
||||
RewriteRule ^(LICENSE\.txt|composer\.lock|composer\.json|\.htaccess)$ error [F]
|
||||
## End - Security
|
||||
|
||||
</IfModule>
|
||||
|
||||
13
.travis.yml
@@ -1,9 +1,8 @@
|
||||
language: php
|
||||
php:
|
||||
- '5.5'
|
||||
- '5.6'
|
||||
- '7.0'
|
||||
- hhvm
|
||||
- '7.1'
|
||||
- '7.2'
|
||||
- '7.3'
|
||||
branches:
|
||||
only:
|
||||
- develop
|
||||
@@ -38,7 +37,7 @@ env:
|
||||
- GOPATH="$HOME/go"
|
||||
- PATH="$GOPATH/bin:$PATH"
|
||||
# GH_TOKEN [API Key]
|
||||
- secure: "jS+c+g2v33vypG4VtqiSDW2qQ4dGJZlrUKBRCztoy1yrOrYRPvc5Vzi/AS3fDmZ4yizukEwmUNNzyZQcgFvLPpmCCml46Dovp8R9OXhbNe8OnULmaSn2Zkr71oblMYu6ZP+RpYvNq0BIdSB3u2TiFriHMiTIkX9UwZNaUCOX1ig="
|
||||
- secure: "NR9pV7YteY9OoPmjDTQG0fDfocVu+tCeiDH1F2GFhXCu71UOIvqWXpOxp0RHkG5GIXdCFHx59yu+ZO275lbaHkbF8+4lVSVrV4RcGn+pIncvxr6iZCVW05dbAxV3H8alK+xYJRGmbyfQl5wIM49WvmuGHZjcmIloS4t/omQ3N+I="
|
||||
# BB_TOKEN value => "user:pass@"
|
||||
- secure: "einUtSEkUWy2IrqLXyVjwUU+mwaaoiOXRRVdLBpA3Zye6bZx8cm5h/5AplkPWhM/NmCJoW/MwNZHHkFhlr3mDRov5iOxVmTTYfnXB+I5lxYTSgduOLLErS7mU8hfADpVDU8bHNU44fNGD3UEiG1PD4qQBX4DMlqIFmR20mjs81k="
|
||||
# GH_API_USER [for curl]
|
||||
@@ -53,7 +52,7 @@ before_install:
|
||||
- if [ $TRAVIS_BRANCH == 'develop' ] || [ $TRAVIS_PULL_REQUEST != 'false' ]; then
|
||||
composer install --dev --prefer-dist;
|
||||
fi
|
||||
- if [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "5.6" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
|
||||
- if [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "7.1" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
|
||||
export TRAVIS_TAG=$(curl --fail --user "${GH_API_USER}" -s https://api.github.com/repos/getgrav/grav/releases/latest | grep tag_name | head -n 1 | cut -d '"' -f 4);
|
||||
eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.8 bash)";
|
||||
go get github.com/aktau/github-release;
|
||||
@@ -70,7 +69,7 @@ script:
|
||||
vendor/bin/codecept run;
|
||||
fi
|
||||
- echo "Latest Release Tag - ${TRAVIS_TAG}"
|
||||
- if [ ! -z "$TRAVIS_TAG" ] && [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "5.6" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
|
||||
- if [ ! -z "$TRAVIS_TAG" ] && [ $TRAVIS_BRANCH != 'develop' ] && [ $TRAVIS_PHP_VERSION == "7.1" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
|
||||
FILES="$RT_DEVTOOLS/grav-dist/*.zip";
|
||||
for file in ${FILES[@]}; do
|
||||
NAME=${file##*/};
|
||||
|
||||
702
CHANGELOG.md
@@ -1,3 +1,703 @@
|
||||
# v1.6.2
|
||||
## 04/11/2019
|
||||
|
||||
1. [](#bugfix)
|
||||
* Revert renaming of `ClearCacheCommand` to ensure CLI GPM upgrades go smoothly
|
||||
|
||||
# v1.6.1
|
||||
## 04/11/2019
|
||||
|
||||
1. [](#improved)
|
||||
* Improved CSS for the bottom filter bar of DebugBar
|
||||
1. [](#bugfix)
|
||||
* Fixed issue with `@import` not being added to top of pipelined css [#2440](https://github.com/getgrav/grav/issues/2440)
|
||||
|
||||
# v1.6.0
|
||||
## 04/11/2019
|
||||
|
||||
1. [](#new)
|
||||
* Set minimum requirements to [PHP 7.1.3](https://getgrav.org/blog/raising-php-requirements-2018)
|
||||
* New `Scheduler` functionality for periodic jobs
|
||||
* New `Backup` functionality with multiple backup profiles and scheduler integration
|
||||
* Refactored `Assets Manager` to be more powerful and flexible
|
||||
* Updated Doctrine Collections to 1.6
|
||||
* Updated Doctrine Cache to 1.8
|
||||
* Updated Symfony Components to 4.2
|
||||
* Added new Cache purge functionality old cache manually via CLI/Admin as well as scheduler integration
|
||||
* Added new `{% throw 404 'Not Found' %}` twig tag (with custom code/message)
|
||||
* Added `Grav\Framework\File` classes for handling YAML, Markdown, JSON, INI and PHP serialized files
|
||||
* Added `Grav\Framework\Collection\AbstractIndexCollection` class
|
||||
* Added `Grav\Framework\Object\ObjectIndex` class
|
||||
* Added `Grav\Framework\Flex` classes
|
||||
* Added support for hiding form fields in blueprints by using dynamic property like `security@: admin.foobar`, `scope@: object` or `scope-ignore@: object` to any field
|
||||
* New experimental **FlexObjects** powered `Users` for increased performance and capability (**disabled** by default)
|
||||
* Added PSR-7 and PSR-15 classes
|
||||
* Added `Grav\Framework\DI\Container` class
|
||||
* Added `Grav\Framework\RequestHandler\RequestHandler` class
|
||||
* Added `Page::httpResponseCode()` and `Page::httpHeaders()` methods
|
||||
* Added `Grav\Framework\Form\Interfaces\FormInterface`
|
||||
* Added `Grav\Framework\Form\Interfaces\FormFactoryInterface`
|
||||
* Added `Grav\Framework\Form\FormTrait`
|
||||
* Added `Page::forms()` method to get normalized list of all form headers defined in the page
|
||||
* Added `onPageAction`, `onPageTask`, `onPageAction.{$action}` and `onPageTask.{$task}` events
|
||||
* Added `Blueprint::processForm()` method to filter form inputs
|
||||
* Move `processMarkdown()` method from `TwigExtension` to more general `Utils` class
|
||||
* Added support to include extra files into `Media` (such as uploaded files)
|
||||
* Added form preview support for `FlexObject`, including a way to render newly uploaded files before saving them
|
||||
* Added `FlexObject::getChanges()` to determine what fields change during an update
|
||||
* Added `arrayDiffMultidimensional`, `arrayIsAssociative`, `arrayCombine` Util functions
|
||||
* New `$grav['users']` service to allow custom user classes implementing `UserInterface`
|
||||
* Added `LogViewer` helper class and CLI command: `bin/grav logviewer`
|
||||
* Added `select()` and `unselect()` methods to `CollectionInterface` and its base classes
|
||||
* Added `orderBy()` and `limit()` methods to `ObjectCollectionInterface` and its base classes
|
||||
* Added `user-data://` which is a writable stream (`user://data` is not and should be avoided)
|
||||
* Added support for `/action:{$action}` (like task but used without nonce when only receiving data)
|
||||
* Added `onAction.{$action}` event
|
||||
* Added `Grav\Framework\Form\FormFlash` class to contain AJAX uploaded files in more reliable way
|
||||
* Added `Grav\Framework\Form\FormFlashFile` class which implements `UploadedFileInterface` from PSR-7
|
||||
* Added `Grav\Framework\Filesystem\Filesystem` class with methods to manipulate stream URLs
|
||||
* Added new `$grav['filesystem']` service using an instance of the new `Filesystem` object
|
||||
* Added `{% render object layout: 'default' with { variable: true } %}` for Flex objects and collections
|
||||
* Added `$grav->setup()` to simplify CLI and custom access points
|
||||
* Added `CsvFormatter` and `CsvFile` classes
|
||||
* Added new system config option to `pages.hide_empty_folders` if a folder has no valid `.md` file available. Default behavior is `false` for compatibility.
|
||||
* Added new system config option for `languages.pages_fallback_only` forcing only 'fallback' to find page content through supported languages, default behavior is to display any language found if active language is missing
|
||||
* Added `Utils::arrayFlattenDotNotation()` and `Utils::arrayUnflattenDotNotation()` helper methods
|
||||
1. [](#improved)
|
||||
* Add the page to onMarkdownInitialized event [#2412](https://github.com/getgrav/grav/issues/2412)
|
||||
* Doctrine filecache is now namespaced with prefix to support purging
|
||||
* Register all page types into `blueprint://pages` stream
|
||||
* Removed `apc` and `xcache` support, made `apc` alias of `apcu`
|
||||
* Support admin and regular translations via the `|t` twig filter and `t()` twig function
|
||||
* Improved Grav Core installer/updater to run installer script
|
||||
* Updated vendor libraries including Symfony `4.2.3`
|
||||
* Renamed old `User` class to `Grav\Common\User\DataUser\User` with multiple improvements and small fixes
|
||||
* `User` class now acts as a compatibility layer to older versions of Grav
|
||||
* Deprecated `new User()`, `User::load()`, `User::find()` and `User::delete()` in favor of `$grav['users']` service
|
||||
* `Media` constructor has now support to not to initialize the media objects
|
||||
* Cleanly handle session corruption due to changing Flex object types
|
||||
* Added `FlexObjectInterface::getDefaultValue()` and `FormInterface::getDefaultValue()`
|
||||
* Added new `onPageContent()` event for every call to `Page::content()`
|
||||
* Added phpstan: PHP Static Analysis Tool [#2393](https://github.com/getgrav/grav/pull/2393)
|
||||
* Added `composer test-plugins` to test plugin issues with the current version of Grav
|
||||
* Added `Flex::getObjects()` and `Flex::getMixedCollection()` methods for co-mingled collections
|
||||
* Added support to use single Flex key parameter in `Flex::getObject()` method
|
||||
* Added `FlexObjectInterface::search()` and `FlexCollectionInterface::search()` methods
|
||||
* Override `system.media.upload_limit` with PHP's `post_max_size` or `upload_max_filesize`
|
||||
* Class `Grav\Common\Page\Medium\AbstractMedia` now use array traits instead of extending `Grav\Common\Getters`
|
||||
* Implemented `Grav\Framework\Psr7` classes as `Nyholm/psr7` decorators
|
||||
* Added a new `cache-clear` scheduled job to go along with `cache-purge`
|
||||
* Renamed `Grav\Framework\File\Formatter\FormatterInterface` to `Grav\Framework\File\Interfaces\FileFormatterInterface`
|
||||
* Improved `File::save()` to use a temporary file if file isn't locked
|
||||
* Improved `|t` filter to better support admin `|tu` style filter if in admin
|
||||
* Update all classes to rely on `PageInterface` instead of `Page` class
|
||||
* Better error checking in `bin/plugin` for existence and enabled
|
||||
* Removed `media.upload_limit` references
|
||||
* Twig `nicenumber`: do not use 0 + string casting hack
|
||||
* Converted Twig tags to use namespaced Twig classes
|
||||
* Site shows error on page rather than hard-crash when page has invalid frontmatter [#2343](https://github.com/getgrav/grav/issues/2343)
|
||||
* Added `languages.default_lang` option to override the default lang (usually first supported language)
|
||||
* Added `Content-Type: application/json` body support for PSR-7 `ServerRequest`
|
||||
* Remove PHP time limit in `ZipArchive`
|
||||
* DebugBar: Resolve twig templates in deprecated backtraces in order to help locating Twig issues
|
||||
* Added `$grav['cache']->getSimpleCache()` method for getting PSR-16 compatible cache
|
||||
* MediaTrait: Use PSR-16 cache
|
||||
* Improved `Utils::normalizePath()` to support non-protocol URLs
|
||||
* Added ability to reset `Page::metadata` to allow rebuilding from automatically generated values
|
||||
* Added back missing `page.types` field in system content configuration [admin#1612](https://github.com/getgrav/grav-plugin-admin/issues/1612)
|
||||
* Console commands: add method for invalidating cache
|
||||
* Updated languages
|
||||
* Improved `$page->forms()` call, added `$page->addForms()`
|
||||
* Updated languages from crowdin
|
||||
* Fixed `ImageMedium` constructor warning when file does not exist
|
||||
* Improved `Grav\Common\User` class; added `$user->update()` method
|
||||
* Added trim support for text input fields `validate: trim: true`
|
||||
* Improved `Grav\Framework\File\Formatter` classes to have abstract parent class and some useful methods
|
||||
* Support negotiated content types set via the Request `Accept:` header
|
||||
* Support negotiated language types set via the Request `Accept-Language:` header
|
||||
* Cleaned up and sorted the Service `idMap`
|
||||
* Updated `Grav` container object to implement PSR-11 `ContainerInterface`
|
||||
* Updated Grav `Processor` classes to implement PSR-15 `MiddlewareInterface`
|
||||
* Make `Data` class to extend `JsonSerializable`
|
||||
* Modified debugger icon to use retina space-dude version
|
||||
* Added missing `Video::preload()` method
|
||||
* Set session name based on `security.salt` rather than `GRAV_ROOT` [#2242](https://github.com/getgrav/grav/issues/2242)
|
||||
* Added option to configure list of `xss_invalid_protocols` in `Security` config [#2250](https://github.com/getgrav/grav/issues/2250)
|
||||
* Smarter `security.salt` checking now we use `security.yaml` for other options
|
||||
* Added apcu autoloader optimization
|
||||
* Additional helper methods in `Language`, `Languages`, and `LanguageCodes` classes
|
||||
* Call `onFatalException` event also on internal PHP errors
|
||||
* Built-in PHP Webserver: log requests before handling them
|
||||
* Added support for syslog and syslog facility logging (default: 'file')
|
||||
* Improved usability of `System` configuration blueprint with side-tabs
|
||||
1. [](#bugfix)
|
||||
* Fixed issue with `Truncator::truncateWords` and `Truncator::truncateLetters` when string not wrapped in tags [#2432](https://github.com/getgrav/grav/issues/2432)
|
||||
* Fixed `Undefined method closure::fields()` when getting avatar for user, thanks @Romarain [#2422](https://github.com/getgrav/grav/issues/2422)
|
||||
* Fixed cached images not being updated when source image is modified
|
||||
* Fixed deleting last list item in the form
|
||||
* Fixed issue with `Utils::url()` method would append extra `base_url` if URL already included it
|
||||
* Fixed `mkdir(...)` race condition
|
||||
* Fixed `Obtaining write lock failed on file...`
|
||||
* Fixed potential undefined property in `onPageNotFound` event handling
|
||||
* Fixed some potential issues/bugs found by phpstan
|
||||
* Fixed regression in GPM packages casted to Array (ref, getgrav/grav-plugin-admin@e3fc4ce)
|
||||
* Fixed session_start(): Setting option 'session.name' failed [#2408](https://github.com/getgrav/grav/issues/2408)
|
||||
* Fixed validation for select field type with selectize
|
||||
* Fixed validation for boolean toggles
|
||||
* Fixed non-namespaced exceptions in scheduler
|
||||
* Fixed trailing slash redirect in multlang environment [#2350](https://github.com/getgrav/grav/issues/2350)
|
||||
* Fixed some issues related to Medium objects losing query string attributes
|
||||
* Broke out Medium timestamp so it's not cleared on `reset()`s
|
||||
* Fixed issue with `redirect_trailing_slash` losing query string [#2269](https://github.com/getgrav/grav/issues/2269)
|
||||
* Fixed failed login if user attempts to log in with upper case non-english letters
|
||||
* Removed extra authenticated/authorized fields when saving existing user from a form
|
||||
* Fixed `Grav\Framework\Route::__toString()` returning relative URL, not relative route
|
||||
* Fixed handling of `append_url_extension` inside of `Page::templateFormat()` [#2264](https://github.com/getgrav/grav/issues/2264)
|
||||
* Fixed a broken language string [#2261](https://github.com/getgrav/grav/issues/2261)
|
||||
* Fixed clearing cache having no effect on Doctrine cache
|
||||
* Fixed `Medium::relativePath()` for streams
|
||||
* Fixed `Object` serialization breaking if overriding `jsonSerialize()` method
|
||||
* Fixed `YamlFormatter::decode()` when calling `init_set()` with integer
|
||||
* Fixed session throwing error in CLI if initialized
|
||||
* Fixed `Uri::hasStandardPort()` to support reverse proxy configurations [#1786](https://github.com/getgrav/grav/issues/1786)
|
||||
* Use `append_url_extension` from page header to set template format if set [#2604](https://github.com/getgrav/grav/pull/2064)
|
||||
* Fixed some bugs in Grav environment selection logic
|
||||
* Use login provider User avatar if set
|
||||
* Fixed `Folder::doDelete($folder, false)` removing symlink when it should not
|
||||
* Fixed asset manager to not add empty assets when they don't exist in the filesystem
|
||||
* Update `script` and `style` Twig tags to use the new `Assets` classes
|
||||
* Fixed asset pipeline to rewrite remote URLs as well as local [#2216](https://github.com/getgrav/grav/issues/2216)
|
||||
|
||||
# v1.5.10
|
||||
## 03/21/2019
|
||||
|
||||
1. [](#new)
|
||||
* Added new `deferred` Twig extension
|
||||
|
||||
# v1.5.9
|
||||
## 03/20/2019
|
||||
|
||||
1. [](#new)
|
||||
* Added new `onPageContent()` event for every call to `Page::content()`
|
||||
1. [](#improved)
|
||||
* Fixed phpdoc generation
|
||||
* Updated vendor libraries
|
||||
* Force Toolbox v1.4.2
|
||||
1. [](#bugfix)
|
||||
* EXIF fix for streams
|
||||
* Fix for User avatar not working due to uppercase or spaces in email [#2403](https://github.com/getgrav/grav/pull/2403)
|
||||
|
||||
# v1.5.8
|
||||
## 02/07/2019
|
||||
|
||||
1. [](#improved)
|
||||
* Improved `User` unserialize to not to break the object if serialized data is not what expected
|
||||
* Removed unused parameter [#2357](https://github.com/getgrav/grav/pull/2357)
|
||||
|
||||
# v1.5.7
|
||||
## 01/25/2019
|
||||
|
||||
1. [](#new)
|
||||
* Support for AWS Cloudfront forwarded scheme header [#2297](https://github.com/getgrav/grav/pull/2297)
|
||||
1. [](#improved)
|
||||
* Set homepage with `https://` protocol [#2299](https://github.com/getgrav/grav/pull/2299)
|
||||
* Preserve accents in fields containing Twig expr. using unicode [#2279](https://github.com/getgrav/grav/pull/2279)
|
||||
* Updated vendor libraries
|
||||
1. [](#bugfix)
|
||||
* Support spaces with filenames in responsive images [#2300](https://github.com/getgrav/grav/pull/2300)
|
||||
|
||||
# v1.5.6
|
||||
## 12/14/2018
|
||||
|
||||
1. [](#improved)
|
||||
* Updated InitializeProcessor.php to use lang-safe redirect [#2268](https://github.com/getgrav/grav/pull/2268)
|
||||
* Improved user serialization to use less memory in the session
|
||||
|
||||
# v1.5.5
|
||||
## 11/12/2018
|
||||
|
||||
1. [](#new)
|
||||
* Register theme prefixes as namespaces in Twig [#2210](https://github.com/getgrav/grav/pull/2210)
|
||||
1. [](#improved)
|
||||
* Propogate error code between 400 and 600 for production sites [#2181](https://github.com/getgrav/grav/pull/2181)
|
||||
1. [](#bugfix)
|
||||
* Remove hardcoded `302` when redirecting trailing slash [#2155](https://github.com/getgrav/grav/pull/2155)
|
||||
|
||||
# v1.5.4
|
||||
## 11/05/2018
|
||||
|
||||
1. [](#improved)
|
||||
* Updated default page `index.md` with some consistency fixes [#2245](https://github.com/getgrav/grav/pull/2245)
|
||||
1. [](#bugfix)
|
||||
* Fixed fatal error if calling `$session->invalidate()` when there's no active session
|
||||
* Fixed typo in media.yaml for `webm` extension [#2220](https://github.com/getgrav/grav/pull/2220)
|
||||
* Fixed markdown processing for telephone links [#2235](https://github.com/getgrav/grav/pull/2235)
|
||||
|
||||
# v1.5.3
|
||||
## 10/08/2018
|
||||
|
||||
1. [](#new)
|
||||
* Added `Utils::getMimeByFilename()`, `Utils::getMimeByLocalFile()` and `Utils::checkFilename()` methods
|
||||
* Added configurable dangerous upload extensions in `security.yaml`
|
||||
1. [](#improved)
|
||||
* Updated vendor libraries to latest
|
||||
|
||||
# v1.5.2
|
||||
## 10/01/2018
|
||||
|
||||
1. [](#new)
|
||||
* Added new `Security` class for Grav security functionality including XSS checks
|
||||
* Added new `bin/grav security` command to scan for security issues
|
||||
* Added new `xss()` Twig function to allow for XSS checks on strings and arrays
|
||||
* Added `onHttpPostFilter` event to allow plugins to globally clean up XSS in the forms and tasks
|
||||
* Added `Deprecated` tab to DebugBar to catch future incompatibilities with later Grav versions
|
||||
* Added deprecation notices for features which will be removed in Grav 2.0
|
||||
1. [](#improved)
|
||||
* Updated vendor libraries to latest
|
||||
1. [](#bugfix)
|
||||
* Allow `$page->slug()` to be called before `$page->init()` without breaking the page
|
||||
* Fix for `Page::translatedLanguages()` to use routes always [#2163](https://github.com/getgrav/grav/issues/2163)
|
||||
* Fixed `nicetime()` twig function
|
||||
* Allow twig tags `{% script %}`, `{% style %}` and `{% switch %}` to be placed outside of blocks
|
||||
* Session expires in 30 mins independent from config settings [login#178](https://github.com/getgrav/grav-plugin-login/issues/178)
|
||||
|
||||
# v1.5.1
|
||||
## 08/23/2018
|
||||
|
||||
1. [](#new)
|
||||
* Added static `Grav\Common\Yaml` class which should be used instead of `Symfony\Component\Yaml\Yaml`
|
||||
1. [](#improved)
|
||||
* Updated deprecated Twig code so it works in both in Twig 1.34+ and Twig 2.4+
|
||||
* Switched to new Grav Yaml class to support Native + Fallback YAML libraries
|
||||
1. [](#bugfix)
|
||||
* Broken handling of user folder in Grav URI object [#2151](https://github.com/getgrav/grav/issues/2151)
|
||||
|
||||
# v1.5.0
|
||||
## 08/17/2018
|
||||
|
||||
1. [](#new)
|
||||
* Set minimum requirements to [PHP 5.6.4](https://getgrav.org/blog/raising-php-requirements-2018)
|
||||
* Updated Doctrine Collections to 1.4
|
||||
* Updated Symfony Components to 3.4 (with compatibility mode to fall back to Symfony YAML 2.8)
|
||||
* Added `Uri::method()` to get current HTTP method (GET/POST etc)
|
||||
* `FormatterInterface`: Added `getSupportedFileExtensions()` and `getDefaultFileExtension()` methods
|
||||
* Added option to disable `SimpleCache` key validation
|
||||
* Added support for multiple repo locations for `bin/grav install` command
|
||||
* Added twig filters for casting values: `|string`, `|int`, `|bool`, `|float`, `|array`
|
||||
* Made `ObjectCollection::matching()` criteria expressions to behave more like in Twig
|
||||
* Criteria: Added support for `LENGTH()`, `LOWER()`, `UPPER()`, `LTRIM()`, `RTRIM()` and `TRIM()`
|
||||
* Added `Grav\Framework\File\Formatter` classes for encoding/decoding YAML, Markdown, JSON, INI and PHP serialized strings
|
||||
* Added `Grav\Framework\Session` class to replace `RocketTheme\Toolbox\Session\Session`
|
||||
* Added `Grav\Common\Media` interfaces and trait; use those in `Page` and `Media` classes
|
||||
* Added `Grav\Common\Page` interface to allow custom page types in the future
|
||||
* Added setting to disable sessions from the site [#2013](https://github.com/getgrav/grav/issues/2013)
|
||||
* Added new `strict_mode` settings in `system.yaml` for compatibility
|
||||
1. [](#improved)
|
||||
* Improved `Utils::url()` to support query strings
|
||||
* Display better exception message if Grav fails to initialize
|
||||
* Added `muted` and `playsinline` support to videos [#2124](https://github.com/getgrav/grav/pull/2124)
|
||||
* Added `MediaTrait::clearMediaCache()` to allow cache to be cleared
|
||||
* Added `MediaTrait::getMediaCache()` to allow custom caching
|
||||
* Improved session handling, allow all session configuration options in `system.session.options`
|
||||
1. [](#bugfix)
|
||||
* Fix broken form nonce logic [#2121](https://github.com/getgrav/grav/pull/2121)
|
||||
* Fixed issue with uppercase extensions and fallback media URLs [#2133](https://github.com/getgrav/grav/issues/2133)
|
||||
* Fixed theme inheritance issue with `camel-case` that includes numbers [#2134](https://github.com/getgrav/grav/issues/2134)
|
||||
* Typo in demo typography page [#2136](https://github.com/getgrav/grav/pull/2136)
|
||||
* Fix for incorrect plugin order in debugger panel
|
||||
* Made `|markdown` filter HTML safe
|
||||
* Fixed bug in `ContentBlock` serialization
|
||||
* Fixed `Route::withQueryParam()` to accept array values
|
||||
* Fixed typo in truncate function [#1943](https://github.com/getgrav/grav/issues/1943)
|
||||
* Fixed blueprint field validation: Allow numeric inputs in text fields
|
||||
|
||||
# v1.4.8
|
||||
## 07/31/2018
|
||||
|
||||
1. [](#improved)
|
||||
* Add Grav version to debug bar messages tab [#2106](https://github.com/getgrav/grav/pull/2106)
|
||||
* Add Nginx config for ddev project to `webserver-configs` [#2117](https://github.com/getgrav/grav/pull/2117)
|
||||
* Vendor library updates
|
||||
1. [](#bugfix)
|
||||
* Don't allow `null` to be set as Page content
|
||||
|
||||
# v1.4.7
|
||||
## 07/13/2018
|
||||
|
||||
1. [](#improved)
|
||||
* Use `getFilename` instead of `getBasename` [#2087](https://github.com/getgrav/grav/issues/2087)
|
||||
1. [](#bugfix)
|
||||
* Fix for modular page preview [#2066](https://github.com/getgrav/grav/issues/2066)
|
||||
* `Page::routeCanonical()` should be string not array [#2069](https://github.com/getgrav/grav/issues/2069)
|
||||
|
||||
# v1.4.6
|
||||
## 06/20/2018
|
||||
|
||||
1. [](#improved)
|
||||
* Manually re-added the improved SSL off-loading that was lost with Grav v1.4.0 merge [#1888](https://github.com/getgrav/grav/pull/1888)
|
||||
* Handle multibyte strings in `truncateLetters()` [#2007](https://github.com/getgrav/grav/pull/2007)
|
||||
* Updated robots.txt to include `/user/images/` folder [#2043](https://github.com/getgrav/grav/pull/2043)
|
||||
* Add getter methods for original and action to the Page object [#2005](https://github.com/getgrav/grav/pull/2005)
|
||||
* Modular template extension follows the master page extension [#2044](https://github.com/getgrav/grav/pull/2044)
|
||||
* Vendor library updates
|
||||
1. [](#bugfix)
|
||||
* Handle `errors.display` system property better in admin plugin [admin#1452](https://github.com/getgrav/grav-plugin-admin/issues/1452)
|
||||
* Fix classes on non-http based protocol links [#2034](https://github.com/getgrav/grav/issues/2034)
|
||||
* Fixed crash on IIS (Windows) with open_basedir in effect [#2053](https://github.com/getgrav/grav/issues/2053)
|
||||
* Fixed incorrect routing with setup.php based base [#1892](https://github.com/getgrav/grav/issues/1892)
|
||||
* Fixed image resource memory deallocation [#2045](https://github.com/getgrav/grav/pull/2045)
|
||||
* Fixed issue with Errors `display:` option not handling integers properly [admin#1452](https://github.com/getgrav/grav-plugin-admin/issues/1452)
|
||||
|
||||
# v1.4.5
|
||||
## 05/15/2018
|
||||
|
||||
1. [](#bugfix)
|
||||
* Fixed an issue with some users getting **2FA** prompt after upgrade [admin#1442](https://github.com/getgrav/grav-plugin-admin/issues/1442)
|
||||
* Do not crash when generating URLs with arrays as parameters [#2018](https://github.com/getgrav/grav/pull/2018)
|
||||
* Utils::truncateHTML removes whitespace when generating summaries [#2004](https://github.com/getgrav/grav/pull/2004)
|
||||
|
||||
# v1.4.4
|
||||
## 05/11/2018
|
||||
|
||||
1. [](#new)
|
||||
* Added support for `Uri::post()` and `Uri::getConentType()`
|
||||
* Added a new `Medium:thumbnailExists()` function [#1966](https://github.com/getgrav/grav/issues/1966)
|
||||
* Added `authorized` support for 2FA
|
||||
1. [](#improved)
|
||||
* Added default configuration for images [#1979](https://github.com/getgrav/grav/pull/1979)
|
||||
* Added dedicated PHPUnit assertions [#1990](https://github.com/getgrav/grav/pull/1990)
|
||||
1. [](#bugfix)
|
||||
* Use `array_key_exists` instead of `in_array + array_keys` [#1991](https://github.com/getgrav/grav/pull/1991)
|
||||
* Fixed an issue with `custom_base_url` always causing 404 errors
|
||||
* Improve support for regex redirects with query and params [#1983](https://github.com/getgrav/grav/issues/1983)
|
||||
* Changed collection-based date sorting to `SORT_REGULAR` for better server compatibility [#1910](https://github.com/getgrav/grav/issues/1910)
|
||||
* Fix hardcoded string in modular blueprint [#1933](https://github.com/getgrav/grav/pull/1993)
|
||||
|
||||
# v1.4.3
|
||||
## 04/12/2018
|
||||
|
||||
1. [](#new)
|
||||
* moved Twig `sortArrayByKey` logic into `Utils::` class
|
||||
1. [](#improved)
|
||||
* Rolled back Parsedown library to stable `1.6.4` until a better solution for `1.8.0` compatibility can fe found
|
||||
* Updated vendor libraries to latest versions
|
||||
1. [](#bugfix)
|
||||
* Fix for bad reference to `ZipArchive` in `GPM::Installer`
|
||||
|
||||
# v1.4.2
|
||||
## 03/21/2018
|
||||
|
||||
1. [](#new)
|
||||
* Added new `|nicefilesize` Twig filter for pretty file (auto converts to bytes, kB, MB, GB, etc)
|
||||
* Added new `regex_filter()` Twig function to values in arrays
|
||||
1. [](#improved)
|
||||
* Added bosnian to lang codes [#1917](https://github.com/getgrav/grav/issues/1917)
|
||||
* Improved Zip extraction error codes [#1922](https://github.com/getgrav/grav/issues/1922)
|
||||
1. [](#bugfix)
|
||||
* Fixed an issue with Markdown Video and Audio that broke after Parsedown 1.7.0 Security updates [#1924](https://github.com/getgrav/grav/issues/1924)
|
||||
* Fix for case-sensitive page metadata [admin#1370](https://github.com/getgrav/grav-plugin-admin/issues/1370)
|
||||
* Fixed missing composer requirements for the new `Grav\Framework\Uri` classes
|
||||
* Added missing PSR-7 vendor library required for URI additions in Grav 1.4.0
|
||||
|
||||
# v1.4.1
|
||||
## 03/11/2018
|
||||
|
||||
1. [](#bugfix)
|
||||
* Fixed session timing out because of session cookie was not being sent
|
||||
|
||||
# v1.4.0
|
||||
## 03/09/2018
|
||||
|
||||
1. [](#new)
|
||||
* Added `Grav\Framework\Uri` classes extending PSR-7 `HTTP message UriInterface` implementation
|
||||
* Added `Grav\Framework\Route` classes to allow route/link manipulation
|
||||
* Added `$grav['uri]->getCurrentUri()` method to get `Grav\Framework\Uri\Uri` instance for the current URL
|
||||
* Added `$grav['uri]->getCurrentRoute()` method to get `Grav\Framework\Route\Route` instance for the current URL
|
||||
* Added ability to have `php` version dependencies in GPM assets
|
||||
* Added new `{% switch %}` twig tag for more elegant if statements
|
||||
* Added new `{% markdown %}` twig tag
|
||||
* Added **Route Overrides** to the default page blueprint
|
||||
* Added new `Collection::toExtendedArray()` method that's particularly useful for Json output of data
|
||||
* Added new `|yaml_encode` and `|yaml_decode` Twig filter to convert to and from YAML
|
||||
* Added new `read_file()` Twig function to allow you to load and display a file in Twig (Supports streams and regular paths)
|
||||
* Added a new `Medium::exists()` method to check for file existence
|
||||
* Moved Twig `urlFunc()` to `Utils::url()` as its so darn handy
|
||||
* Transferred overall copyright from RocketTheme, LLC, to Trilby Media LLC
|
||||
* Added `theme_var`, `header_var` and `body_class` Twig functions for themes
|
||||
* Added `Grav\Framework\Cache` classes providing PSR-16 `Simple Cache` implementation
|
||||
* Added `Grav\Framework\ContentBlock` classes for nested HTML blocks with CSS/JS assets
|
||||
* Added `Grav\Framework\Object` classes for creating collections of objects
|
||||
* Added `|nicenumber` Twig filter
|
||||
* Added `{% try %} ... {% catch %} Error: {{ e.message }} {% endcatch %}` tag to allow basic exception handling inside Twig
|
||||
* Added `{% script %}` and `{% style %}` tags for Twig templates
|
||||
* Deprecated GravTrait
|
||||
1. [](#improved)
|
||||
* Improved `Session` initialization
|
||||
* Added ability to set a `theme_var()` option in page frontmatter
|
||||
* Force clearing PHP `clearstatcache` and `opcache-reset` on `Cache::clear()`
|
||||
* Better `Page.collection()` filtering support including ability to have non-published pages in collections
|
||||
* Stopped Chrome from auto-completing admin user profile form [#1847](https://github.com/getgrav/grav/issues/1847)
|
||||
* Support for empty `switch` field like a `checkbox`
|
||||
* Made `modular` blueprint more flexible
|
||||
* Code optimizations to `Utils` class [#1830](https://github.com/getgrav/grav/pull/1830)
|
||||
* Objects: Add protected function `getElement()` to get serialized value for a single property
|
||||
* `ObjectPropertyTrait`: Added protected functions `isPropertyLoaded()`, `offsetLoad()`, `offsetPrepare()` and `offsetSerialize()`
|
||||
* `Grav\Framework\Cache`: Allow unlimited TTL
|
||||
* Optimizations & refactoring to the test suite [#1779](https://github.com/getgrav/grav/pull/1779)
|
||||
* Slight modification of Whoops error colors
|
||||
* Added new configuration option `system.session.initialize` to delay session initialization if needed by a plugin
|
||||
* Updated vendor libraries to latest versions
|
||||
* Removed constructor from `ObjectInterface`
|
||||
* Make it possible to include debug bar also into non-HTML responses
|
||||
* Updated built-in JQuery to latest 3.3.1
|
||||
1. [](#bugfix)
|
||||
* Fixed issue with image alt tag always getting empted out unless set in markdown
|
||||
* Fixed issue with remote PHP version determination for Grav updates [#1883](https://github.com/getgrav/grav/issues/1883)
|
||||
* Fixed issue with _illegal scheme offset_ in `Uri::convertUrl()` [page-inject#8](https://github.com/getgrav/grav-plugin-page-inject/issues/8)
|
||||
* Properly validate YAML blueprint fields so admin can save as proper YAML now [addresses many issues]
|
||||
* Fixed OpenGraph metatags so only Twitter uses `name=`, and all others use `property=` [#1849](https://github.com/getgrav/grav/issues/1849)
|
||||
* Fixed an issue with `evaluate()` and `evaluate_twig()` Twig functions that throws invalid template error
|
||||
* Fixed issue with `|sort_by_key` twig filter if the input was null or not an array
|
||||
* Date ordering should always be numeric [#1810](https://github.com/getgrav/grav/issues/1810)
|
||||
* Fix for base paths containing special characters [#1799](https://github.com/getgrav/grav/issues/1799)
|
||||
* Fix for session cookies in paths containing special characters
|
||||
* Fix for `vundefined` error for version numbers in GPM [form#222](https://github.com/getgrav/grav-plugin-form/issues/222)
|
||||
* Fixed `BadMethodCallException` thrown in GPM updates [#1784](https://github.com/getgrav/grav/issues/1784)
|
||||
* NOTE: Parsedown security release now escapes `&` to `&` in Markdown links
|
||||
|
||||
# v1.3.10
|
||||
## 12/06/2017
|
||||
|
||||
1. [](#bugfix)
|
||||
* Reverted GPM Local pull request as it broken admin [#1742](https://github.com/getgrav/grav/issues/1742)
|
||||
|
||||
# v1.3.9
|
||||
## 12/05/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added new core Twig templates for `partials/metadata.html.twig` and `partials/messages.html.twig`
|
||||
* Added ability to work with GPM locally [#1742](https://github.com/getgrav/grav/issues/1742)
|
||||
* Added new HTML5 audio controls [#1756](https://github.com/getgrav/grav/issues/1756)
|
||||
* Added `Medium::copy()` method to create a copy of a medium object
|
||||
* Added new `force_lowercase_urls` functionality on routes and slugs
|
||||
* Added new `item-list` filter type to remove empty items
|
||||
* Added new `setFlashCookieObject()` and `getFlashCookieObject()` methods to `Session` object
|
||||
* Added new `intl_enabled` option to disable PHP intl module collation when not needed
|
||||
1. [](#bugfix)
|
||||
* Fixed an issue with checkbox field validation [form#216](https://github.com/getgrav/grav-plugin-form/issues/216)
|
||||
* Fixed issue with multibyte Markdown link URLs [#1749](https://github.com/getgrav/grav/issues/1749)
|
||||
* Fixed issue with multibyte folder names [#1751](https://github.com/getgrav/grav/issues/1751)
|
||||
* Fixed several issues related to `system.custom_base_url` that were broken [#1736](https://github.com/getgrav/grav/issues/1736)
|
||||
* Dynamically added pages via `Pages::addPage()` were not firing `onPageProcessed()` event causing forms not to be processed
|
||||
* Fixed `Page::active()` and `Page::activeChild()` to work with UTF-8 characters in the URL [#1727](https://github.com/getgrav/grav/issues/1727)
|
||||
* Fixed typo in `modular.yaml` causing media to be ignored [#1725](https://github.com/getgrav/grav/issues/1725)
|
||||
* Reverted `case_insensitive_urls` option as it was causing issues with taxonomy [#1733](https://github.com/getgrav/grav/pull/1733)
|
||||
* Removed an extra `/` in `CompileFile.php` [#1693](https://github.com/getgrav/grav/pull/1693)
|
||||
* Uri::Encode user and password to prevent issues in browsers
|
||||
* Fixed "Invalid AJAX response" When using Built-in PHP Webserver in Windows [#1258](https://github.com/getgrav/grav-plugin-admin/issues/1258)
|
||||
* Remove support for `config.user`, it was broken and bad practise
|
||||
* Make sure that `clean cache` uses valid path [#1745](https://github.com/getgrav/grav/pull/1745)
|
||||
* Fixed token creation issue with `Uri` params like `/id:3`
|
||||
* Fixed CSS Pipeline failing with Google remote fonts if the file was minified [#1261](https://github.com/getgrav/grav-plugin-admin/issues/1261)
|
||||
* Forced `field.multiple: true` to allow use of min/max options in `checkboxes.validate`
|
||||
|
||||
# v1.3.8
|
||||
## 10/26/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added Page `media_order` capability to manually order page media via a page header
|
||||
1. [](#bugfix)
|
||||
* Fixed GPM update issue with filtered slugs [#1711](https://github.com/getgrav/grav/issues/1711)
|
||||
* Fixed issue with missing image file not throwing 404 properly [#1713](https://github.com/getgrav/grav/issues/1713)
|
||||
|
||||
# v1.3.7
|
||||
## 10/18/2017
|
||||
|
||||
1. [](#bugfix)
|
||||
* Regression Uri: `base_url_absolute` always has the port number [#1690](https://github.com/getgrav/grav-plugin-admin/issues/1690)
|
||||
* Uri: Prefer using REQUEST_SCHEME instead of HTTPS [#1698](https://github.com/getgrav/grav-plugin-admin/issues/1698)
|
||||
* Fixed routing paths with urlencoded spaces and non-latin letters [#1688](https://github.com/getgrav/grav-plugin-admin/issues/1688)
|
||||
|
||||
# v1.3.6
|
||||
## 10/12/2017
|
||||
|
||||
1. [](#bugfix)
|
||||
* Regression: Ajax error in Nginx [admin#1244](https://github.com/getgrav/grav-plugin-admin/issues/1244)
|
||||
* Remove the `_url=$uri` portion of the the Nginx `try_files` command [admin#1244](https://github.com/getgrav/grav-plugin-admin/issues/1244)
|
||||
|
||||
# v1.3.5
|
||||
## 10/11/2017
|
||||
|
||||
1. [](#improved)
|
||||
* Refactored `URI` class with numerous bug fixes, and optimizations
|
||||
* Override `system.media.upload_limit` with PHP's `post_max_size` or `upload_max_filesize`
|
||||
* Updated `bin/grav clean` command to remove unnecessary vendor files (save some bytes)
|
||||
* Added a `http_status_code` Twig function to allow setting HTTP status codes from Twig directly.
|
||||
* Deter XSS attacks via URI path/uri methods (credit:newbthenewbd)
|
||||
* Added support for `$uri->toArray()` and `(string)$uri`
|
||||
* Added support for `type` on `Asstes::addInlineJs()` [#1683](https://github.com/getgrav/grav/pull/1683)
|
||||
1. [](#bugfix)
|
||||
* Fixed method signature error with `GPM\InstallCommand::processPackage()` [#1682](https://github.com/getgrav/grav/pull/1682)
|
||||
|
||||
# v1.3.4
|
||||
## 09/29/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added filter support for Page collections (routable/visible/type/access/etc.)
|
||||
1. [](#improved)
|
||||
* Implemented `Composer\CaBundle` for SSL Certs [#1241](https://github.com/getgrav/grav/issues/1241)
|
||||
* Refactored the Assets sorting logic
|
||||
* Improved language overrides to merge only 'extra' translations [#1514](https://github.com/getgrav/grav/issues/1514)
|
||||
* Improved support for Assets with query strings [#1451](https://github.com/getgrav/grav/issues/1451)
|
||||
* Twig extension cleanup
|
||||
1. [](#bugfix)
|
||||
* Fixed an issue where fallback was not supporting dynamic page generation
|
||||
* Fixed issue with Image query string not being fully URL encoded [#1622](https://github.com/getgrav/grav/issues/1622)
|
||||
* Fixed `Page::summary()` when using delimiter and multibyte UTF8 Characters [#1644](https://github.com/getgrav/grav/issues/1644)
|
||||
* Fixed missing `.json` thumbnail throwing error when adding media [grav-plugin-admin#1156](https://github.com/getgrav/grav-plugin-admin/issues/1156)
|
||||
* Fixed insecure session cookie initialization [#1656](https://github.com/getgrav/grav/pull/1656)
|
||||
|
||||
# v1.3.3
|
||||
## 09/07/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added support for 2-Factor Authentication in admin profile
|
||||
* Added `gaussianBlur` media method [#1623](https://github.com/getgrav/grav/pull/1623)
|
||||
* Added new `|chunk_split()`, `|basename`, and `|dirname` Twig filter
|
||||
* Added new `tl` Twig filter/function to support specific translations [#1618](https://github.com/getgrav/grav/issues/1618)
|
||||
1. [](#improved)
|
||||
* User `authorization` now requires a check for `authenticated` - REQUIRED: `Login v2.4.0`
|
||||
* Added options to `Page::summary()` to support size without HTML tags [#1554](https://github.com/getgrav/grav/issues/1554)
|
||||
* Forced `natsort` on plugins to ensure consistent plugin load ordering across platforms [#1614](https://github.com/getgrav/grav/issues/1614)
|
||||
* Use new `multilevel` field to handle Asset Collections [#1201](https://github.com/getgrav/grav-plugin-admin/issues/1201)
|
||||
* Added support for redis `password` option [#1620](https://github.com/getgrav/grav/issues/1620)
|
||||
* Use 302 rather than 301 redirects by default [#1619](https://github.com/getgrav/grav/issues/1619)
|
||||
* GPM Installer will try to load alphanumeric version of the class if no standard class found [#1630](https://github.com/getgrav/grav/issues/1630)
|
||||
* Add current page position to `User` class [#1632](https://github.com/getgrav/grav/issues/1632)
|
||||
* Added option to enable case insensitive URLs [#1638](https://github.com/getgrav/grav/issues/1638)
|
||||
* Updated vendor libraries
|
||||
* Updated `travis.yml` to add support for PHP 7.1 as well as 7.0.21 for test suite
|
||||
1. [](#bugfix)
|
||||
* Fixed UTF8 multibyte UTF8 character support in `Page::summary()` [#1554](https://github.com/getgrav/grav/issues/1554)
|
||||
|
||||
# v1.3.2
|
||||
## 08/16/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added a new `cache_control` system and page level property [#1591](https://github.com/getgrav/grav/issues/1591)
|
||||
* Added a new `clear_images_by_default` system property to stop cache clear events from removing processed images [#1481](https://github.com/getgrav/grav/pull/1481)
|
||||
* Added new `onTwigLoader()` event to enable utilization of loader methods
|
||||
* Added new `Twig::addPath()` and `Twig::prependPath()` methods to wrap loader methods and support namespacing [#1604](https://github.com/getgrav/grav/issues/1604)
|
||||
* Added new `array_key_exists()` Twig function wrapper
|
||||
* Added a new `Collection::intersect()` method [#1605](https://github.com/getgrav/grav/issues/1605)
|
||||
1. [](#bugfix)
|
||||
* Allow `session.timeout` field to be set to `0` via blueprints [#1598](https://github.com/getgrav/grav/issues/1598)
|
||||
* Fixed `Data::exists()` and `Data::raw()` functions breaking if `Data::file()` hasn't been called with non-null value
|
||||
* Fixed parent theme auto-loading in child themes of Gantry 5
|
||||
|
||||
# v1.3.1
|
||||
## 07/19/2017
|
||||
|
||||
1. [](#bugfix)
|
||||
* Fix ordering for Linux + International environments [#1574](https://github.com/getgrav/grav/issues/1574)
|
||||
* Check if medium thumbnail exists before resetting
|
||||
* Update Travis' auth token
|
||||
|
||||
# v1.3.0
|
||||
## 07/16/2017
|
||||
|
||||
1. [](#bugfix)
|
||||
* Fixed an undefined variable `$difference` [#1563](https://github.com/getgrav/grav/pull/1563)
|
||||
* Fix broken range slider [grav-plugin-admin#1153](https://github.com/getgrav/grav-plugin-admin/issues/1153)
|
||||
* Fix natural sort when > 100 pages [#1564](https://github.com/getgrav/grav/pull/1564)
|
||||
|
||||
# v1.3.0-rc.5
|
||||
## 07/05/2017
|
||||
|
||||
1. [](#new)
|
||||
* Setting `system.session.timeout` to 0 clears the session when the browser session ends [#1538](https://github.com/getgrav/grav/pull/1538)
|
||||
* Created a `CODE_OF_CONDUCT.md` so everyone knows how to behave :)
|
||||
1. [](#improved)
|
||||
* Renamed new `media()` Twig function to `media_directory()` to avoid conflict with Page's `media` object
|
||||
1. [](#bugfix)
|
||||
* Fixed global media files disappearing after a reload [#1545](https://github.com/getgrav/grav/issues/1545)
|
||||
* Fix for broken regex redirects/routes via `site.yaml`
|
||||
* Sanitize the error message in the error handler page
|
||||
|
||||
# v1.3.0-rc.4
|
||||
## 06/22/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added `lower` and `upper` Twig filters
|
||||
* Added `pathinfo()` Twig function
|
||||
* Added 165 new thumbnail images for use in `media.yaml`
|
||||
1. [](#improved)
|
||||
* Improved error message when running `bin/grav install` instead of `bin/gpm install`, and also when running on a non-skeleton site [#1027](https://github.com/getgrav/grav/issues/1027)
|
||||
* Updated vendor libraries
|
||||
1. [](#bugfix)
|
||||
* Don't rebuild metadata every time, only when file does not exist
|
||||
* Restore GravTrait in ConsoleTrait [grav-plugin-login#119](https://github.com/getgrav/grav-plugin-login/issues/119)
|
||||
* Fix Windows routing with built-in server [#1502](https://github.com/getgrav/grav/issues/1502)
|
||||
* Fix [#1504](https://github.com/getgrav/grav/issues/1504) `process_twig` and `frontmatter.yaml`
|
||||
* Nicetime fix: 0 seconds from now -> just now [#1509](https://github.com/getgrav/grav/issues/1509)
|
||||
|
||||
# v1.3.0-rc.3
|
||||
## 05/22/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added new unified `Utils::getPagePathFromToken()` method which is used by various plugins (Admin, Forms, Downloads, etc.)
|
||||
1. [](#improved)
|
||||
* Optionally remove unpublished pages from the translated languages, move into untranslated list [#1482](https://github.com/getgrav/grav/pull/1482)
|
||||
* Improved reliability of `hash` file-check method
|
||||
1. [](#bugfix)
|
||||
* Updated to latest Toolbox library to fix issue with some blueprints rendering in admin plugin [#1117](https://github.com/getgrav/grav-plugin-admin/issues/1117)
|
||||
* Fix output handling in RenderProcessor [#1483](https://github.com/getgrav/grav/pull/1483)
|
||||
|
||||
# v1.3.0-rc.2
|
||||
## 05/17/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added new `media` and `vardump` Twig functions
|
||||
1. [](#improved)
|
||||
* Put in various checks to ensure Exif is available before trying to use it
|
||||
* Add timestamp to configuration settings [#1445](https://github.com/getgrav/grav/pull/1445)
|
||||
1. [](#bugfix)
|
||||
* Fix an issue saving YAML textarea fields in expert mode [#1480](https://github.com/getgrav/grav/pull/1480)
|
||||
* Moved `onOutputRendered()` back into Grav core
|
||||
|
||||
# v1.3.0-rc.1
|
||||
## 05/16/2017
|
||||
|
||||
1. [](#new)
|
||||
* Added support for a single array field in the forms
|
||||
* Added EXIF support with automatic generation of Page Media metafiles
|
||||
* Added Twig function to get EXIF data on any image file
|
||||
* Added `Pages::baseUrl()`, `Pages::homeUrl()` and `Pages::url()` functions
|
||||
* Added `base32_encode`, `base32_decode`, `base64_encode`, `base64_decode` Twig filters
|
||||
* Added `Debugger::getCaller()` to figure out where the method was called from
|
||||
* Added support for custom output providers like Slim Framework
|
||||
* Added `Grav\Framework\Collection` classes for creating collections
|
||||
1. [](#improved)
|
||||
* Add more controls over HTML5 video attributes (autoplay, poster, loop controls) [#1442](https://github.com/getgrav/grav/pull/1442)
|
||||
* Removed logging statement for invalid slug [#1459](https://github.com/getgrav/grav/issues/1459)
|
||||
* Groups selection pre-filled in user form
|
||||
* Improve error handling in `Folder::move()`
|
||||
* Added extra parameter for `Twig::processSite()` to include custom context
|
||||
* Updated RocketTheme Toolbox vendor library
|
||||
1. [](#bugfix)
|
||||
* Fix to force route/redirect matching from the start of the route by default [#1446](https://github.com/getgrav/grav/issues/1446)
|
||||
* Edit check for valid slug [#1459](https://github.com/getgrav/grav/issues/1459)
|
||||
|
||||
# v1.2.4
|
||||
## 04/24/2017
|
||||
|
||||
1. [](#improved)
|
||||
* Added optional ignores for `Installer::sophisticatedInstall()` [#1447](https://github.com/getgrav/grav/issues/1447)
|
||||
1. [](#bugfix)
|
||||
* Allow multiple calls to `Themes::initTheme()` without throwing errors
|
||||
* Fixed querystrings in root pages with multi-lang enabled [#1436](https://github.com/getgrav/grav/issues/1436)
|
||||
* Allow support for `Pages::getList()` with `show_modular` option [#1080](https://github.com/getgrav/grav-plugin-admin/issues/1080)
|
||||
|
||||
# v1.2.3
|
||||
## 04/19/2017
|
||||
|
||||
@@ -6,7 +706,7 @@
|
||||
* Allow `user/accounts.yaml` overrides and implemented more robust theme initialization
|
||||
* improved `getList()` method to do more powerful things
|
||||
* Fix Typo in GPM [#1427](https://github.com/getgrav/grav/issues/1427)
|
||||
|
||||
|
||||
# v1.2.2
|
||||
## 04/11/2017
|
||||
|
||||
|
||||
46
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@getgrav.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
@@ -12,7 +12,7 @@ patches and features.
|
||||
|
||||
## Grav, Plugins, Themes and Skeletons
|
||||
|
||||
Grav is a large open source project—it's made up of over 100 repositories. When you initially consider contributing to Grav, you might be unsure about which of those 200 repositories implements the functionality you want to change or report a bug for.
|
||||
Grav is a large open source project — it's made up of over 100 repositories. When you initially consider contributing to Grav, you might be unsure about which of those 200 repositories implements the functionality you want to change or report a bug for.
|
||||
|
||||
[https://github.com/getgrav/grav](https://github.com/getgrav/grav) is the main Grav repository. The core of Grav is provided by this repo.
|
||||
|
||||
@@ -60,20 +60,20 @@ Guidelines for bug reports:
|
||||
A good bug report shouldn't leave others needing to chase you up for more
|
||||
information. Please try to be as detailed as possible in your report.
|
||||
|
||||
What is your environment? Is it localhost, OSX, Linux, on a remote server? Same happening locally and or the server, or just locally or just on Linux?
|
||||
- What is your environment? Is it localhost, OSX, Linux, on a remote server? Same happening locally and or the server, or just locally or just on Linux?
|
||||
|
||||
What steps will reproduce the issue? What browser(s) and OS experience the problem?
|
||||
- What steps will reproduce the issue? What browser(s) and OS experience the problem?
|
||||
|
||||
What would you expect to be the outcome?
|
||||
- What would you expect to be the outcome?
|
||||
|
||||
Did the problem start happening recently (e.g. after updating to a new version of Grav) or was this always a problem?
|
||||
- Did the problem start happening recently (e.g. after updating to a new version of Grav) or was this always a problem?
|
||||
|
||||
If the problem started happening recently, can you reproduce the problem in an older version of Grav? What's the most recent version in which the problem doesn't happen? You can download older versions of Grav from the releases page on Github.
|
||||
- If the problem started happening recently, can you reproduce the problem in an older version of Grav? What's the most recent version in which the problem doesn't happen? You can download older versions of Grav from the releases page on Github.
|
||||
|
||||
Can you reliably reproduce the issue? If not, provide details about how often the problem happens and under which conditions it normally happens.
|
||||
- Can you reliably reproduce the issue? If not, provide details about how often the problem happens and under which conditions it normally happens.
|
||||
|
||||
|
||||
All these details will help people to fix any potential bugs.
|
||||
All these details will help contributors to fix any potential bugs.
|
||||
|
||||
Important: [include Code Samples in triple backticks](https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks) so that Github will provide a proper indentation. [Add the language name after the backticks](https://help.github.com/articles/github-flavored-markdown/#syntax-highlighting) to add syntax highlighting to the code snippets.
|
||||
|
||||
@@ -120,5 +120,18 @@ accurate comments, etc.) and any other requirements.
|
||||
|
||||
See [Using Pull Request](https://help.github.com/articles/using-pull-requests/) and [Fork a Repo](https://help.github.com/articles/fork-a-repo/) if you're not familiar with Pull Requests.
|
||||
|
||||
Any pull request should be based on the `develop` branch. We will not consider pull requests made to master.
|
||||
|
||||
**IMPORTANT**: By submitting a patch, you agree to allow the project owner to
|
||||
license your work under the same license as that used by the project.
|
||||
|
||||
<a name="translations"></a>
|
||||
### Translations
|
||||
Translations for Grav core and the Admin plugin are managed through Crowdin:
|
||||
|
||||
- Admin: https://crowdin.com/project/grav-admin
|
||||
- Core: https://crowdin.com/project/grav-core
|
||||
|
||||
Please do not post translations PRs for core or admin translations on GitHub, with the exception of fixes for the english language.
|
||||
|
||||
All other plugins and themes translations are handled directly in their GitHub repository, and the string are usually found in the `languages.yaml` file at the root of each project.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Grav
|
||||
Copyright (c) 2018 Grav
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
108
README.md
@@ -1,24 +1,27 @@
|
||||
#  Grav
|
||||
|
||||
[](https://insight.sensiolabs.com/projects/cfd20465-d0f8-4a0a-8444-467f5b5f16ad) [](https://chat.getgrav.org) [](https://travis-ci.org/getgrav/grav) [](#backers) [](#sponsors)
|
||||
[](https://github.com/phpstan/phpstan)
|
||||
[](https://insight.sensiolabs.com/projects/cfd20465-d0f8-4a0a-8444-467f5b5f16ad)
|
||||
[](https://chat.getgrav.org)
|
||||
[](https://travis-ci.org/getgrav/grav) [](#backers) [](#sponsors)
|
||||
|
||||
Grav is a **Fast**, **Simple**, and **Flexible**, file-based Web-platform. There is **Zero** installation required. Just extract the ZIP archive, and you are already up and running. It follows similar principles to other flat-file CMS platforms, but has a different design philosophy than most. Grav comes with a powerful **Package Management System** to allow for simple installation and upgrading of plugins and themes, as well as simple updating of Grav itself.
|
||||
|
||||
The underlying architecture of Grav is designed to use well-established and _best-in-class_ technologies to ensure that Grav is simple to use and easy to extend. Some of these key technologies include:
|
||||
|
||||
* [Twig Templating](http://twig.sensiolabs.org/): for powerful control of the user interface
|
||||
* [Markdown](http://en.wikipedia.org/wiki/Markdown): for easy content creation
|
||||
* [YAML](http://yaml.org): for simple configuration
|
||||
* [Parsedown](http://parsedown.org/): for fast Markdown and Markdown Extra support
|
||||
* [Doctrine Cache](http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/caching.html): layer for performance
|
||||
* [Pimple Dependency Injection Container](http://pimple.sensiolabs.org/): for extensibility and maintainability
|
||||
* [Symfony Event Dispatcher](http://symfony.com/doc/current/components/event_dispatcher/introduction.html): for plugin event handling
|
||||
* [Symfony Console](http://symfony.com/doc/current/components/console/introduction.html): for CLI interface
|
||||
* [Twig Templating](https://twig.sensiolabs.org/): for powerful control of the user interface
|
||||
* [Markdown](https://en.wikipedia.org/wiki/Markdown): for easy content creation
|
||||
* [YAML](https://yaml.org): for simple configuration
|
||||
* [Parsedown](https://parsedown.org/): for fast Markdown and Markdown Extra support
|
||||
* [Doctrine Cache](https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/caching.html): layer for performance
|
||||
* [Pimple Dependency Injection Container](https://pimple.sensiolabs.org/): for extensibility and maintainability
|
||||
* [Symfony Event Dispatcher](https://symfony.com/doc/current/components/event_dispatcher/introduction.html): for plugin event handling
|
||||
* [Symfony Console](https://symfony.com/doc/current/components/console/introduction.html): for CLI interface
|
||||
* [Gregwar Image Library](https://github.com/Gregwar/Image): for dynamic image manipulation
|
||||
|
||||
# Requirements
|
||||
|
||||
- PHP 5.5.9 or higher. Check the [required modules list](https://learn.getgrav.org/basics/requirements#php-requirements)
|
||||
- PHP 7.1.3 or higher. Check the [required modules list](https://learn.getgrav.org/basics/requirements#php-requirements)
|
||||
- Check the [Apache](https://learn.getgrav.org/basics/requirements#apache-requirements) or [IIS](https://learn.getgrav.org/basics/requirements#iis-requirements) requirements
|
||||
|
||||
# QuickStart
|
||||
@@ -83,17 +86,10 @@ $ bin/gpm update
|
||||
|
||||
|
||||
# Contributing
|
||||
We appreciate any contribution to Grav, whether it is related to bugs, grammar, or simply a suggestion or improvement.
|
||||
However, we ask that any contributions follow our simple guidelines in order to be properly received.
|
||||
We appreciate any contribution to Grav, whether it is related to bugs, grammar, or simply a suggestion or improvement! Please refer to the [Contributing guide](CONTRIBUTING.md) for more guidance on this topic.
|
||||
|
||||
All our projects follow the [GitFlow branching model][gitflow-model], from development to release. If you are not familiar with it, there are several guides and tutorials to make you understand what it is about.
|
||||
|
||||
You will probably want to get started by installing [this very good collection of git extensions][gitflow-extensions].
|
||||
|
||||
What you mainly want to know is that:
|
||||
|
||||
- All the main activity happens in the `develop` branch. Any pull request should be addressed only to that branch. We will not consider pull requests made to the `master`.
|
||||
- It's very well appreciated, and highly suggested, to start a new feature whenever you want to make changes or add functionalities. It will make it much easier for us to just checkout your feature branch and test it, before merging it into `develop`
|
||||
## Security issues
|
||||
If you discover a possible security issue related to Grav or one of its plugins, please email the core team at contact@getgrav.org and we'll address it as soon as possible.
|
||||
|
||||
# Getting Started
|
||||
|
||||
@@ -101,82 +97,26 @@ What you mainly want to know is that:
|
||||
* [Install](https://learn.getgrav.org/basics/installation) Grav in few seconds
|
||||
* Understand the [Configuration](https://learn.getgrav.org/basics/grav-configuration)
|
||||
* Take a peek at our available free [Skeletons](https://getgrav.org/downloads/skeletons)
|
||||
* If you have questions, jump on our [Slack Room](https://getgrav.org/slack)!
|
||||
* If you have questions, jump on our [Discord Chat Server](https://chat.getgrav.org)!
|
||||
* Have fun!
|
||||
|
||||
# Exploring More
|
||||
|
||||
* Have a look at our [Basic Tutorial](https://learn.getgrav.org/basics/basic-tutorial)
|
||||
* Dive into more [advanced](https://learn.getgrav.org/advanced) functions
|
||||
* Learn about the [Grav CLI](https://learn.getgrav.org/cli-console/grav-cli)
|
||||
* Review examples in the [Grav Cookbook](https://learn.getgrav.org/cookbook)
|
||||
* More [Awesome Grav Stuff](https://github.com/getgrav/awesome-grav)
|
||||
|
||||
# Backers
|
||||
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/grav#backer)]
|
||||
|
||||
<a href="https://opencollective.com/grav/backer/0/website" target="_blank"><img src="https://opencollective.com/grav/backer/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/1/website" target="_blank"><img src="https://opencollective.com/grav/backer/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/2/website" target="_blank"><img src="https://opencollective.com/grav/backer/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/3/website" target="_blank"><img src="https://opencollective.com/grav/backer/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/4/website" target="_blank"><img src="https://opencollective.com/grav/backer/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/5/website" target="_blank"><img src="https://opencollective.com/grav/backer/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/6/website" target="_blank"><img src="https://opencollective.com/grav/backer/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/7/website" target="_blank"><img src="https://opencollective.com/grav/backer/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/8/website" target="_blank"><img src="https://opencollective.com/grav/backer/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/9/website" target="_blank"><img src="https://opencollective.com/grav/backer/9/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/10/website" target="_blank"><img src="https://opencollective.com/grav/backer/10/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/11/website" target="_blank"><img src="https://opencollective.com/grav/backer/11/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/12/website" target="_blank"><img src="https://opencollective.com/grav/backer/12/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/13/website" target="_blank"><img src="https://opencollective.com/grav/backer/13/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/14/website" target="_blank"><img src="https://opencollective.com/grav/backer/14/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/15/website" target="_blank"><img src="https://opencollective.com/grav/backer/15/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/16/website" target="_blank"><img src="https://opencollective.com/grav/backer/16/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/17/website" target="_blank"><img src="https://opencollective.com/grav/backer/17/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/18/website" target="_blank"><img src="https://opencollective.com/grav/backer/18/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/19/website" target="_blank"><img src="https://opencollective.com/grav/backer/19/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/20/website" target="_blank"><img src="https://opencollective.com/grav/backer/20/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/21/website" target="_blank"><img src="https://opencollective.com/grav/backer/21/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/22/website" target="_blank"><img src="https://opencollective.com/grav/backer/22/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/23/website" target="_blank"><img src="https://opencollective.com/grav/backer/23/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/24/website" target="_blank"><img src="https://opencollective.com/grav/backer/24/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/25/website" target="_blank"><img src="https://opencollective.com/grav/backer/25/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/26/website" target="_blank"><img src="https://opencollective.com/grav/backer/26/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/27/website" target="_blank"><img src="https://opencollective.com/grav/backer/27/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/28/website" target="_blank"><img src="https://opencollective.com/grav/backer/28/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/backer/29/website" target="_blank"><img src="https://opencollective.com/grav/backer/29/avatar.svg"></a>
|
||||
Support Grav with a monthly donation to help us continue development. [[Become a backer](https://opencollective.com/grav#backer)]
|
||||
|
||||
<img src="https://opencollective.com/grav/tiers/backers.svg?avatarHeight=36&width=600" />
|
||||
|
||||
# Sponsors
|
||||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/grav#sponsor)]
|
||||
|
||||
<a href="https://opencollective.com/grav/sponsor/0/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/1/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/2/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/3/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/4/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/5/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/6/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/7/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/8/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/9/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/9/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/10/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/10/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/11/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/11/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/12/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/12/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/13/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/13/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/14/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/14/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/15/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/15/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/16/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/16/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/17/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/17/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/18/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/18/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/19/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/19/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/20/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/20/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/21/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/21/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/22/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/22/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/23/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/23/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/24/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/24/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/25/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/25/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/26/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/26/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/27/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/27/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/28/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/28/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/grav/sponsor/29/website" target="_blank"><img src="https://opencollective.com/grav/sponsor/29/avatar.svg"></a>
|
||||
<img src="https://opencollective.com/grav/tiers/sponsors.svg?avatarHeight=36&width=600" />
|
||||
|
||||
# License
|
||||
|
||||
@@ -190,5 +130,5 @@ See [LICENSE](LICENSE.txt)
|
||||
|
||||
First install the dev dependencies by running `composer update` from the Grav root.
|
||||
Then `composer test` will run the Unit Tests, which should be always executed successfully on any site.
|
||||
|
||||
Windows users should use the `composer test-windows` command.
|
||||
You can also run a single unit test file, e.g. `composer test tests/unit/Grav/Common/AssetsTest.php`
|
||||
|
||||
31
bin/gpm
@@ -1,26 +1,24 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
define('GRAV_CLI', true);
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor')){
|
||||
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
|
||||
}
|
||||
|
||||
use Grav\Common\Composer;
|
||||
use Grav\Common\Config\Setup;
|
||||
use Symfony\Component\Console\Application;
|
||||
use Grav\Common\Grav;
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor')){
|
||||
\define('GRAV_CLI', true);
|
||||
\define('GRAV_REQUEST_TIME', microtime(true));
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
|
||||
// Before we can even start, we need to run composer first
|
||||
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
|
||||
|
||||
$composer = Composer::getComposerExecutor();
|
||||
echo "Preparing to install vendor dependencies...\n\n";
|
||||
echo system($composer.' --working-dir="'.__DIR__.'/../" --no-interaction --no-dev --prefer-dist -o install');
|
||||
echo "\n\n";
|
||||
}
|
||||
|
||||
use Symfony\Component\Console\Application;
|
||||
use Grav\Common\Grav;
|
||||
|
||||
$autoload = require_once(__DIR__ . '/../vendor/autoload.php');
|
||||
$autoload = require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
exit(sprintf("You are running PHP %s, but Grav needs at least PHP %s to run.\n", $ver, $req));
|
||||
@@ -30,7 +28,7 @@ if (!ini_get('date.timezone')) {
|
||||
date_default_timezone_set('UTC');
|
||||
}
|
||||
|
||||
if (!file_exists(ROOT_DIR . 'index.php')) {
|
||||
if (!file_exists(GRAV_ROOT . '/index.php')) {
|
||||
exit('FATAL: Must be run from ROOT directory of Grav!');
|
||||
}
|
||||
|
||||
@@ -48,15 +46,16 @@ $climate->arguments->add([
|
||||
]
|
||||
]);
|
||||
$climate->arguments->parse();
|
||||
$environment = $climate->arguments->get('environment');
|
||||
|
||||
// Set up environment based on params.
|
||||
Setup::$environment = $environment;
|
||||
$environment = $climate->arguments->get('environment');
|
||||
|
||||
$grav = Grav::instance(array('loader' => $autoload));
|
||||
$grav['uri']->init();
|
||||
$grav->setup($environment);
|
||||
|
||||
$grav['config']->init();
|
||||
$grav['streams'];
|
||||
$grav['uri']->init();
|
||||
$grav['users'];
|
||||
|
||||
$app = new Application('Grav Package Manager', GRAV_VERSION);
|
||||
$app->addCommands(array(
|
||||
|
||||
27
bin/grav
@@ -1,34 +1,36 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
define('GRAV_CLI', true);
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor')){
|
||||
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
|
||||
}
|
||||
|
||||
use Grav\Common\Composer;
|
||||
use Grav\Common\Grav;
|
||||
use Symfony\Component\Console\Application;
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor')){
|
||||
\define('GRAV_CLI', true);
|
||||
\define('GRAV_REQUEST_TIME', microtime(true));
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
|
||||
// Before we can even start, we need to run composer first
|
||||
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
|
||||
|
||||
$composer = Composer::getComposerExecutor();
|
||||
echo "Preparing to install vendor dependencies...\n\n";
|
||||
echo system($composer.' --working-dir="'.__DIR__.'/../" --no-interaction --no-dev --prefer-dist -o install');
|
||||
echo "\n\n";
|
||||
}
|
||||
|
||||
use Symfony\Component\Console\Application;
|
||||
|
||||
require_once __DIR__ . '/../vendor/autoload.php';
|
||||
$autoload = require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
exit(sprintf("You are running PHP %s, but Grav needs at least PHP %s to run.\n", $ver, $req));
|
||||
}
|
||||
|
||||
Grav::instance(array('loader' => $autoload));
|
||||
|
||||
if (!ini_get('date.timezone')) {
|
||||
date_default_timezone_set('UTC');
|
||||
}
|
||||
|
||||
if (!file_exists(ROOT_DIR . 'index.php')) {
|
||||
if (!file_exists(GRAV_ROOT . '/index.php')) {
|
||||
exit('FATAL: Must be run from ROOT directory of Grav!');
|
||||
}
|
||||
|
||||
@@ -38,8 +40,11 @@ $app->addCommands(array(
|
||||
new \Grav\Console\Cli\ComposerCommand(),
|
||||
new \Grav\Console\Cli\SandboxCommand(),
|
||||
new \Grav\Console\Cli\CleanCommand(),
|
||||
new \Grav\Console\Cli\ClearCacheCommand(),
|
||||
new \Grav\Console\Cli\CacheCommand(),
|
||||
new \Grav\Console\Cli\BackupCommand(),
|
||||
new \Grav\Console\Cli\NewProjectCommand(),
|
||||
new \Grav\Console\Cli\SchedulerCommand(),
|
||||
new \Grav\Console\Cli\SecurityCommand(),
|
||||
new \Grav\Console\Cli\LogViewerCommand(),
|
||||
));
|
||||
$app->run();
|
||||
|
||||
70
bin/plugin
@@ -1,30 +1,28 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
define('GRAV_CLI', true);
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor')) {
|
||||
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
|
||||
}
|
||||
|
||||
use Grav\Common\Composer;
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor')) {
|
||||
// Before we can even start, we need to run composer first
|
||||
$composer = Composer::getComposerExecutor();
|
||||
echo "Preparing to install vendor dependencies...\n\n";
|
||||
echo system($composer . ' --working-dir="' . __DIR__ . '/../" --no-interaction --no-dev --prefer-dist -o install');
|
||||
echo "\n\n";
|
||||
}
|
||||
|
||||
use Symfony\Component\Console\Application;
|
||||
use Symfony\Component\Console\Input\ArgvInput;
|
||||
use Symfony\Component\Console\Output\ConsoleOutput;
|
||||
use Symfony\Component\Console\Formatter\OutputFormatterStyle;
|
||||
use Grav\Common\Grav;
|
||||
use Grav\Common\Config\Setup;
|
||||
use Grav\Common\Filesystem\Folder;
|
||||
|
||||
$autoload = require_once(__DIR__ . '/../vendor/autoload.php');
|
||||
\define('GRAV_CLI', true);
|
||||
\define('GRAV_REQUEST_TIME', microtime(true));
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor/autoload.php')){
|
||||
// Before we can even start, we need to run composer first
|
||||
require_once __DIR__ . '/../system/src/Grav/Common/Composer.php';
|
||||
|
||||
$composer = Composer::getComposerExecutor();
|
||||
echo "Preparing to install vendor dependencies...\n\n";
|
||||
echo system($composer.' --working-dir="'.__DIR__.'/../" --no-interaction --no-dev --prefer-dist -o install');
|
||||
echo "\n\n";
|
||||
}
|
||||
|
||||
$autoload = require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
exit(sprintf("You are running PHP %s, but Grav needs at least PHP %s to run.\n", $ver, $req));
|
||||
@@ -34,7 +32,7 @@ if (!ini_get('date.timezone')) {
|
||||
date_default_timezone_set('UTC');
|
||||
}
|
||||
|
||||
if (!file_exists(ROOT_DIR . 'index.php')) {
|
||||
if (!file_exists(GRAV_ROOT . '/index.php')) {
|
||||
exit('FATAL: Must be run from ROOT directory of Grav!');
|
||||
}
|
||||
|
||||
@@ -48,19 +46,18 @@ $climate->arguments->add([
|
||||
]
|
||||
]);
|
||||
$climate->arguments->parse();
|
||||
|
||||
$environment = $climate->arguments->get('environment');
|
||||
|
||||
// Set up environment based on params.
|
||||
Setup::$environment = $environment;
|
||||
|
||||
$grav = Grav::instance(array('loader' => $autoload));
|
||||
$grav['uri']->init();
|
||||
$grav->setup($environment);
|
||||
|
||||
$grav['config']->init();
|
||||
$grav['streams'];
|
||||
$grav['uri']->init();
|
||||
$grav['users'];
|
||||
$grav['plugins']->init();
|
||||
$grav['themes']->init();
|
||||
|
||||
|
||||
$app = new Application('Grav Plugins Commands', GRAV_VERSION);
|
||||
$pattern = '([A-Z]\w+Command\.php)';
|
||||
|
||||
@@ -75,21 +72,36 @@ $argv = array_merge([$bin], $argv);
|
||||
|
||||
$input = new ArgvInput($argv);
|
||||
|
||||
/** @var \Grav\Common\Data\Data $plugin */
|
||||
$plugin = $grav['plugins']->get($name);
|
||||
|
||||
$output = new ConsoleOutput();
|
||||
$output->getFormatter()->setStyle('red', new OutputFormatterStyle('red', null, array('bold')));
|
||||
$output->getFormatter()->setStyle('white', new OutputFormatterStyle('white', null, array('bold')));
|
||||
|
||||
if (is_null($plugin)) {
|
||||
$output->writeln('');
|
||||
$output->writeln("<red>$name plugin not found</red>");
|
||||
die;
|
||||
}
|
||||
|
||||
if (!$plugin->enabled) {
|
||||
$output->writeln('');
|
||||
$output->writeln("<red>$name not enabled</red>");
|
||||
die;
|
||||
}
|
||||
|
||||
|
||||
if (!$name) {
|
||||
$output->writeln('');
|
||||
$output->writeln("<red>Usage:</red>");
|
||||
$output->writeln('<red>Usage:</red>');
|
||||
$output->writeln(" {$bin} [slug] [command] [arguments]");
|
||||
$output->writeln('');
|
||||
$output->writeln("<red>Example:</red>");
|
||||
$output->writeln('<red>Example:</red>');
|
||||
$output->writeln(" {$bin} error log -l 1 --trace");
|
||||
$list = Folder::all('plugins://', ['compare' => 'Pathname', 'pattern' => '/\/cli\/' . $pattern . '$/usm', 'levels' => 2]);
|
||||
|
||||
$total = 0;
|
||||
if (count($list)) {
|
||||
$available = [];
|
||||
$output->writeln('');
|
||||
@@ -98,13 +110,15 @@ if (!$name) {
|
||||
$split = explode('/', $entry);
|
||||
$entry = array_shift($split);
|
||||
$index = str_pad($index++ + 1, 2, '0', STR_PAD_LEFT);
|
||||
|
||||
if (in_array($entry, $available)) {
|
||||
$total = str_pad($total++ + 1, 2, '0', STR_PAD_LEFT);
|
||||
if (\in_array($entry, $available, true)) {
|
||||
$total--;
|
||||
continue;
|
||||
}
|
||||
|
||||
$available[] = $entry;
|
||||
$output->writeln(' ' . $index . ". <red>" . str_pad($entry, 15) . "</red> <white>${bin} ${entry} list</white>");
|
||||
$commands_count = $index - $total + 1;
|
||||
$output->writeln(' ' . $total . '. <red>' . str_pad($entry, 15) . "</red> <white>{$bin} {$entry} list</white>");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,39 +3,82 @@
|
||||
"type": "project",
|
||||
"description": "Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS",
|
||||
"keywords": ["cms","flat-file cms","flat cms","flatfile cms","php"],
|
||||
"homepage": "http://getgrav.org",
|
||||
"homepage": "https://getgrav.org",
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": ">=5.5.9",
|
||||
"twig/twig": "~1.24",
|
||||
"erusev/parsedown": "~1.6",
|
||||
"erusev/parsedown-extra": "~0.7",
|
||||
"symfony/yaml": "~2.8",
|
||||
"symfony/console": "~2.8",
|
||||
"symfony/event-dispatcher": "~2.8",
|
||||
"symfony/var-dumper": "~2.8",
|
||||
"symfony/polyfill-iconv": "~1.0",
|
||||
"doctrine/cache": "~1.5",
|
||||
"filp/whoops": "~2.0",
|
||||
"matthiasmullie/minify": "^1.3",
|
||||
"monolog/monolog": "~1.0",
|
||||
"gregwar/image": "~2.0",
|
||||
"donatj/phpuseragentparser": "~0.3",
|
||||
"pimple/pimple": "~3.0",
|
||||
"rockettheme/toolbox": "~1.0",
|
||||
"maximebf/debugbar": "~1.10",
|
||||
"php": ">=7.1.3",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-openssl": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-zip": "*",
|
||||
"league/climate": "^3.2",
|
||||
"antoligy/dom-string-iterators": "^1.0"
|
||||
"ext-dom": "*",
|
||||
"symfony/polyfill-iconv": "^1.9",
|
||||
"symfony/polyfill-php72": "^1.9",
|
||||
"symfony/polyfill-php73": "^1.9",
|
||||
|
||||
"psr/simple-cache": "^1.0",
|
||||
"psr/http-message": "^1.0",
|
||||
"psr/http-server-middleware": "^1.0",
|
||||
|
||||
"kodus/psr7-server": "*",
|
||||
"nyholm/psr7": "^1.0",
|
||||
|
||||
"twig/twig": "~1.35",
|
||||
"erusev/parsedown": "1.6.4",
|
||||
"erusev/parsedown-extra": "~0.7",
|
||||
"symfony/yaml": "~4.2",
|
||||
"symfony/console": "~4.2",
|
||||
"symfony/event-dispatcher": "~4.2",
|
||||
"symfony/var-dumper": "~4.2",
|
||||
"symfony/process": "~4.2",
|
||||
"doctrine/cache": "^1.8",
|
||||
"doctrine/collections": "^1.5",
|
||||
"guzzlehttp/psr7": "^1.4",
|
||||
"filp/whoops": "~2.2",
|
||||
|
||||
"matthiasmullie/minify": "^1.3",
|
||||
"monolog/monolog": "~1.0",
|
||||
"gregwar/image": "2.*",
|
||||
"donatj/phpuseragentparser": "~0.10",
|
||||
"pimple/pimple": "~3.2",
|
||||
"rockettheme/toolbox": "~1.4",
|
||||
"maximebf/debugbar": "~1.15",
|
||||
"league/climate": "^3.4",
|
||||
"antoligy/dom-string-iterators": "^1.0",
|
||||
"miljar/php-exif": "^0.6.4",
|
||||
"composer/ca-bundle": "^1.0",
|
||||
"dragonmantank/cron-expression": "^1.2",
|
||||
"phive/twig-extensions-deferred": "^1.0",
|
||||
"willdurand/negotiation": "^2.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/codeception": "^2.1",
|
||||
"phpunit/php-code-coverage": "~2.0",
|
||||
"fzaninotto/faker": "^1.5"
|
||||
"codeception/codeception": "^2.4",
|
||||
"phpstan/phpstan": "^0.11",
|
||||
"phpstan/phpstan-deprecation-rules": "^0.11.0",
|
||||
"phpunit/php-code-coverage": "~6.0",
|
||||
"fzaninotto/faker": "^1.8",
|
||||
"victorjonsson/markdowndocs": "dev-master"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-zend-opcache": "Recommended for better performance",
|
||||
"ext-intl": "Recommended for multi-language sites",
|
||||
"ext-memcache": "Needed to support Memcache servers",
|
||||
"ext-memcached": "Needed to support Memcached servers",
|
||||
"ext-redis": "Needed to support Redis servers"
|
||||
},
|
||||
"config": {
|
||||
"apcu-autoloader": true,
|
||||
"platform": {
|
||||
"php": "7.1.3"
|
||||
}
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/trilbymedia/PHP-Markdown-Documentation-Generator"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Grav\\": "system/src/Grav"
|
||||
@@ -47,6 +90,9 @@
|
||||
},
|
||||
"scripts": {
|
||||
"post-create-project-cmd": "bin/grav install",
|
||||
"phpstan": "vendor/bin/phpstan analyse -l 2 -c ./tests/phpstan/phpstan.neon system/src --memory-limit=256M",
|
||||
"phpstan-framework": "vendor/bin/phpstan analyse -l 5 -c ./tests/phpstan/phpstan.neon system/src/Grav/Framework --memory-limit=256M",
|
||||
"test-plugins": "vendor/bin/phpstan analyse -l 0 -c ./tests/phpstan/plugins.neon user/plugins --memory-limit=256M",
|
||||
"test": "vendor/bin/codecept run unit",
|
||||
"test-windows": "vendor\\bin\\codecept run unit"
|
||||
},
|
||||
|
||||
3690
composer.lock
generated
40
index.php
@@ -1,41 +1,42 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Grav.Core
|
||||
*
|
||||
* @copyright Copyright (C) 2014 - 2017 RocketTheme, LLC. All rights reserved.
|
||||
* @copyright Copyright (C) 2015 - 2018 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
namespace Grav;
|
||||
define('GRAV_PHP_MIN', '5.5.9');
|
||||
|
||||
// Ensure vendor libraries exist
|
||||
$autoload = __DIR__ . '/vendor/autoload.php';
|
||||
if (!is_file($autoload)) {
|
||||
die("Please run: <i>bin/grav install</i>");
|
||||
}
|
||||
|
||||
if (PHP_SAPI == 'cli-server') {
|
||||
if (!isset($_SERVER['PHP_CLI_ROUTER'])) {
|
||||
die("PHP webserver requires a router to run Grav, please use: <pre>php -S {$_SERVER["SERVER_NAME"]}:{$_SERVER["SERVER_PORT"]} system/router.php</pre>");
|
||||
}
|
||||
}
|
||||
|
||||
use Grav\Common\Grav;
|
||||
use RocketTheme\Toolbox\Event\Event;
|
||||
\define('GRAV_REQUEST_TIME', microtime(true));
|
||||
\define('GRAV_PHP_MIN', '7.1.3');
|
||||
|
||||
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
||||
die(sprintf('You are running PHP %s, but Grav needs at least <strong>PHP %s</strong> to run.', $ver, $req));
|
||||
}
|
||||
|
||||
if (PHP_SAPI === 'cli-server' && !isset($_SERVER['PHP_CLI_ROUTER'])) {
|
||||
die("PHP webserver requires a router to run Grav, please use: <pre>php -S {$_SERVER['SERVER_NAME']}:{$_SERVER['SERVER_PORT']} system/router.php</pre>");
|
||||
}
|
||||
|
||||
// Ensure vendor libraries exist
|
||||
$autoload = __DIR__ . '/vendor/autoload.php';
|
||||
if (!is_file($autoload)) {
|
||||
die('Please run: <i>bin/grav install</i>');
|
||||
}
|
||||
|
||||
// Register the auto-loader.
|
||||
$loader = require_once $autoload;
|
||||
$loader = require $autoload;
|
||||
|
||||
use Grav\Common\Grav;
|
||||
use RocketTheme\Toolbox\Event\Event;
|
||||
|
||||
// Set timezone to default, falls back to system if php.ini not set
|
||||
date_default_timezone_set(@date_default_timezone_get());
|
||||
|
||||
// Set internal encoding if mbstring loaded
|
||||
if (!extension_loaded('mbstring')) {
|
||||
if (!\extension_loaded('mbstring')) {
|
||||
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
|
||||
}
|
||||
mb_internal_encoding('UTF-8');
|
||||
@@ -50,6 +51,9 @@ $grav = Grav::instance(
|
||||
// Process the page
|
||||
try {
|
||||
$grav->process();
|
||||
} catch (\Error $e) {
|
||||
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
|
||||
throw $e;
|
||||
} catch (\Exception $e) {
|
||||
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
|
||||
throw $e;
|
||||
|
||||
@@ -9,3 +9,4 @@ Disallow: /vendor/
|
||||
Disallow: /user/
|
||||
Allow: /user/pages/
|
||||
Allow: /user/themes/
|
||||
Allow: /user/images/
|
||||
|
||||
@@ -30,9 +30,25 @@ div.phpdebugbar {
|
||||
}
|
||||
|
||||
.phpdebugbar .phpdebugbar-widgets-toolbar {
|
||||
border-top: 1px solid #ddd;
|
||||
padding-left: 5px;
|
||||
padding-right: 2px;
|
||||
padding-top: 2px;
|
||||
background-color: #fafafa !important;
|
||||
width: auto !important;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.phpdebugbar .phpdebugbar-widgets-toolbar input {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.phpdebugbar .phpdebugbar-widgets-toolbar .phpdebugbar-widgets-filter {
|
||||
|
||||
}
|
||||
|
||||
|
||||
.phpdebugbar input[type=text] {
|
||||
padding: 0;
|
||||
display: inline;
|
||||
|
||||
|
Before Width: | Height: | Size: 548 B After Width: | Height: | Size: 4.1 KiB |
6
system/assets/jquery/jquery-3.x.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
body header {
|
||||
background: #8552A2;
|
||||
background: #3085EE;
|
||||
}
|
||||
|
||||
body .left-panel {
|
||||
|
||||
125
system/blueprints/config/backups.yaml
Normal file
@@ -0,0 +1,125 @@
|
||||
title: PLUGIN_ADMIN.BACKUPS
|
||||
|
||||
form:
|
||||
validation: loose
|
||||
|
||||
fields:
|
||||
history_title:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.BACKUPS_HISTORY
|
||||
underline: true
|
||||
|
||||
history:
|
||||
type: backupshistory
|
||||
|
||||
config_title:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.BACKUPS_PURGE_CONFIG
|
||||
underline: true
|
||||
|
||||
purge.trigger:
|
||||
type: select
|
||||
label: PLUGIN_ADMIN.BACKUPS_STORAGE_PURGE_TRIGGER
|
||||
size: medium
|
||||
default: space
|
||||
options:
|
||||
space: Maximum Backup Space
|
||||
number: Maximum Number of Backups
|
||||
time: maximum Retention Time
|
||||
validate:
|
||||
required: true
|
||||
|
||||
purge.max_backups_count:
|
||||
type: number
|
||||
label: PLUGIN_ADMIN.BACKUPS_MAX_COUNT
|
||||
default: 25
|
||||
size: x-small
|
||||
help: PLUGIN_ADMIN.BACKUPS_MAX_COUNT
|
||||
validate:
|
||||
min: 0
|
||||
type: number
|
||||
required: true
|
||||
message: Must be a number 0 or greater
|
||||
|
||||
purge.max_backups_space:
|
||||
type: number
|
||||
label: PLUGIN_ADMIN.BACKUPS_MAX_SPACE
|
||||
append: in GB
|
||||
size: x-small
|
||||
default: 5
|
||||
validate:
|
||||
min: 1
|
||||
type: number
|
||||
required: true
|
||||
message: Space must be 1GB or greater
|
||||
|
||||
purge.max_backups_time:
|
||||
type: number
|
||||
label: PLUGIN_ADMIN.BACKUPS_MAX_RETENTION_TIME
|
||||
append: PLUGIN_ADMIN.BACKUPS_MAX_RETENTION_TIME_APPEND
|
||||
size: x-small
|
||||
default: 365
|
||||
validate:
|
||||
min: 7
|
||||
type: number
|
||||
required: true
|
||||
message: Rentenion days must be 7 or greater
|
||||
|
||||
profiles_title:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.BACKUPS_PROFILES
|
||||
underline: true
|
||||
|
||||
profiles:
|
||||
type: list
|
||||
style: vertical
|
||||
label:
|
||||
classes: backups-list compact
|
||||
sort: false
|
||||
|
||||
fields:
|
||||
.name:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.NAME
|
||||
placeholder: PLUGIN_ADMIN.BACKUPS_PROFILE_NAME
|
||||
validate:
|
||||
max: 20
|
||||
message: 'Name must be less than 20 characters'
|
||||
required: true
|
||||
.root:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.BACKUPS_PROFILE_ROOT_FOLDER
|
||||
help: PLUGIN_ADMIN.BACKUPS_PROFILE_ROOT_FOLDER_HELP
|
||||
placeholder: '/'
|
||||
default: '/'
|
||||
validate:
|
||||
required: true
|
||||
.exclude_paths:
|
||||
type: textarea
|
||||
label: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_PATHS
|
||||
rows: 5
|
||||
placeholder: "/backup\r/cache\r/images\r/logs\r/tmp"
|
||||
help: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_PATHS_HELP
|
||||
.exclude_files:
|
||||
type: textarea
|
||||
label: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_FILES
|
||||
rows: 5
|
||||
placeholder: ".DS_Store\r.git\r.svn\r.hg\r.idea\r.vscode\rnode_modules"
|
||||
help: PLUGIN_ADMIN.BACKUPS_PROFILE_EXCLUDE_FILES_HELP
|
||||
.schedule:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.BACKUPS_PROFILE_SCHEDULE
|
||||
highlight: 1
|
||||
default: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
.schedule_at:
|
||||
type: cron
|
||||
label: PLUGIN_ADMIN.BACKUPS_PROFILE_SCHEDULE_AT
|
||||
default: '* 3 * * *'
|
||||
validate:
|
||||
required: true
|
||||
|
||||
76
system/blueprints/config/scheduler.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
title: PLUGIN_ADMIN.SCHEDULER
|
||||
|
||||
form:
|
||||
validation: loose
|
||||
|
||||
fields:
|
||||
|
||||
status_title:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.SCHEDULER_STATUS
|
||||
underline: true
|
||||
|
||||
status:
|
||||
type: cronstatus
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
jobs_title:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.SCHEDULER_JOBS
|
||||
underline: true
|
||||
|
||||
custom_jobs:
|
||||
type: list
|
||||
style: vertical
|
||||
label:
|
||||
classes: cron-job-list compact
|
||||
key: id
|
||||
fields:
|
||||
.id:
|
||||
type: key
|
||||
label: ID
|
||||
placeholder: 'process-name'
|
||||
validate:
|
||||
required: true
|
||||
pattern: '[a-zа-я0-9_\-]+'
|
||||
max: 20
|
||||
message: 'ID must be lowercase with dashes/underscores only and less than 20 characters'
|
||||
.command:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.COMMAND
|
||||
placeholder: 'cd ~;ls -lah;'
|
||||
validate:
|
||||
required: true
|
||||
.args:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.EXTRA_ARGUMENTS
|
||||
.at:
|
||||
type: cron
|
||||
label: PLUGIN_ADMIN.SCHEDULER_RUNAT
|
||||
help: PLUGIN_ADMIN.SCHEDULER_RUNAT_HELP
|
||||
placeholder: '* * * * *'
|
||||
validate:
|
||||
required: true
|
||||
.output:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.SCHEDULER_OUTPUT
|
||||
help: PLUGIN_ADMIN.SCHEDULER_OUTPUT_HELP
|
||||
placeholder: 'logs/ls-cron.out'
|
||||
.output_mode:
|
||||
type: select
|
||||
label: PLUGIN_ADMIN.SCHEDULER_OUTPUT_TYPE
|
||||
help: PLUGIN_ADMIN.SCHEDULER_OUTPUT_TYPE_HELP
|
||||
default: append
|
||||
options:
|
||||
append: Append
|
||||
overwrite: Overwrite
|
||||
.email:
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.SCHEDULER_EMAIL
|
||||
help: PLUGIN_ADMIN.SCHEDULER_EMAIL_HELP
|
||||
placeholder: 'notifications@yoursite.com'
|
||||
|
||||
|
||||
|
||||
|
||||
107
system/blueprints/config/security.yaml
Normal file
@@ -0,0 +1,107 @@
|
||||
title: PLUGIN_ADMIN.SECURITY
|
||||
|
||||
form:
|
||||
validation: loose
|
||||
fields:
|
||||
|
||||
xss_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.XSS_SECURITY
|
||||
underline: true
|
||||
|
||||
xss_whitelist:
|
||||
type: selectize
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.XSS_WHITELIST_PERMISSIONS
|
||||
help: PLUGIN_ADMIN.XSS_WHITELIST_PERMISSIONS_HELP
|
||||
placeholder: 'admin.super'
|
||||
classes: fancy
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
xss_enabled.on_events:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.XSS_ON_EVENTS
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: true
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
xss_enabled.invalid_protocols:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.XSS_INVALID_PROTOCOLS
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: true
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
xss_invalid_protocols:
|
||||
type: selectize
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.XSS_INVALID_PROTOCOLS_LIST
|
||||
classes: fancy
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
xss_enabled.moz_binding:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.XSS_MOZ_BINDINGS
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: true
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
xss_enabled.html_inline_styles:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.XSS_HTML_INLINE_STYLES
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: true
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
xss_enabled.dangerous_tags:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.XSS_DANGEROUS_TAGS
|
||||
highlight: 1
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
default: true
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
xss_dangerous_tags:
|
||||
type: selectize
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.XSS_DANGEROUS_TAGS_LIST
|
||||
classes: fancy
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
uploads_section:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.UPLOADS_SECURITY
|
||||
underline: true
|
||||
|
||||
|
||||
uploads_dangerous_extensions:
|
||||
type: selectize
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.UPLOADS_DANGEROUS_EXTENSIONS
|
||||
help: PLUGIN_ADMIN.UPLOADS_DANGEROUS_EXTENSIONS_HELP
|
||||
classes: fancy
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
@@ -21,6 +21,9 @@ form:
|
||||
title: PLUGIN_ADMIN.CONTENT
|
||||
|
||||
fields:
|
||||
xss_check:
|
||||
type: xss
|
||||
|
||||
header.title:
|
||||
type: text
|
||||
autofocus: true
|
||||
@@ -32,7 +35,7 @@ form:
|
||||
validate:
|
||||
type: textarea
|
||||
|
||||
uploads:
|
||||
header.media_order:
|
||||
type: pagemedia
|
||||
label: PLUGIN_ADMIN.PAGE_MEDIA
|
||||
|
||||
@@ -310,6 +313,31 @@ form:
|
||||
toggleable: true
|
||||
help: PLUGIN_ADMIN.APPEND_URL_EXT_HELP
|
||||
|
||||
routes_only:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.ROUTE_OVERRIDES
|
||||
underline: true
|
||||
|
||||
fields:
|
||||
|
||||
header.routes.default:
|
||||
type: text
|
||||
toggleable: true
|
||||
label: PLUGIN_ADMIN.ROUTE_DEFAULT
|
||||
|
||||
header.routes.canonical:
|
||||
type: text
|
||||
toggleable: true
|
||||
label: PLUGIN_ADMIN.ROUTE_CANONICAL
|
||||
|
||||
header.routes.aliases:
|
||||
type: array
|
||||
toggleable: true
|
||||
value_only: true
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.ROUTE_ALIASES
|
||||
|
||||
|
||||
admin_only:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.ADMIN_SPECIFIC_OVERRIDES
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
title: PLUGIN_ADMIN:EXTERNAL
|
||||
@extends:
|
||||
extends@:
|
||||
type: default
|
||||
context: blueprints://pages
|
||||
|
||||
@@ -25,7 +25,7 @@ form:
|
||||
content:
|
||||
unset@: true
|
||||
|
||||
uploads:
|
||||
header.media_order:
|
||||
unset@: true
|
||||
|
||||
header.external_url:
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
title: PLUGIN_ADMIN.MODULAR
|
||||
@extends:
|
||||
type: default
|
||||
context: blueprints://pages
|
||||
extends@: default
|
||||
|
||||
form:
|
||||
fields:
|
||||
@@ -13,35 +11,28 @@ form:
|
||||
content:
|
||||
fields:
|
||||
|
||||
modular_title:
|
||||
type: spacer
|
||||
title: PLUGIN_ADMIN.MODULAR_SETUP
|
||||
|
||||
header.content.items:
|
||||
type: select
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.ITEMS
|
||||
default: '@self.modular'
|
||||
options:
|
||||
'@self.modular': Modular Children
|
||||
size: medium
|
||||
|
||||
header.content.order.by:
|
||||
type: select
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.ORDER_BY
|
||||
default: date
|
||||
options:
|
||||
folder: PLUGIN_ADMIN.FOLDER
|
||||
title: PLUGIN_ADMIN.TITLE
|
||||
date: PLUGIN_ADMIN.DATE
|
||||
default: PLUGIN_ADMIN.DEFAULT
|
||||
placeholder: date
|
||||
help:
|
||||
size: small
|
||||
|
||||
header.content.order.dir:
|
||||
type: select
|
||||
type: text
|
||||
label: PLUGIN_ADMIN.ORDER
|
||||
default: desc
|
||||
options:
|
||||
asc: PLUGIN_ADMIN.ASCENDING
|
||||
desc: PLUGIN_ADMIN.DESCENDING
|
||||
help: '"desc" or "asc" are valid values'
|
||||
placeholder: desc
|
||||
size: small
|
||||
|
||||
header.process:
|
||||
type: ignore
|
||||
content:
|
||||
type: ignore
|
||||
uploads:
|
||||
type: ignore
|
||||
|
||||
|
||||
@@ -4,89 +4,124 @@ form:
|
||||
|
||||
fields:
|
||||
|
||||
info:
|
||||
type: userinfo
|
||||
size: large
|
||||
info:
|
||||
type: userinfo
|
||||
size: large
|
||||
|
||||
avatar:
|
||||
type: file
|
||||
size: large
|
||||
destination: 'user://accounts/avatars'
|
||||
multiple: false
|
||||
random_name: true
|
||||
avatar:
|
||||
type: file
|
||||
size: large
|
||||
destination: 'user://accounts/avatars'
|
||||
multiple: false
|
||||
random_name: true
|
||||
|
||||
content:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.ACCOUNT
|
||||
underline: true
|
||||
content:
|
||||
type: section
|
||||
title: PLUGIN_ADMIN.ACCOUNT
|
||||
underline: true
|
||||
|
||||
username:
|
||||
type: text
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.USERNAME
|
||||
disabled: true
|
||||
readonly: true
|
||||
|
||||
email:
|
||||
type: email
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.EMAIL
|
||||
validate:
|
||||
type: email
|
||||
message: PLUGIN_ADMIN.EMAIL_VALIDATION_MESSAGE
|
||||
required: true
|
||||
|
||||
password:
|
||||
type: password
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.PASSWORD
|
||||
autocomplete: new-password
|
||||
validate:
|
||||
required: false
|
||||
message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
|
||||
config-pattern@: system.pwd_regex
|
||||
|
||||
fullname:
|
||||
type: text
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.FULL_NAME
|
||||
validate:
|
||||
required: true
|
||||
|
||||
title:
|
||||
type: text
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.TITLE
|
||||
|
||||
language:
|
||||
type: select
|
||||
label: PLUGIN_ADMIN.LANGUAGE
|
||||
size: medium
|
||||
classes: fancy
|
||||
data-options@: '\Grav\Plugin\Admin\Admin::adminLanguages'
|
||||
default: 'en'
|
||||
help: PLUGIN_ADMIN.LANGUAGE_HELP
|
||||
|
||||
twofa_check:
|
||||
type: conditional
|
||||
condition: config.plugins.admin.twofa_enabled
|
||||
|
||||
fields:
|
||||
|
||||
twofa:
|
||||
title: PLUGIN_ADMIN.2FA_TITLE
|
||||
type: section
|
||||
underline: true
|
||||
|
||||
twofa_enabled:
|
||||
type: toggle
|
||||
label: PLUGIN_ADMIN.2FA_ENABLED
|
||||
classes: twofa-toggle
|
||||
highlight: 1
|
||||
default: 0
|
||||
options:
|
||||
1: PLUGIN_ADMIN.YES
|
||||
0: PLUGIN_ADMIN.NO
|
||||
validate:
|
||||
type: bool
|
||||
|
||||
|
||||
username:
|
||||
type: text
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.USERNAME
|
||||
disabled: true
|
||||
readonly: true
|
||||
twofa_secret:
|
||||
type: 2fa_secret
|
||||
outerclasses: 'twofa-secret'
|
||||
markdown: true
|
||||
label: PLUGIN_ADMIN.2FA_SECRET
|
||||
sublabel: PLUGIN_ADMIN.2FA_SECRET_HELP
|
||||
|
||||
email:
|
||||
type: email
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.EMAIL
|
||||
validate:
|
||||
type: email
|
||||
message: PLUGIN_ADMIN.EMAIL_VALIDATION_MESSAGE
|
||||
required: true
|
||||
|
||||
password:
|
||||
type: password
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.PASSWORD
|
||||
validate:
|
||||
required: false
|
||||
message: PLUGIN_ADMIN.PASSWORD_VALIDATION_MESSAGE
|
||||
config-pattern@: system.pwd_regex
|
||||
security:
|
||||
security@: admin.super
|
||||
title: PLUGIN_ADMIN.ACCESS_LEVELS
|
||||
type: section
|
||||
underline: true
|
||||
|
||||
fullname:
|
||||
type: text
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.FULL_NAME
|
||||
validate:
|
||||
required: true
|
||||
fields:
|
||||
groups:
|
||||
security@: admin.super
|
||||
type: select
|
||||
multiple: true
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.GROUPS
|
||||
data-options@: '\Grav\Common\User\Group::groupNames'
|
||||
classes: fancy
|
||||
help: PLUGIN_ADMIN.GROUPS_HELP
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
title:
|
||||
type: text
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.TITLE
|
||||
|
||||
language:
|
||||
type: select
|
||||
label: PLUGIN_ADMIN.LANGUAGE
|
||||
size: medium
|
||||
classes: fancy
|
||||
data-options@: '\Grav\Plugin\Admin\Admin::adminLanguages'
|
||||
default: 'en'
|
||||
help: PLUGIN_ADMIN.LANGUAGE_HELP
|
||||
|
||||
security:
|
||||
title: PLUGIN_ADMIN.ACCESS_LEVELS
|
||||
type: section
|
||||
security: admin.super
|
||||
underline: true
|
||||
|
||||
fields:
|
||||
groups:
|
||||
type: selectize
|
||||
size: large
|
||||
label: PLUGIN_ADMIN.GROUPS
|
||||
data-options@: '\Grav\User\Groups::groups'
|
||||
classes: fancy
|
||||
help: PLUGIN_ADMIN.GROUPS_HELP
|
||||
validate:
|
||||
type: commalist
|
||||
|
||||
access:
|
||||
type: permissions
|
||||
label: PLUGIN_ADMIN.PERMISSIONS
|
||||
ignore_empty: true
|
||||
validate:
|
||||
type: array
|
||||
access:
|
||||
security@: admin.super
|
||||
type: permissions
|
||||
label: PLUGIN_ADMIN.PERMISSIONS
|
||||
ignore_empty: true
|
||||
validate:
|
||||
type: array
|
||||
|
||||
29
system/blueprints/user/accounts.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
title: User Accounts
|
||||
description: User Accounts
|
||||
type: flex-objects
|
||||
|
||||
extends@: 'user/account'
|
||||
|
||||
config:
|
||||
admin:
|
||||
list:
|
||||
fields:
|
||||
username:
|
||||
link: edit
|
||||
search: true
|
||||
email:
|
||||
search: true
|
||||
fullname:
|
||||
search: true
|
||||
options:
|
||||
per_page: 20
|
||||
order:
|
||||
by: username
|
||||
dir: asc
|
||||
|
||||
menu:
|
||||
list:
|
||||
route: '/accounts'
|
||||
title: Accounts
|
||||
icon: fa-users
|
||||
authorize: ['admin.users', 'admin.accounts', 'admin.super']
|
||||
15
system/config/backups.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
purge:
|
||||
trigger: space
|
||||
max_backups_count: 25
|
||||
max_backups_space: 5
|
||||
max_backups_time: 365
|
||||
|
||||
profiles:
|
||||
-
|
||||
name: 'Default Site Backup'
|
||||
root: '/'
|
||||
schedule: false
|
||||
schedule_at: '0 3 * * *'
|
||||
exclude_paths: "/backup\r\n/cache\r\n/images\r\n/logs\r\n/tmp"
|
||||
exclude_files: ".DS_Store\r\n.git\r\n.svn\r\n.hg\r\n.idea\r\n.vscode\r\nnode_modules"
|
||||
|
||||
@@ -18,7 +18,7 @@ types:
|
||||
mime: image/jpeg
|
||||
jpeg:
|
||||
type: image
|
||||
thumb: media/thumb-jpeg.png
|
||||
thumb: media/thumb-jpg.png
|
||||
mime: image/jpeg
|
||||
png:
|
||||
type: image
|
||||
@@ -28,12 +28,10 @@ types:
|
||||
type: animated
|
||||
thumb: media/thumb-gif.png
|
||||
mime: image/gif
|
||||
|
||||
svg:
|
||||
type: vector
|
||||
thumb: media/thumb.png
|
||||
thumb: media/thumb-svg.png
|
||||
mime: image/svg+xml
|
||||
|
||||
mp4:
|
||||
type: video
|
||||
thumb: media/thumb-mp4.png
|
||||
@@ -56,13 +54,12 @@ types:
|
||||
mime: video/x-flv
|
||||
webm:
|
||||
type: video
|
||||
thumb: media/thumb.png
|
||||
thumb: media/thumb-webm.png
|
||||
mime: video/webm
|
||||
ogv:
|
||||
type: video
|
||||
thumb: media/thumb-ogg.png
|
||||
mime: video/ogg
|
||||
|
||||
mp3:
|
||||
type: audio
|
||||
thumb: media/thumb-mp3.png
|
||||
@@ -85,11 +82,12 @@ types:
|
||||
mime: audio/wav
|
||||
aiff:
|
||||
type: audio
|
||||
thumb: media/thumb-aif.png
|
||||
mime: audio/aiff
|
||||
aif:
|
||||
type: audio
|
||||
thumb: media/thumb-aif.png
|
||||
mime: audio/aif
|
||||
|
||||
txt:
|
||||
type: file
|
||||
thumb: media/thumb-txt.png
|
||||
@@ -104,66 +102,60 @@ types:
|
||||
mime: application/msword
|
||||
docx:
|
||||
type: file
|
||||
thumb: media/thumb-docx.png
|
||||
mime: application/msword
|
||||
xls:
|
||||
type: file
|
||||
thumb: media/thumb-xls.png
|
||||
mime: application/vnd.ms-excel
|
||||
xlt:
|
||||
type: file
|
||||
mime: application/vnd.ms-excel
|
||||
xlm:
|
||||
type: file
|
||||
mime: application/vnd.ms-excel
|
||||
xlsm:
|
||||
type: file
|
||||
mime: application/vnd.ms-excel
|
||||
xld:
|
||||
type: file
|
||||
mime: application/vnd.ms-excel
|
||||
xla:
|
||||
type: file
|
||||
mime: application/vnd.ms-excel
|
||||
xlc:
|
||||
type: file
|
||||
mime: application/vnd.ms-excel
|
||||
xlw:
|
||||
type: file
|
||||
mime: application/vnd.ms-excel
|
||||
xll:
|
||||
xlsx:
|
||||
type: file
|
||||
thumb: media/thumb-xlsx.png
|
||||
mime: application/vnd.ms-excel
|
||||
ppt:
|
||||
type: file
|
||||
thumb: media/thumb-ppt.png
|
||||
mime: application/vnd.ms-powerpoint
|
||||
pptx:
|
||||
type: file
|
||||
thumb: media/thumb-pptx.png
|
||||
mime: application/vnd.ms-powerpoint
|
||||
pps:
|
||||
type: file
|
||||
thumb: media/thumb-pps.png
|
||||
mime: application/vnd.ms-powerpoint
|
||||
rtf:
|
||||
type: file
|
||||
thumb: media/thumb-rtf.png
|
||||
mime: application/rtf
|
||||
|
||||
bmp:
|
||||
type: file
|
||||
thumb: media/thumb-bmp.png
|
||||
mime: image/bmp
|
||||
tiff:
|
||||
type: file
|
||||
thumb: media/thumb-tiff.png
|
||||
mime: image/tiff
|
||||
mpeg:
|
||||
type: file
|
||||
thumb: media/thumb-mpg.png
|
||||
mime: video/mpeg
|
||||
mpg:
|
||||
type: file
|
||||
thumb: media/thumb-mpg.png
|
||||
mime: video/mpeg
|
||||
mpe:
|
||||
type: file
|
||||
thumb: media/thumb-mpe.png
|
||||
mime: video/mpeg
|
||||
avi:
|
||||
type: file
|
||||
thumb: media/thumb-avi.png
|
||||
mime: video/msvideo
|
||||
wmv:
|
||||
type: file
|
||||
thumb: media/thumb-wmv.png
|
||||
mime: video/x-ms-wmv
|
||||
|
||||
html:
|
||||
type: file
|
||||
thumb: media/thumb-html.png
|
||||
@@ -172,17 +164,29 @@ types:
|
||||
type: file
|
||||
thumb: media/thumb-html.png
|
||||
mime: text/html
|
||||
ics:
|
||||
type: iCal
|
||||
thumb: media/thumb-ics.png
|
||||
mime: text/calendar
|
||||
pdf:
|
||||
type: file
|
||||
thumb: media/thumb-pdf.png
|
||||
mime: application/pdf
|
||||
ai:
|
||||
type: file
|
||||
thumb: media/thumb-ai.png
|
||||
mime: image/ai
|
||||
psd:
|
||||
type: file
|
||||
thumb: media/thumb-psd.png
|
||||
mime: image/psd
|
||||
zip:
|
||||
type: file
|
||||
thumb: media/thumb-zip.png
|
||||
mime: application/zip
|
||||
7z:
|
||||
type: file
|
||||
thumb: media/thumb-7zip.png
|
||||
thumb: media/thumb-7z.png
|
||||
mime: application/x-7z-compressed
|
||||
gz:
|
||||
type: file
|
||||
@@ -190,6 +194,7 @@ types:
|
||||
mime: application/gzip
|
||||
tar:
|
||||
type: file
|
||||
thumb: media/thumb-tar.png
|
||||
mime: application/x-tar
|
||||
css:
|
||||
type: file
|
||||
@@ -203,4 +208,3 @@ types:
|
||||
type: file
|
||||
thumb: media/thumb-json.png
|
||||
mime: application/json
|
||||
|
||||
|
||||
38
system/config/security.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
xss_whitelist: [admin.super] # Whitelist of user access that should 'skip' XSS checking
|
||||
xss_enabled:
|
||||
on_events: true
|
||||
invalid_protocols: true
|
||||
moz_binding: true
|
||||
html_inline_styles: true
|
||||
dangerous_tags: true
|
||||
xss_invalid_protocols:
|
||||
- javascript
|
||||
- livescript
|
||||
- vbscript
|
||||
- mocha
|
||||
- feed
|
||||
- data
|
||||
xss_dangerous_tags:
|
||||
- applet
|
||||
- meta
|
||||
- xml
|
||||
- blink
|
||||
- link
|
||||
- style
|
||||
- script
|
||||
- embed
|
||||
- object
|
||||
- iframe
|
||||
- frame
|
||||
- frameset
|
||||
- ilayer
|
||||
- layer
|
||||
- bgsound
|
||||
- title
|
||||
- base
|
||||
uploads_dangerous_extensions:
|
||||
- php
|
||||
- html
|
||||
- htm
|
||||
- js
|
||||
- exe
|
||||
@@ -3,7 +3,7 @@ default_lang: en # Default language for site (potenti
|
||||
|
||||
author:
|
||||
name: John Appleseed # Default author name
|
||||
email: 'john@email.com' # Default author email
|
||||
email: 'john@example.com' # Default author email
|
||||
|
||||
taxonomies: [category,tag] # Arbitrary list of taxonomy types
|
||||
|
||||
@@ -17,17 +17,17 @@ summary:
|
||||
delimiter: === # The summary delimiter
|
||||
|
||||
redirects:
|
||||
# '/redirect-test': '/' # Redirect test goes to home page
|
||||
# '/old/(.*)': '/new/$1' # Would redirect /old/my-page to /new/my-page
|
||||
# '/redirect-test': '/' # Redirect test goes to home page
|
||||
# '/old/(.*)': '/new/$1' # Would redirect /old/my-page to /new/my-page
|
||||
|
||||
routes:
|
||||
# '/something/else': '/blog/sample-3' # Alias for /blog/sample-3
|
||||
# '/new/(.*)': '/blog/$1' # Regex any /new/my-page URL to /blog/my-page Route
|
||||
# '/something/else': '/blog/sample-3' # Alias for /blog/sample-3
|
||||
# '/new/(.*)': '/blog/$1' # Regex any /new/my-page URL to /blog/my-page Route
|
||||
|
||||
blog:
|
||||
route: '/blog' # Custom value added (accessible via system.blog.route)
|
||||
|
||||
#menu: # Sample Menu Example
|
||||
#menu: # Menu Example
|
||||
# - text: Source
|
||||
# icon: github
|
||||
# url: https://github.com/getgrav/grav
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
schemes:
|
||||
image:
|
||||
type: ReadOnlyStream
|
||||
type: Stream
|
||||
paths:
|
||||
- user://images
|
||||
- system://images
|
||||
|
||||
@@ -5,13 +5,17 @@ param_sep: ':' # Parameter separator, use ';'
|
||||
wrapped_site: false # For themes/plugins to know if Grav is wrapped by another platform
|
||||
reverse_proxy_setup: false # Running in a reverse proxy scenario with different webserver ports than proxy
|
||||
force_ssl: false # If enabled, Grav forces to be accessed via HTTPS (NOTE: Not an ideal solution)
|
||||
force_lowercase_urls: true # If you want to support mixed cased URLs set this to false
|
||||
custom_base_url: '' # Set the base_url manually, e.g. http://yoursite.com/yourpath
|
||||
username_regex: '^[a-z0-9_-]{3,16}$' # Only lowercase chars, digits, dashes, underscores. 3 - 16 chars
|
||||
pwd_regex: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}' # At least one number, one uppercase and lowercase letter, and be at least 8+ chars
|
||||
intl_enabled: true # Special logic for PHP International Extension (mod_intl)
|
||||
|
||||
languages:
|
||||
supported: [] # List of languages supported. eg: [en, fr, de]
|
||||
default_lang: # Default is the first supported language. Must be one of the supported languages
|
||||
include_default_lang: true # Include the default lang prefix in all URLs
|
||||
pages_fallback_only: false # Only fallback to find page content through supported languages
|
||||
translations: true # Enable translations by default
|
||||
translations_fallback: true # Fallback through supported translations if active lang doesn't exist
|
||||
session_store_active: false # Store active language in session
|
||||
@@ -23,7 +27,7 @@ home:
|
||||
hide_in_urls: false # Hide the home route in URLs
|
||||
|
||||
pages:
|
||||
theme: antimatter # Default theme (defaults to "antimatter" theme)
|
||||
theme: quark # Default theme (defaults to "quark" theme)
|
||||
order:
|
||||
by: default # Order pages by "default", "alpha" or "date"
|
||||
dir: asc # Default ordering direction, "asc" or "desc"
|
||||
@@ -50,18 +54,20 @@ pages:
|
||||
special_chars: # List of special characters to automatically convert to entities
|
||||
'>': 'gt'
|
||||
'<': 'lt'
|
||||
types: [txt,xml,html,htm,json,rss,atom] # list of valid page types
|
||||
types: [html,htm,xml,txt,json,rss,atom] # list of valid page types
|
||||
append_url_extension: '' # Append page's extension in Page urls (e.g. '.html' results in /path/page.html)
|
||||
expires: 604800 # Page expires time in seconds (604800 seconds = 7 days)
|
||||
cache_control: # Can be blank for no setting, or a valid `cache-control` text value
|
||||
last_modified: false # Set the last modified date header based on file modification timestamp
|
||||
etag: false # Set the etag header tag
|
||||
vary_accept_encoding: false # Add `Vary: Accept-Encoding` header
|
||||
redirect_default_route: false # Automatically redirect to a page's default route
|
||||
redirect_default_code: 301 # Default code to use for redirects
|
||||
redirect_trailing_slash: true # Handle automatically or 301 redirect a trailing / URL
|
||||
redirect_default_code: 302 # Default code to use for redirects
|
||||
redirect_trailing_slash: true # Handle automatically or 302 redirect a trailing / URL
|
||||
ignore_files: [.DS_Store] # Files to ignore in Pages
|
||||
ignore_folders: [.git, .idea] # Folders to ignore in Pages
|
||||
ignore_hidden: true # Ignore all Hidden files and folders
|
||||
hide_empty_folders: false # If folder has no .md file, should it be hidden
|
||||
url_taxonomy_filters: true # Enable auto-magic URL-based taxonomy filters for page collections
|
||||
frontmatter:
|
||||
process_twig: false # Should the frontmatter be processed to replace Twig variables?
|
||||
@@ -71,8 +77,12 @@ cache:
|
||||
enabled: true # Set to true to enable caching
|
||||
check:
|
||||
method: file # Method to check for updates in pages: file|folder|hash|none
|
||||
driver: auto # One of: auto|file|apc|xcache|memcache|wincache
|
||||
driver: auto # One of: auto|file|apcu|memcache|wincache
|
||||
prefix: 'g' # Cache prefix string (prevents cache conflicts)
|
||||
purge_at: '0 4 * * *' # How often to purge old file cache (using new scheduler)
|
||||
clear_at: '0 3 * * *' # How often to clear cache (using new scheduler)
|
||||
clear_job_type: 'standard' # Type to clear when processing the scheduled clear job `standard`|`all`
|
||||
clear_images_by_default: true # By default grav will include processed images in cache clear, this can be disabled
|
||||
cli_compatibility: false # Ensures only non-volatile drivers are used (file, redis, memcache, etc.)
|
||||
lifetime: 604800 # Lifetime of cached data in seconds (0 = infinite)
|
||||
gzip: false # GZip compress the page output
|
||||
@@ -84,7 +94,7 @@ twig:
|
||||
cache: true # Set to true to enable Twig caching
|
||||
debug: true # Enable Twig debug
|
||||
auto_reload: true # Refresh cache on changes
|
||||
autoescape: false # Autoescape Twig vars
|
||||
autoescape: false # Autoescape Twig vars (DEPRECATED, always enabled in strict mode)
|
||||
undefined_functions: true # Allow undefined functions
|
||||
undefined_filters: true # Allow undefined filters
|
||||
umask_fix: false # By default Twig creates cached files as 755, fix switches this to 775
|
||||
@@ -108,6 +118,11 @@ errors:
|
||||
display: 0 # Display either (1) Full backtrace | (0) Simple Error | (-1) System Error
|
||||
log: true # Log errors to /logs folder
|
||||
|
||||
log:
|
||||
handler: file # Log handler. Currently supported: file | syslog
|
||||
syslog:
|
||||
facility: local6 # Syslog facilities output
|
||||
|
||||
debugger:
|
||||
enabled: false # Enable Grav debugger and following settings
|
||||
shutdown:
|
||||
@@ -119,17 +134,20 @@ images:
|
||||
cache_perms: '0755' # MUST BE IN QUOTES!! Default cache folder perms. Usually '0755' or '0775'
|
||||
debug: false # Show an overlay over images indicating the pixel depth of the image when working with retina for example
|
||||
auto_fix_orientation: false # Automatically fix the image orientation based on the Exif data
|
||||
seofriendly: false # SEO-friendly processed image names
|
||||
|
||||
media:
|
||||
enable_media_timestamp: false # Enable media timetsamps
|
||||
upload_limit: 0 # Set maximum upload size in bytes (0 is unlimited)
|
||||
enable_media_timestamp: false # Enable media timestamps
|
||||
unsupported_inline_types: [] # Array of supported media types to try to display inline
|
||||
allowed_fallback_types: [] # Array of allowed media types of files found if accessed via Page route
|
||||
auto_metadata_exif: false # Automatically create metadata files from Exif data where possible
|
||||
|
||||
session:
|
||||
enabled: true # Enable Session support
|
||||
initialize: true # Initialize session from Grav (if false, plugin needs to start the session)
|
||||
timeout: 1800 # Timeout in seconds
|
||||
name: grav-site # Name prefix of the session cookie. Use alphanumeric, dashes or underscores only. Do not use dots in the session name
|
||||
uniqueness: path # Should sessions be `path` based or `security.salt` based
|
||||
secure: false # Set session secure. If true, indicates that communication for this cookie must be over an encrypted transmission. Enable this only on sites that run exclusively on HTTPS
|
||||
httponly: true # Set session HTTP only. If true, indicates that cookies should be used only over HTTP, and JavaScript modification is not allowed.
|
||||
split: true # Sessions should be independent between site and plugins (such as admin)
|
||||
@@ -141,3 +159,11 @@ gpm:
|
||||
method: 'auto' # Either 'curl', 'fopen' or 'auto'. 'auto' will try fopen first and if not available cURL
|
||||
verify_peer: true # Sometimes on some systems (Windows most commonly) GPM is unable to connect because the SSL certificate cannot be verified. Disabling this setting might help.
|
||||
official_gpm_only: true # By default GPM direct-install will only allow URLs via the official GPM proxy to ensure security
|
||||
|
||||
accounts:
|
||||
type: data # Account type: data or flex
|
||||
storage: file # Flex storage type: file or folder
|
||||
|
||||
strict_mode:
|
||||
yaml_compat: true # Grav 1.5+: Enables YAML backwards compatibility
|
||||
twig_compat: true # Grav 1.5+: Enables deprecated Twig autoescape setting (autoescape: false)
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Grav.Core
|
||||
* @package Grav\Core
|
||||
*
|
||||
* @copyright Copyright (C) 2014 - 2016 RocketTheme, LLC. All rights reserved.
|
||||
* @copyright Copyright (C) 2015 - 2019 Trilby Media, LLC. All rights reserved.
|
||||
* @license MIT License; see LICENSE file for details.
|
||||
*/
|
||||
|
||||
// Some standard defines
|
||||
define('GRAV', true);
|
||||
define('GRAV_VERSION', '1.2.3');
|
||||
define('GRAV_VERSION', '1.6.2');
|
||||
define('GRAV_TESTING', false);
|
||||
define('DS', '/');
|
||||
|
||||
if (!defined('GRAV_PHP_MIN')) {
|
||||
define('GRAV_PHP_MIN', '5.5.9');
|
||||
define('GRAV_PHP_MIN', '7.1.3');
|
||||
}
|
||||
|
||||
// Directories and Paths
|
||||
|
||||
BIN
system/images/media/thumb-3dm.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
system/images/media/thumb-3ds.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
system/images/media/thumb-3g2.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
system/images/media/thumb-3gp.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
system/images/media/thumb-7z.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
system/images/media/thumb-aac.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
system/images/media/thumb-ai.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
system/images/media/thumb-aif.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
system/images/media/thumb-apk.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
system/images/media/thumb-app.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
system/images/media/thumb-asf.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
system/images/media/thumb-asp.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
system/images/media/thumb-aspx.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
system/images/media/thumb-asx.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
system/images/media/thumb-avi.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
system/images/media/thumb-bak.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
system/images/media/thumb-bat.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
system/images/media/thumb-bin.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
system/images/media/thumb-bmp.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
system/images/media/thumb-cab.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
system/images/media/thumb-cad.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
system/images/media/thumb-cdr.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
system/images/media/thumb-cer.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
system/images/media/thumb-cfg.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
system/images/media/thumb-cfm.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
system/images/media/thumb-cgi.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
system/images/media/thumb-com.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
system/images/media/thumb-cpl.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
system/images/media/thumb-cpp.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
system/images/media/thumb-crx.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
system/images/media/thumb-csr.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
system/images/media/thumb-css.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
system/images/media/thumb-csv.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
system/images/media/thumb-cue.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
system/images/media/thumb-cur.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
system/images/media/thumb-dat.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
system/images/media/thumb-db.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
system/images/media/thumb-dbf.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
system/images/media/thumb-dds.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
system/images/media/thumb-dem.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
system/images/media/thumb-dll.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
system/images/media/thumb-dmg.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
system/images/media/thumb-dmp.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 3.0 KiB |
BIN
system/images/media/thumb-docx.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
system/images/media/thumb-drv.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
system/images/media/thumb-dtd.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
system/images/media/thumb-dwg.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
system/images/media/thumb-dxf.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
system/images/media/thumb-elf.png
Normal file
|
After Width: | Height: | Size: 663 B |
BIN
system/images/media/thumb-eot.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
system/images/media/thumb-eps.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
system/images/media/thumb-exe.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
system/images/media/thumb-fla.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
system/images/media/thumb-flv.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
system/images/media/thumb-fnt.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
system/images/media/thumb-fon.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
system/images/media/thumb-gam.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
system/images/media/thumb-gbr.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
system/images/media/thumb-ged.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
system/images/media/thumb-gpx.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |