From 9f04d19f900d7a4b080365359da72e9b6ed7e0f2 Mon Sep 17 00:00:00 2001 From: GilbN Date: Thu, 14 Oct 2021 21:16:14 +0000 Subject: [PATCH] deploy: 9da3a4366a5919f2b04fca75a6511aaaab9d9d72 --- CSS/themes/duplicati/duplicati-base.css | 1 + README.md | 111 ++++--- Resources/duplicati/about.png | Bin 0 -> 1963 bytes Resources/duplicati/add.png | Bin 0 -> 1690 bytes Resources/duplicati/home.png | Bin 0 -> 1850 bytes Resources/duplicati/logout.png | Bin 0 -> 1746 bytes Resources/duplicati/pause.png | Bin 0 -> 1682 bytes Resources/duplicati/restore.png | Bin 0 -> 1786 bytes Resources/duplicati/settings.png | Bin 0 -> 1994 bytes Resources/duplicati/throttle.png | Bin 0 -> 1951 bytes Resources/landing-page/css/custom.css | 60 +++- Resources/landing-page/js/scripts.js | 81 ++++- docker-mods/duplicati/Dockerfile | 7 + .../root/etc/cont-init.d/98-themepark | 49 +++ index.html | 314 ++---------------- themes.json | 4 + 16 files changed, 267 insertions(+), 360 deletions(-) create mode 100644 CSS/themes/duplicati/duplicati-base.css create mode 100644 Resources/duplicati/about.png create mode 100644 Resources/duplicati/add.png create mode 100644 Resources/duplicati/home.png create mode 100644 Resources/duplicati/logout.png create mode 100644 Resources/duplicati/pause.png create mode 100644 Resources/duplicati/restore.png create mode 100644 Resources/duplicati/settings.png create mode 100644 Resources/duplicati/throttle.png create mode 100644 docker-mods/duplicati/Dockerfile create mode 100644 docker-mods/duplicati/root/etc/cont-init.d/98-themepark diff --git a/CSS/themes/duplicati/duplicati-base.css b/CSS/themes/duplicati/duplicati-base.css new file mode 100644 index 00000000..fe253bbc --- /dev/null +++ b/CSS/themes/duplicati/duplicati-base.css @@ -0,0 +1 @@ +@import url(https://theme-park.dev/CSS/defaults/placeholders.css);*{outline:0!important}body{background:var(--main-bg-color);background-repeat:repeat,no-repeat;background-attachment:fixed,fixed;background-position:center center,center center;background-size:auto,cover;-webkit-background-size:auto,cover;-moz-background-size:auto,cover;-o-background-size:auto,cover;color:var(--text)!important}body .container .header{background:var(--main-bg-color);background-repeat:repeat,no-repeat;background-attachment:fixed,fixed;background-position:center center,center center;background-size:auto,cover;-webkit-background-size:auto,cover;-moz-background-size:auto,cover;-o-background-size:auto,cover}body .container .footer{background:var(--main-bg-color);background-repeat:repeat,no-repeat;background-attachment:fixed,fixed;background-position:center center,center center;background-size:auto,cover;-webkit-background-size:auto,cover;-moz-background-size:auto,cover;-o-background-size:auto,cover}.mainmenu{background:initial}.mainmenu ul li a{background-color:initial!important}.mainmenu ul li a.active{background-color:initial!important;color:var(--link-color-hover)!important}body .container .header .action-icons-small>.pause,body .container .header .action-icons>.pause{background:url(https://theme-park.dev/Resources/duplicati/pause.png)}body .container .header .action-icons-small>.throttle,body .container .header .action-icons>.throttle{background:url(https://theme-park.dev/Resources/duplicati/throttle.png)}body .container .body .content div.add .steps .step.active span,body .container .body .content div.restore .steps .step.active span{border:4px var(--button-color) solid;background:var(--button-color);color:var(--button-text)}body .container .body .content div.add .steps-legend li.active,body .container .body .content div.restore .steps-legend li.active{color:var(--link-color)}body .container .body .content div.add .steps .step span,body .container .body .content div.restore .steps .step span{display:block;border:4px var(--button-color) solid;background:var(--button-color)}body .container .body .content div.add .steps-legend li,body .container .body .content div.restore .steps-legend li{color:var(--text-muted)}body .container .body .content div.add .steps .step,body .container .body .content div.restore .steps .step{color:var(--button-text-hover)}a,a span:not(.tabs>li>a>span):not(.buttons>a>span),body .container .body a{color:var(--link-color)}a span:hover:not(.tabs>li>a>span):not(.buttons>a>span),a:hover{color:var(--link-color-hover)}body .container .header a{color:rgb(var(--accent-color))}body .container .header a:hover{color:var(--accent-color-hover)}.taskmenu dt{color:var(--text-hover)!important}dt{color:var(--text-hover)!important}dd{color:var(--text)!important}.tasklist dd a,.tasklist dd p{color:var(--link-color)!important}.tasklist dd a:hover,.tasklist dd p:hover{color:var(--link-color-hover)!important}.action-icons{color:var(--text-hover)!important}.submit{color:var(--button-text)!important;background:var(--button-color)!important}.submit:hover{color:var(--button-text-hover)!important;background:var(--button-color-hover)!important}form.styled .input.select select,form.styled input,form.styled select,form.styled textarea,input,select{color:var(--text);border:none;background:rgba(0,0,0,.25)}form.styled input:focus,form.styled textarea:focus{color:var(--text-hover);border:none;background:rgba(0,0,0,.45)}form.styled .input.select select:focus,form.styled select:focus,select:focus{background:#1f1f1f;color:var(--text-hover);border:none}h1,h2{color:var(--text-hover)}body .container .header .state{background:rgb(var(--accent-color),.1);color:var(--text);border-color:rgb(var(--accent-color))}@media (max-width:1150px),(max-width:1150px) and (min-resolution:192dpi),(max-width:1150px) and (min-resolution:1.25dppx){body .container .body .mainmenu{background:var(--drop-down-menu-bg)!important}}body .container .body .contextmenu{display:none;position:absolute;background:var(--drop-down-menu-bg);border:1px rgba(255,255,255,.1) solid;box-shadow:0 4px 8px rgb(0 0 0 / 30%);z-index:200;padding:5px}body .container .body .contextmenu li a:hover{background:rgba(255,255,255,.25);color:var(--text-hover)}body .container .body .mainmenu>ul>li>a.home{background:url(https://theme-park.dev/Resources/duplicati/home.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.add{background:url(https://theme-park.dev/Resources/duplicati/add.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.restore{background:url(https://theme-park.dev/Resources/duplicati/restore.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.settings{background:url(https://theme-park.dev/Resources/duplicati/settings.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.about{background:url(https://theme-park.dev/Resources/duplicati/about.png) no-repeat 8px 7px}body .container .body .mainmenu>ul>li>a.logout{background:url(https://theme-park.dev/Resources/duplicati/logout.png) no-repeat 8px 7px}#threedotmenu_add_destination>ul>li>a>span{color:var(--text)!important}div.connection-lost div.title,div.modal-dialog div.title{border:1px solid rgba(255,255,255,.1);background:var(--modal-bg-color);border-radius:5px 5px 0 0;padding:10px 20px;font-weight:700;color:var(--text);text-align:center}div.connection-lost div.content,div.modal-dialog div.content{border:1px solid rgba(255,255,255,.1);background:var(--modal-bg-color);padding:20px}#login-button{cursor:pointer}.button,form.styled .buttons a,form.styled .buttons input{display:block;background:var(--button-color);color:var(--button-text)!important;padding:5px 15px;float:right;margin-left:10px;cursor:pointer;width:auto;border:none;font-family:'Clear Sans',sans-serif;font-size:16px;font-weight:300;border-radius:0}.button:hover,form.styled .buttons a:hover,form.styled .buttons input:hover{background:var(--button-color-hover);color:var(--button-text-hover)!important}ul.tabs>li.active>a{background:var(--button-color-hover);color:var(--button-text-hover)!important}ul.tabs>li.active{background-color:var(--button-color);color:var(--button-text-hover)}ul.tabs>li{display:inline;margin-right:10px;border:1px solid var(--button-color);padding:5px}.tree-view li div.selected{border-color:rgba(255,255,255,.1);background-color:rgba(252,252,252,.25)}body .container .header .state .progress-bar{background:rgba(var(--accent-color),.25)}#login h2{background:rgba(255,255,255,.15);color:var(--text)}#login fieldset p{color:var(--text-hover)}#login fieldset{background-color:rgba(255,255,255,.15)}#login fieldset input[type=submit]{background:var(--button-color);color:var(--button-text)}#login fieldset input[type=submit]:hover{background:var(--button-color-hover);color:var(--button-text-hover)}#login fieldset input[type=email],#login fieldset input[type=password]{background:rgba(0,0,0,.25);color:var(--text)} diff --git a/README.md b/README.md index f7d96b7a..0e8935dd 100644 --- a/README.md +++ b/README.md @@ -136,22 +136,10 @@ - -

-

Grafana (Deprecated)

- - +

Netdata

- -

-

Monitorr (Deprecated)

- - -

-

Logarr (Deprecated)

-

Portainer

@@ -164,24 +152,30 @@

Guacamole

+ + +

+

Dozzle

+ + +

+

Calibre-web

+ + +

+

Xbackbone

+

Filebrowser

- - -

-

PLPP (Deprecated)

- +

librespeed

- -

-

The Lounge (Deprecated)

- +

Lazylibrarian

@@ -194,6 +188,14 @@

Gaps

+ +

+

Uptime Kuma

+ + +

+

Mylar 3

+ @@ -209,10 +211,6 @@

Kitana

-

-

Webtools (Deprecated)

- -

Resilio-Sync

@@ -224,12 +222,12 @@

Unraid

- -

Moviematch

+ +

Petio

@@ -242,32 +240,43 @@

VueTorrent

- -

-

Dozzle

- - -

-

Calibre-web

- - -

-

Xbackbone

- - -

Requestrr

- -

-

Uptime Kuma

+ +

+

Duplicati

- -

-

Mylar 3

+ +

+

PLPP (Deprecated)

+ +

+

The Lounge (Deprecated)

+ + + + +

+

Grafana (Deprecated)

+ + +

+

Monitorr (Deprecated)

+ + +

+

Webtools (Deprecated)

+ + +

+

Logarr (Deprecated)

+ + + + @@ -275,8 +284,6 @@
-

Honourable mentions

+

Honourable mentions

-

Archmonger/Blackberry-Themes

- -

leram84/layer.Cake

+

Archmonger/Blackberry-Themes

\ No newline at end of file diff --git a/Resources/duplicati/about.png b/Resources/duplicati/about.png new file mode 100644 index 0000000000000000000000000000000000000000..5779ca7c70dded5829ac7e8c3c637c1c61cc8f6d GIT binary patch literal 1963 zcmbVNeQeZZ81HUuATmS-LV!PNiNPtow(osxZFb_g+qet6ImX3pE@tc6x4Uw8ZEZX5 z1}qLVd?oU!3mHUNA`nrgCd4o121qiMh)dKglfVoCvMFScC4LYRe0#gQ3>+V^N!z#Y z`+J_}_k4C+WyOlT=?kV~7?v0C`>N1;A-We#%SF$!txIm8*JGN$*1)jG^Q}7z>o_nU z!*Z_5p&GL$Sk4J*%+8ByBeW-C8bV`O@v?-*3lV7Ijj%~pJjCdUUILdz4^iz3(m~A& z!?J&!4p*{1-iOc6yFQH+CR+?x3T|oS8`Wmh zLm;N(F2uBqTE$3(2?dNw@EXO~Y0IS~P!uvatyzyIjf(;Wqc8>)(?D1zgVn;SsTyJR zKB_avcNsvT4F)qdCgl=~WlR`m>00DQDj<`hjZljQsVZow&AI?f*CLvWEpIf=t3%#Y z^^mGY(}}7~Q^oS7#bsFE4yby(7bqV>?aqwYuE;MYEw`lBUpQtJP$(?_E2 z^;)xxo!B+wazdC_njjjh6k+*8Sp#T1FVwv$OP);_R%tkzfYvfIdeKK_ctZuL*3oFL zd#-05hGj(pzLJo?@0a$H3L7(L^B~?ay#1LKyWaE_+akp|GwS;0Zs~W;Tz_+lKJC=? zBU4`-+`V;S(0}1}$F`B<@Mzh*;NG5rJNri>L+j@XE-XLqX?UI(PQLylat)<2`$ZW)CYl+2{274cX4(CH>gpFFo?C z8DZPUCv%5uuNB-7^Fz1YzYdwF+m71Qwy{mUiMLx78(Fb$8N4nz#|MIbJZ(Y6PuW5(2*ZqF;#NLa$^V+{n zj67L;R=s}n?B#)-8(XEf=GP1}n@=C;+xNs8GWY7&cxUypSyy{*)fKNxPS?_HUyS;zdwd&e4xcH1{i8FNr+n3ZiN$to%>Lnx;Y$>}(t0yOud3kY@Oqyi( zy29WJeZpT{_>r>)6adb}npMCe4-^B7r-g%{zq(`5qpCi(TA03yZhkuTH z8`XyYBBnf5Nyr1Hj?!G9CF%6yC?|B2RUlwdoH_EZUtO0$96Iv(mJj{hWrMi0Td?)r zl^)&Qq;@DTz5q^-uuzb)ihxm?WF;Os@>nkx`}$au!5C6)I`UF&5N!CXz~u!4E!9$} zZnnUJt?HIx+V=ARLA|ZPwx%13ZebH*guwJC3u{H#$7|l%sV(v5$b+iNv8D}&Lv?7V zyofa2wrvd}4IxD!lyWDl$Vkb`lQRt-D`^quRm?L`Ya{{RsvKD`ow$(ZjoPf7hDiiW z8-a_kn2RJ`bMp3D-pI-?8_Qd{8J^KlmP zVR>qw0P{%292r5RD>_tk)I)|y8AjG~5Mc->P@ji!f9Ec!*+USU7KZIRprT|#QjrIO zLyG&nNQrPbPD#YHJd0$|gb}+u;e{|P*ctoJyRN%h@P3?#i*oJU8PHvJE#0;(1*!U& zuJ7Y+R#qgVtm`?l2#y-ZAtna1`$*Rnn<1iDmf2E>Y3d3IjRh8>c3_wbGkK5Gt-1te z@}ZDt)`Dq4gDEu7kzzs*_z3}RK%hMN%Ft-)Qwr!4(`OI$m-6t zb=KL1=`M-ExLh!ybsIP`t@F=9d3qcl5P`#aFi|@kFroB5buodJyk8AT!ImNstq0bf zb}#ZJ*}gyZ!zJ%P>i@0NLs56#dY0MyyJjLs2PBJ_7^|9G`=iwZXp$H0?v#!1_6@5U zTui`v+l*fE(hP5w3Dt!d&FJwju8Fb!YS&xpb>`_Gw{I^#^fmnEGX^jI{paricysQP zU&v1p_~)^Dy>$HPFOyq)BzW?Nx8zSRdZ*?-SbzKby{NZ$^qr4y{uo`k`uT-hdoO=C kcggp!TQ}a1zda&dzWVwN>904g)L)P8@``uu%xjnb1-*6^v;Y7A literal 0 HcmV?d00001 diff --git a/Resources/duplicati/home.png b/Resources/duplicati/home.png new file mode 100644 index 0000000000000000000000000000000000000000..637da01ea53bb5a631d286065e111796820d06f4 GIT binary patch literal 1850 zcmbVNTWs4@7nsiO3xr@@E2DFDd_DN!z_!!%5 z(uzIMX=5we-Zmr{6PJgHsp9g)!^99&l&7r~m#Qy&WUCm^s%S$3m2#Y$y3uVFmTVuN z^Zoz-{a2q#^!IJw*0zlxi0$!MG>PBO;JfXK$MN&P$vw;X)ojIHb_k+nr*}6I@0|A$ z#A7#%RN74|ha?RZ8C6Fa$dro~MiWH${<5WN!_Xx&FlU%DwRHI_iZpbY8uTliVntxy zh>hEDV7x!2jSp+0PVL`Ec9$irpa@-+EEfx=Bb8;UqF2IeZ=0pa3d9|jsjz2|Oe+a8 zf^10onEDa^F$ zLeXldHJw_RaKPBIYO#RfJeMj!U2EX15xY<^u4^nTz#=qV2V+44YvqxPoIJXZ>c;V1 z25@K5e4xMXzIRUZo0H7SeiqKX|hifRtBmYJi-Mi`|CDj*vh#_YP*@5dvNgpIOB z0UtQYz8*5(8wmh05TJPmROl*-6gM4LH8mKI$`lR`V;H*R*Mk8qD2lYGg#dmCkj{i) zkk&yqq=)=|7zA2fK8myvuLSDyI+hP*co5VCfzF0NmJSB-DihEF4YNW})cugt)ofk< zux;QLR15!GkJp%9?MN}h!C4)vwax&1t+px{WTjjrRrA_FrZg}AP^W6!#s(4CoCj64 zr98w+A5a%nn1ixzNwr}(hokk-x?}H0-cd&%Onr07+mQNy>vU7pBN1Wp0(#5F=*1t6;SEi!+Qy@K;bx{6kM+Oe(Qqnu z>bD=j!Reu=w=O3a=RO`lbMcGjDFd%vaN1|(c?>MS&sO{Lr{EZ_YwqMJblV5-8J9A~~Hn(&z z$DaUeXQmN2umAIbu;&~<(tYdQvon*OvC}`LPp|e(9a>eUF1_;nou)@uUj4O$eEYih OcZ>J-M?dKqn)nwsl4bz_ literal 0 HcmV?d00001 diff --git a/Resources/duplicati/logout.png b/Resources/duplicati/logout.png new file mode 100644 index 0000000000000000000000000000000000000000..931dcdeabbea7c8586a9491ba138df435746e9cd GIT binary patch literal 1746 zcmbVNOKjXk7E63J+AHS zZo&o8122IJh*t!asKg1i2RQc7B4|N~huT9c$`v6Y0p-FGmGM5Tw4`msN?y<7`@jGF z`<2?l{M5wG35H>&DrKuq-@E9u^Ugcy|Gt+W_=~>Aqw-S;!))J?J!8!Jhxake?Z0}B zrF5yfAKD}kkVBeS=mil)GtBP2y$IRMIAxo-<%I@!<$wBP@_)O_VfIF7UDn6$t{s4u2fg7CSDiTl~_0C zw;+(XCCa+4ixLn4;3Kta_%N9sF<3aUV=qcQ60#X1YLb=I;Haeo7lJ6K4U=J* zXu!lCibPqEGMD;5$IfxlO6>QQJGO{@9N;ibC|1s~QJbVBX_FgJ=hxRLprNf+a~+%7 z5(K%5B%SL}H--V(6rD6yBP`Z&LRMlM&vmGo)0sCBG-HfX5;q9(M~SM9OlAQPitK}n zUg(f+^3VnWY@rkz9FTy_%Mvex1}M;!L7+Y?0VqiWXq7mgyLuf|X#fc-DwL&bptNKh zl%iXL9UHnN4iI(N3s4J-QP|?xJdDsJK8dMfYF%ODdBrqqF>yVgUL^JTS++7~s!l{Zd=qGhcd_E~8kTKdFS(kF>9z@!k-SCh zm8=9t@(z_R*+7$3Ec1%0H+fA_D3e~)cvmjk1zpwT63+EM9(%L}k^jGWvc}A62bR5r zW_5MgItTFK;mY^eez`zoXKi3`c9wtaaKmG7lL&0hg8^-~jVb9(>S6#(h?{m%jAvRj zTDPn_@kYicsB?4Ex0bw3P5*D5Zpn1h%x0Osv1G!^jx&(r8kmKC*4PnD*LCl-}}sOKVM=_ z*3i_B#}0j5KX&BAm(1Ipi}!qI{&euqbKw3DF8n@u_RtrL{#Tv%UmuUIp8D*QtNzm^ z;iJz_?E1z3=SX1m-aQsy{_)8xZ$5Wn`tPyB#rNLXc6s*s?5k6mTd+>fKKtUov0pG- literal 0 HcmV?d00001 diff --git a/Resources/duplicati/pause.png b/Resources/duplicati/pause.png new file mode 100644 index 0000000000000000000000000000000000000000..be62518e4c1b0f8bc692167f8a3f6b823babe6cc GIT binary patch literal 1682 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 ZPl^3-^k98w-bM3o>npGF94@P0{|}^7p)vpf literal 0 HcmV?d00001 diff --git a/Resources/duplicati/throttle.png b/Resources/duplicati/throttle.png new file mode 100644 index 0000000000000000000000000000000000000000..678d3f593488afd93db053a016bb9e0f57277918 GIT binary patch literal 1951 zcmbVN3rrhz7%x-UWTHHLFr4OcEM!Bj_vni|RtdD-D4`5kks2cOdiO8A(B7SQ2Q9>f zWC12w+=7p6LmWzCm_`Zeq7s9XM6xXg4K6C1+cGmF8Z%+WxD4atf2A~RvW?i}djH4o z`@Y}zyuO<1of+wQ=>~%#!(HL5gYP{3*^mbR->j_q0>18%E1psfhK)J;lVTVc%rzKN ze-ykv&F86NI4NRec_{#lv4{-O2E+E!n9OpmKtlqcMG)=i{KqFyMBwdcgT+I5WCsWd z6`cy$-C6DBI$JrKM@yeTw#OK#AObWNiABPq%EatwTrUIH`Z10oafsGxN6U1Bh|g1l zI3xui7NZs8NV5g8(MHm0GShSsLJ?#!P88#$2_vnHnP4aiN&HY~P2qz~opVRR7Tnp< zkfzBDjz^0mEagjFUz}cPS3!xg<_*Q^IlMJcolYhyYPjA(l*H<&dOFYDl_; z>g4qe24HACo}`UcxkMsK6RPHFhi)VSvMO5jcE|v)1FF=faKP0LY3A$R$c#e)tR^X5 zNeV9~s%DuoLQzHwvb8}Fc`2%HTOk0PtOo2TMNlM05*SH&DHBW?Ls=guD25=GpdN`A zf*m(O&0dON%vOdp-2jCp!?PNDM=;MZK}m_Q&|x9Mwg6lfTTmn!M#dq9B?TIW>`W`q z-3~{MA_avoyin_QmLqPL!%EUtD@GZ~I9-p2af_7BGPT8wg^6 zrD1Uf%w~)=1%sFk6k7<6vv45cE|hmlT$^43%kn&wr!6*fae%gBBu|nUL78ccW=(L* zamB$PNn2==TDHGS5nv0l;s32iZ%n;*mGweP?HVga3Sbf+~9dd>{Hy!?WG5yn1B*@P&zw-YdG$d?~Lse=++( zSFLN^H+zqz3PO zc8^Dj`t#d!2TDKL c@q4Lr=(n$C{%n`7_UfNdx2xJYTJGQbFJLH<6#xJL literal 0 HcmV?d00001 diff --git a/Resources/landing-page/css/custom.css b/Resources/landing-page/css/custom.css index e225f413..d651b934 100644 --- a/Resources/landing-page/css/custom.css +++ b/Resources/landing-page/css/custom.css @@ -17,7 +17,8 @@ .theme-overview, #services, #themes, -footer { +footer, +section { background: var(--main-bg-color); background-repeat: repeat, no-repeat; background-attachment: fixed, fixed; @@ -306,6 +307,23 @@ p { line-height: 1.2; } +@keyframes glowing { + 0% { + background-color: var(--button-color); + box-shadow: 0 0 5px rgba(var(--accent-color), 0.502); + } + 50% { + background-color: var(--button-color-hover); + box-shadow: 0 0 10px rgba(var(--accent-color)); + } + 100% { + background-color: var(--button-color); + box-shadow: 0 0 5px rgba(var(--accent-color), 0.502) + } + } +.click-me-btn { + animation: glowing 1300ms infinite; +} /* @media (min-width: 992px) { .portfolio-box img { object-fit: cover; @@ -356,4 +374,44 @@ p { #portfolio [class*="container-"] .portfolio-box .portfolio-box-caption.nord-hover { background: #2E3440; +} + + +@keyframes fadein { + from { + opacity:0; + } + to { + opacity:1; + } +} +@-moz-keyframes fadein { /* Firefox */ + from { + opacity:0; + } + to { + opacity:1; + } +} +@-webkit-keyframes fadein { /* Safari and Chrome */ + from { + opacity:0; + } + to { + opacity:1; + } +} +@-o-keyframes fadein { /* Opera */ + from { + opacity:0; + } + to { + opacity: 1; + } +} +body { + animation: fadein 2s; + -moz-animation: fadein 2s; /* Firefox */ + -webkit-animation: fadein 2s; /* Safari and Chrome */ + -o-animation: fadein 2s; /* Opera */ } \ No newline at end of file diff --git a/Resources/landing-page/js/scripts.js b/Resources/landing-page/js/scripts.js index 2cb17109..757f6573 100644 --- a/Resources/landing-page/js/scripts.js +++ b/Resources/landing-page/js/scripts.js @@ -71,36 +71,85 @@ })(jQuery); // End of use strict -// load random css stylesheet const themes = ["aquamarine","hotline","dark","organizr-dark","dracula","overseerr", "plex","space-gray","hotpink","onedark","nord"]; var random = themes[~~(Math.random() * themes.length)]; +// load a random css stylesheet function injectTheme(theme,container="head") { if (container === "head") { html_element = document.head; } else html_element = document.body; - let link = document.createElement("link"); + let themeOption = document.getElementById("theme-option") + let link = themeOption ? themeOption : document.createElement("link"); url = "/CSS/variables/" link.type = "text/css"; link.rel = "stylesheet"; - link.href = `${url}/${theme}.css`; - + link.href = `${url}/${theme.toLowerCase()}.css`; + link.id = `theme-option` html_element.appendChild(link); } - // Add updated theme count. - function addThemeCount() { - let themeJsonUrl = "https://theme-park.dev/themes.json" - return fetch(themeJsonUrl) - .then(response => { - return response.json(); - }).then(json => { - document.getElementById("themeCount").innerHTML = ` - theme.park contains ${Object.keys(json.applications).length} themed applications, with css addons on certain themes.` - }) + // Add theme data and set theme vars + var apps; + var themeOptions; + function addThemeData() { + let themeJsonUrl = "/themes.json" + fetch(themeJsonUrl) + .then(response => response.json()) + .then(json => { + apps = json.applications + themeOptions = json.themes + appCount = Object.keys(json.applications).length + document.getElementById("tag-line").innerText = `A collection of themes/skins for ${appCount} selfhosted + apps!` + document.getElementById("theme-header-text").innerText = `${appCount} themed applications!` + document.getElementById("app-count").innerHTML = ` + theme.park contains ${appCount} themed applications, with css addons on certain themes.` + document.getElementById("theme-count").innerHTML = `Choose between ${Object.keys(json.themes).length} different + styles! With the possibility to easily create your own themes using the defined variables.` + createApps(apps) + }) +} + +function createApps(apps) { + let allAppsDiv = document.getElementById("all-apps") + sorted = Object.keys(apps).sort() + for (let app in sorted) { + let newApp = ` + +

+

${sorted[app][0].toUpperCase() + sorted[app].slice(1)}

+
` + allAppsDiv.innerHTML += newApp + } +} + +function fadeOutIn(speed ) { + let theme = Object.keys(themeOptions)[~~(Math.random() * Object.keys(themeOptions).length)] + if (!document.body.style.opacity) { + document.body.style.opacity = 1; + } + var outInterval = setInterval(function() { + document.body.style.opacity -= 0.02; + if (document.body.style.opacity <= 0) { + clearInterval(outInterval); + injectTheme(theme) + document.getElementById("switch-theme").innerText = theme + var inInterval = setInterval(function() { + document.body.style.opacity = Number(document.body.style.opacity)+0.02; + if (document.body.style.opacity >= 1) + clearInterval(inInterval); + }, speed/50 ); + } + }, speed/50 ); + } injectTheme(random); -addThemeCount(); +addThemeData(); +document.getElementById("switch-theme").addEventListener("click", () => { + fadeOutIn(350); +}) diff --git a/docker-mods/duplicati/Dockerfile b/docker-mods/duplicati/Dockerfile new file mode 100644 index 00000000..5d11a1f6 --- /dev/null +++ b/docker-mods/duplicati/Dockerfile @@ -0,0 +1,7 @@ +FROM scratch + + +LABEL maintainer="GilbN" +LABEL app="Duplicati" +#copy local files. +COPY root/ / \ No newline at end of file diff --git a/docker-mods/duplicati/root/etc/cont-init.d/98-themepark b/docker-mods/duplicati/root/etc/cont-init.d/98-themepark new file mode 100644 index 00000000..293b111b --- /dev/null +++ b/docker-mods/duplicati/root/etc/cont-init.d/98-themepark @@ -0,0 +1,49 @@ +#!/usr/bin/with-contenv bash + +echo '----------------------------' +echo '| Duplicati theme.park Mod |' +echo '----------------------------' + +APP_FILEPATH='/app/duplicati/webroot' + +# Display variables for troubleshooting +echo -e "Variables set:\\n\ +'APP_FILEPATH'=${APP_FILEPATH}\\n\ +'TP_DOMAIN'=${TP_DOMAIN}\\n\ +'TP_THEME'=${TP_THEME}\\n" + +# Set default +if [[ -z ${TP_DOMAIN} ]]; then + echo 'No domain set, defaulting to theme-park.dev' + TP_DOMAIN='theme-park.dev' +fi + +case ${TP_DOMAIN} in + *"github.io"*) + echo "Switching to github.io URL style" + TP_DOMAIN="${TP_DOMAIN}\/theme.park" + ;; +esac + +if [[ -z ${TP_THEME} ]]; then + echo 'No theme set, defaulting to organizr-dark' + TP_THEME='organizr-dark' +fi + +sed_file(){ + sed -i "s/<\/head>/<\/head> /g" $1 + sed -i "s/<\/head>/<\/head> /g" $1 + printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1" +} + +# Adding stylesheets +echo '---------------------------------------' +echo '| Adding the stylesheet to html files |' +echo '---------------------------------------' + +if ! grep -q "${TP_DOMAIN}" "${APP_FILEPATH}/index.html"; then + find ${APP_FILEPATH} -type f -iname *.html | while read fname + do + sed_file $fname + done +fi diff --git a/index.html b/index.html index 1efdb4c8..f5ae4ab5 100644 --- a/index.html +++ b/index.html @@ -21,7 +21,7 @@ - + @@ -71,9 +71,7 @@
-

A collection of themes/skins for over 40 selfhosted - apps! -

+

...

Find Out More
@@ -84,304 +82,24 @@
-

Over 40 themed applications!

+

...


-

...

+

...

Installation methods include custom docker mods for linuxserver.io containers,

custom scripts for select Hotio containers and multiple examples of subfiltering using webservers like Nginx and Apache

-

Choose between 9 different - styles! With the possibility to easily create your own themes using the defined variables.

+

...

Get Started!
+
+
+
+
+
+
+ +
+
+
+
-

Available theme options

+

Official theme options

+
Click here for the community themes
+ +
@@ -558,7 +290,7 @@ - +