Compare commits
1303 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| efa77bf534 | |||
| bdb4e617e6 | |||
| e159e20b7c | |||
| 1bf1c56fd8 | |||
| ffc2b28a09 | |||
| 12aab494ad | |||
| 2b2a1ba8bd | |||
| 4bd104a742 | |||
| c70d9f35c1 | |||
| 95bd859236 | |||
| cb89522936 | |||
| 6146308106 | |||
| 6fd4c48cc7 | |||
| 589aa591ee | |||
| 990925e85e | |||
| ab8221889a | |||
| 9e5d65651c | |||
| edbc159fad | |||
|
|
e278b9df6a | ||
|
|
daef56f970 | ||
|
|
e3ca756aa7 | ||
|
|
6208eb0840 | ||
|
|
0830af4f56 | ||
|
|
236b9324f5 | ||
|
|
603354cc4b | ||
|
|
7effdfeccd | ||
|
|
bfcc60323e | ||
|
|
7b1d361d69 | ||
|
|
a121a9b7c3 | ||
|
|
6306a88e55 | ||
|
|
9d8b915905 | ||
|
|
0b51c9825d | ||
|
|
b829fc026a | ||
|
|
0dcebf88af | ||
|
|
1ada29c5e9 | ||
|
|
9d85aea268 | ||
|
|
98dc34358b | ||
|
|
753053e586 | ||
|
|
c9a35ac933 | ||
|
|
6290b79886 | ||
|
|
1f7bd30ddf | ||
|
|
ccf29b1117 | ||
|
|
cd6f360628 | ||
|
|
a57ce2d840 | ||
|
|
aa36a17ef9 | ||
|
|
83be75967c | ||
|
|
e5f88d4002 | ||
|
|
ee3720c59e | ||
|
|
b1d11308d7 | ||
|
|
0c5c3e7dd5 | ||
|
|
3851c4ef3e | ||
|
|
d27adbd77a | ||
|
|
1ef39dc0fb | ||
|
|
f1a2e290ae | ||
|
|
3b1e78ae02 | ||
|
|
21162495cb | ||
|
|
bc85e0c33f | ||
|
|
f6ade2ed53 | ||
|
|
3f3f3e4887 | ||
|
|
16d856c7df | ||
|
|
d862268a32 | ||
|
|
db03ef0018 | ||
|
|
c00d967159 | ||
|
|
d38c72e4d6 | ||
|
|
2680ee600b | ||
|
|
6f3ed2cd80 | ||
|
|
e36752c4f9 | ||
|
|
db321bf76e | ||
|
|
89e676424a | ||
|
|
1658fe3bb9 | ||
|
|
7ed5d9005c | ||
|
|
0c27de5fc1 | ||
|
|
20dd5e0ae2 | ||
|
|
442f02ff37 | ||
|
|
56c421ed63 | ||
|
|
18a199d609 | ||
|
|
1fd0d99342 | ||
|
|
2d18dbf23b | ||
|
|
cf9dffb05c | ||
|
|
3a054fb055 | ||
|
|
7c3bbc5323 | ||
|
|
9d88e2dbf4 | ||
|
|
aebb509965 | ||
|
|
616bab254a | ||
|
|
47ec669a38 | ||
|
|
812a9ab0f4 | ||
|
|
e3235dc802 | ||
|
|
d25563f94e | ||
|
|
4eb3f0c8b1 | ||
|
|
1af0f098d1 | ||
|
|
320b9242d5 | ||
|
|
258abb3bf5 | ||
|
|
84fdc64070 | ||
|
|
9266906d15 | ||
|
|
d760a537c9 | ||
|
|
dc51487d50 | ||
|
|
63de70611d | ||
|
|
46fad2bef2 | ||
|
|
e07dbf81d2 | ||
|
|
22fb006d7a | ||
|
|
05f335b105 | ||
|
|
e801485ec1 | ||
|
|
28c28191a2 | ||
|
|
c280160e8b | ||
|
|
03fbb34d95 | ||
|
|
4712047015 | ||
|
|
010d57bf4c | ||
|
|
c81706061b | ||
|
|
746b4234d2 | ||
|
|
97b7943fb1 | ||
|
|
54335422cf | ||
|
|
006ad75070 | ||
|
|
1d9b723053 | ||
|
|
b14359b421 | ||
|
|
4b228cccf0 | ||
|
|
0bb72c03fc | ||
|
|
f9ebb9a053 | ||
|
|
95aa547196 | ||
|
|
90acace1a7 | ||
|
|
23079fedd9 | ||
|
|
7028260458 | ||
|
|
d6de71b1e8 | ||
|
|
85b42274e4 | ||
|
|
608ee01f55 | ||
|
|
e040cecf68 | ||
|
|
377baf1edd | ||
|
|
b6d5445b31 | ||
|
|
68519d8407 | ||
|
|
a37bb58ef3 | ||
|
|
38ad5a85a4 | ||
|
|
a735c0f4e8 | ||
|
|
79a31b84c6 | ||
|
|
5e04493329 | ||
|
|
da1ffeb47d | ||
|
|
ed8177e05f | ||
|
|
2362673c6f | ||
|
|
cdc25a2c1e | ||
|
|
f1f444de39 | ||
|
|
ea8f3b1334 | ||
|
|
4453115030 | ||
|
|
62ecdaac3b | ||
|
|
842a722df8 | ||
|
|
d7385c5d06 | ||
|
|
fa934d8c9b | ||
|
|
4810e10343 | ||
|
|
4a9fb8e505 | ||
|
|
1c0cce52b5 | ||
|
|
77557d1699 | ||
|
|
f582612619 | ||
|
|
4bbc5ea972 | ||
|
|
5b5f374255 | ||
|
|
11df35209a | ||
|
|
37105f6aa6 | ||
|
|
e1413972bf | ||
|
|
4dbf6e08fc | ||
|
|
6113327075 | ||
|
|
0ff94bc4f5 | ||
|
|
cf1fad0509 | ||
|
|
48e021a532 | ||
|
|
55ea9e5963 | ||
|
|
671e402db4 | ||
|
|
c8064a9eb1 | ||
|
|
69f8872755 | ||
|
|
f6c0965f85 | ||
|
|
bdb4f1d7bd | ||
|
|
70efdf877e | ||
|
|
69d477eeb1 | ||
|
|
9ec77ede6f | ||
|
|
e2e38c0db9 | ||
|
|
ea71566121 | ||
|
|
e919f76ea4 | ||
|
|
7a5234dbce | ||
|
|
fc9818ae4b | ||
|
|
da8cfa9222 | ||
|
|
7ec157cf62 | ||
|
|
9e54506dcc | ||
|
|
6b6fc91b6a | ||
|
|
0a422f748d | ||
|
|
4b09c6c26b | ||
|
|
f8336b2220 | ||
|
|
0dc3b6330b | ||
|
|
6633e3f5b1 | ||
|
|
3f1c5398a0 | ||
|
|
f548f37a59 | ||
|
|
3fbd4739ff | ||
|
|
ae4fddbfaa | ||
|
|
6333caa0b5 | ||
|
|
4fc7e1baec | ||
|
|
c1d95bf569 | ||
|
|
e9c4215f88 | ||
|
|
44d99e2be5 | ||
|
|
6580bd73ed | ||
|
|
377d99c0f1 | ||
|
|
a92188ae1f | ||
|
|
9b86106278 | ||
|
|
6892a0ded5 | ||
|
|
e3d954287d | ||
|
|
3715776f6d | ||
|
|
62fe7ee1fe | ||
|
|
b1483bbf45 | ||
|
|
f717c6a82f | ||
|
|
d88db002f1 | ||
|
|
5fba1a4300 | ||
|
|
1e5e9f0209 | ||
|
|
443650b217 | ||
|
|
fbb194e44c | ||
|
|
c7fc29ba99 | ||
|
|
46a05cde84 | ||
|
|
48e2f5bdfb | ||
|
|
d869589b47 | ||
|
|
ff051beae7 | ||
|
|
aef16fe812 | ||
|
|
8a41d2d278 | ||
|
|
6e7ca0a1dc | ||
|
|
e3c4726cda | ||
|
|
c742f86924 | ||
|
|
5b19668b38 | ||
|
|
80d6b6ef92 | ||
|
|
8cc56243e6 | ||
|
|
6c199dbe4a | ||
|
|
790b9d422f | ||
|
|
02c54566a9 | ||
|
|
de8478ddea | ||
|
|
b89ae3b7d1 | ||
|
|
cd6b8a72ca | ||
|
|
d0661dd697 | ||
|
|
d0ab0f6566 | ||
|
|
c5475478ad | ||
|
|
ecd075c369 | ||
|
|
eae5611b07 | ||
|
|
564b064f50 | ||
|
|
9e20bb65bd | ||
|
|
bb236ff1be | ||
|
|
4d3c5fee3e | ||
|
|
6d12f4124c | ||
|
|
143f6b5b44 | ||
|
|
b305a60c8d | ||
|
|
ed1939c7ac | ||
|
|
5f4dbbd67b | ||
|
|
20dcb3659a | ||
|
|
bd85d39af5 | ||
|
|
ea66a89ce1 | ||
|
|
263eccc363 | ||
|
|
49f6666c13 | ||
|
|
5d02a28468 | ||
|
|
b4d682da69 | ||
|
|
53c377f274 | ||
|
|
629ac4654d | ||
|
|
53f6b46162 | ||
|
|
fc4273b585 | ||
|
|
4e45475ea9 | ||
|
|
e81508cc48 | ||
|
|
9692899c9b | ||
|
|
88e6fd0e63 | ||
|
|
eb84dc13dd | ||
|
|
f6e27ba9bf | ||
|
|
edc95de507 | ||
|
|
78f460f391 | ||
|
|
7810374fa4 | ||
|
|
4f775afa98 | ||
|
|
e939b28ca5 | ||
|
|
5795622430 | ||
|
|
78aacdee51 | ||
|
|
bd2d07c8eb | ||
|
|
3b04f4a47d | ||
|
|
6d8c2df915 | ||
|
|
52c64d13c3 | ||
|
|
c2cf15d797 | ||
|
|
605d3ce84f | ||
|
|
3ca566dfee | ||
|
|
4da9cf2e86 | ||
|
|
3c31ccf6fe | ||
|
|
9869d3c084 | ||
|
|
35cb49098b | ||
|
|
229e08fd36 | ||
|
|
47dfd430d2 | ||
|
|
eeb3a14ed3 | ||
|
|
f1e8f6ec69 | ||
|
|
0a39ef2fe6 | ||
|
|
26a407439b | ||
|
|
f7c20a0951 | ||
|
|
3c94553ae2 | ||
|
|
ae88a23a3c | ||
|
|
1073b96748 | ||
|
|
0e489074c7 | ||
|
|
d6f7e39075 | ||
|
|
32ee7378e9 | ||
|
|
219a111120 | ||
|
|
06c186b970 | ||
|
|
04a74e2eec | ||
|
|
f52b378611 | ||
|
|
7a5b17f1f2 | ||
|
|
69620d806d | ||
|
|
fb8e4bf687 | ||
|
|
e2a3eeaf43 | ||
|
|
b6a40e7e7c | ||
|
|
1e22c7f2dc | ||
|
|
e8c607b1ed | ||
|
|
b971c97673 | ||
|
|
9b391152af | ||
|
|
6f10b87e9f | ||
|
|
21c7dd841d | ||
|
|
240ebc3d88 | ||
|
|
7c7838967d | ||
|
|
079d0a0d2f | ||
|
|
e3ff140621 | ||
|
|
bd2f4b049d | ||
|
|
d593c2d646 | ||
|
|
3a236c3af3 | ||
|
|
dafbfc3c9c | ||
|
|
60324848e6 | ||
|
|
197e393869 | ||
|
|
4cbef95b5a | ||
|
|
7435dbc4dc | ||
|
|
17f5258d82 | ||
|
|
fc5279aee9 | ||
|
|
c082338d72 | ||
|
|
c750b22bb6 | ||
|
|
dcd8c2002e | ||
|
|
48dee68014 | ||
|
|
f8b6da0d4c | ||
|
|
4383dc435a | ||
|
|
46f06a6927 | ||
|
|
ca32c6e491 | ||
|
|
b7231a35a5 | ||
|
|
321dd1929f | ||
|
|
046666b524 | ||
|
|
03c39ea378 | ||
|
|
be3eea61f3 | ||
|
|
2c0a87ddb3 | ||
|
|
709c1eb8c4 | ||
|
|
27e16052e7 | ||
|
|
d358f934a7 | ||
|
|
cf6372f45d | ||
|
|
c792f7ebd1 | ||
|
|
6bae530e53 | ||
|
|
6417f4ab0b | ||
|
|
f7bf489601 | ||
|
|
4484791794 | ||
|
|
c96c2ff97b | ||
|
|
2031f42229 | ||
|
|
8ae599fade | ||
|
|
5c0fdf0029 | ||
|
|
a52744ab9b | ||
|
|
34ba9cd812 | ||
|
|
43a75c02f9 | ||
|
|
99d2518d92 | ||
|
|
d44fb2ce81 | ||
|
|
7c18b84ff4 | ||
|
|
77b55f6193 | ||
|
|
61cfc5e44f | ||
|
|
199111e48a | ||
|
|
7db45caf20 | ||
|
|
d2d8ccd720 | ||
|
|
91f33002e3 | ||
|
|
027bc9d583 | ||
|
|
e22d785b1e | ||
|
|
31b571db52 | ||
|
|
9838d6af39 | ||
|
|
a8df9a5f5a | ||
|
|
5e09bd3818 | ||
|
|
6be09e35f8 | ||
|
|
0c03f71412 | ||
|
|
e13ac03e0c | ||
|
|
5ff6eab1f7 | ||
|
|
06466fa374 | ||
|
|
711e323d0d | ||
|
|
f024942b21 | ||
|
|
b807b8f2d2 | ||
|
|
f73ba58354 | ||
|
|
44accc4d2b | ||
|
|
32b9711ec9 | ||
|
|
7f43db089c | ||
|
|
b316108788 | ||
|
|
a05b52ce74 | ||
|
|
79fe4e3a9a | ||
|
|
49418e56cf | ||
|
|
9637865984 | ||
|
|
f9cf7d9435 | ||
|
|
9a62eb202b | ||
|
|
cfae79d0f6 | ||
|
|
415709ba91 | ||
|
|
100065bd7e | ||
|
|
ff0be0275f | ||
|
|
623b5b47f8 | ||
|
|
c1763d88c8 | ||
|
|
50d300dd7a | ||
|
|
a492bdde15 | ||
|
|
88fce4c4a0 | ||
|
|
47dedbc25d | ||
|
|
dd3736ccd5 | ||
|
|
74f767aaba | ||
|
|
6c024ae354 | ||
|
|
e4dce0d5ad | ||
|
|
d9f549e481 | ||
|
|
1c8598423d | ||
|
|
b4e25e72f2 | ||
|
|
348ecdd253 | ||
|
|
3f9249b8bc | ||
|
|
b85cb62588 | ||
|
|
c3057cab0a | ||
|
|
0c3e723c16 | ||
|
|
2534a9b931 | ||
|
|
6fbb96e54e | ||
|
|
a2a373c43f | ||
|
|
7e9235503f | ||
|
|
5337eb81af | ||
|
|
eb56953815 | ||
|
|
462185f7b1 | ||
|
|
0a6c69bd57 | ||
|
|
e9ca3566b8 | ||
|
|
7818ac870b | ||
|
|
d5a8537216 | ||
|
|
309a8d8365 | ||
|
|
e5d2dc998e | ||
|
|
a0a02922dd | ||
|
|
334f53d91a | ||
|
|
faa0b24a17 | ||
|
|
e20d60ee8e | ||
|
|
57a5e0a816 | ||
|
|
9d35550d5f | ||
|
|
94c4ad1bb2 | ||
|
|
f9cec4fedc | ||
|
|
e585353c00 | ||
|
|
a709160a40 | ||
|
|
a38e977e0d | ||
|
|
103f986fcd | ||
|
|
38a82f9d2d | ||
|
|
7af7268e7d | ||
|
|
ed1bdaa52b | ||
|
|
f28bc91133 | ||
|
|
bb3a1688bf | ||
|
|
e2d4389757 | ||
|
|
48186e883e | ||
|
|
d83e4e8732 | ||
|
|
24f8bf459e | ||
|
|
82cc513b4a | ||
|
|
86aae8ee34 | ||
|
|
7573c691ac | ||
|
|
e4690f9f96 | ||
|
|
56c52501e0 | ||
|
|
41efcc7233 | ||
|
|
9e1381bb19 | ||
|
|
81dab72efb | ||
|
|
204937da8d | ||
|
|
d9a9477ee2 | ||
|
|
dc011e22f7 | ||
|
|
cc01e95539 | ||
|
|
d686be1dcb | ||
|
|
042ca3abfb | ||
|
|
9c28ce65b8 | ||
|
|
1099445c30 | ||
|
|
d026a487c0 | ||
|
|
8c707c9c8b | ||
|
|
7641b21efd | ||
|
|
5bae39b4c0 | ||
|
|
f7376e9597 | ||
|
|
da57930dac | ||
|
|
34cc7c3b8d | ||
|
|
e3c348de36 | ||
|
|
cc16d59e15 | ||
|
|
491e5f894e | ||
|
|
4962bdb7ee | ||
|
|
d20b1359da | ||
|
|
66846cd66c | ||
|
|
6dc1173164 | ||
|
|
5065c9fe54 | ||
|
|
caea1a3adb | ||
|
|
c60f2e85db | ||
|
|
bfe7c61a99 | ||
|
|
fab5f8f49e | ||
|
|
ec0e34c882 | ||
|
|
c9cf63a982 | ||
|
|
07f62abccb | ||
|
|
78dddb72bd | ||
|
|
2f0f875c5a | ||
|
|
3f116b1096 | ||
|
|
48728e3762 | ||
|
|
7dd0ff09fb | ||
|
|
5c4fffa0e7 | ||
|
|
6d3d01a29a | ||
|
|
1b3f890441 | ||
|
|
52368885d2 | ||
|
|
7df05960b1 | ||
|
|
b665e5b5ba | ||
|
|
7a99fd6b0b | ||
|
|
9de27926c7 | ||
|
|
90b00e8f24 | ||
|
|
1ae8235a50 | ||
|
|
6537ce19d7 | ||
|
|
9b6feda08f | ||
|
|
d5761b9afd | ||
|
|
ffc07424db | ||
|
|
630b0fb6c2 | ||
|
|
c937cade01 | ||
|
|
d1dbece28c | ||
|
|
ad27d8de61 | ||
|
|
b2c772c580 | ||
|
|
104053e29c | ||
|
|
066b3814d3 | ||
|
|
c46275962b | ||
|
|
20a3f101a3 | ||
|
|
ae642c0a11 | ||
|
|
127eb6dce9 | ||
|
|
0f98bcc6dd | ||
|
|
f8c8d40614 | ||
|
|
ce7b2d983f | ||
|
|
3be54a813a | ||
|
|
cb5e45c604 | ||
|
|
8741ec12a9 | ||
|
|
2d8fd3d2e2 | ||
|
|
f62f976e58 | ||
|
|
8fd3815a9f | ||
|
|
764d6e6a49 | ||
|
|
fe28e1b1cf | ||
|
|
9cd71e5eda | ||
|
|
e64d7177bb | ||
|
|
650e72e94c | ||
|
|
9d77fb4ab9 | ||
|
|
6413ab668a | ||
|
|
48d5e75641 | ||
|
|
5e26facaef | ||
|
|
b973fecff0 | ||
|
|
9387f21b74 | ||
|
|
55ede08614 | ||
|
|
3132a29197 | ||
|
|
db6907dcde | ||
|
|
e5803d2b04 | ||
|
|
9404ae57bb | ||
|
|
6923a837fa | ||
|
|
b334cedb40 | ||
|
|
e64c899cfd | ||
|
|
bed05edb42 | ||
|
|
86548dd4aa | ||
|
|
6c9c82948e | ||
|
|
a0f044d52e | ||
|
|
5dcc3fe33a | ||
|
|
fb8c28b508 | ||
|
|
754ef4c4a5 | ||
|
|
4e8477d098 | ||
|
|
6c37e1ae25 | ||
|
|
5082ad7b99 | ||
|
|
84da36d953 | ||
|
|
442854886e | ||
|
|
348682b400 | ||
|
|
e1a5513c58 | ||
|
|
8d28c0007a | ||
|
|
ea577c46ca | ||
|
|
2db3689b79 | ||
|
|
22598a79eb | ||
|
|
cac3be82a9 | ||
|
|
27c229b676 | ||
|
|
c7230ba6d6 | ||
|
|
21b15f283d | ||
|
|
73d00e625b | ||
|
|
9573db6aa1 | ||
|
|
dd7692002f | ||
|
|
e2fdc9adaa | ||
|
|
8deaad5042 | ||
|
|
47e09cf412 | ||
|
|
c833aa854c | ||
|
|
1e305f01b7 | ||
|
|
d3ef3c16a2 | ||
|
|
e6a8d3cb34 | ||
|
|
e2ba157fdc | ||
|
|
f3dc3805c9 | ||
|
|
296b68c205 | ||
|
|
29e81d44bd | ||
|
|
1371ace343 | ||
|
|
c652e63b6d | ||
|
|
e744b616b1 | ||
|
|
148a01079b | ||
|
|
4ad999ca16 | ||
|
|
2855ba7133 | ||
|
|
c607db1372 | ||
|
|
e58fc32fc6 | ||
|
|
fbd937e2b0 | ||
|
|
415cbf29b7 | ||
|
|
ddbf6e923b | ||
|
|
27b1fa62ca | ||
|
|
31c6092c78 | ||
|
|
deba8f3ba2 | ||
|
|
ed6d7931e2 | ||
|
|
205be6a330 | ||
|
|
649da71449 | ||
|
|
aea19e5a83 | ||
|
|
7ccdfb76ed | ||
|
|
3aaa623804 | ||
|
|
f9e5509beb | ||
|
|
0b31a69064 | ||
|
|
e2d5e8958c | ||
|
|
99fb8e010d | ||
|
|
aa45d2e68f | ||
|
|
da57c38ddd | ||
|
|
79e3ed3a1b | ||
|
|
f357b60ceb | ||
|
|
02f018c1c7 | ||
|
|
bc856ddec6 | ||
|
|
3edd7be86d | ||
|
|
173319aa8c | ||
|
|
16a0828ae5 | ||
|
|
ffe583b52c | ||
|
|
150c71a6d4 | ||
|
|
022b094bda | ||
|
|
0835f8809b | ||
|
|
6043547972 | ||
|
|
3c2cc7de52 | ||
|
|
5245010167 | ||
|
|
bd47e69c25 | ||
|
|
1ff23b8bab | ||
|
|
702f576f0a | ||
|
|
b673c92461 | ||
|
|
10ce5ebcc9 | ||
|
|
8dca0494b6 | ||
|
|
6db3d0896a | ||
|
|
5e363fd4c8 | ||
|
|
6775ad8404 | ||
|
|
4f63213dfc | ||
|
|
b032910ceb | ||
|
|
c137d938de | ||
|
|
f5dcd9eb45 | ||
|
|
bd4f97335d | ||
|
|
4c52dceb7b | ||
|
|
a142def001 | ||
|
|
740d177e67 | ||
|
|
d9966a0fe7 | ||
|
|
680efd50b0 | ||
|
|
2f8b4932ed | ||
|
|
e7cb121810 | ||
|
|
af1e3009a6 | ||
|
|
84d7fe2ccb | ||
|
|
c4ebf4d308 | ||
|
|
6fc96deb11 | ||
|
|
918ceb4852 | ||
|
|
54c94a5ca6 | ||
|
|
27721c795e | ||
|
|
6888fcf285 | ||
|
|
f42e0ea069 | ||
|
|
d1c1808087 | ||
|
|
91c4ed14fe | ||
|
|
4989f8a6c1 | ||
|
|
f59fd90293 | ||
|
|
359bb002dc | ||
|
|
64d7de6b7a | ||
|
|
c476669262 | ||
|
|
85e56f7586 | ||
|
|
cb84b704f6 | ||
|
|
e4bb6b99bd | ||
|
|
96a8523eac | ||
|
|
107537d5dd | ||
|
|
69aee81549 | ||
|
|
0d0fd61bb6 | ||
|
|
462be89c1a | ||
|
|
001ce36336 | ||
|
|
146dbefd6c | ||
|
|
3aff1b4c1f | ||
|
|
d45bedac58 | ||
|
|
d9e7c47899 | ||
|
|
c1a42d34f7 | ||
|
|
3ed0d5cc90 | ||
|
|
7908c80d28 | ||
|
|
5e587a7664 | ||
|
|
23332ee670 | ||
|
|
25ee93d5eb | ||
|
|
91981c53b5 | ||
|
|
564bec6796 | ||
|
|
30e99696e3 | ||
|
|
4a1bf3e7a1 | ||
|
|
9a1e6bbba9 | ||
|
|
fc3e1b1da0 | ||
|
|
4dd9e6f1e1 | ||
|
|
eff3b4e49d | ||
|
|
765ca50f96 | ||
|
|
ee017e064f | ||
|
|
e5b8b2e82c | ||
|
|
9eac2f92e5 | ||
|
|
4e91173047 | ||
|
|
920c8f96e0 | ||
|
|
39ee81ff15 | ||
|
|
ba4fd4844e | ||
|
|
ad2e526b2b | ||
|
|
ceae98b4f9 | ||
|
|
ab85e54a92 | ||
|
|
b9519ff074 | ||
|
|
9e258d6ce0 | ||
|
|
6c7a5c6e06 | ||
|
|
7d9bef0190 | ||
|
|
4a53178cba | ||
|
|
64b585016e | ||
|
|
506160deda | ||
|
|
8133c76948 | ||
|
|
66c06d91c3 | ||
|
|
2fcc02b5d5 | ||
|
|
ca9d46d909 | ||
|
|
ae6df7f67a | ||
|
|
a6a27a81fd | ||
|
|
4299b7acff | ||
|
|
8d7efcc06a | ||
|
|
2ea0c7474f | ||
|
|
45bc1709f5 | ||
|
|
e6ea2d7df3 | ||
|
|
6737281be8 | ||
|
|
cd117e66f6 | ||
|
|
02569b83e6 | ||
|
|
693229ceac | ||
|
|
e3592d1149 | ||
|
|
d722b0df55 | ||
|
|
7eabf070a8 | ||
|
|
672ba0f42a | ||
|
|
593b40aaee | ||
|
|
066ef3f0b7 | ||
|
|
0a8384c628 | ||
|
|
9c8849ad3b | ||
|
|
5f8bfc558c | ||
|
|
e318bf9d78 | ||
|
|
26339db85b | ||
|
|
6e910a0026 | ||
|
|
fd2ef30b4a | ||
|
|
053d69c09c | ||
|
|
3982cd377a | ||
|
|
be045113f3 | ||
|
|
2675d79c92 | ||
|
|
81061ba6a6 | ||
|
|
d1bc021255 | ||
|
|
3884430faa | ||
|
|
c2dd492aa1 | ||
|
|
13c37ba869 | ||
|
|
588e3c145a | ||
|
|
8d2370d552 | ||
|
|
acb1dc900a | ||
|
|
aae05767d6 | ||
|
|
d28dd31460 | ||
|
|
6c31fc82d0 | ||
|
|
65e7944d4d | ||
|
|
0acf2d2db9 | ||
|
|
15b3ea4a23 | ||
|
|
1ae46af7df | ||
|
|
08139a3845 | ||
|
|
03c2a47410 | ||
|
|
f768e38d18 | ||
|
|
ee28887b91 | ||
|
|
a165447c3c | ||
|
|
d559a3ee76 | ||
|
|
602627e17a | ||
|
|
6024c9e654 | ||
|
|
83580033d3 | ||
|
|
d468c906dc | ||
|
|
3115897c92 | ||
|
|
4526550376 | ||
|
|
2d955137d7 | ||
|
|
66130dacdf | ||
|
|
ff730e2271 | ||
|
|
f827c6cbdd | ||
|
|
ff03cc6c28 | ||
|
|
39852d9dd0 | ||
|
|
ec265ac11c | ||
|
|
94d587e768 | ||
|
|
c939c556ea | ||
|
|
9f896d7d3b | ||
|
|
13825c7a5f | ||
|
|
cf540c08df | ||
|
|
49169806ff | ||
|
|
b59adba472 | ||
|
|
17e1f99b65 | ||
|
|
840bafe496 | ||
|
|
f0e1d22791 | ||
|
|
9c6515bdd2 | ||
|
|
8c2339cdde | ||
|
|
ce4329c7b8 | ||
|
|
824d1e78d9 | ||
|
|
04df6c05f2 | ||
|
|
1f4c9d2ddb | ||
|
|
fa43c99dd9 | ||
|
|
4b9a21a5a6 | ||
|
|
6cc0a1f8fa | ||
|
|
82c6b75194 | ||
|
|
1705621ccb | ||
|
|
80691061fc | ||
|
|
ebe6ed7e76 | ||
|
|
55164953df | ||
|
|
35bca0c0f7 | ||
|
|
52e1ddd014 | ||
|
|
ca692e4b28 | ||
|
|
7648da2334 | ||
|
|
4ee1f6229f | ||
|
|
22bce37a9a | ||
|
|
05042d96c3 | ||
|
|
e9dc9f0e0d | ||
|
|
3b4a9c4714 | ||
|
|
9c9d2d72f0 | ||
|
|
16deddbbb4 | ||
|
|
eb70262ad6 | ||
|
|
fd6e973668 | ||
|
|
f1dd369fa7 | ||
|
|
c012977784 | ||
|
|
32c084ea0a | ||
|
|
8119ec68e8 | ||
|
|
af8ec817bc | ||
|
|
cc1f73fee4 | ||
|
|
db264d9f14 | ||
|
|
089baaff0e | ||
|
|
9498ae5f00 | ||
|
|
24b105f606 | ||
|
|
8b86540b80 | ||
|
|
4905c519b4 | ||
|
|
bd54366d5c | ||
|
|
769d805b39 | ||
|
|
9c59c3ebfa | ||
|
|
63be9da1d1 | ||
|
|
bc05aeaa80 | ||
|
|
a0a4d9e7af | ||
|
|
a8bb356613 | ||
|
|
4ece847201 | ||
|
|
d80f90d9d7 | ||
|
|
863fb68f1b | ||
|
|
87a5620ccb | ||
|
|
a6e6ac7f30 | ||
|
|
9f54982f37 | ||
|
|
1fee34974f | ||
|
|
15aabd341f | ||
|
|
6d381a166b | ||
|
|
ff1ab54376 | ||
|
|
896584239a | ||
|
|
e88e73cd68 | ||
|
|
46e7fe5ec7 | ||
|
|
515d56509c | ||
|
|
96eecd5c34 | ||
|
|
1b37d5f074 | ||
|
|
bcbbf99cab | ||
|
|
16f9e09e86 | ||
|
|
eca58d39f7 | ||
|
|
bb432c9694 | ||
|
|
5defe8eb53 | ||
|
|
bf0eb42fca | ||
|
|
b7e0ea700e | ||
|
|
3b2889d20b | ||
|
|
7dcd57baa4 | ||
|
|
54d01d03da | ||
|
|
7b50a8e168 | ||
|
|
b020ae84a7 | ||
|
|
c6c93ffdfe | ||
|
|
0a85fce882 | ||
|
|
3ac3996e39 | ||
|
|
6d48ea904b | ||
|
|
19d4b1b540 | ||
|
|
510485a9b2 | ||
|
|
a27da34b8c | ||
|
|
024ed51b1a | ||
|
|
96d0c006cf | ||
|
|
e8718ce104 | ||
|
|
b3aa0ec686 | ||
|
|
b164588b48 | ||
|
|
37e88c23cb | ||
|
|
697893e8c9 | ||
|
|
5a0a51b349 | ||
|
|
6e1b4d97ff | ||
|
|
3e6cb11cc0 | ||
|
|
f8a9c5c360 | ||
|
|
bea05f22e0 | ||
|
|
5653a8f6a0 | ||
|
|
8e63d53ef4 | ||
|
|
28aa40ee2b | ||
|
|
175bcda7e9 | ||
|
|
70a9237951 | ||
|
|
36534a7556 | ||
|
|
becb98cfc5 | ||
|
|
45631d04b6 | ||
|
|
ed432c52fb | ||
|
|
23b86241a3 | ||
|
|
0a746632a3 | ||
|
|
69c8b34d89 | ||
|
|
08d58048d2 | ||
|
|
5de6eaa0ae | ||
|
|
a304ba0fb2 | ||
|
|
f82156b389 | ||
|
|
790914075d | ||
|
|
4411497744 | ||
|
|
80bd703372 | ||
|
|
991386e444 | ||
|
|
28c74f33c1 | ||
|
|
f972004abc | ||
|
|
f82a2b6062 | ||
|
|
feb08f617e | ||
|
|
150382aa5a | ||
|
|
a3e2de0bc1 | ||
|
|
fd8df06cb5 | ||
|
|
8666a242d2 | ||
|
|
6dac88a0e3 | ||
|
|
38abc232bb | ||
|
|
9a0c7a8501 | ||
|
|
be832fcf58 | ||
|
|
6d2ca36511 | ||
|
|
036a0bc3db | ||
|
|
3616d74c0a | ||
|
|
6b3dc0c9af | ||
|
|
f7af72f169 | ||
|
|
a07b2e0355 | ||
|
|
9f7bdacf5a | ||
|
|
7af9b9d349 | ||
|
|
34e58cad37 | ||
|
|
cc829a2e75 | ||
|
|
5a2cf1c60c | ||
|
|
4783df3d0c | ||
|
|
f3ca0d1f46 | ||
|
|
38415ec9d2 | ||
|
|
f99afcbbf1 | ||
|
|
0ff43ff84c | ||
|
|
bb2069f68d | ||
|
|
269863da46 | ||
|
|
d1e5428b42 | ||
|
|
378a9edf8e | ||
|
|
2c4130cc64 | ||
|
|
0c80c440e7 | ||
|
|
0ba7fa0593 | ||
|
|
13805836bd | ||
|
|
d062fbc0a7 | ||
|
|
1b4fb95cc4 | ||
|
|
cec052d755 | ||
|
|
480571512b | ||
|
|
d862cae98e | ||
|
|
156d1e10a1 | ||
|
|
9d5d10712d | ||
|
|
681afc41ce | ||
|
|
9a7f4315c2 | ||
|
|
fb4fd4f3ba | ||
|
|
024f5f1d08 | ||
|
|
d9bf83d8c7 | ||
|
|
3a6f221840 | ||
|
|
745e21d2a3 | ||
|
|
acd15893d1 | ||
|
|
4991f6e2be | ||
|
|
e32ebec736 | ||
|
|
55a0d1156f | ||
|
|
7f5d2843c1 | ||
|
|
235939064e | ||
|
|
7b44dc4fbf | ||
|
|
5f98c3eca5 | ||
|
|
0f7aa54c6c | ||
|
|
80fbab27d1 | ||
|
|
e22046882b | ||
|
|
86711161f8 | ||
|
|
e261f4c4c9 | ||
|
|
20f81e7f01 | ||
|
|
74fceed06d | ||
|
|
dd684002c5 | ||
|
|
b2789c3195 | ||
|
|
607460080b | ||
|
|
fd5a9537d4 | ||
|
|
28e0511047 | ||
|
|
c32209c1f0 | ||
|
|
d65f022000 | ||
|
|
ce7e44c551 | ||
|
|
4a714f046a | ||
|
|
23718d229c | ||
|
|
aa61f571b0 | ||
|
|
beb3ab5cd1 | ||
|
|
3002f47e02 | ||
|
|
fd5d0212e9 | ||
|
|
4aeb0ad372 | ||
|
|
5f21b127a8 | ||
|
|
657370b819 | ||
|
|
df2e9b2c85 | ||
|
|
50e83206b5 | ||
|
|
0fbbf2e389 | ||
|
|
16df722b75 | ||
|
|
f47532c299 | ||
|
|
dc2534478a | ||
|
|
8cd4837993 | ||
|
|
cea8fd7c0e | ||
|
|
e9356c4424 | ||
|
|
9f4a77d8d6 | ||
|
|
8a9fe8eed5 | ||
|
|
28d9269e36 | ||
|
|
13d25945a6 | ||
|
|
235d5df5e9 | ||
|
|
3583b74262 | ||
|
|
ea1dbd323c | ||
|
|
e3fcdd5218 | ||
|
|
300eb08f11 | ||
|
|
832788b287 | ||
|
|
bd2c95b396 | ||
|
|
9f93d8a9c1 | ||
|
|
467f611e53 | ||
|
|
7978432a11 | ||
|
|
1e80e94bc0 | ||
|
|
8c09ef5f62 | ||
|
|
0d9d47f938 | ||
|
|
094628f55c | ||
|
|
fc80d13af3 | ||
|
|
af17d924ae | ||
|
|
ae2b34db0a | ||
|
|
a41a055579 | ||
|
|
68d2f59846 | ||
|
|
62b4f6cc38 | ||
|
|
8df2aff0ee | ||
|
|
1deb42e91f | ||
|
|
d6f63e03e8 | ||
|
|
f4b483581a | ||
|
|
be38ddc3b9 | ||
|
|
1a481d20c7 | ||
|
|
94767e3e8a | ||
|
|
f5af0e34d9 | ||
|
|
a7c986e1b4 | ||
|
|
389b6ad717 | ||
|
|
f6bdebb38e | ||
|
|
c934609fce | ||
|
|
dc0c975a36 | ||
|
|
4420c2b1b3 | ||
|
|
a850046388 | ||
|
|
a7c4cc2fd1 | ||
|
|
0d02d93ebe | ||
|
|
fe6e96f8f2 | ||
|
|
6b48d20817 | ||
|
|
904d485839 | ||
|
|
260366fb01 | ||
|
|
1543ccd88a | ||
|
|
b01d71516d | ||
|
|
687750fd18 | ||
|
|
e00001a2b6 | ||
|
|
6a26639453 | ||
|
|
eb8dd4eeee | ||
|
|
3cacc9fb00 | ||
|
|
b0cddc81fe | ||
|
|
28cfae03a8 | ||
|
|
53b9acf83d | ||
|
|
7ee148ea62 | ||
|
|
f8b6f321e0 | ||
|
|
76e4c18e80 | ||
|
|
7c0b26b7b8 | ||
|
|
1203aae5b4 | ||
|
|
6438a24529 | ||
|
|
c127653d93 | ||
|
|
4592ffffa9 | ||
|
|
64a3d5083a | ||
|
|
9c07112283 | ||
|
|
2dad313353 | ||
|
|
08dd69217d | ||
|
|
67673ddc71 | ||
|
|
df6a7eb8dc | ||
|
|
3b25e2e41b | ||
|
|
ac2fa1ab4e | ||
|
|
c44cd06bb5 | ||
|
|
d955b2865b | ||
|
|
b8a7caef10 | ||
|
|
c615c59fcf | ||
|
|
41f49860b5 | ||
|
|
d0e4125ccd | ||
|
|
84a432dc9f | ||
|
|
214cf101da | ||
|
|
dee0745745 | ||
|
|
b4a26b4bf2 | ||
|
|
313f865de1 | ||
|
|
c2c8494874 | ||
|
|
b9d0bcd3d3 | ||
|
|
241da7f67a | ||
|
|
dd95313776 | ||
|
|
70f5e6fd7f | ||
|
|
0e739d4b48 | ||
|
|
ab1e8f2b4f | ||
|
|
0770452f78 | ||
|
|
1d6c51d6f4 | ||
|
|
d56074df36 | ||
|
|
ccd20e5692 | ||
|
|
ed14e94923 | ||
|
|
bb7195e8a2 | ||
|
|
33661acb4b | ||
|
|
13104ed98f | ||
|
|
42045eaa0a | ||
|
|
2112dbf526 | ||
|
|
3343b6ea9c | ||
|
|
90193575e4 | ||
|
|
c7d5369cb1 | ||
|
|
5deb6bf709 | ||
|
|
97bb40280d | ||
|
|
e9eb0605f2 | ||
|
|
04a37961ae | ||
|
|
871fb02b11 | ||
|
|
a6e789009b | ||
|
|
5b3204bd26 | ||
|
|
29c92ce408 | ||
|
|
53f641a48d | ||
|
|
4f9d644138 | ||
|
|
0dd8571d4b | ||
|
|
d8fa0a6287 | ||
|
|
938b713f19 | ||
|
|
45e96b7070 | ||
|
|
8c7753024d | ||
|
|
fc12fdc610 | ||
|
|
1474977e37 | ||
|
|
3b853775b6 | ||
|
|
e85d6ecf3b | ||
|
|
a1424ef5ff | ||
|
|
88f480a377 | ||
|
|
090173d00e | ||
|
|
1a146f10c6 | ||
|
|
d1d89caccf | ||
|
|
d01f2e4a88 | ||
|
|
89a64eda09 | ||
|
|
a0ce7db4e8 | ||
|
|
02e279fdc3 | ||
|
|
efbbdf4f7e | ||
|
|
dc417fedfb | ||
|
|
2eee6bc620 | ||
|
|
abd897094d | ||
|
|
8091b6a338 | ||
|
|
73fcb2d5bf | ||
|
|
60ff1d8870 | ||
|
|
bc3188e84e | ||
|
|
dfb4ad0c14 | ||
|
|
6c4a2657ec | ||
|
|
750d7a1206 | ||
|
|
e74e3b090e | ||
|
|
9825e485a5 | ||
|
|
5a74dcaf87 | ||
|
|
816e46ceb6 | ||
|
|
38376f5646 | ||
|
|
46bd62f5fc | ||
|
|
e642592db8 | ||
|
|
fe4719c8d3 | ||
|
|
f25d71b580 | ||
|
|
6df48b9263 | ||
|
|
64caa87235 | ||
|
|
fbf0b19455 | ||
|
|
87b70bc260 | ||
|
|
9a110356db | ||
|
|
887eadb372 | ||
|
|
024659d004 | ||
|
|
3b0a099369 | ||
|
|
89445ddd14 | ||
|
|
f31010756c | ||
|
|
ea673ccb5f | ||
|
|
0656b5a12a | ||
|
|
19c0a37ade | ||
|
|
5989f52f96 | ||
|
|
2a9d9809d9 | ||
|
|
5c7c7419a4 | ||
|
|
a1b20cc12f | ||
|
|
4a5644a927 | ||
|
|
61a3160575 | ||
|
|
f80c8d1d66 | ||
|
|
cd26790ae5 | ||
|
|
94349b1dee | ||
|
|
dbbb22e43a | ||
|
|
8425bdde1f | ||
|
|
7f11098a48 | ||
|
|
2f8a7d1320 | ||
|
|
a40fab6b42 | ||
|
|
0aebfa4e60 | ||
|
|
1ce9b925fe | ||
|
|
cb51fffea8 | ||
|
|
67d0d18b9d | ||
|
|
b4e5aa1fe6 | ||
|
|
85cf2de84f | ||
|
|
bdbab771f7 | ||
|
|
3d64e51638 | ||
|
|
8a42c06bad | ||
|
|
7b966b80c3 | ||
|
|
46a820b57a | ||
|
|
0805958e36 | ||
|
|
07c975ccd6 | ||
|
|
459b550258 | ||
|
|
f20edf1aa0 | ||
|
|
8e70ccb770 | ||
|
|
7664907229 | ||
|
|
d88d8e9f3b | ||
|
|
0d695a4bf8 | ||
|
|
f0ee618d87 | ||
|
|
a0c98e1faf | ||
|
|
3785926257 | ||
|
|
69ca455bdb | ||
|
|
c962304565 | ||
|
|
3b42543f08 | ||
|
|
72ce778e18 | ||
|
|
71ae6cf960 | ||
|
|
a96ac37288 | ||
|
|
35297a13d3 | ||
|
|
a82aa8144d | ||
|
|
e431727937 | ||
|
|
6d2307efdf | ||
|
|
89c1811d83 | ||
|
|
7ed31eb9ab | ||
|
|
92cdae1baf | ||
|
|
eed49bb6d4 | ||
|
|
3ebe5a36d0 | ||
|
|
80563bd542 | ||
|
|
d81ddbd9e9 | ||
|
|
1474e92040 | ||
|
|
9e711287fe | ||
|
|
3b5dcfc59b | ||
|
|
58b3f46adc | ||
|
|
f5f0ffbdc8 | ||
|
|
0f93c7bc60 | ||
|
|
f6587f8029 | ||
|
|
eca7ecefcc | ||
|
|
9ab8fe4ed0 | ||
|
|
ffa1fdd515 | ||
|
|
b50de077ba | ||
|
|
5a1786c958 | ||
|
|
cb53075bb9 | ||
|
|
83c5178cc8 | ||
|
|
ca987490b0 | ||
|
|
149ec0f4d7 | ||
|
|
283065ee76 | ||
|
|
a710cf5055 | ||
|
|
f7a6b624f3 | ||
|
|
c3f4ef4fc2 | ||
|
|
b8b84c55ef | ||
|
|
42afbbd805 | ||
|
|
e96cad5dad | ||
|
|
4acb72aea5 | ||
|
|
dba1b78ee9 | ||
|
|
34f72f2772 | ||
|
|
848ffe53d5 | ||
|
|
5cda6ef8c7 | ||
|
|
b0458208db | ||
|
|
bad418cebf | ||
|
|
68cc338736 | ||
|
|
9e960ed19b | ||
|
|
ad56f72500 | ||
|
|
485ffe9c78 | ||
|
|
b647d828f9 | ||
|
|
0e851f22a0 | ||
|
|
9d83bf648d | ||
|
|
dfedb6ef45 | ||
|
|
9877f33771 | ||
|
|
255ab82c4d | ||
|
|
97b506cc12 | ||
|
|
7e2c11dd03 | ||
|
|
dc52c816eb | ||
|
|
2718b7bfc9 | ||
|
|
638093d78e | ||
|
|
cb4e514425 | ||
|
|
2754d82c9e | ||
|
|
c0c5c91c5c | ||
|
|
65f086c70a | ||
|
|
cbda444af7 | ||
|
|
c4c4684068 | ||
|
|
220cde48c9 | ||
|
|
d8fe5ec64e | ||
|
|
54ba5b1eec | ||
|
|
f4f35c1fc9 | ||
|
|
f00f22d3b2 | ||
|
|
d31c8fe98b | ||
|
|
50846b6592 | ||
|
|
7648518c28 | ||
|
|
637b6197cb | ||
|
|
abf2c52e35 | ||
|
|
e267605bab | ||
|
|
465468bad4 | ||
|
|
0a9f817a30 | ||
|
|
b48d790c0d | ||
|
|
1d71209325 | ||
|
|
b38abe28a2 | ||
|
|
36eeb578ee | ||
|
|
e8a9590631 | ||
|
|
eae9beb46a | ||
|
|
eb3cadf75a | ||
|
|
b4e3e71a30 | ||
|
|
e682c44c1a | ||
|
|
638079f511 | ||
|
|
8bcc1646b8 | ||
|
|
20395c16be | ||
|
|
54f54ad773 | ||
|
|
62995c7bc3 | ||
|
|
eec10c81dc | ||
|
|
e51061c984 | ||
|
|
792702b14f | ||
|
|
34320aa35c | ||
|
|
f7274737ae | ||
|
|
ab77bbdf55 | ||
|
|
b75be8eb52 | ||
|
|
33309dd70a | ||
|
|
1a3953f242 | ||
|
|
2cf67a6c1c | ||
|
|
973fc653be | ||
|
|
4a939ace77 | ||
|
|
0a8b4da8ca | ||
|
|
989ef64ca9 | ||
|
|
9b150f5864 | ||
|
|
170dad768a | ||
|
|
680cb07391 | ||
|
|
010366234e | ||
|
|
be2a01b7ad | ||
|
|
6159f7e02f | ||
|
|
c4409967f3 | ||
|
|
2770f46745 | ||
|
|
057b05a693 | ||
|
|
f7c4ab8861 | ||
|
|
44910c5345 | ||
|
|
1970eb94af | ||
|
|
4e792729a6 | ||
|
|
733a3dc4e0 | ||
|
|
f9c2039ed7 | ||
|
|
82625ee5b5 | ||
|
|
c574d4c2fc | ||
|
|
a24ea48680 | ||
|
|
de1544624c | ||
|
|
b5f9f2ca43 | ||
|
|
5cd46f5ae1 | ||
|
|
107055504f | ||
|
|
5f72c9f9d5 | ||
|
|
55f2a0ef2f | ||
|
|
6f23b0d672 |
@ -1,17 +1,27 @@
|
||||
.DS_Store
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
out/
|
||||
data/uploads/*
|
||||
!data/uploads/sample.jpg
|
||||
data/db/*
|
||||
!data/db/slideshow.json.dist
|
||||
/data/uploads/*
|
||||
!/data/uploads/.gitkeep
|
||||
/data/db/*
|
||||
!/data/db/.gitkeep
|
||||
/plugins/user/*
|
||||
!/plugins/user/.gitkeep
|
||||
*.lock
|
||||
__pycache__/
|
||||
*.log
|
||||
var/run/*
|
||||
!var/run/.gitkeep
|
||||
.env
|
||||
/var/run/*
|
||||
!/var/run/.gitkeep
|
||||
*.swp
|
||||
.env
|
||||
venv/
|
||||
node_modules
|
||||
tmp.py
|
||||
!/plugins/user/Dashboard
|
||||
/data/www/plugins/*
|
||||
!/data/www/plugins/.gitkeep
|
||||
/var/run/storage/*
|
||||
!/var/run/storage/.gitkeep
|
||||
11
.env.dist
@ -1,4 +1,11 @@
|
||||
# Core
|
||||
DEBUG=false
|
||||
PORT=5000
|
||||
SECRET_KEY=ANY_SECRET_KEY_HERE
|
||||
AUTOCONFIGURE_LX_FILE=/home/pi/.config/lxsession/LXDE-pi/autostart # Replace by "/dev/null" if not needed
|
||||
|
||||
# Application Server
|
||||
PORT=5000
|
||||
BIND=0.0.0.0
|
||||
EXTERNAL_STORAGE_MOUNTPOINT=%application_dir%/var/run/storage
|
||||
|
||||
# Misc
|
||||
DEMO=false
|
||||
|
||||
1
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1 @@
|
||||
custom: https://paypal.me/jierka
|
||||
46
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: "[BUG] "
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Hardware (please complete the following information):**
|
||||
- *Device*: `Raspberry Xb+`
|
||||
- *OS*: `Raspbian vXX` [use command *lsb_release -a*]
|
||||
- *Architecture*: `armvX` [use command *uname -a*]
|
||||
|
||||
**Sofware (please complete the following information):**
|
||||
- *Obscreen version*: `v1.XX`
|
||||
- *Installation method*: `Docker` or `System`
|
||||
- *Browser*: `Chromium` or `Chrome`
|
||||
- *Player method*: `Systemd with obscreen-player.service` or `Manually`
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
||||
**Extra (Recommended)**
|
||||
You can send us a backup of your data to help speed up the debugging process. Please ensure that no sensitive data is included in your slides and follow these steps:
|
||||
```bash
|
||||
cd obscreen
|
||||
tar -vcf data.tar data/
|
||||
```
|
||||
Afterward, attach the `data.tar` file to your issue attachment.
|
||||
21
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: "[FEATURE] "
|
||||
labels: enhancement
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
|
||||
54
.github/actions/common-docker-build/action.yml
vendored
Executable file
@ -0,0 +1,54 @@
|
||||
name: 'Common Docker Build'
|
||||
|
||||
description: 'Reusable action for building and pushing Docker images'
|
||||
|
||||
inputs:
|
||||
build_tags:
|
||||
description: 'Tags for the Docker build'
|
||||
required: true
|
||||
manifest_tags:
|
||||
description: 'Tags for the Docker manifest'
|
||||
required: true
|
||||
flavor:
|
||||
description: 'Flavor for the Docker manifest'
|
||||
required: true
|
||||
docker_username:
|
||||
description: 'DockerHub username'
|
||||
required: true
|
||||
docker_password:
|
||||
description: 'DockerHub password'
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ inputs.docker_username }}
|
||||
password: ${{ inputs.docker_password }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
push: true
|
||||
tags: ${{ inputs.build_tags }}
|
||||
platforms: linux/amd64, linux/arm64/v8, linux/arm/v7
|
||||
|
||||
- name: Create and push manifest
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: csmith1865/obscreen
|
||||
tags: ${{ inputs.manifest_tags }}
|
||||
flavor: ${{ inputs.flavor }}
|
||||
41
.github/workflows/build-nightly.yml
vendored
Executable file
@ -0,0 +1,41 @@
|
||||
name: Nightly build synced with develop and push docker image
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-and-push-nightly:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/develop'
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: develop
|
||||
|
||||
- name: Set up Git
|
||||
run: |
|
||||
git config --global user.name 'github-actions'
|
||||
git config --global user.email 'github-actions@github.com'
|
||||
|
||||
- name: Sync nightly branch
|
||||
run: |
|
||||
git checkout nightly
|
||||
git merge develop --no-edit
|
||||
git push origin nightly --force
|
||||
|
||||
- name: Checkout nightly branch
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: nightly
|
||||
|
||||
- name: Call common build workflow
|
||||
uses: ./.github/actions/common-docker-build
|
||||
with:
|
||||
build_tags: csmith1865/obscreen:nightly
|
||||
manifest_tags: type=semver,pattern=nightly
|
||||
flavor: ""
|
||||
docker_username: ${{ secrets.DOCKER_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
28
.github/workflows/build-pr.yml
vendored
Executable file
@ -0,0 +1,28 @@
|
||||
name: PR build and push docker image
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, labeled]
|
||||
push:
|
||||
branches-ignore:
|
||||
- master
|
||||
- develop
|
||||
- nightly
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-and-push-pr:
|
||||
runs-on: ubuntu-latest
|
||||
if: contains(github.event.pull_request.labels.*.name, 'build-pr')
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Call common build workflow
|
||||
uses: ./.github/actions/common-docker-build
|
||||
with:
|
||||
build_tags: csmith1865/obscreen:pr-${{ github.event.pull_request.number }}
|
||||
manifest_tags: type=semver,pattern=pr
|
||||
flavor: ""
|
||||
docker_username: ${{ secrets.DOCKER_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
31
.github/workflows/build-release.yml
vendored
Executable file
@ -0,0 +1,31 @@
|
||||
name: Release build and push docker image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
paths:
|
||||
- 'version.txt'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-and-push-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Read Version
|
||||
id: version
|
||||
run: echo "::set-output name=VERSION::$(cat version.txt)"
|
||||
|
||||
- name: Call common build workflow
|
||||
uses: ./.github/actions/common-docker-build
|
||||
with:
|
||||
build_tags: |
|
||||
csmith1865/obscreen:v${{ steps.version.outputs.VERSION }}
|
||||
csmith1865/obscreen:latest
|
||||
manifest_tags: type=semver,pattern=v${{ steps.version.outputs.VERSION }}
|
||||
flavor: latest=true
|
||||
docker_username: ${{ secrets.DOCKER_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
51
.github/workflows/master.yml
vendored
@ -1,51 +0,0 @@
|
||||
name: Build and Push Docker images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- 'version.txt'
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
build-and-push:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Read Version
|
||||
id: version
|
||||
run: echo "::set-output name=VERSION::$(cat version.txt)"
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
push: true
|
||||
tags: |
|
||||
jierka/obscreen:v${{ steps.version.outputs.VERSION }}
|
||||
jierka/obscreen:latest
|
||||
platforms: linux/amd64, linux/arm64/v8, linux/arm/v7
|
||||
|
||||
- name: Create and push manifest
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: jierka/obscreen
|
||||
tags: type=semver,pattern=v{{version}}
|
||||
flavor: |
|
||||
latest=true
|
||||
24
.gitignore
vendored
@ -1,18 +1,30 @@
|
||||
.DS_Store
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
out/
|
||||
data/uploads/*
|
||||
!data/uploads/sample.jpg
|
||||
data/db/*
|
||||
!data/db/slideshow.json.dist
|
||||
/data/uploads/*
|
||||
!/data/uploads/.gitkeep
|
||||
/data/db/*
|
||||
!/data/db/.gitkeep
|
||||
/plugins/user/*
|
||||
!/plugins/user/.gitkeep
|
||||
*.lock
|
||||
__pycache__/
|
||||
*.log
|
||||
var/run/*
|
||||
!var/run/.gitkeep
|
||||
/var/run/*
|
||||
!/var/run/.gitkeep
|
||||
*.swp
|
||||
.env
|
||||
venv/
|
||||
node_modules
|
||||
tmp.py
|
||||
!/plugins/user/Dashboard
|
||||
/data/www/plugins/*
|
||||
!/data/www/plugins/.gitkeep
|
||||
/var/run/storage/*
|
||||
!/var/run/storage/.gitkeep
|
||||
*.egg-info
|
||||
/build/
|
||||
/dist/
|
||||
|
||||
20
Dockerfile
@ -1,12 +1,24 @@
|
||||
FROM python:3.9.17-alpine3.17
|
||||
FROM python:3.9-slim-bullseye
|
||||
|
||||
RUN apk add --no-cache git chromium \
|
||||
&& apk add --no-cache --virtual .build-deps git gcc musl-dev
|
||||
# Install ffmpeg and other dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc \
|
||||
libc6-dev \
|
||||
sqlite3 \
|
||||
libsqlite3-dev \
|
||||
ntfs-3g \
|
||||
ffmpeg \
|
||||
build-essential \
|
||||
curl \
|
||||
tar \
|
||||
bash \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN pip install -r requirements.txt && apk del .build-deps gcc musl-dev
|
||||
# Install Python dependencies
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
ENTRYPOINT ["python", "/app/obscreen.py"]
|
||||
|
||||
4
MANIFEST.in
Normal file
@ -0,0 +1,4 @@
|
||||
include README.md
|
||||
include LICENSE
|
||||
docs/setup-run-on-rpi.md
|
||||
docs/setup-run-headless.md
|
||||
192
README.md
@ -1,124 +1,120 @@
|
||||
# <img src="https://github.com/jr-k/obscreen/blob/master/docs/obscreen.png" width="22"> Obscreen
|
||||
<div align="center" width="100%">
|
||||
<img src="./docs/img/obscreen.png" width="128" alt="" />
|
||||
</div>
|
||||
|
||||
🧑🎄 Open to feature request and pull request
|
||||
# Obscreen
|
||||
|
||||
**⭐️ You liked it ? Give this repository a star, it's free :)**
|
||||
Obscreen is a user-friendly self-hosted digital signage tool leveraging chromium browser.
|
||||
|
||||
## About
|
||||
Use a RaspberryPi to show a full-screen slideshow (Kiosk-mode)
|
||||
<a target="_blank" href="https://git.sumisu.xyz/csmith1865/obscreen"><img src="https://img.shields.io/gitea/stars/csmith1865/obscreen?gitea_url=https%3A%2F%2Fgit.sumisu.xyz&style=flat" /></a> <a target="_blank" href="https://hub.docker.com/r/csmith1865/obscreen"><img src="https://img.shields.io/docker/pulls/csmith1865/obscreen" /></a> <a target="_blank" href="https://hub.docker.com/r/csmith1865/obscreen"><img src="https://img.shields.io/docker/v/csmith1865/obscreen/latest?label=docker%20image%20ver." /></a> <a target="_blank" href="https://git.sumisu.xyz/csmith1865/obscreen"><img src="https://img.shields.io/gitea/last-commit/csmith1865/obscreen?gitea_url=https%3A%2F%2Fgit.sumisu.xyz&style=flat" /></a>
|
||||
|
||||
[](https://hub.docker.com/r/jierka/obscreen/)
|
||||
<img src="https://git.sumisu.xyz/csmith1865/obscreen/raw/branch/master/docs/screenshot-playlist-edit.png" width="700" alt="" />
|
||||
|
||||
### Features:
|
||||
- Dead simple chromium webview
|
||||
- Clear GUI
|
||||
- Fleet view to manage many devices easily
|
||||
🧑🎄 Open to feature request and pull request. [Cast your vote for your preferred ones on the Canny platform](https://obscreen.canny.io/feature-requests)
|
||||
|
||||
⭐️ You liked it ? Give this repository a star, it's free :)
|
||||
|
||||
---
|
||||
|
||||
## 🕹️ Live Demo
|
||||
|
||||
Try it!
|
||||
|
||||
Demo Server (Location: Roubaix - France): [https://demo.obscreen.io](https://demo.obscreen.io/login?username=admin&password=admin)
|
||||
|
||||
It is a temporary live demo, all data will be deleted after 30 minutes (~30secs downtime).
|
||||
|
||||
## 🎉 Features
|
||||
- Dead simple chromium webview inside
|
||||
- Fancy graphical user interface
|
||||
- Very few dependencies
|
||||
- JSON database files
|
||||
- Plugin system
|
||||
- No stupid pricing plan
|
||||
- No cloud
|
||||
- No telemetry
|
||||
- Embeddable SQLite database
|
||||
- Fleet screen management
|
||||
- Playlist management
|
||||
- Authentication management
|
||||
- Plays content from flashdrive in offline mode
|
||||
- Core API & Plugin system to extend capabilities
|
||||
- [Multi Languages](https://git.sumisu.xyz/csmith1865/obscreen/src/branch/master/lang)
|
||||
- Cast pictures and iframes to Chromecast
|
||||
- No costly monthly pricing plan per screen or whatever, no cloud, no telemetry
|
||||
|
||||

|
||||
## 👨🍳 How to install
|
||||
|
||||
## 🐳 Run with docker
|
||||
### With docker (for test)
|
||||
```bash
|
||||
# Prepare application data file tree
|
||||
mkdir -p obscreen/data/db obscreen/data/uploads && cd obscreen
|
||||
### 🔴 [I want to power a RaspberryPi and automatically see my slideshow on a screen connected to it and manage the slideshow](docs/setup-run-on-rpi.md)
|
||||
### 🔵 [I just want a slideshow manager and I'll deal with screen and browser myself](docs/setup-run-headless.md)
|
||||
|
||||
# Run the Docker container
|
||||
# 🚨 If you ARE NOT on a RaspberryPi
|
||||
# - replace '/home/pi/.config/lxsession/LXDE-pi/autostart' with '/dev/null'
|
||||
# 🚨 Else make sure that
|
||||
# - file '/home/pi/.config/lxsession/LXDE-pi/autostart' exists and is writeable
|
||||
docker run --rm --name obscreen --pull=always \
|
||||
-e DEBUG=false \
|
||||
-e PORT=5000 \
|
||||
-e AUTOCONFIGURE_LX_FILE=/app/var/run/lxfile \
|
||||
-e SECRET_KEY=ANY_SECRET_KEY_HERE \
|
||||
-p 5000:5000 \
|
||||
-v ./data/db:/app/data/db \
|
||||
-v ./data/uploads:/app/data/uploads \
|
||||
-v /home/pi/.config/lxsession/LXDE-pi/autostart:/app/var/run/lxfile \
|
||||
jierka/obscreen:latest
|
||||
```
|
||||
## 📸 More Screenshots
|
||||
|
||||
### With docker-compose
|
||||
```bash
|
||||
# Prepare application data file tree
|
||||
mkdir -p obscreen/data/db obscreen/data/uploads && cd obscreen
|
||||
Light Mode:
|
||||
|
||||
# Download docker-compose.yml
|
||||
# 🚨 If you ARE NOT on a RaspberryPi
|
||||
curl https://raw.githubusercontent.com/jr-k/obscreen/master/docker-compose.norpi.yml > docker-compose.yml
|
||||
# 🚨 If you ARE on a RaspberryPi
|
||||
curl https://raw.githubusercontent.com/jr-k/obscreen/master/docker-compose.yml > docker-compose.yml
|
||||
<img src="https://git.sumisu.xyz/csmith1865/obscreen/raw/branch/master/docs/screenshot-light-mode.png" width="512" alt="" />
|
||||
|
||||
# Run
|
||||
docker compose up
|
||||
```
|
||||
Content Explorer:
|
||||
|
||||
## 📠 Run system wide
|
||||
### Install
|
||||
```bash
|
||||
# Install system dependencies
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y git chromium-browser unclutter
|
||||
<img src="https://git.sumisu.xyz/csmith1865/obscreen/raw/branch/master/docs/screenshot-content-explorer.png" width="512" alt="" />
|
||||
|
||||
# Get files
|
||||
git clone https://github.com/jr-k/obscreen.git && cd obscreen
|
||||
Settings Page:
|
||||
|
||||
# Install application dependencies
|
||||
pip3 install -r requirements.txt
|
||||
<img src="https://git.sumisu.xyz/csmith1865/obscreen/raw/branch/master/docs/screenshot-settings.png" width="512" alt="" />
|
||||
|
||||
# Add some sample data
|
||||
cp data/db/slideshow.json.dist data/db/slideshow.json
|
||||
Add Content Modal:
|
||||
|
||||
# Customize server default values
|
||||
cp .env.dist .env
|
||||
```
|
||||
<img src="https://git.sumisu.xyz/csmith1865/obscreen/raw/branch/master/docs/screenshot-add-content.png" width="512" alt="" />
|
||||
|
||||
### Configure
|
||||
- Server configuration is editable in `.env` file.
|
||||
- Application configuration is available in `http://localhost:5000/settings` page.
|
||||
## 🫡 Motivation
|
||||
|
||||
### Start server (for test)
|
||||
```bash
|
||||
./obscreen.py
|
||||
```
|
||||
- I was searching for a self-hosted monitoring tool similar to "Screenly", but struggled with "Anthias" (formerly Screenly OSE) due to compatibility issues on some webpages. Chromium does a great job at rendering webpages, so I decided to create my own solution based on browsers.
|
||||
- Enjoy a beautiful graphical interface
|
||||
- My goal was to keep the code as simple as possible, using reliable technology with minimal dependencies.
|
||||
- Aim to showcase the power of the Raspberry Pi 5.
|
||||
- Deploy my first true Docker image to Docker Hub using a continuous deployment pipeline.
|
||||
|
||||
### Start server forever with systemctl
|
||||
```bash
|
||||
sudo ln -s "$(pwd)/system/obscreen.service" /etc/systemd/system/obscreen.service
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable obscreen.service
|
||||
sudo systemctl start obscreen.service
|
||||
```
|
||||
If you value this project, please think about awarding it a ⭐. Thanks ! 🙏
|
||||
|
||||
To troubleshoot you can check logs
|
||||
```bash
|
||||
sudo journalctl -u obscreen -f
|
||||
```
|
||||
## 🗺️ Short-term roadmap
|
||||
- New `Composition` content type: Check out a [video demo here](https://demo.obscreen.io/data/uploads/compositions.mp4)
|
||||
- New `Text` Content Type: Display text with customizable styles, including options for scrolling effects.
|
||||
- New `HTML` Content Type: Display HTML snippets for more powerful text customization, giving you full control over the content.
|
||||
- Fleet Studio Management: Reviving a legacy feature
|
||||
- Remote Player Server: A new way to manage a player from the studio without needing SSH access to player
|
||||
|
||||
## 👌 Usage
|
||||
- Page which plays slideshow is reachable at `http://localhost:5000`
|
||||
- Slideshow manager is reachable at `http://localhost:5000/manage`
|
||||
|
||||
## ✨ You are done now :)
|
||||
- If everything is set up correctly, the RaspberryPi shall start chromium in fullscreen directly after boot screen and after some seconds of showing the date & time (`views/player/default.jinja.html`) your slideshow shall start and loop endlessly.
|
||||
- Make sure that `AUTOCONFIGURE_LX_FILE` exists and is writeable !
|
||||
## 🛟 Discussion / Need help ?
|
||||
|
||||
## 📎 Additional
|
||||
### Join our Discord
|
||||
[<img src="https://git.sumisu.xyz/csmith1865/obscreen/raw/branch/master/docs/img/discord.png" width="64">](https://discord.obscreen.io)
|
||||
|
||||
### Hardware checks
|
||||
- Basic Setup
|
||||
For basic RaspberryPi setup you can use most of the available guides, for example this one:
|
||||
https://gist.github.com/blackjid/dfde6bedef148253f987
|
||||
### Open an Issue
|
||||
[<img src="https://git.sumisu.xyz/csmith1865/obscreen/raw/branch/master/docs/img/github.png" width="64">](https://git.sumisu.xyz/csmith1865/obscreen/issues/new/choose)
|
||||
|
||||
- HDMI Mode
|
||||
You may need to set the HDMI Mode on the raspi to ensure the hdmi resolution matches your screen exactly. Here is the official documentation:
|
||||
https://www.raspberrypi.org/documentation/configuration/config-txt/video.md
|
||||
### Troubleshoot
|
||||
|
||||
However, I used this one: `(2,82) = 1920x1080 60Hz 1080p`
|
||||
|
||||
<details closed>
|
||||
<summary><h3>Why aren't the videos starting?</h3></summary>
|
||||
|
||||
This is "normal" behavior. Videos do not play automatically in Chrome because it requires user interaction with the page (a simple click inside the webpage is enough). If you open the console, you'll see the error: [Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first...](https://goo.gl/xX8pDD)
|
||||
|
||||
To resolve this, you need to use the Chrome flag `--autoplay-policy=no-user-gesture-required`. When connecting a Raspberry Pi with Obscreen Player autorun, this issue doesn't occur because the flag is handled automatically for you. You need to enable this flag yourself otherwise.
|
||||
|
||||
---
|
||||
|
||||
</details>
|
||||
|
||||
## 👑 Contributions
|
||||
|
||||
### Create Pull Requests
|
||||
|
||||
We accept all types of pull requests.
|
||||
|
||||
### Test Beta Version
|
||||
|
||||
Check out the latest beta release here: https://github.com/jr-k/obscreen/releases
|
||||
|
||||
### Translations
|
||||
|
||||
If you want to translate Obscreen into your language, please visit [Languages Files](https://git.sumisu.xyz/csmith1865/obscreen/src/branch/master/lang).
|
||||
|
||||
### Spelling & Grammar
|
||||
|
||||
Feel free to correct the grammar in the documentation or code.
|
||||
My mother language is not English and my grammar is not that great.
|
||||
|
||||
0
data/db/.gitkeep
Normal file
@ -1,32 +0,0 @@
|
||||
{
|
||||
"version": 2,
|
||||
"keys": [
|
||||
"duration",
|
||||
"enabled",
|
||||
"location",
|
||||
"name",
|
||||
"position",
|
||||
"type",
|
||||
"cron_schedule"
|
||||
],
|
||||
"data": {
|
||||
"0": {
|
||||
"location": "data/uploads/sample.jpg",
|
||||
"duration": 10,
|
||||
"type": "picture",
|
||||
"enabled": true,
|
||||
"name": "Picture Sample",
|
||||
"position": 0,
|
||||
"cron_schedule": null
|
||||
},
|
||||
"1": {
|
||||
"location": "https://unix.org",
|
||||
"duration": 20,
|
||||
"type": "url",
|
||||
"enabled": true,
|
||||
"name": "URL Sample",
|
||||
"position": 1,
|
||||
"cron_schedule": null
|
||||
}
|
||||
}
|
||||
}
|
||||
0
data/uploads/.gitkeep
Normal file
|
Before Width: | Height: | Size: 538 KiB |
@ -1,2 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig><msapplication><tile><square70x70logo src="/favicon/ms-icon-70x70.png"/><square150x150logo src="/favicon/ms-icon-150x150.png"/><square310x310logo src="/favicon/ms-icon-310x310.png"/><TileColor>#692fbd</TileColor></tile></msapplication></browserconfig>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square70x70logo src="/favicon/mstile-70x70.png"/>
|
||||
<square150x150logo src="/favicon/mstile-150x150.png"/>
|
||||
<square310x310logo src="/favicon/mstile-310x3150.png"/>
|
||||
<square310x310logo src="/favicon/mstile-310x310.png"/>
|
||||
<TileColor>#333333</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
||||
1
data/www/css/compiled/main-dark-mode.css
Normal file
1
data/www/css/compiled/main-light-mode.css
Normal file
9
data/www/css/lib/fontawesome.min.css
vendored
Normal file
211
data/www/css/lib/jquery-explr-1.4.css
Executable file
@ -0,0 +1,211 @@
|
||||
/*
|
||||
* Explr.js v1.4
|
||||
* Explorer-like tree jQuery plugin
|
||||
* https://github.com/faisalman/explr-js
|
||||
*
|
||||
* Copyright © 2010-2011 Faisal Salman <f@faisalman.com>
|
||||
* Dual licensed under GPLv2 & MIT
|
||||
*/
|
||||
|
||||
.explr-tree * {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.explr-tree,
|
||||
.explr-tree ol,
|
||||
.explr-tree ul {
|
||||
display: block;
|
||||
font-family: Ubuntu, Helvetica, Tahoma, sans-serif;
|
||||
font-size: 12px;
|
||||
letter-spacing: normal;
|
||||
line-height: 12px;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
padding-left: 20px;
|
||||
padding-top: 5px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.explr-tree {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.explr-tree li {
|
||||
background: url("../../img/explr/folder.png") 16px 2px no-repeat;
|
||||
display: block;
|
||||
position: relative;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.explr-tree li a {
|
||||
color: #555;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
margin-left: 30px;
|
||||
padding: 3px 0 5px 8px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.explr-tree li a:hover {
|
||||
color: #ff0084;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.explr-line {
|
||||
/*border-left: 1px dotted #999;*/
|
||||
/*border-bottom: 1px dotted #999;*/
|
||||
height: 22px;
|
||||
position: absolute;
|
||||
margin-left: 0;
|
||||
margin-top: -12px;
|
||||
width: 12px;
|
||||
}
|
||||
|
||||
.explr-tree ol>li:first-child>.explr-line,
|
||||
.explr-tree ul>li:first-child>.explr-line {
|
||||
margin-top: -8px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.explr-line-fix {
|
||||
/*border-left: 1px dotted #999;*/
|
||||
}
|
||||
|
||||
.explr-icon {
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 0;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.explr-item i.fa {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 2px;
|
||||
font-size: 14px;
|
||||
left: 16px;
|
||||
color: rgb(187, 187, 187);
|
||||
width: 18px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.explr-toggler {
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 0;
|
||||
height: 16px;
|
||||
margin-left: -8px;
|
||||
margin-top: 2px;
|
||||
position: absolute;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
/*.explr-plus { background-image: url("../../img/explr/plus.png"); }*/
|
||||
/*.explr-minus { background-image: url("../../img/explr/busy.png"); }*/
|
||||
|
||||
|
||||
/* Menu icons: */
|
||||
|
||||
.explr-tree .icon-text > li, .explr-tree li.icon-text { background-image: none; }
|
||||
.explr-tree .icon-file > li, .explr-tree li.icon-file { background-image: url("../../img/explr/attibutes.png"); }
|
||||
.explr-tree .icon-address > li, .explr-tree li.icon-address { background-image: url("../../img/explr/address.png"); }
|
||||
.explr-tree .icon-archives > li, .explr-tree li.icon-archives { background-image: url("../../img/explr/archives.png"); }
|
||||
.explr-tree .icon-badge > li, .explr-tree li.icon-badge { background-image: url("../../img/explr/bestseller.png"); }
|
||||
.explr-tree .icon-bank > li, .explr-tree li.icon-bank { background-image: url("../../img/explr/bank.png"); }
|
||||
.explr-tree .icon-basket > li, .explr-tree li.icon-basket { background-image: url("../../img/explr/basket.png"); }
|
||||
.explr-tree .icon-board > li, .explr-tree li.icon-board { background-image: url("../../img/explr/order.png"); }
|
||||
.explr-tree .icon-board2 > li, .explr-tree li.icon-board2 { background-image: url("../../img/explr/order-1.png"); }
|
||||
.explr-tree .icon-book > li, .explr-tree li.icon-book { background-image: url("../../img/explr/library.png"); }
|
||||
.explr-tree .icon-bookmark > li, .explr-tree li.icon-bookmark { background-image: url("../../img/explr/bookmark.png"); }
|
||||
.explr-tree .icon-business > li, .explr-tree li.icon-business { background-image: url("../../img/explr/business-contact.png"); }
|
||||
.explr-tree .icon-calendar > li, .explr-tree li.icon-calendar { background-image: url("../../img/explr/calendar.png"); }
|
||||
.explr-tree .icon-card > li, .explr-tree li.icon-card { background-image: url("../../img/explr/credit-card.png"); }
|
||||
.explr-tree .icon-card2 > li, .explr-tree li.icon-card2 { background-image: url("../../img/explr/my-account.png"); }
|
||||
.explr-tree .icon-chain > li, .explr-tree li.icon-chain { background-image: url("../../img/explr/link.png"); }
|
||||
.explr-tree .icon-chart > li, .explr-tree li.icon-chart { background-image: url("../../img/explr/statistics.png"); }
|
||||
.explr-tree .icon-check > li, .explr-tree li.icon-check { background-image: url("../../img/explr/check.png"); }
|
||||
.explr-tree .icon-clock > li, .explr-tree li.icon-clock { background-image: url("../../img/explr/full-time.png"); }
|
||||
.explr-tree .icon-comment > li, .explr-tree li.icon-comment { background-image: url("../../img/explr/comment.png"); }
|
||||
.explr-tree .icon-config > li, .explr-tree li.icon-config { background-image: url("../../img/explr/config.png"); }
|
||||
.explr-tree .icon-customers > li, .explr-tree li.icon-customers { background-image: url("../../img/explr/customers.png"); }
|
||||
.explr-tree .icon-cv > li, .explr-tree li.icon-cv { background-image: url("../../img/explr/cv.png"); }
|
||||
.explr-tree .icon-db > li, .explr-tree li.icon-db { background-image: url("../../img/explr/database.png"); }
|
||||
.explr-tree .icon-direction > li, .explr-tree li.icon-direction { background-image: url("../../img/explr/milestone.png"); }
|
||||
.explr-tree .icon-flag > li, .explr-tree li.icon-flag { background-image: url("../../img/explr/flag.png"); }
|
||||
.explr-tree .icon-folder > li, .explr-tree li.icon-folder, .explr-icon-folder { background-image: url("../../img/explr/folder.png"); }
|
||||
.explr-tree .icon-folder2 > li, .explr-tree li.icon-folder2 { background-image: url("../../img/explr/finished-work.png"); }
|
||||
.explr-tree .icon-folder3 > li, .explr-tree li.icon-folder3 { background-image: url("../../img/explr/upcoming-work.png"); }
|
||||
.explr-tree .icon-hand > li, .explr-tree li.icon-hand { background-image: url("../../img/explr/freelance.png"); }
|
||||
.explr-tree .icon-heart > li, .explr-tree li.icon-heart { background-image: url("../../img/explr/heart.png"); }
|
||||
.explr-tree .icon-help > li, .explr-tree li.icon-help { background-image: url("../../img/explr/consulting.png"); }
|
||||
.explr-tree .icon-home > li, .explr-tree li.icon-home { background-image: url("../../img/explr/home.png"); }
|
||||
.explr-tree .icon-lamp > li, .explr-tree li.icon-lamp { background-image: url("../../img/explr/lightbulb.png"); }
|
||||
.explr-tree .icon-left > li, .explr-tree li.icon-left { background-image: url("../../img/explr/sign-out.png"); }
|
||||
.explr-tree .icon-left2 > li, .explr-tree li.icon-left2 { background-image: url("../../img/explr/login.png"); }
|
||||
.explr-tree .icon-lock > li, .explr-tree li.icon-lock { background-image: url("../../img/explr/lock.png"); }
|
||||
.explr-tree .icon-mail > li, .explr-tree li.icon-mail { background-image: url("../../img/explr/contact.png"); }
|
||||
.explr-tree .icon-mail2 > li, .explr-tree li.icon-mail2 { background-image: url("../../img/explr/email.png"); }
|
||||
.explr-tree .icon-palette > li, .explr-tree li.icon-palette { background-image: url("../../img/explr/drawings.png"); }
|
||||
.explr-tree .icon-pencil > li, .explr-tree li.icon-pencil { background-image: url("../../img/explr/edit.png"); }
|
||||
.explr-tree .icon-pencil2 > li, .explr-tree li.icon-pencil2 { background-image: url("../../img/explr/pencil.png"); }
|
||||
.explr-tree .icon-phone > li, .explr-tree li.icon-phone { background-image: url("../../img/explr/phone.png"); }
|
||||
.explr-tree .icon-photo > li, .explr-tree li.icon-photo { background-image: url("../../img/explr/photography.png"); }
|
||||
.explr-tree .icon-print > li, .explr-tree li.icon-print { background-image: url("../../img/explr/print.png"); }
|
||||
.explr-tree .icon-project > li, .explr-tree li.icon-project { background-image: url("../../img/explr/project.png"); }
|
||||
.explr-tree .icon-refresh > li, .explr-tree li.icon-refresh { background-image: url("../../img/explr/refresh.png"); }
|
||||
.explr-tree .icon-right > li, .explr-tree li.icon-right { background-image: url("../../img/explr/sign-in.png"); }
|
||||
.explr-tree .icon-right2 > li, .explr-tree li.icon-right2 { background-image: url("../../img/explr/logout.png"); }
|
||||
.explr-tree .icon-showreel > li, .explr-tree li.icon-showreel { background-image: url("../../img/explr/showreel.png"); }
|
||||
.explr-tree .icon-star > li, .explr-tree li.icon-star { background-image: url("../../img/explr/star.png"); }
|
||||
.explr-tree .icon-tag > li, .explr-tree li.icon-tag { background-image: url("../../img/explr/tag.png"); }
|
||||
.explr-tree .icon-text2 > li, .explr-tree li.icon-text2 { background-image: url("../../img/explr/issue.png"); }
|
||||
.explr-tree .icon-text3 > li, .explr-tree li.icon-text3 { background-image: url("../../img/explr/future-projects.png"); }
|
||||
.explr-tree .icon-text4 > li, .explr-tree li.icon-text4 { background-image: url("../../img/explr/old-versions.png"); }
|
||||
.explr-tree .icon-user > li, .explr-tree li.icon-user { background-image: url("../../img/explr/user.png"); }
|
||||
.explr-tree .icon-world > li, .explr-tree li.icon-world { background-image: url("../../img/explr/world.png"); }
|
||||
.explr-tree .icon-zoom > li, .explr-tree li.icon-zoom { background-image: url("../../img/explr/zoom.png"); }
|
||||
.explr-tree .icon-youtube > li, .explr-tree li.icon-youtube { background-image: url("../../img/explr/youtube.png"); }
|
||||
.explr-tree .icon-globe > li, .explr-tree li.icon-globe { background-image: url("../../img/explr/globe.png"); }
|
||||
.explr-tree .icon-video > li, .explr-tree li.icon-video { background-image: url("../../img/explr/video.png"); }
|
||||
.explr-tree .icon-landscape > li, .explr-tree li.icon-landscape { background-image: url("../../img/explr/landscape.png"); }
|
||||
|
||||
|
||||
/* IE Hack Fixes: */
|
||||
|
||||
.explr-ie,
|
||||
.explr-ie ol,
|
||||
.explr-ie ul {
|
||||
margin-left: 4px;
|
||||
padding-left: 16px;
|
||||
position: static;
|
||||
}
|
||||
|
||||
.explr-ie ol,
|
||||
.explr-ie ul {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.explr-ie {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.explr-ie .explr-line,
|
||||
.explr-ie .explr-toggler {
|
||||
top: 0;
|
||||
left: 4px;
|
||||
}
|
||||
|
||||
.explr-ie li {
|
||||
height: auto !important;
|
||||
height: 24px;
|
||||
*padding-top: 12px;
|
||||
_padding-top: 0;
|
||||
}
|
||||
|
||||
.explr-ie li a {
|
||||
*position: absolute;
|
||||
_position: static;
|
||||
*top: 0;
|
||||
_top: auto;
|
||||
}
|
||||
@ -1,721 +0,0 @@
|
||||
* {
|
||||
font-family: Roboto;
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
background-color: #0f0035;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
flex: 1;
|
||||
background-color: #0f0035;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
.invisible {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tac {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
margin: auto;
|
||||
display: flex;
|
||||
align-self: stretch;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
min-width: 70%;
|
||||
|
||||
@media only screen and (max-width: 1200px) {
|
||||
min-width: 95%;
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
text-align: center;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
align-self: stretch;
|
||||
padding: 0 25px 0 25px;
|
||||
}
|
||||
|
||||
header .logo {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
header .logo a {
|
||||
color: inherit;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
header .logo img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
header nav {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
header nav ul {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
header nav ul li {
|
||||
margin: 0 15px;
|
||||
}
|
||||
|
||||
header nav ul li.user-menu {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
border: 1px solid #0bc44e;
|
||||
padding: 5px 15px;
|
||||
border-radius: 4px;
|
||||
background: rgba(14, 239, 95, .2);
|
||||
}
|
||||
|
||||
header nav ul li.user-menu .logout {
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
header nav ul li.user-menu .username {
|
||||
margin-right: 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
color: #0bc44e;
|
||||
}
|
||||
|
||||
header nav ul li.user-menu .username i {
|
||||
margin-right: 5px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
header nav ul li a {
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
header nav ul li a:hover,
|
||||
header nav ul li.active a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.toolbar {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
padding: 0 25px 0 25px;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
.toolbar h2 {
|
||||
padding: 0 25px 0 0;
|
||||
}
|
||||
|
||||
.toolbar .toolbar-actions {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
a.btn,
|
||||
button {
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #bc48ff;
|
||||
color: #270035;
|
||||
padding: 10px 30px;
|
||||
text-decoration: none;
|
||||
margin: 10px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
transition: .2s linear all;
|
||||
}
|
||||
|
||||
a.btn:hover,
|
||||
button:hover {
|
||||
color: #bc48ff;
|
||||
}
|
||||
|
||||
button.purple {
|
||||
font-weight: bold;
|
||||
border: 1px solid #692fbd;
|
||||
color: white;
|
||||
background: #692fbd;
|
||||
background: linear-gradient(90deg, #bc48ff 0%, #692fbd 100%);
|
||||
}
|
||||
|
||||
button.green {
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
border: 1px solid #0eef5f;
|
||||
background: linear-gradient(90deg, #2fde6f 0%, #13c251 100%);
|
||||
}
|
||||
|
||||
button.normal:hover {
|
||||
color: white;
|
||||
border-color: #692fbd;
|
||||
background: #692fbd;
|
||||
background: linear-gradient(90deg, #bc48ff 0%, #692fbd 100%);
|
||||
}
|
||||
|
||||
button.green:hover,
|
||||
button.purple:hover {
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
|
||||
.alert {
|
||||
margin: 10px 30px 20px 30px;
|
||||
padding: 20px 50px;
|
||||
align-self: stretch;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: rgb(70, 70, 70);
|
||||
border: 1px solid rgb(70, 70, 70);
|
||||
background: rgba(70, 70, 70, .2);
|
||||
}
|
||||
|
||||
.alert-success {
|
||||
color: rgb(14, 239, 95);
|
||||
border: 1px solid rgb(14, 239, 95);
|
||||
background: rgba(14, 239, 95, .2);
|
||||
}
|
||||
|
||||
.alert-error {
|
||||
color: rgb(239, 14, 93);
|
||||
border: 1px solid rgb(239, 14, 93);
|
||||
background: rgba(239, 14, 93, .2);
|
||||
}
|
||||
|
||||
|
||||
.panel {
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
border-radius: 5px;
|
||||
padding: 0 25px 80px 25px;
|
||||
margin: 10px 25px;
|
||||
border-left: 5px solid #0eef5f;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
.panel h3 {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.panel-inactive {
|
||||
background: white;
|
||||
color: #AAA;
|
||||
border-color: #BBB;
|
||||
}
|
||||
|
||||
.panel-inactive h3 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.panel table {
|
||||
width: 100%;
|
||||
margin-top: 30px;
|
||||
border-collapse: collapse;
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.panel th {
|
||||
border-bottom: 1px solid #fff;
|
||||
border-collapse: collapse;
|
||||
padding: 10px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.panel-inactive th {
|
||||
border-color: #EEE;
|
||||
|
||||
}
|
||||
|
||||
.panel td {
|
||||
border-collapse: collapse;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.panel td a.item.sort {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.panel td a.item-name {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.panel-inactive td a.item-name {
|
||||
color: #AAA;
|
||||
}
|
||||
|
||||
.panel td a.item-name:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.panel td.actions a {
|
||||
background: white;
|
||||
color: #333;
|
||||
border: 1px solid #AAA;
|
||||
border-radius: 4px;
|
||||
padding: 2px;
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
margin: 0 2px;
|
||||
}
|
||||
|
||||
.panel td.actions a:hover {
|
||||
color: #0eef5f;
|
||||
border-color: #0eef5f;
|
||||
}
|
||||
|
||||
.panel td.actions a.item-edit:hover {
|
||||
color: #bc48ff;
|
||||
border-color: #bc48ff;
|
||||
}
|
||||
|
||||
.panel td.actions a.item-delete:hover {
|
||||
color: #ef0e0e;
|
||||
border-color: #ef0e0e;
|
||||
}
|
||||
|
||||
.panel td.infos {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.panel td.infos .inner {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.panel a {
|
||||
color: #0eef5f;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.panel a:hover {
|
||||
color: #0bc44e;
|
||||
}
|
||||
|
||||
.icon-right {
|
||||
margin: 0 0 0 10px;
|
||||
}
|
||||
|
||||
.icon-left {
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
|
||||
.pure-material-switch {
|
||||
z-index: 0;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.pure-material-switch > input {
|
||||
appearance: none;
|
||||
-moz-appearance: none;
|
||||
-webkit-appearance: none;
|
||||
z-index: -1;
|
||||
position: absolute;
|
||||
right: 6px;
|
||||
top: -8px;
|
||||
display: block;
|
||||
margin: 0;
|
||||
border-radius: 50%;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background-color: rgba(0, 0, 0, 0.38);
|
||||
outline: none;
|
||||
opacity: 0;
|
||||
transform: scale(1);
|
||||
pointer-events: none;
|
||||
transition: opacity 0.3s 0.1s, transform 0.2s 0.1s;
|
||||
}
|
||||
|
||||
.pure-material-switch > span {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.pure-material-switch > span::before {
|
||||
content: "";
|
||||
float: right;
|
||||
display: inline-block;
|
||||
margin: 5px 0 5px 10px;
|
||||
border-radius: 7px;
|
||||
width: 36px;
|
||||
height: 14px;
|
||||
background-color: rgba(0, 0, 0, 0.38);
|
||||
vertical-align: top;
|
||||
transition: background-color 0.2s, opacity 0.2s;
|
||||
}
|
||||
|
||||
.pure-material-switch > span::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 16px;
|
||||
border-radius: 50%;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: rgb(255, 255, 255);
|
||||
box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
|
||||
transition: background-color 0.2s, transform 0.2s;
|
||||
}
|
||||
|
||||
.pure-material-switch > input:checked {
|
||||
right: -10px;
|
||||
background-color: rgb(14, 239, 95);
|
||||
}
|
||||
|
||||
.pure-material-switch > input:checked + span::before {
|
||||
background-color: rgba(14, 239, 95, 0.6);
|
||||
}
|
||||
|
||||
.pure-material-switch > input:checked + span::after {
|
||||
background-color: rgb(14, 239, 95);
|
||||
transform: translateX(16px);
|
||||
}
|
||||
|
||||
.pure-material-switch:hover > input {
|
||||
opacity: 0.04;
|
||||
}
|
||||
|
||||
.pure-material-switch > input:focus {
|
||||
opacity: 0.12;
|
||||
}
|
||||
|
||||
.pure-material-switch:hover > input:focus {
|
||||
opacity: 0.16;
|
||||
}
|
||||
|
||||
.pure-material-switch > input:active {
|
||||
opacity: 1;
|
||||
transform: scale(0);
|
||||
transition: transform 0s, opacity 0s;
|
||||
}
|
||||
|
||||
.pure-material-switch > input:active + span::before {
|
||||
background-color: rgba(14, 239, 95, 0.6);
|
||||
}
|
||||
|
||||
.pure-material-switch > input:checked:active + span::before {
|
||||
background-color: rgba(0, 0, 0, 0.38);
|
||||
}
|
||||
|
||||
.pure-material-switch > input:disabled {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.pure-material-switch > input:disabled + span {
|
||||
color: rgb(0, 0, 0);
|
||||
opacity: 0.38;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.pure-material-switch > input:disabled + span::before {
|
||||
background-color: rgba(0, 0, 0, 0.38);
|
||||
}
|
||||
|
||||
.pure-material-switch > input:checked:disabled + span::before {
|
||||
background-color: rgba(14, 239, 95, 0.6);
|
||||
}
|
||||
|
||||
.modals {
|
||||
position: fixed;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.modals-outer {
|
||||
min-width: 30%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.modals-outer .modal-close {
|
||||
color: white;
|
||||
font-size: 30px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.modals-inner {
|
||||
background: white;
|
||||
border-radius: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.modals-inner .modal h2 {
|
||||
border-bottom: 1px solid #DDD;
|
||||
padding: 15px 15px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
.modals-inner .modal h3 {
|
||||
align-self: stretch;
|
||||
border-bottom: 1px solid #DDD;
|
||||
padding: 15px 15px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
form .form-group {
|
||||
margin: 10px 20px 5px 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
align-self: stretch;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
form .form-group label {
|
||||
flex: 1;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
form .form-group .widget {
|
||||
flex: 3;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
form .form-group input,
|
||||
form .form-group select,
|
||||
form .form-group textarea {
|
||||
flex: 1;
|
||||
padding: 10px 5px 10px 5px;
|
||||
border: 1px solid #EEE;
|
||||
border-radius: 4px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
form .form-group input[type=checkbox] {
|
||||
flex: 0;
|
||||
}
|
||||
|
||||
form .form-group .trigger {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
form .form-group select.trigger {
|
||||
max-width: 120px;
|
||||
}
|
||||
|
||||
form .form-group span {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
form .actions {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
form .actions button.green,
|
||||
form .actions button {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
form .actions button.green:hover {
|
||||
background: white;
|
||||
color: rgb(14, 239, 95);
|
||||
border-color: rgb(14, 239, 95);
|
||||
}
|
||||
|
||||
form .actions button.btn-normal {
|
||||
color: #999;
|
||||
border-color: #999;
|
||||
font-size: 18px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
form .actions button.btn-normal:hover {
|
||||
color: #555;
|
||||
border-color: #555;
|
||||
}
|
||||
|
||||
span.empty {
|
||||
text-transform: uppercase;
|
||||
opacity: 0.5;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
footer {
|
||||
align-self: stretch;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
display: flex;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
footer .version {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.login-page {
|
||||
max-width: 600px;
|
||||
padding-top: 50px;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: white;
|
||||
border-radius: 6px;
|
||||
padding: 50px 50px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.card form {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.card form .form-group {
|
||||
margin: 0 0 30px 0;
|
||||
padding: 0;
|
||||
}
|
||||
.card form .form-group .widget {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.card form .form-group label {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.card button[type=submit] {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.card h3 {
|
||||
text-align: center;
|
||||
font-size: 36px;
|
||||
margin: 0 0 40px 0;
|
||||
}
|
||||
|
||||
a.badge,
|
||||
.badge {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 5px 5px;
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
background: rgba(255, 255, 255, .1);
|
||||
border: 1px solid transparent;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
a.badge:hover {
|
||||
color: #FFFFFF;
|
||||
border: 1px solid rgba(255,255,255,.4);
|
||||
}
|
||||
|
||||
.panel-inactive .badge {
|
||||
background: rgba(200, 200, 200, .1);
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.panel-inactive a.badge:hover {
|
||||
color: #999999;
|
||||
border: 1px solid rgba(180,180,180,.4);
|
||||
}
|
||||
|
||||
.badge.anonymous {
|
||||
opacity: .2;
|
||||
}
|
||||
BIN
data/www/favicon.ico
Executable file → Normal file
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 28 KiB |
BIN
data/www/favicon/apple-touch-icon-114x114.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
data/www/favicon/apple-touch-icon-120x120.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
data/www/favicon/apple-touch-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
data/www/favicon/apple-touch-icon-152x152.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
data/www/favicon/apple-touch-icon-57x57.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
data/www/favicon/apple-touch-icon-60x60.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
data/www/favicon/apple-touch-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
data/www/favicon/apple-touch-icon-76x76.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
data/www/favicon/favicon-128.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/www/favicon/favicon-16x16.png
Executable file → Normal file
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 547 B |
BIN
data/www/favicon/favicon-196x196.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
data/www/favicon/favicon-32x32.png
Executable file → Normal file
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
data/www/favicon/favicon-96x96.png
Executable file → Normal file
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
data/www/favicon/favicon.ico
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
BIN
data/www/favicon/mstile-144x144.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
data/www/favicon/mstile-150x150.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
data/www/favicon/mstile-310x150.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
data/www/favicon/mstile-310x310.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
data/www/favicon/mstile-70x70.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/www/img/explr/address.png
Executable file
|
After Width: | Height: | Size: 536 B |
BIN
data/www/img/explr/administrative-docs.png
Executable file
|
After Width: | Height: | Size: 438 B |
BIN
data/www/img/explr/advertising.png
Executable file
|
After Width: | Height: | Size: 876 B |
BIN
data/www/img/explr/archives.png
Executable file
|
After Width: | Height: | Size: 545 B |
BIN
data/www/img/explr/attibutes.png
Executable file
|
After Width: | Height: | Size: 435 B |
BIN
data/www/img/explr/bank.png
Executable file
|
After Width: | Height: | Size: 799 B |
BIN
data/www/img/explr/basket.png
Executable file
|
After Width: | Height: | Size: 595 B |
BIN
data/www/img/explr/bestseller.png
Executable file
|
After Width: | Height: | Size: 804 B |
BIN
data/www/img/explr/billing.png
Executable file
|
After Width: | Height: | Size: 425 B |
BIN
data/www/img/explr/bookmark.png
Executable file
|
After Width: | Height: | Size: 517 B |
BIN
data/www/img/explr/brainstorming.png
Executable file
|
After Width: | Height: | Size: 871 B |
BIN
data/www/img/explr/business-contact.png
Executable file
|
After Width: | Height: | Size: 496 B |
BIN
data/www/img/explr/busy.png
Executable file
|
After Width: | Height: | Size: 720 B |
BIN
data/www/img/explr/calendar.png
Executable file
|
After Width: | Height: | Size: 430 B |
BIN
data/www/img/explr/category.png
Executable file
|
After Width: | Height: | Size: 444 B |
BIN
data/www/img/explr/check.png
Executable file
|
After Width: | Height: | Size: 689 B |
BIN
data/www/img/explr/collaboration.png
Executable file
|
After Width: | Height: | Size: 863 B |
BIN
data/www/img/explr/comment.png
Executable file
|
After Width: | Height: | Size: 559 B |
BIN
data/www/img/explr/communication.png
Executable file
|
After Width: | Height: | Size: 577 B |
BIN
data/www/img/explr/config.png
Executable file
|
After Width: | Height: | Size: 706 B |
BIN
data/www/img/explr/consulting.png
Executable file
|
After Width: | Height: | Size: 807 B |
BIN
data/www/img/explr/contact.png
Executable file
|
After Width: | Height: | Size: 661 B |
BIN
data/www/img/explr/cost.png
Executable file
|
After Width: | Height: | Size: 638 B |
BIN
data/www/img/explr/credit-card.png
Executable file
|
After Width: | Height: | Size: 446 B |
BIN
data/www/img/explr/credit.png
Executable file
|
After Width: | Height: | Size: 487 B |
BIN
data/www/img/explr/current-work.png
Executable file
|
After Width: | Height: | Size: 499 B |
BIN
data/www/img/explr/customers.png
Executable file
|
After Width: | Height: | Size: 789 B |
BIN
data/www/img/explr/cv.png
Executable file
|
After Width: | Height: | Size: 445 B |
BIN
data/www/img/explr/database.png
Executable file
|
After Width: | Height: | Size: 319 B |
BIN
data/www/img/explr/date.png
Executable file
|
After Width: | Height: | Size: 434 B |
BIN
data/www/img/explr/delicious.png
Executable file
|
After Width: | Height: | Size: 387 B |
BIN
data/www/img/explr/document-library.png
Executable file
|
After Width: | Height: | Size: 596 B |
BIN
data/www/img/explr/donate.png
Executable file
|
After Width: | Height: | Size: 540 B |