From c21a907cacbbfa8ce8a135362067086063a805f6 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Mon, 22 Sep 2014 22:42:29 +0200 Subject: [PATCH 01/27] initial commit of the new template 'oscar' * base.html mostly implemented * stats.html implemented * about.html implemented * most of preferences.html implemented * using bootstrap.js --- .../static/oscar/css/bootstrap-theme.min.css | Bin 0 -> 18860 bytes searx/static/oscar/css/bootstrap.min.css | Bin 0 -> 109518 bytes searx/static/oscar/css/oscar.css | 19 +++ .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | Bin 0 -> 62927 bytes .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes searx/static/oscar/img/favicon.png | Bin 0 -> 3208 bytes searx/static/oscar/img/icon_soundcloud.ico | Bin 0 -> 1150 bytes searx/static/oscar/img/icon_stackoverflow.ico | Bin 0 -> 1150 bytes searx/static/oscar/img/icon_twitter.ico | Bin 0 -> 1150 bytes searx/static/oscar/img/icon_vimeo.ico | Bin 0 -> 6518 bytes searx/static/oscar/img/icon_wikipedia.ico | Bin 0 -> 14858 bytes searx/static/oscar/img/icon_youtube.ico | Bin 0 -> 1150 bytes searx/static/oscar/img/searx.png | Bin 0 -> 7647 bytes searx/static/oscar/js/bootstrap.min.js | Bin 0 -> 31819 bytes searx/static/oscar/js/html5shiv.min.js | Bin 0 -> 2636 bytes searx/static/oscar/js/jquery-1.11.1.min.js | Bin 0 -> 95786 bytes searx/static/oscar/js/respond.min.js | Bin 0 -> 4377 bytes searx/templates/oscar/about.html | 66 ++++++++++ searx/templates/oscar/base.html | 65 ++++++++++ searx/templates/oscar/index.html | 6 + searx/templates/oscar/navbar.html | 21 +++ searx/templates/oscar/opensearch.xml | 27 ++++ .../oscar/opensearch_response_rss.xml | 23 ++++ searx/templates/oscar/preferences.html | 120 ++++++++++++++++++ searx/templates/oscar/stats.html | 27 ++++ searx/webapp.py | 2 + 28 files changed, 376 insertions(+) create mode 100644 searx/static/oscar/css/bootstrap-theme.min.css create mode 100644 searx/static/oscar/css/bootstrap.min.css create mode 100644 searx/static/oscar/css/oscar.css create mode 100644 searx/static/oscar/fonts/glyphicons-halflings-regular.eot create mode 100644 searx/static/oscar/fonts/glyphicons-halflings-regular.svg create mode 100644 searx/static/oscar/fonts/glyphicons-halflings-regular.ttf create mode 100644 searx/static/oscar/fonts/glyphicons-halflings-regular.woff create mode 100644 searx/static/oscar/img/favicon.png create mode 100644 searx/static/oscar/img/icon_soundcloud.ico create mode 100644 searx/static/oscar/img/icon_stackoverflow.ico create mode 100644 searx/static/oscar/img/icon_twitter.ico create mode 100644 searx/static/oscar/img/icon_vimeo.ico create mode 100644 searx/static/oscar/img/icon_wikipedia.ico create mode 100644 searx/static/oscar/img/icon_youtube.ico create mode 100644 searx/static/oscar/img/searx.png create mode 100644 searx/static/oscar/js/bootstrap.min.js create mode 100644 searx/static/oscar/js/html5shiv.min.js create mode 100644 searx/static/oscar/js/jquery-1.11.1.min.js create mode 100644 searx/static/oscar/js/respond.min.js create mode 100644 searx/templates/oscar/about.html create mode 100644 searx/templates/oscar/base.html create mode 100644 searx/templates/oscar/index.html create mode 100644 searx/templates/oscar/navbar.html create mode 100644 searx/templates/oscar/opensearch.xml create mode 100644 searx/templates/oscar/opensearch_response_rss.xml create mode 100644 searx/templates/oscar/preferences.html create mode 100644 searx/templates/oscar/stats.html diff --git a/searx/static/oscar/css/bootstrap-theme.min.css b/searx/static/oscar/css/bootstrap-theme.min.css new file mode 100644 index 0000000000000000000000000000000000000000..2e97597c876ddd2c5d081dd27db3a90e61d925e9 GIT binary patch literal 18860 zcmeHP-*2lp8hzitg4Na4v?E9eNtz$k?Ze(3jVjIT%if2TR{LPUq-YX|fZq11>i@pB zKRdCBo$wJ>orf)&>BZo~!RI>$+aDeO{MWyDKYM>G%cgEBviH7EN6{$sZl0QEzaEb_ zw29TRQBv-1`PpB~{f{c&JT+bvP9_2S-^}~=k~a;leDASHM*O7T@`M&OO}*zLrIq*l z<2L}UIcnZKJ;xkx+`Po~_;87Fye;GLj?@fl{M+N#U;gpWU-%`*qqr%8lxF04+xTK< zU*$Ve{eYeNIZ0?;!%kjgCH(7!R7GBFU?(NThE{J4eQkpJiKOMrI`o3c{?!Y;Y7>*2 z(C6DIy1frxX#7Xs1abMQPR-f9H0(_6{AfP+)qkVO{MLt~{0tp0T+DCp2Sa+-TVhR; zCjU<1{$zs~WwKq2GTuB!fovtC3>wQUg4Q2du4$CXYZ_(znnr=Vrcnmhltpi6G?=m$ zp0`?g64_hXb*^Yf{r=Q-W0L%_sY({L0SmAVT^D6RjaF}k5JbeMEX(ds>Z+UA<^?5H zu&GFz)1tX)%DvBPc%lD^hJ5oTVfdNFN&D(S8C+3W#_{300OfCK)_9zQ_(xneO}X>4 zs@&ahQn!9n-bh-v7D}glJPBdFr7YhvH?Q|qxyjS@-~aW1C*Pw*Y8-&ZV+VefP5bS~o_+~$@9|fq1&Oyb{gRPw zO^w^G=$?{h4Zng{X6A}@X+gpnu0N$Q-&%!9k{B_wek#AS-qA2`RwmE&o2Iw~gnQCM zVPDpHlb40)uvp}q(7GXI7ikIR7P#dWOw=^5MSB>W|E)^@(}{Q6K(dR{>%u8#eKL!d zaYDFNqVz5y5!Nc5>*L)5&|nxKhct|X8$NnZJp<4d&j8U6^-L7s-K_`&oO*6)4pBue zhrk_Nc8J2!9U{xz4pHESLu`bV7mUa6S%)a-b|-&)#K?yy(joICUd|KlklAE)H=AG` z(z!m~Api{y0dh!(IJgbr5P-Hg1c-j9L#A|@P33!sdW+K>qKaG&fjhYD5QU>VM3%W7 zqQDJ@*a({rk+^3aqM+Rl;jfZdd&EhYQt<#GBu>!}ka^eoJ?tT%M-I+SM%vi49=5D zL?ePVNay-^g8(!b1jr!`;@~!fK>*rf5Fq-Y28mZu5-sHrSIh(&Lvko_*#r1rwuf!j zOdz|>p`ZwT0~ z<(|#A7Qv1d&kx)DfvCo}9C3+2mweMj=-}jR&Nng5CaPnd+_^s9$p9@Mb%Gqy$qsHq zI2oWVP6iPyPS!fu)^u50e(8k=;^1_mKN3US4GdG^O^hSdOh2}UbpbpUJ`0Qp}H^O*^u5xW{`Sn zpA|nG`X*%P(wJ`|0H+z-u+iJOK0bf}TE?&-hm2tdH+(>yPHh9UEsOrumBgsh8+V)hJPCLbf$Gw-{FSDb5=ahsldIzPUq$`?c3odEAVnZ5qZco~^eh*0nG)M~Mu#(!j4I-(4wnz#@ zuaR^`l8mx^1JUIKa%LH+YL;Y6I_0Xe-&ulIwR3&EssIhD0y(6r4sJuJ3eXl+f#@}= zW^=k&u{Cl~wbx947Nr!HhUtR8AY*&q&h>kUDyV^|Kn^Ra{oV!K6sUU~c&%td7{Q%mc9}q11I`|KOMqTZ8=eI#_UKMy}UYPydsT9~bU<1-hz)Oz~C(Vw4m`;(+U8{_xUHm@7@ z{a5+CZ%u?cmOb6+H0(>G!&iy!v-B$lc|&({iPG1Y=;bQs;>goD3Mm)XZzn&&E9Sj6 zAn34Yue}RLi)D-+cz3Rk@5=yMzUK>a$iB?MZHT@MpjnsI{t#{|h@$$k)+cL#z+V1I zLAQuJFmoo|5s`f5Kme;8j|aK?MA_8UwJ4Sn^3`v`3QCaXITk{T^a!%UJ-971MrigNW%` z&H|#n#FWGT>-5wXdq@@~=wW2%`glD78qApqa!5TL+=kE-pe^PEqP_HlX@D!`JTCLZ z?9UG1gKq&A#^*us$J&nKbb4W6he@Dnj+?=o} Omg9I`C5!gKdH*k!##>DQ literal 0 HcmV?d00001 diff --git a/searx/static/oscar/css/bootstrap.min.css b/searx/static/oscar/css/bootstrap.min.css new file mode 100644 index 0000000000000000000000000000000000000000..a9f35ceedfac7fc0559b121bed105eaf80f10bf2 GIT binary patch literal 109518 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 cVi_oklI~fgwrx+iXqlHn!qS)j38QY+cmMzZ literal 0 HcmV?d00001 diff --git a/searx/static/oscar/css/oscar.css b/searx/static/oscar/css/oscar.css new file mode 100644 index 000000000..6ca390679 --- /dev/null +++ b/searx/static/oscar/css/oscar.css @@ -0,0 +1,19 @@ +/* Sticky footer styles +-------------------------------------------------- */ + +html { + position: relative; + min-height: 100%; +} +body { + /* Margin bottom by footer height */ + margin-bottom: 80px; +} + +.footer { + position: absolute; + bottom: 0; + width: 100%; + /* Set the fixed height of the footer here */ + height: 40px; +} diff --git a/searx/static/oscar/fonts/glyphicons-halflings-regular.eot b/searx/static/oscar/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed GIT binary patch literal 20335 zcma%iRa9Lu*X_aGIXLtH2X}XOcXxM};>BGK?k>gMi@Uo+afec%&=$Y_zI(@iAMVRd zMzYtMnVHGh`(bBgBrYld0G2WU0R1n+0{)ZW{#ye8Pyh%N;2)-_`hS4`dHjR_o8s?3 z%Kr!aAA=Sk15gC$0aO9906BmJKn0)-&;Wq`d1e4dfc3v(2XF@106hNnKnJJ;tp3?v z|4=i4`#;17p#2YV|JP~t*4IuDO^FK=e+xx$$?LVd`z~aAr@Bit+ z4B+|46aYB=Q+D{L`5%t;Kdt|aZw_GpXL0?v@B%pgd3^uI=KcSkIq3hHHvk~6A@l#d zDHwovCxFWvz!d;sGQ^&}h@CLq(3!MVaFhSyL!rg*&d8F%X_&hML`QYBTiRZ}i=N8C zfX|m2SCm$2B^?XKJ=3POS}r1sVM9Nj*l5q`5#S% zQ}FD^zy1Pj*xUGOm4;*C;l80oktO?~%SdX8H^8@@idBFWyOINSr_!xo{REWRlXgw| z3-(h5XcHaEdPKzyy2-P+Rljn4lR?IelEOtWLiC?_9FW&x@kpuRtfsn*-QLS4EoN{{q0u8pt_^hD_!V);D{hen z-XpV~5QeQTYTIl1+B^5r72`!7FRQQ$Jh74=Gm*OkaIoNUC7!wk7rRZVuVK6urnp@}QDpB~9*S zkVWg8LyXz8-%53>GXb$%*H0(bqkUIN`Oz8g=bse?bAumC8`5XqA+(_y{fV^j(1$BZ za*@mJ(&?Dl2k;8tW}O6OaavJE|17u#1t>M^0!@SDJc2)cLZL`m7!-)74CQUXoksM* z9m|Sjh}@dm-Tnc8<77&TfjT6H{3)kXMM774`D!eA0|(RuQz@iQO(4-7lX|aK*M`Y=f%R{_&<*A? zB(AZUl6JXgz^9c9q7ZW~Lpncpv1I^6O4mGX@3P^Q)?jBgx(f#RD_4y0q5aC_beGG> zn%RbEy_vdx`sL?|Jvlgyxal-}XM^FDQYp|Euiu=%8o(=wic+XSimJ4(Adn3`QH6^D zQ}H@oBN{|Zg^2u|@8c~h7Kv&HCx??xy^J$3{B0{XnlrThDaoQqjXjXHi#b!KIjA7( z$hT;Ah_VP&j)(Z6&(xn;KF3rHsF^A#il?$)q4Pp#sly?|%OmoRG|MiNW3+)?3Wd9= zgbUjzTLX+!G&oYj9P;jnHmT91qKPzxkj@>rsqi|=M5$PfrRCY%E7${xLDZFtYcC%k zorpLj$T65dN+HV@=yRlKSS8W~SMxFkK1~U-XW2@DXcG`4-V)z|605uD4Q{MP10fD5 zc!T#)n57))zXXfg=dwnZuD_`DCJc3cHE6HuA(>36o_neqgoF0pRK0eEc~{rD8%Pfh z@dtE6ovkazKj3fd{)*&tB0YA^1d^^?2oeNyB7u(P+O4$@lCNc~%mb5iP)dLGM|z;x zEkRYM_^U`g%s5jiH=8Q2h zlS%BdC6DaYEWi0UNhnc*zFT$fV`4_VMNU~nH;q(Ld?!#lIvm)K;W_4C(l3+4TZ=QI zD%siB%cY+Y7vMFM_KAg?sxm(^nJsMIV?v|vAS8l;zotv$#Ml-Y!n7|X5Y5C)=TiGZ zQ+=(9%lk0&L&hDtwRD=Ua6wQeS{g2mvwc>^|4$ot-2Hi`z)|V$N{mNAEZC3gw_8%z zq(L3Bcwr2gin62dXM8cG-D-auD7HayLz zJI2|m=8$F?Ko>v@P4{(W5g=}-b$%tJgfywp`6&A96|Zx{9N;1@_>hto7TQf3EIMm+ zJ`;@@4ycXnHM>|iJ?FXkWGc8YuGviO&L*^ajd+vyLIxAAT{isADQQM5S;YP+jAYp7 z3E1Nm1HDd%SXi``NR*so7XidvRPj#BM7A`S{cU%VISQOhrMLr08;N36AYg9}40Ml# zU)GUxQy(D1%P`@`HDaXn&%m8`hOu~_2a`%P{v7w2;KUNhll)N(y4wD#p#{+($uLOB z!X;K=sci1erRm1=Qcx#ja(r=E8*89RNH8`C7T4|#uVRc=Kaf}0Xw)>8g0(4H!ZrK^ zh-Kf(V#NQcMU79on9bk?`U7eI{Nu-CdboLYH-7lJI|7VCob2872$p->3n)-J>N|b% zIn3vzKet~nvHB=bP6rDRV|&&4LL}S7`iu2ok&r8ecw~yUROul?44VSV3;z7qSQWl+y^cX=$j~OQ;o~0+_)5WDRF0^JbuD_umr4Mn$EPEyB-_eog^1*P#Ui}dCDH6-GndXgi$XV2SNHe#HHQoU z`2f{kT*~Y-Gtyd}I#v=*PbShJzp4hgaK>cr++;2GSGr7^2gA_3H1F;=06B{L4@fTs zD?F!vb_51Hnzb3BJlYiI4qZ5fDt|CaKX-N&2aP_DVX`bH*FN93cV*3fPvociz|dFF zDI@_;;4`*j9yW7pmnXjEwqe@BEQw*5Kcl$=zJxCo$}$5>0aU8*UXir zlo6vuHSn81M=rz-M|tYukSa7I2M$#Q-7`8&2-+UvW25@8gOf1VSR}3RdVFr|-&}4T zky0u`XuQc%0#b=LJWu5hm&cbB$Zk2FeYD~v-Cc92u|%sIUh-65dJR zZ3)g?oGWe-H6(Dl5E)k2)Hal?$9R73FM9`l`qB^<^f4kuce&|T)yCo{^=_a`TY*c$ zRRh_284jJjLoW$Wjv_@n$8LbXuW0pZw;g`-3$XUHD0Me!pbdD8z$3+L^KKYOabFdl zZW8&J8yRWfjLh?e7QJEkgl<&QwDnZ2^WwgBH0{AjxI^@Q)51nlGRVgj8j^jL0%{L5 zg~N&QybX0(ldaaot?}x4%vuVeTbZ96fpg*k(_p?a+IFGn!YUuS;~_Z0CLyGFeQ=ow zhS}^5R4dLfu9Q@MFw7c5_Tg`%mq$XF81YXSFD~rt=E6o|lVBQmHpMG(*<)M(E(4f* zifS(;Yjenr?~y*l>F20zQ%mciliU45f-wznJZdw(tS7t6>004*2#X3Ej3pco3fi`a z?|gM_ckVQxZ*D!nTeU+|gbdPEj(!rKUXu)| zkLqUGanZqn25Ek?PHa9%4W|%Ad_2AJ^C4ZsK(9AW?d?fe_y54j#ceCX7%ZMmS`{x=_0fcCjb0L>U_D>5f4kNy zHQQg5@4aYV)6gpTnv`z06M5a}w7=9Zxp`bcn&i(EOAPWj!?Z(2O?^DESnGfRDGcs1 z?IvJ*{LKonl7#robcFc@OJ<~_Nrt1&v@ePe#wEFKMxfTA!AwJm2~n9HG8Q3?YR-Yz z9Qm3kx|c48;)6Kyoo?<`!|@@xwp~u#ofuQm>ip4bLvO_8W)9{2phqI7{WR9NLgJ5S zHO8hXtJ(CY)mUG&o(gGo!3Qk!=#XUS13O&o{vweBJ4o1y<~#&5^$s69ECV9xM}=+2 z3!NJW8%Q`f_Ja)nexErX5!VB@V=TLVghSEjRt5vdJ8zuRg0R+Y>(Wb*7ED)es#R7< zyyj>az=m}1XQ+E7Z@KG=Cs|{!+EejQ_B-7_Z_Y;kETxVVJOayFzr&scDu#RzsdT7?ZD( zjt$GiPqMQDN##jNA(UuHMgjopqE;pkUTep+3YhG2G!BnK?~X#v(Hh{G+w3pu5aBF+5$)Hq);#9CbG zsE7UhKwvg;w*V(0K7kvgnm5CXt2oMK#y!&dqW6^CO`o-9h;rpe8sX@M7vdNHrSI)y z9KlvS+@+-`CzlS3h}P)VbJn)MN&1rZJDgsR=F2FHZMpd&S1VRKi;7W;=|X`v`iwr; z6={w%x(Bj(^(a<%?7PB*S%}>sft}U!!qdscsQgT@3X5WihmLBxuS7?1$@SvvJ3<<| zt}Y%yqH_W&6!_(na-jr#Zv7W*Cu#c6Hqr$o{eMTHmIWfcuI+rsXc1x$ibc)|lxs`| z^lhQp&^b^BTL(xEI!6k8bxom-D8C}+6_a%`?CYjSuFcEh5J1&Y`Z-6Dj-I`%()n$9 zg*b<&Zs^xdC{p2ab~}fxiuobr7XT7pIefDq+B0S-e*#Ncv}xLJi{{yPWu)?Esyu0; z1qsK_FAEg-C+$p0cp*xgs1s4btkM&3lqqeQRpD2eomd(OP0Q@*e&Xas38amh5^boC zOw$(pnvN$4MdoQ_u*a%EGU#34!L8h;hCq2qu>vma`dr@6OJ$uR*Uy0|v+9(q#{vUE z-6#WJn9K=D1b|=3z9t2tlyis<332BeH7r+zY@~b=^WA5yuvSMiyU=H97SQ7PJ=xDq8^5h@!5s)7NwIC(^9c}UqFKh>XnFPu|+L@P;S z3sSA!`G>+GcF}A^nfl|n_2P=oi#0>A$BphJo^niV$39q>jBn7=yG3jodFC|0-)C$R z@AvsPawzRcdI+N@#+XCUhE-bV6R(fb0#L8<{kZo-bBF0d_eb2=Oq%CRy|M%BGBmTi z*(vF=mDqfB)Ffbr1WObL5rtaXXn7h$vMIMyd!!E!)5Fe{yHa{ZKHpGwQ9J-@cQ$OX z8Bux&6WJ%|zF+jJZ&(g-&u~QV-Y_~q?DJ>#3~9WiBeIU_uh)eb{b{VUn_K9kFfYXL z#W?5L8z;XrA?Kc&ua35Hi_uhWghl9)h*)J}%wG+Xnnp2ZOl*YtK3VQxUMfBM+z>E2 zeI`!tBDijjXYxlLEZu7t_T<~!mR0{o>6W*Ejr z6v8z^G$W!dDq*^y$WbyhI)x}-s>tdk0{-;A z91U?k6Rg*%T*U)Uv_PP_}4jhJ6|~ z)$B}m4(d`YtCBcrVbz?cQGo|NhMK(@OnGsU7OAKgUBJLh?E@OO@sfUG8M``oQbcDgDKEy^t6!AhE@HqgSG<3Q{ND7tH!G1 zQFCZgl=Ykxr~0pdq)`n2y3~Y0cvkO5i!CLTAc68-9cOMi2c29BTcg!W5=XzHR68tT zH%o4w$B?>YF0Aq0w*Q@DIf|UyjajcxO2`!Av{p;s2#z_Xfp*{$2fM>65~br|rCyhX zcrN@r4!w~3imlj-eew7qq8d&vtYnSAT9&|&Y&=~}zF5=-5at@Gr1s6~`eBk{nJh+@ z#(=xEI>c6xXU(ucS*a_!ww@WYvo?~@3dBjqAUH~h9mW5q!R#);8l%8+oJnb+-ydqv)LHQJSgY=p%{@~Fk(V6=o{<5fV>)fPWOyXSo|G?G=*~> z?z><)(Ss@lE|vU-2vhORxCM>@LEx4O{!kmzI5 zFUOuOX^BHASj%#FATqS(FnqPTp^|Sq;eg3wKvIzUJ%FNpoCY`^OPv(^>&j{V#RFzE z@3Y)bA(4m_iaS`J&gG(v^)Jth;W$iESCeCBA1#B(N63V{dggoJ%RQn}c>a@^%gazJ zI$Shg5yVpcpnJOOWY^dBUI=3iC>#a1p2NQs|b zgZHukR9HwV8Sgp{#+jN7ZB3DI6~hIHv@&% z=$?K2gzM;xC?K<9N0|-BMSk4bLI)uB*!ugfY0qP3R%y5O?&{Xfzojfbw?zj^P+_;e zRVm>&GsN)=HBH+0BHxJo&ckuL8w0=_w~q6R{ghxeMmsDh;9@n%VFE`Zx%pQglC=A4 zmJFxIgNwqP)8^b#RwBGP+eI;wi}{^pYMTtQ4h21k5DL#G?TZ4VCjrqHlXx z5GWyy1)M+9Im*H1Nb!*p1miCdMHEs>^!0KnPX60;FztLJwN}7vh;E>|7i^aSKwZPp zbmc@;Z{n(|)caxrl1Z94YDTS$mif`TC>B#m4S#$l?uReS>1@v!TRjv$vg^osFiop z3Ec1yBx|_DM8|$B+gdt2+Wo8>VSiOZMk{KxbsETEqXrMe43bz3J;k2|bk1|VfW}}N ziBRxsE0VSSOf}i%^gY0FFMldwBHt78EjW?Hs`TiH)s0WX#E(VMU>!x(pRNEl0?(%d z(09!|c3J9g+xi&)MKNr%Lz~VacC(%gKWoY@ID6_>a>(E=mVmuqrKtH5d$d}xX&NeD z5RiuBXo9`O{xL>+V-49mRc(3kT+>qNP814Xc&F=6k?M%@t6NOb@@_X`d3htI>|zGN z&z3d$7^TV;cV+eyHCzB+pyNz1atbYX3gZfiSjHB<0Ehv&M)7xxzlJu32@Iosx5?qd z-7Ka#WS9+1pr}6b%d2z-ZT+Fzpf`63fy)jTb-|y39hX-WFKTi7kn^+4(;QJI%l!pK ze2L!7r+ad0PfD2bsar6XgD>XWJxwwoHCORf9r0VEIM_qM zCzw=0@8aB8TV{tjzE5zvR&0MR>so`xq~rHSLBuI)mS!Dh1{CI~)~Nb^?^R@Gb*0A1 z=&MnM%PG*qmrKBjp8ZIYS@DFDNwe5Ww=2e65vs{7e0?Ou*xB{?A9P$i{y zM|4xJ3)%!G%8d{u-AC5&>)0?3EeMgln4Yut1`I~s-Cl*~G*Ri1k>5}JY295;&pq@- z#Lm^4Hp$Vz)X?2y^sW@;*ClyG-%gBU|LBB2+bG$zX%YcrI$cSa$$Sdz2EBDDiX$!I z{_-)%I3e)hC3KOBqNUpTOsPtReVV3GD|?sDzlEY;lsV>UYEWf_58h)t*RN0JkrGu0p9p8L{s_RPwvTR zXR9)eJN*RNMO^RZbZOXGNdieWgVSs&xvqTIv}1x>vCDtEk6_WWAVXu?Nu7sREv!;U zh%KMgdA}u72`Xz6{1nx8ud@3we5$9_>x#f2Ci}@h{1$Fh&}3CiF{d z+}gjEHbU-5+06vi&lbqcVU4dKyM_2lgko*2LU$@58M9ER0>@8%8{Q`H zM^pmfKp*!)YkLi|P(GT%H`-^=EmrEUhQ4I?ux{(gb8Cfs3Y;=$r!4-O%2yn10(6sR zU6xmo^&_$SnfCEbTemLPST3#%z3J!5Y}po{ihZicg?6_ADfUcz?o1} zmJxCzhnNT~o!=vhmRTEXGQ4OT$Zvhr5{5Midj2y-p}oGVqRFwQiNxp#2-*sjF6fsF zV6XhhsSL>wR!QmL`QcBPeEpof>)1LNkZE`AL+G5)@6qC>qR! z8+){akxki?kaFfX6i}pXp_`Xlck94~S-?9*q=QqL2z=I4B@Zvi@4?yJho3QIdNI8l z#4QKGd<)2;6Vy;X#e*x_gP*hHWyFFgqukOJH7ndQUKry!7s+}S>|FP?VT3DlK1qQQ zk=oA%rP%@u3Q)BH2;)Li&oL3#M*r$!{Ih zASM=(#VCobo1BhR#*@dO*~PX)#gN9<0l;rNRKG4|p!^Nocw@Iy>-~ZJ?0T#CqSxD+ zevj?m@H}89TT2L<6HsC#BB(?}DykVK9k*1%F~}N9y4KadeB)RvJq;@3pmQntjRuyp zd+bH2w#~~?gnNl>cBMwx5@vUCsl~4k*^~r4aR!EORAjW02r1eGW<}-vIl3BCwVUEw zh(xbpj>h?!;M4gDxV}8^il-Ur;r34S_`LeD#vXa-JKk@`B;%!=m}ILfo6GCRP-vnwGMvS1TCwL(fwPc-To}O1cyV3K?4x z{_{-2*jZ}zOd{hm(Z%1afi9LPcXUtDSf?C9Eh3I80lt-6uc=&~q`FuW) zKHDvFXfegSj8LcxD#zUuFPYuggI{ZvI5 zj|TJPpX&$cTSpufZ23uYl>m#4Uva-%N<10wTI1Mav~)-=p+fo(j6RRxz{*!Z9U-)C z9>Fg)gf&-?LrVVy@(_wx>%nb~#fWvMjZ~3snIE4PjYc%6*#^HD>*h`@M=No(8gEO?tGG;DGL! zIknN6VVIpLepd7%^9kPQ=@m~$#G`d&22uBd7N`xiP7nd~8%zL8zY7$6HJXuC?e(YU zo|ZhfFlXWkh}8`aNOTEuicNS}80_)bI`FU)e}Gw)H(>SGZcAB2IjJ%f(xjS0D3g$f zpKWvE6C}I95gE5ucsGJw!I(^u@Qq2m!}b62JC2|pO%)yPHM(i^a4hL6s!^uhSYDQ( zs6-SU+3-3w$KoVN{lR=H^hVSP#EnRfCNooS9%oP_bri+sHqLwpN!J;gB#HbCT*wP$kPMWfp>3s$!F>BG0nI}(tOBcS z`;|a~gZLF43#h#S#h9K-xNW62tdPsD6m#K0iM?V&GbYaL+Tv1R7X)gj~#SmUb78qLnlqoP^ zSe`gkIP@zojM0&GO=h@|U1Brj_A5+?CK^Vl?qgjE)=Mo|Man|gckYv`pkbSNoKK!l zI{10#kbR9{p%uRJ4wx<2MtMI>or0N#cP<&(WR_(NRzrNObQ6E4VtUzc?fH?Q`SmTe ze9vOyJ~XZ1o3+9UPw0YlgJEIwL%gBxaQO=tjEqDxu@8q>P<_RrX#GyAh7*w=e!%zM zvmm+X4>-{%3kZ>L>`>A9e(Oe^W8*8imEKjvrX~B9Z?mF4pdgAW0GcqQ8K?PWbOtli z6v1wXRcjUM?UkNSiRv~-lG&n=6 z$-Xti>!AZ`H4B7vrP6?>0{7UrywB2v>KcE_pW4LIO&E1X8z-=JL#R3C|YNnMkc!*60bMHvnH<`ilEG%{J&Fe*%+ zjTZG$y6;1$L>`qR_sp}wV!83lNr^{s08V1fY$}RtDBk_ zY{PKqIRP(E+njlJ>;-Ne9DTE9Yc-7W#!7e7F3YVtOg2yK#&M<)w#4K*c(bn^FnHGi zOO53p1ce|18`isRiPy2)Cp&cXWCMewS7U(<3?fr$6<2fP(VAkoOk?Mn;n6cy6eoEN zcTNR*-IloNR3v5#qTkK~&Q92!hff@mt5?U>fQ)(sn9?kZ zoELH=@&o-m=!`QtVP*4!Zq3MI*C)c*169O@A6{Sw1BrU77bX<7)o+B=OKOT3M_qUu z)G%1v*Dw$3!{WTWe}2o~d*W7}{itvohqK!zI4HNk!NALAmrWckmSUmNsWC3}z589I z?(Ph?T0sx*T5P5eOv%MYbRzUJ)6Kn!@@StdaavA^up>Bu#v(VH%nlM5iNgY!YUrMi ze_F{-tA~K?Z+>D_Z`ea`+x(I5S4rc!$&2G#xZi5!P+od8TU36$-U+2lUz(G)^M=`)XHCub}p+?s<^N%UM4vVLX!W z3!0^;2XT5crok6h1={vUZ6hmQ4N20z`>5mfN}W4i2ah$KgcnPPpEs_(#;Q{)27f<( z*y2iflq`qB-OJXu(8w@R=)->-a6|4bNxNMnft?20HkuCy$6$L09kd)G)W4O=9BM|{ z0njynOnyNaTVrFARb&?Wz)KO0c=aeIrmJGdj2T21U*d{=r&%WGB_fB}!Crdq%$!h6 zTYHZU91PZ_u6~E*gTy3XA#JV7W1QF6sjN;@hLE{nCX07QHTpvH15PaG$-!bfNO#d# zLz-yQ&tSY!D@K{1sPCqy(XopWKKD^Su(X0yAdtrAPbwvb;0KzwfBiTWK|Q z=@~d0^<3M_hSR&Ce?AW}16N8iRRYrnJD8B8G!k~7@GQoI<#32mT-zRtY2CpF2f(XA zMU6CkH@0EN1UN@jBxhBao0Y7;t{jc1e4a+0fB6N7b2yPo(8A@@2haBnasAf%nJCjH zql`!qJ9zbokA$A+Li$D^=r%*k928%W0a#oK{oyi-%i#({q!i0)WJ1(aFJgY*$gn{8I=(Ww04qI1{H zye0i*Mr`~uq|h*1yj(Kb6ltw^K@0am&(EmI`#hR*0ct8#{B~3BSz88+3Bzg4k81*^8%KE#*02QR*UK z2M-^JFu#z+ux)Gj9-Ypn7I{$oQ)oL1`l&|nToNk4Tamb^hRS)nuoZIEjHOtFqfhay zZUTan1jXVWhNrTYA$UlLl2*5w4DdkB`Zffs@;~cY=26uyjz?2T9bVi&2sRpcJQEc} zswq*+P- zDN^CmeDw%s_1+%}Im49+!#OjZ;j(Q*hfk#Bm}vcixtLUk-l>q@`BV7ppOrG2W#Z%& zW()~2c*wbgWlG&}uVkUND;LEy@?#C{}77N~WYzz)?Az@B@SyxF&QfwgRVOOn%0aye75&&}>S zzXc$D2{D5sKzp?kZ^aDn`*nF+3|f|e(o$M#yR)s_4THwu&3vi*JPwOBR)%9|cQ^)g z4XHCFEsKY{w1K@z=AIAvPKl3~tb_^UIhBwmBDl`00~fq=Sz&xh<>PA2hJCH!hGwUW zSgtprf2*L$jmE;I<{4F(Ggnc%YAXfr=SqhudnSKgbgU~un2Z{YIR{ZU&6?3OUcSLAaY@eW`eEgpt7 zlUlHem*R=;T?P@87+ei=K*i)c(`M7rgYp~;1v3UAroT0zo2b1J>$(E72e7wJRJ^j+ zfwa{lP}teWV2Cat(t`GRp|FvPh+q_fqDrDbm_Mgv ze11tcDh~Zxw+#nx2(x{He?+>B8}7!V`sarmVDe6{$$s5`AD)NF!*)Lkxhe86X@8YJ zUKj5XynC5Tkh`933miE2XeIrq#2DMX^k7QLZ zL|1DDSCs` zP~b8wgEc_AKuOkS68=kJJcC!LEhv(jc*PJc+JDJEZntc9XnDeon^R1KS8VypEKVS=!F?4_G(KTNE3yww1& z<<4Fsm#(W&-EE|$ep#8R2{KX@^9n+)nbR_CuKu2`y-?j&_Et#qL+_J4;tN=2WAJ?_ z>GAwa1Ld2`rz_J{-N+hUE`7D?$vACB{U+#Df4rK7HY2#|H7ad3`gquCdhAM5`64&^ zml&N+{;t8*A@sURFNd(28=x_y`ZPiZmZ*JTwE@14fXfD|h6GL5)jmGBn&D0L=Vf@m zCfsvhVa?!2*QXbkyXRHMlvIPVI=myUYfFf`Kvx;HNNg+~nfLnniq{U32A~2`%1Vz|wmTEs2e$)WSRz z)ul1TY;;WAQl)z-Kdg2cN`8In{^lIY0O)kQ^I2SoQWf~F>*MJp!pVm!TB9y-tC8z^ zo;bCQ?{j%6p6`I;Hk8t!SYr(BA&>}DrGxg2UYggV|Zk#`Og7%@FQAPviijGoxn3uBn010T08 zQ!nFZtP~|hjSMd!(1+p*Ez!^!t-}`5!O{-R&*GB$6p41JkhO#U#f{uNj#66xGL$#dz~=tSkpT%4i1 zgjkQKiEant8(H)O7-+8ZSoA)7^JvjbKP-NF5#si838FETR9 z{>F}aEty|AxCF?_9K2a!PCD&{mLIaLn~rY9PkVlT{$&jW-^9L(DZPjb!3!(?6gP

!oRptb@n+ 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 literal 0 HcmV?d00001 diff --git a/searx/static/oscar/fonts/glyphicons-halflings-regular.svg b/searx/static/oscar/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000000000000000000000000000000000000..e3e2dc739dd851f2d7d291be032e30b909e3e95f GIT binary patch literal 62927 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 literal 0 HcmV?d00001 diff --git a/searx/static/oscar/fonts/glyphicons-halflings-regular.ttf b/searx/static/oscar/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67fa00bf83801d2fa568546b982c80d27f6ef74e GIT binary patch literal 41280 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

PBK;&Wcg|NX{>QR@W3{K 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 literal 0 HcmV?d00001 diff --git a/searx/static/oscar/fonts/glyphicons-halflings-regular.woff b/searx/static/oscar/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c54182aa5d4d1ab3c9171976b615c1dcb1dc187 GIT binary patch literal 23320 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 mX4Rts8U4 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 literal 0 HcmV?d00001 diff --git a/searx/static/oscar/img/icon_stackoverflow.ico b/searx/static/oscar/img/icon_stackoverflow.ico new file mode 100644 index 0000000000000000000000000000000000000000..b2242bc6cb1943b1954bf72b3875091bc9aa9f29 GIT binary patch literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x$gfiO1%0|+C7oSfYMDmJtL@lGJV2gLvFE7t#aEMNQIsciLsm-3Z%F!kuPZN&yH$BMQ8Vc4mB z^&8i+l?R;5SGQVMZw}FFJ{lz2dnXcIAB+#QhtsKIO|eVasz4yt2I}De$w~CwLnfddDnNa0tkd3nW}Eu@KM=oWnen=rx96pRdhSyn{p2Tq^irNQV$;tu?JXxz z{Z**Gmu%Bs*8ug3gVbuLKQRO9`=OHt#xB_OgT#P(bAY&xb=qrDm>S)bCrY}hPo4tx z{s-a+m^d-CUh)%uozy3%p?a%{(F0Qh)XN0aw-%~*AxxYY8t7M$-pNqC2Y@s?y1oWR y28IU45Bul;WMG)U3BmJ$Vh?~S!MK@$;UAFy0fZG97=9f7|NnnG5c31YffxX05k>?6 literal 0 HcmV?d00001 diff --git a/searx/static/oscar/img/icon_twitter.ico b/searx/static/oscar/img/icon_twitter.ico new file mode 100644 index 0000000000000000000000000000000000000000..b4a71699a727c7642612dfa116c748df3c530fe1 GIT binary patch literal 1150 zcmd5)O-lk%6un{KMi>_n?QH2z|AEpUs8vFnq*c3Gwi4VWK~P9g#F)@V5VDO#m`Wj1 zi6iuZF_nfwAvhW{l=i{vUUYJrrd$QR;mo~r?>*-o-Wz}ce5_W$_bAK`0t^Fy9f2jR zbm|xYu%};)G5ANYpck74Bbb{J{XCj*#{Sw6yiXUtu!>fR54lA4 zHxysAN(TX8VhETN?Lj%6j=#4XuHQ7e+FZMypOP~Zhgv@6j|r#P)iCrxe7TzR)b|{s zo~wS72F}r$7-?9PGhaxGak4sZ6qRee>dpf4>0kNuQHi@wj#q#YkM5It&HKEw zvi;RVDGcl(%E?Mi7}N4|k@4L-f%j@_lpk$43b`P#!WuBr&uqC<$yHmqQs8H_v+ADO z8s${K$u7?qQ$D|{Pqm-s_58p820X(Kni$hAfR+uQ$pMtj9i+Q4YXT@CSgFVP0GFBa AX8-^I literal 0 HcmV?d00001 diff --git a/searx/static/oscar/img/icon_vimeo.ico b/searx/static/oscar/img/icon_vimeo.ico new file mode 100644 index 0000000000000000000000000000000000000000..4fe4336daf5ccc254f20c869e8ed95a6691027c6 GIT binary patch literal 6518 zcmeHL%We}f6djP*vtUiKp)HNrv17v)1Z)u>fcOC51KocJo6?a?Z%cjLfJQ4UwBJNsPR^)u&3Q>(#@xFZavYFi*W&T7vCLwe)EiJFWXW zakYKXxbf&j_OqR4Xzj+6Y<1??P`Pa{O1(G2WrGF?T-K!vHes>IE&wy529X z2Y=Ajn6SRJcq8{q|KJVSbfa%A!#HLSUDOHc1&z5w4h-ZFJ#aDZFg^0@*8h|91Kaw& z(y8C^LEG;8;D4Lro-CW^qyxMH$PV^+24E+1F;YjSeEaM zj2YSb-;5dajhHsJ!4g~l7c$3r`Y&R|V$`OOZWDVqT}W8rDdWgb))50 z&-oKMbX>eV4rLObdhm%cF%TEmF=t%Lq!<5MU;Ckr&mqLEeOL@RPVt*AT($Qo{_J$p zZ1e3z_W8l_oHrXw;pRNYWBrjol{;+ABYJ+_+B*!5xeIx0J+SY?*|Wk|;K%#Z`I1w{ zBPTK!Ok5)#^qtlR9X1&6beh@v{3V0m+k1aLACE(@>Daw7JwNNuF9q?6CaaGP4~{SR z3mzvYhF~q=&BtZ_Tkmcag$(4ViPhONIS*p5YSm)!9MON+>spYy>oooEmmpwdf_hk) zIc|9nPKAFNYu-ISdfzxE_WHwzG_aPr1k{g?Aq7n>Mt=`H!`Y1#n>UH!iNDS_*7{6Z^CoM$!(nz1F?lYV)7gKBhaZb6MJ&XO{V!low#UF81OE>LzW~o~MkW9N literal 0 HcmV?d00001 diff --git a/searx/static/oscar/img/icon_wikipedia.ico b/searx/static/oscar/img/icon_wikipedia.ico new file mode 100644 index 0000000000000000000000000000000000000000..911fa76f62f60c73c8ab85f7a3b80040642e61d5 GIT binary patch literal 14858 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 m+;xBOStE={^M@)jg?6m~ literal 0 HcmV?d00001 diff --git a/searx/static/oscar/img/searx.png b/searx/static/oscar/img/searx.png new file mode 100644 index 0000000000000000000000000000000000000000..e162da50254b2c0b815cb6908035d740663e906c GIT binary patch literal 7647 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 B*F69L literal 0 HcmV?d00001 diff --git a/searx/static/oscar/js/html5shiv.min.js b/searx/static/oscar/js/html5shiv.min.js new file mode 100644 index 0000000000000000000000000000000000000000..d4c731ad54418e550e181c6cb49be869076e51d8 GIT binary patch literal 2636 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 QxOcu=BV6i^*1lj~wN3 z#j>4}@^}|SajaY@*F4>2(L5B&WqYj}KV=2HFv;^x5s(~Y@{V{^eW^XAL-`0L%ccl+gDs#7k^SFbw3D)B_b6Wt+u zb(J$E7g^*9)pCrbBfRid8fu>oisE$7+Q}4`dXVtBw_379jAJH$sBe2l5M_BYaUDjn zUlfPQYD5|Kc^PvAJM7X`m-{=F(BS2YAFWklWlXHHL$`0bL<1OYH$CcV@!V@M}oHS*LUs+Wgp|1Vz(zflu;6acx@h=G)2xe@_*Q~aT5xTEJ#PXp_D?kmM zvMlvuC`hS`Fv`zeIE!-Qo8szZztTH>Qp$*W_PzuHvKq#=hoe`ik1*NI28frI6!q=N z3~@Y}uOMM}2A0Tnd)H3bMsbWkZf|}CV81h9J{P4Yv88*YUHLG zjORQM)yDh#-&9gIci)7A><=?8oR)}bZE&bd_O%~OCzhvax@T|%RagH$zE`P3;V69K z39#qyaski0&`IWJe!T10fN&*oCnbvFvfr=fa?rOg%0N7su3hmNN-LQqt#2 zG|e+|pi56yaZE^QMFBQB56;#OU=eO-#caO{^_*?(eH~Zxm+E)&W4fPpr+Zy~Ov~BD zbdRqRlNZyHbU_7l!FECBEP)C07kxCG_V9-nOa4@Bn7fDsnfA!26>1fZhW}ZmR4ac(7t_0G zKI@LiYm@RM-a)zindV&r)lTo}L+{^GG9Q@~^tlqo&E20wAYssjJc@ z#ff8;Xxh(KYOZBD?fm4R8qRYX(uh9bfQD@8!hUE64fDn_C71F~BL8qCGfnNcefkLD zIco?x|G2w%=3fC8T@8^3Dw*_WMX{jSPsLm(XO$Su?Z=;}ilbx!0vE@0tc^!fLhm!S zuQ(m$4AAC4W_sgvdGbIcuq4xpr~W7Jv-RlPVuL9c3% zDnm5!B;%{scXxwpzDymVqEsQY)%Pv;aUKeN9a6{^g%5HD2DzP2awBHRT!g*B3^>ze zargvoB@#^c5uivUBf6S4*R=F1>&?j_%4if~=44WauY?{F8X^x+8=ILGO$lA|$XEK- z+|Dc%Q(e}8wGt&tOrSM3LMQ*WNq);v3o^0O*QAE##*QcJ8Qt0&L-GvW$qz6FeX?ar z!@Dj0(0uObM_UDUtSzo}dwPLea-nY#QJ-zU1^P#F)fxSu0dPLBHGmgj;VXiSTY1#9$1^}mL1HC`7~B0e2%n_( zKn5Xre!!dPFHvZU){+JNTJ zz*XIc>~1rb#*W9T#sCG~XiG0uRZ`P_yH>?dHZn*ccDTc$=vyvmAYZw%Gf(DvpSnhj zj{eI5XR4_ZQnh096D!*0=%op=j#KsZK<&C+_4VcJx9F{qOdar%Z$WpJpMad(wWV$v z;ybVhqzz^y1A7%&QMX$=`al;nq1*~b`U9GmWqmVqFbW|Owt*RYl9BW6d1Br zpjV~rnPIYApO|!66sj!Vv`U!avZXKDBt8G zoy2+YtLj%?XaFVsuNq2Hu5`q8bHoJMBmMk?19jkB+c)ws3P4d7Sl0+M798I@XwTQW z2e?(!Zk=Gb^GQ83vpaoyM!{_ZPWBslI9?MnJJ8x5d-jHJT!hJe-;@K(ZLs8_NVu}T zcn53nQ6&bQSKWB5X=;_fxy)Z#d1MKU4Z&~thGp02P~Z$Q2nD3WCk(`e1UqJY+e}pX zZ)DEqx_&W^bU1q=c(Ozp#XC?cgUdj4$NbUsr$cnd=F}vnAs?bTLwq_JIJ!;zHpo@N zACQN%Lazne9V6y=3*nh+ggh76t*fRfy}|?aB;_yVisX}4Jk7Y^9*?^yPM*cCw{cciU0rr literal 0 HcmV?d00001 diff --git a/searx/templates/oscar/about.html b/searx/templates/oscar/about.html new file mode 100644 index 000000000..c0353e29f --- /dev/null +++ b/searx/templates/oscar/about.html @@ -0,0 +1,66 @@ +{% extends "oscar/base.html" %} +{% block site_alert_warning_nojs %} {% endblock %} +{% block content %} +

+

About searx

+ +

Searx is a metasearch engine, aggregating the results of other search engines while not storing information about its users. +

+

Why use Searx?

+
    +
  • Searx may not offer you as personalised results as Google, but it doesn't generate a profile about you
  • +
  • Searx doesn't care about what you search for, never shares anything with a third party, and it can't be used to compromise you
  • +
  • Searx is free software, the code is 100% open and you can help to make it better. See more on github
  • +
+

If you do care about privacy, want to be a conscious user, or otherwise believe + in digital freedom, make Searx your default search engine or run it on your own server

+ +

Technical details - How does it work?

+ +

Searx is a metasearch engine, +inspired by the seeks project.
+It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they show up in neither our logs, nor your url history. In case of Chrome* users there is an exception, Searx uses the search bar to perform GET requests.
+Searx can be added to your browser's search bar; moreover, it can be set as the default search engine. +

+ +

How can I make it my own?

+ +

Searx appreciates your concern regarding logs, so take the code and run it yourself!
Add your Searx to this list to help other people reclaim their privacy and make the Internet freer! +
The more decentralized the Internet, is the more freedom we have!

+ + +

More about searx

+ + + + +
+ +

FAQ

+ +

How to add to firefox?

+

Install searx as a search engine on any version of Firefox! (javascript required)

+ +

Developer FAQ

+ +

New engines?

+ +

Don't forget to restart searx after config edit!

+ +

Installation/WSGI support?

+

See the installation and setup wiki page

+ +

How to debug engines?

+

Stats page contains some useful data about the engines used.

+ +
+{% endblock %} diff --git a/searx/templates/oscar/base.html b/searx/templates/oscar/base.html new file mode 100644 index 000000000..c15d8f83c --- /dev/null +++ b/searx/templates/oscar/base.html @@ -0,0 +1,65 @@ + + + + + + + + + {% block title %}{% endblock %}searx + + + + + + + + + + {% block styles %} + {% endblock %} + {% block head %} + {% endblock %} + + + + + + +
+ {% include 'oscar/navbar.html' %} + + {% block site_alert_error %} + {% endblock %} + {% block site_alert_warning %} + {% endblock %} + {% block site_alert_warning_nojs %} + + {% endblock %} + + {% block content %} + {% endblock %} + +
+ + + + + diff --git a/searx/templates/oscar/index.html b/searx/templates/oscar/index.html new file mode 100644 index 000000000..0c9a73060 --- /dev/null +++ b/searx/templates/oscar/index.html @@ -0,0 +1,6 @@ +{% extends "oscar/base.html" %} +{% block content %} +
+

searx

+
+{% endblock %} diff --git a/searx/templates/oscar/navbar.html b/searx/templates/oscar/navbar.html new file mode 100644 index 000000000..8262fc949 --- /dev/null +++ b/searx/templates/oscar/navbar.html @@ -0,0 +1,21 @@ + + diff --git a/searx/templates/oscar/opensearch.xml b/searx/templates/oscar/opensearch.xml new file mode 100644 index 000000000..f39283f99 --- /dev/null +++ b/searx/templates/oscar/opensearch.xml @@ -0,0 +1,27 @@ + + + searx + Search searx + UTF-8 + searx metasearch + {% if opensearch_method == 'get' %} + + {% if autocomplete %} + + + + + {% endif %} + {% else %} + + + + {% if autocomplete %} + + + + + + {% endif %} + {% endif %} + diff --git a/searx/templates/oscar/opensearch_response_rss.xml b/searx/templates/oscar/opensearch_response_rss.xml new file mode 100644 index 000000000..5673eb2e1 --- /dev/null +++ b/searx/templates/oscar/opensearch_response_rss.xml @@ -0,0 +1,23 @@ + + + + Searx search: {{ q }} + {{ base_url }}?q={{ q }} + Search results for "{{ q }}" - searx + {{ number_of_results }} + 1 + {{ number_of_results }} + + diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html new file mode 100644 index 000000000..fa0799b28 --- /dev/null +++ b/searx/templates/oscar/preferences.html @@ -0,0 +1,120 @@ +{% extends "oscar/base.html" %} +{% block content %} +
+ +

{{ _('Preferences') }}

+
+ + + + + +
+
+
+ {{ _('Default categories') }} +

+ {% include 'default/categories.html' %} +

+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ +
+ + +
+ {{ _('Find stuff as you type') }} +
+
+ +
+ +
+ {{ _('Change how forms are submited, learn more about request methods') }} +
+
+ +
+ +
+ {{ _('Change searx layout') }} +
+
+
+
+
+
+ {% for (categ,search_engines) in categs %} + {{ _(categ) }} +
+ {% for search_engine in search_engines %} + {% if not search_engine.private %} +
+
{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})
+
+
+ + + +
+
+
+ {% endif %} + {% endfor %} +
+ {% endfor %} +
+
+
+ +

{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }} +
+ {{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }} +

+ + +
{{ _('back') }}
+
+
+{% endblock %} diff --git a/searx/templates/oscar/stats.html b/searx/templates/oscar/stats.html new file mode 100644 index 000000000..b78caaa93 --- /dev/null +++ b/searx/templates/oscar/stats.html @@ -0,0 +1,27 @@ +{% extends "oscar/base.html" %} +{% block content %} +
+

{{ _('Engine stats') }}

+
+ {% for stat_name,stat_category in stats %} +
+

{{ stat_name }}

+
+ {% for engine in stat_category %} +
+
{{ engine.name }}
+
+
+
+ {{ '%.02f'|format(engine.avg) }} +
+
+
+
+ {% endfor %} +
+
+ {% endfor %} +
+
+{% endblock %} diff --git a/searx/webapp.py b/searx/webapp.py index 74f8fad7e..90451bf2a 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -174,6 +174,8 @@ def render(template_name, override_theme=None, **kwargs): kwargs['url_for'] = url_for_theme kwargs['theme'] = get_current_theme_name(override=override_theme) + + kwargs['template_name'] = template_name return render_template( '{}/{}'.format(kwargs['theme'], template_name), **kwargs) From a88ce4bd336e470900d138dcc19af7efaad40573 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Fri, 26 Sep 2014 18:26:46 +0200 Subject: [PATCH 02/27] little enhancement of oscar template * improve site-titles * add message which tell you if no data is availabe yet --- searx/templates/oscar/about.html | 1 + searx/templates/oscar/preferences.html | 1 + searx/templates/oscar/stats.html | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/searx/templates/oscar/about.html b/searx/templates/oscar/about.html index c0353e29f..6f9572546 100644 --- a/searx/templates/oscar/about.html +++ b/searx/templates/oscar/about.html @@ -1,5 +1,6 @@ {% extends "oscar/base.html" %} {% block site_alert_warning_nojs %} {% endblock %} +{% block title %}{{ _('about') }} - {% endblock %} {% block content %}

About searx

diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index fa0799b28..840e9513a 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -1,4 +1,5 @@ {% extends "oscar/base.html" %} +{% block title %}{{ _('preferences') }} - {% endblock %} {% block content %}
diff --git a/searx/templates/oscar/stats.html b/searx/templates/oscar/stats.html index b78caaa93..dee304063 100644 --- a/searx/templates/oscar/stats.html +++ b/searx/templates/oscar/stats.html @@ -1,4 +1,5 @@ {% extends "oscar/base.html" %} +{% block title %}{{ _('stats') }} - {% endblock %} {% block content %}

{{ _('Engine stats') }}

@@ -19,6 +20,14 @@
{% endfor %} + {% if not stat_category %} +
+ +
+ {% endif %}
{% endfor %} From d0913f894ad6229962bb728e31da669206ab2c69 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Fri, 26 Sep 2014 20:05:08 +0200 Subject: [PATCH 03/27] remove text from alert-info in /stats --- searx/templates/oscar/stats.html | 1 - 1 file changed, 1 deletion(-) diff --git a/searx/templates/oscar/stats.html b/searx/templates/oscar/stats.html index dee304063..bf877c38b 100644 --- a/searx/templates/oscar/stats.html +++ b/searx/templates/oscar/stats.html @@ -23,7 +23,6 @@ {% if not stat_category %}
From 8c6e63402ae304fc4aa889911ee20f48ea4d9a09 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Fri, 26 Sep 2014 20:12:46 +0200 Subject: [PATCH 04/27] add more tooltips to preferences --- searx/templates/oscar/preferences.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index 840e9513a..d0bbbc820 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -34,6 +34,7 @@ {% endfor %} + {{ _('What language do you prefer for search?') }} @@ -46,6 +47,7 @@ {% endfor %} + {{ _('Change the language of the layout') }}
From afcfa04e30af048c63d12bdbe3e281582a917b91 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Fri, 26 Sep 2014 21:18:45 +0200 Subject: [PATCH 05/27] oscar template: improve style for check and uncheck of engines --- searx/static/oscar/css/oscar.css | 8 ++++++++ searx/templates/oscar/preferences.html | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/searx/static/oscar/css/oscar.css b/searx/static/oscar/css/oscar.css index 6ca390679..4ff475e89 100644 --- a/searx/static/oscar/css/oscar.css +++ b/searx/static/oscar/css/oscar.css @@ -17,3 +17,11 @@ body { /* Set the fixed height of the footer here */ height: 40px; } + +input[type=checkbox]:checked ~ .label_hide_if_checked { + display:none; +} + +input[type=checkbox]:not(:checked) ~ .label_hide_if_not_checked { + display:none; +} diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index d0bbbc820..38f874e51 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -97,9 +97,9 @@
{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})
- - - + + +
From 5568fbd89d9c0f8c7f6530c6f0826a35d01c83a8 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Fri, 26 Sep 2014 21:43:12 +0200 Subject: [PATCH 06/27] oscar template: using tab to seperate engines in preferences --- searx/templates/oscar/preferences.html | 49 ++++++++++++++++---------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index 38f874e51..6803a02e5 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -87,27 +87,40 @@
-
- {% for (categ,search_engines) in categs %} - {{ _(categ) }} -
- {% for search_engine in search_engines %} - {% if not search_engine.private %} -
-
{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})
-
-
- - - + + + + + + +
+ {% for (categ,search_engines) in categs %} +
+
+
+ {% for search_engine in search_engines %} + {% if not search_engine.private %} +
+
{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})
+
+
+ + + +
-
- {% endif %} - {% endfor %} + {% endif %} + {% endfor %} +
+
- {% endfor %} - + {% endfor %} + From 25919de6084599c3196622ed1c89648b2c11f78a Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Fri, 26 Sep 2014 22:43:54 +0200 Subject: [PATCH 07/27] oscar template: make the categories clickable --- searx/static/oscar/js/scripts.js | 31 ++++++++++++++++++++++++++ searx/templates/oscar/base.html | 1 + searx/templates/oscar/categories.html | 6 +++++ searx/templates/oscar/preferences.html | 19 +++++++--------- 4 files changed, 46 insertions(+), 11 deletions(-) create mode 100644 searx/static/oscar/js/scripts.js create mode 100644 searx/templates/oscar/categories.html diff --git a/searx/static/oscar/js/scripts.js b/searx/static/oscar/js/scripts.js new file mode 100644 index 000000000..1cef58896 --- /dev/null +++ b/searx/static/oscar/js/scripts.js @@ -0,0 +1,31 @@ +/** + _ _ _ +| |__ ___ ___ | |_ ___| |_ _ __ __ ___ __ +| '_ \ / _ \ / _ \| __/ __| __| '__/ _` \ \/ / +| |_) | (_) | (_) | |_\__ | |_| | | (_| |> < +|_.__/ \___/ \___/ \__|___/\__|_| \__,_/_/\_\.js + +*/ + +$(document).ready(function(){ + $('.btn-toggle .btn').click(function() { + var btnClass = 'btn-' + $(this).data('btn-class'); + var btnLabelDefault = $(this).data('btn-label-default'); + var btnLabelToggled = $(this).data('btn-label-toggled'); + if(btnLabelToggled != '') + { + if($(this).hasClass('btn-default')) + { + + var html = $(this).html().replace(btnLabelDefault, btnLabelToggled); + } + else + { + var html = $(this).html().replace(btnLabelToggled, btnLabelDefault); + } + $(this).html(html); + } + $(this).toggleClass(btnClass); + $(this).toggleClass('btn-default'); + }); +}); diff --git a/searx/templates/oscar/base.html b/searx/templates/oscar/base.html index c15d8f83c..22df11f00 100644 --- a/searx/templates/oscar/base.html +++ b/searx/templates/oscar/base.html @@ -61,5 +61,6 @@ + diff --git a/searx/templates/oscar/categories.html b/searx/templates/oscar/categories.html new file mode 100644 index 000000000..82ddcf686 --- /dev/null +++ b/searx/templates/oscar/categories.html @@ -0,0 +1,6 @@ +
+{% for category in categories %} + +{% endfor %} +
diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index 6803a02e5..3d66d1963 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -15,15 +15,14 @@
-
- {{ _('Default categories') }} -

- {% include 'default/categories.html' %} -

-
-
+
+ +
+ {% include 'oscar/categories.html' %} +
+
@@ -36,8 +35,6 @@
{{ _('What language do you prefer for search?') }}
- -
@@ -91,7 +88,7 @@ @@ -99,7 +96,7 @@
{% for (categ,search_engines) in categs %} -
+
{% for search_engine in search_engines %} From ef1ead9c4bfb6a68cc6c0f8727c4af8d99206eb8 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Fri, 26 Sep 2014 23:29:14 +0200 Subject: [PATCH 08/27] oscar template: add directory in which are messages stored --- searx/templates/oscar/base.html | 9 +++++---- searx/templates/oscar/messages/js_disabled.html | 4 ++++ .../oscar/messages/save_settings_successfull.html | 8 ++++++++ searx/templates/oscar/messages/unknow_error.html | 8 ++++++++ 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 searx/templates/oscar/messages/js_disabled.html create mode 100644 searx/templates/oscar/messages/save_settings_successfull.html create mode 100644 searx/templates/oscar/messages/unknow_error.html diff --git a/searx/templates/oscar/base.html b/searx/templates/oscar/base.html index 22df11f00..119533933 100644 --- a/searx/templates/oscar/base.html +++ b/searx/templates/oscar/base.html @@ -41,12 +41,13 @@ {% endblock %} {% block site_alert_warning_nojs %} {% endblock %} + {% block site_alert_info %} + {% endblock %} + {% block site_alert_success %} + {% endblock %} {% block content %} {% endblock %} diff --git a/searx/templates/oscar/messages/js_disabled.html b/searx/templates/oscar/messages/js_disabled.html new file mode 100644 index 000000000..e160edc1c --- /dev/null +++ b/searx/templates/oscar/messages/js_disabled.html @@ -0,0 +1,4 @@ + diff --git a/searx/templates/oscar/messages/save_settings_successfull.html b/searx/templates/oscar/messages/save_settings_successfull.html new file mode 100644 index 000000000..f9a421f0c --- /dev/null +++ b/searx/templates/oscar/messages/save_settings_successfull.html @@ -0,0 +1,8 @@ + diff --git a/searx/templates/oscar/messages/unknow_error.html b/searx/templates/oscar/messages/unknow_error.html new file mode 100644 index 000000000..e4736b1ea --- /dev/null +++ b/searx/templates/oscar/messages/unknow_error.html @@ -0,0 +1,8 @@ + From a538bed745a688d17c98372785dd2c0644e6019b Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sat, 27 Sep 2014 10:23:05 +0200 Subject: [PATCH 09/27] oscar template: implement search input, index page,... --- searx/static/oscar/img/searx.png | Bin 7647 -> 0 bytes searx/static/oscar/img/searx_logo.png | Bin 0 -> 23498 bytes searx/static/oscar/js/scripts.js | 24 +++++++++++++++++------- searx/templates/oscar/index.html | 13 +++++++++++-- searx/templates/oscar/macros.html | 3 +++ searx/templates/oscar/search.html | 17 +++++++++++++++++ 6 files changed, 48 insertions(+), 9 deletions(-) delete mode 100644 searx/static/oscar/img/searx.png create mode 100644 searx/static/oscar/img/searx_logo.png create mode 100644 searx/templates/oscar/macros.html create mode 100644 searx/templates/oscar/search.html diff --git a/searx/static/oscar/img/searx.png b/searx/static/oscar/img/searx.png deleted file mode 100644 index e162da50254b2c0b815cb6908035d740663e906c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7647 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 literal 0 HcmV?d00001 diff --git a/searx/static/oscar/js/scripts.js b/searx/static/oscar/js/scripts.js index 1cef58896..1254b1581 100644 --- a/searx/static/oscar/js/scripts.js +++ b/searx/static/oscar/js/scripts.js @@ -12,15 +12,11 @@ $(document).ready(function(){ var btnClass = 'btn-' + $(this).data('btn-class'); var btnLabelDefault = $(this).data('btn-label-default'); var btnLabelToggled = $(this).data('btn-label-toggled'); - if(btnLabelToggled != '') - { - if($(this).hasClass('btn-default')) - { + if(btnLabelToggled != '') { + if($(this).hasClass('btn-default')) { var html = $(this).html().replace(btnLabelDefault, btnLabelToggled); - } - else - { + } else { var html = $(this).html().replace(btnLabelToggled, btnLabelDefault); } $(this).html(html); @@ -28,4 +24,18 @@ $(document).ready(function(){ $(this).toggleClass(btnClass); $(this).toggleClass('btn-default'); }); + + $('.btn-collapse').click(function() { + var btnTextCollapsed = $(this).data('btn-text-collapsed'); + var btnTextNotCollapsed = $(this).data('btn-text-not-collapsed'); + + if(btnTextCollapsed != '' && btnTextNotCollapsed != '') { + if($(this).hasClass('collapsed')) { + var html = $(this).html().replace(btnTextCollapsed, btnTextNotCollapsed); + } else { + var html = $(this).html().replace(btnTextNotCollapsed, btnTextCollapsed); + } + $(this).html(html); + } + }); }); diff --git a/searx/templates/oscar/index.html b/searx/templates/oscar/index.html index 0c9a73060..adb535d9b 100644 --- a/searx/templates/oscar/index.html +++ b/searx/templates/oscar/index.html @@ -1,6 +1,15 @@ {% extends "oscar/base.html" %} {% block content %} -
-

searx

+
+
+
+

searx logosearx

+
+
+
+
+ {% include 'oscar/search.html' %} +
+
{% endblock %} diff --git a/searx/templates/oscar/macros.html b/searx/templates/oscar/macros.html new file mode 100644 index 000000000..f61de2015 --- /dev/null +++ b/searx/templates/oscar/macros.html @@ -0,0 +1,3 @@ +{% macro icon(action) -%} + +{%- endmacro %} diff --git a/searx/templates/oscar/search.html b/searx/templates/oscar/search.html new file mode 100644 index 000000000..f44d48adf --- /dev/null +++ b/searx/templates/oscar/search.html @@ -0,0 +1,17 @@ +{% from 'oscar/macros.html' import icon %} + + From 915857105997357f24db86b9fcc6739fd816e98e Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sat, 27 Sep 2014 11:51:31 +0200 Subject: [PATCH 10/27] oscar template: update messages --- searx/templates/oscar/messages/first_time.html | 8 ++++++++ searx/templates/oscar/messages/js_disabled.html | 2 +- searx/templates/oscar/messages/no_data_available.html | 5 +++++ .../oscar/messages/save_settings_successfull.html | 3 ++- searx/templates/oscar/messages/unknow_error.html | 3 ++- searx/templates/oscar/stats.html | 4 +--- 6 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 searx/templates/oscar/messages/first_time.html create mode 100644 searx/templates/oscar/messages/no_data_available.html diff --git a/searx/templates/oscar/messages/first_time.html b/searx/templates/oscar/messages/first_time.html new file mode 100644 index 000000000..34e7e8956 --- /dev/null +++ b/searx/templates/oscar/messages/first_time.html @@ -0,0 +1,8 @@ + diff --git a/searx/templates/oscar/messages/js_disabled.html b/searx/templates/oscar/messages/js_disabled.html index e160edc1c..8baaf1e4c 100644 --- a/searx/templates/oscar/messages/js_disabled.html +++ b/searx/templates/oscar/messages/js_disabled.html @@ -1,4 +1,4 @@ diff --git a/searx/templates/oscar/messages/no_data_available.html b/searx/templates/oscar/messages/no_data_available.html new file mode 100644 index 000000000..aee791766 --- /dev/null +++ b/searx/templates/oscar/messages/no_data_available.html @@ -0,0 +1,5 @@ +{% from 'oscar/macros.html' import icon %} + diff --git a/searx/templates/oscar/messages/save_settings_successfull.html b/searx/templates/oscar/messages/save_settings_successfull.html index f9a421f0c..0771440e8 100644 --- a/searx/templates/oscar/messages/save_settings_successfull.html +++ b/searx/templates/oscar/messages/save_settings_successfull.html @@ -1,8 +1,9 @@ +{% from 'oscar/macros.html' import icon %} diff --git a/searx/templates/oscar/messages/unknow_error.html b/searx/templates/oscar/messages/unknow_error.html index e4736b1ea..40f323f42 100644 --- a/searx/templates/oscar/messages/unknow_error.html +++ b/searx/templates/oscar/messages/unknow_error.html @@ -1,8 +1,9 @@ +{% from 'oscar/macros.html' import icon %} diff --git a/searx/templates/oscar/stats.html b/searx/templates/oscar/stats.html index bf877c38b..0fb104210 100644 --- a/searx/templates/oscar/stats.html +++ b/searx/templates/oscar/stats.html @@ -22,9 +22,7 @@ {% endfor %} {% if not stat_category %}
- + {% include 'oscar/messages/no_data_available.html' %}
{% endif %}
From f3b565e17ecd4c875381a3a212d73fb065f9a89d Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sat, 27 Sep 2014 12:33:22 +0200 Subject: [PATCH 11/27] oscar template: implement first version of results page * implement results page * improve search form template * implement all result_templates * fix youtube engine --- searx/engines/youtube.py | 6 +---- searx/static/oscar/css/oscar.css | 26 +++++++++++++++++++ searx/templates/oscar/index.html | 2 +- .../oscar/result_templates/default.html | 8 ++++++ .../oscar/result_templates/images.html | 21 +++++++++++++++ .../oscar/result_templates/torrent.html | 14 ++++++++++ .../oscar/result_templates/videos.html | 13 ++++++++++ searx/templates/oscar/results.html | 22 ++++++++++++++++ searx/templates/oscar/search.html | 13 +++------- searx/templates/oscar/search_full.html | 17 ++++++++++++ 10 files changed, 127 insertions(+), 15 deletions(-) create mode 100644 searx/templates/oscar/result_templates/default.html create mode 100644 searx/templates/oscar/result_templates/images.html create mode 100644 searx/templates/oscar/result_templates/torrent.html create mode 100644 searx/templates/oscar/result_templates/videos.html create mode 100644 searx/templates/oscar/results.html create mode 100644 searx/templates/oscar/search_full.html diff --git a/searx/engines/youtube.py b/searx/engines/youtube.py index a3c3980af..e217fb079 100644 --- a/searx/engines/youtube.py +++ b/searx/engines/youtube.py @@ -69,12 +69,8 @@ def response(resp): if result['media$group']['media$thumbnail']: thumbnail = result['media$group']['media$thumbnail'][0]['url'] - content += ''.format(url, thumbnail) # noqa - if content: - content += '
' + result['content']['$t'] - else: - content = result['content']['$t'] + content = result['content']['$t'] # append result results.append({'url': url, diff --git a/searx/static/oscar/css/oscar.css b/searx/static/oscar/css/oscar.css index 4ff475e89..b3e42f607 100644 --- a/searx/static/oscar/css/oscar.css +++ b/searx/static/oscar/css/oscar.css @@ -25,3 +25,29 @@ input[type=checkbox]:checked ~ .label_hide_if_checked { input[type=checkbox]:not(:checked) ~ .label_hide_if_not_checked { display:none; } + +.search_categories { + margin:10px 0; +} + +.result-default { + clear: both; +} + +.result-images { + float: left !important; +} + +.result-videos { + clear: both; +} + +.result-torrents { + clear: both; +} + +.img-thumbnail { + margin: 5px; + max-height: 128px; + min-height: 128px; +} diff --git a/searx/templates/oscar/index.html b/searx/templates/oscar/index.html index adb535d9b..e58aa073a 100644 --- a/searx/templates/oscar/index.html +++ b/searx/templates/oscar/index.html @@ -8,7 +8,7 @@
- {% include 'oscar/search.html' %} + {% include 'oscar/search_full.html' %}
diff --git a/searx/templates/oscar/result_templates/default.html b/searx/templates/oscar/result_templates/default.html new file mode 100644 index 000000000..2ea246542 --- /dev/null +++ b/searx/templates/oscar/result_templates/default.html @@ -0,0 +1,8 @@ +

{{ result.title|safe }}

+ +{% if result.publishedDate %}{% endif %} + +{% if result.content %}

{{ result.content|safe }}

{% endif %} + +{{ result.engine }} +

{% if result['favicon'] %}{% endif %} {{ result.pretty_url }}

diff --git a/searx/templates/oscar/result_templates/images.html b/searx/templates/oscar/result_templates/images.html new file mode 100644 index 000000000..07b427d78 --- /dev/null +++ b/searx/templates/oscar/result_templates/images.html @@ -0,0 +1,21 @@ + + {{ result.title|e }} + + + diff --git a/searx/templates/oscar/result_templates/torrent.html b/searx/templates/oscar/result_templates/torrent.html new file mode 100644 index 000000000..14ac63232 --- /dev/null +++ b/searx/templates/oscar/result_templates/torrent.html @@ -0,0 +1,14 @@ +{% from 'oscar/macros.html' import icon %} + +

{{ result.title|safe }}

+ +{% if result.publishedDate %}{% endif %} + +

{{ icon('transfer') }} {{ _('Seeder') }} {{ result.seed }}, {{ _('Leecher') }} {{ result.leech }}

+ +

{{ icon('magnet') }} magnet link

+ +{% if result.content %}

{{ result.content|safe }}

{% endif %} + +{{ result.engine }} +

{% if result['favicon'] %}{% endif %} {{ result.pretty_url }}

diff --git a/searx/templates/oscar/result_templates/videos.html b/searx/templates/oscar/result_templates/videos.html new file mode 100644 index 000000000..32112472e --- /dev/null +++ b/searx/templates/oscar/result_templates/videos.html @@ -0,0 +1,13 @@ +

{{ result.title|safe }}

+ +{% if result.publishedDate %}{% endif %} + +
+
+ + {% if result.content %}

{{ result.content|safe }}

{% endif %} +
+
+ +{{ result.engine }} +

{% if result['favicon'] %}{% endif %} {{ result.pretty_url }}

diff --git a/searx/templates/oscar/results.html b/searx/templates/oscar/results.html new file mode 100644 index 000000000..fde65c883 --- /dev/null +++ b/searx/templates/oscar/results.html @@ -0,0 +1,22 @@ +{% extends "oscar/base.html" %} +{% block title %}{{ q }} - {% endblock %} +{% block content %} +
+
+

{{ _('Search results') }}

+ {% include 'oscar/search.html' %} + + {% for result in results %} +
+ {% set index = loop.index %} + {% if result.template %}{% include 'oscar/result_templates/'+result['template'] %}{% else %}{% include 'oscar/result_templates/default.html' %}{% endif %} +
+ {% endfor %} + +
+ +
+ +
+{% endblock %} diff --git a/searx/templates/oscar/search.html b/searx/templates/oscar/search.html index f44d48adf..4b1f8b6a1 100644 --- a/searx/templates/oscar/search.html +++ b/searx/templates/oscar/search.html @@ -1,17 +1,12 @@ {% from 'oscar/macros.html' import icon %} - + + + {% if suggestions %} +
+ +
+ {% for suggestion in suggestions %} + + {% endfor %} +
+
+ {% endif %} + +
+ +
+
+
+ + +
+
+ + +
+ {% for output_type in ('csv', 'json', 'rss') %} +
+ + + {% for category in selected_categories %}{% endfor %} + + +
+ {% endfor %} +
+
+
+ +
{% endblock %} From 47d1caed61a00a3ef83ca1c121162e4f6638a4d5 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sat, 27 Sep 2014 14:52:56 +0200 Subject: [PATCH 14/27] oscar template: add forgoten github icon --- searx/static/oscar/img/icon_github.ico | Bin 0 -> 6518 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 searx/static/oscar/img/icon_github.ico diff --git a/searx/static/oscar/img/icon_github.ico b/searx/static/oscar/img/icon_github.ico new file mode 100644 index 0000000000000000000000000000000000000000..133f0ca35428bf551b9e37376997c1b681f44cad GIT binary patch literal 6518 zcmeH~KWrRD6vp>1XB|TKf7ixoz@b1XKnf)MM_{F(LQo?`fG`NCCGT zi=t9gj#{mVelFTQ6-C!YQ8YJ~jgu(4AKz|#q>$0|(?t>fVZU}eelCvVFB*+T$8wv^ zX1m=^KEnT$`SSWCNnVTNWP^5!_)eEIJ3W2XrW*V&JAco_zXI+zgsw(UrTbr<*cs#K zbdnEz5ZyNvo0@80U$55>G#bqnIIguEo@HOF)k^h^gJ*eFaq{*w>&;Ef^QBVhRJmN< zq@9K5Hp5q|)p>j;4QoBM-Vnz#Zzaj}CfE(8>0+(czSD4FU$3|C;5mLaJT<&Y``(Qo z2r=Q9=eW=1{{Y`vjhTbr$t{QZIpZ>zKZFsMb}qvo&&kbop>;gNp98<1+2@(dUAX|~ zr2cEb{FPzWSy%7KR?~ZOsktT^^Oi5H-jj_xozCkSs78OKBha{{v2rZm-Z4B&@@WlH z!!4w}L~M<9_MMvM2;adaP|&LsdD- z1#^%*?T_vLO03Dp;QPg|S@vmohWGdt^SNM8!tpo>=^pJR4l(qN;u${nTxMU6zG1{A z&LOgCI6KEy4a=GM8FTq8x{tu~JV{p!;t8MMIMg#2tKuGn&HS_Etr?E}{`8RizHpI# zR>K;A**?%eg9^|0xoK0!Ckly^wm>Z}Fo*Zz3eUG5L#G+)^B?$f(mF8hd1afG}!mNxOXZR~sI z`Wqy+tkV%?eOg6ap4)6`6Z_i6zUTcs&HR*rCQSXzDZ-euxIksp< zATDv{=p1DaEQfxLIr|^|xAeu8ry*_5%O~< z{tuTG3)ihUjL-Md^xV{Q*vDn_-VS6rRd^Q2Innher`b>6@{L|mlTGY&7CWI_aOpi= z99wyl!(Ll9m^K{8d@f`5NAf-`{a^26!)#$PY~TLIcT8HLepbWY?Pv|F#p2>ddvBh$ z`H1iTFKWoN_nS^pPYpMczixGp+lxz_MVeu(duGOmz+T#}zObynL*bqXwTi~wxrmqH yx;Sbb%0+kia-X@V4)%5e-vW1*CBNTP6METxOqP_R+#;??Y%&9r8JNs~X5er7V8d(x literal 0 HcmV?d00001 From dc2c1362205ea90dae75872b316dc1d693c9a750 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sat, 27 Sep 2014 15:46:57 +0200 Subject: [PATCH 15/27] oscar template: little style improvements --- searx/static/oscar/css/oscar.css | 6 ++++++ searx/static/oscar/js/scripts.js | 4 ++++ searx/templates/oscar/results.html | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/searx/static/oscar/css/oscar.css b/searx/static/oscar/css/oscar.css index b0c0c7344..7bd4478bf 100644 --- a/searx/static/oscar/css/oscar.css +++ b/searx/static/oscar/css/oscar.css @@ -28,6 +28,7 @@ input[type=checkbox]:not(:checked) ~ .label_hide_if_not_checked { .search_categories { margin:10px 0; + text-transform: capitalize; } .result-default { @@ -62,4 +63,9 @@ input[type=checkbox]:not(:checked) ~ .label_hide_if_not_checked { #pagination { margin-top: 30px; + padding-bottom: 50px; +} + +.cursor-text { + cursor: text !important; } diff --git a/searx/static/oscar/js/scripts.js b/searx/static/oscar/js/scripts.js index 1254b1581..296cddd94 100644 --- a/searx/static/oscar/js/scripts.js +++ b/searx/static/oscar/js/scripts.js @@ -38,4 +38,8 @@ $(document).ready(function(){ $(this).html(html); } }); + + $(".select-all-on-click").click(function () { + $(this).select(); + }); }); diff --git a/searx/templates/oscar/results.html b/searx/templates/oscar/results.html index f4364ed48..91070777b 100644 --- a/searx/templates/oscar/results.html +++ b/searx/templates/oscar/results.html @@ -68,7 +68,7 @@
- +
From 4b7164f04a9acdda569db42c12a267fb9d2dbe94 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sun, 28 Sep 2014 11:47:15 +0200 Subject: [PATCH 16/27] oscar template: remove unused css file --- searx/static/oscar/css/bootstrap-theme.min.css | Bin 18860 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 searx/static/oscar/css/bootstrap-theme.min.css diff --git a/searx/static/oscar/css/bootstrap-theme.min.css b/searx/static/oscar/css/bootstrap-theme.min.css deleted file mode 100644 index 2e97597c876ddd2c5d081dd27db3a90e61d925e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18860 zcmeHP-*2lp8hzitg4Na4v?E9eNtz$k?Ze(3jVjIT%if2TR{LPUq-YX|fZq11>i@pB zKRdCBo$wJ>orf)&>BZo~!RI>$+aDeO{MWyDKYM>G%cgEBviH7EN6{$sZl0QEzaEb_ zw29TRQBv-1`PpB~{f{c&JT+bvP9_2S-^}~=k~a;leDASHM*O7T@`M&OO}*zLrIq*l z<2L}UIcnZKJ;xkx+`Po~_;87Fye;GLj?@fl{M+N#U;gpWU-%`*qqr%8lxF04+xTK< zU*$Ve{eYeNIZ0?;!%kjgCH(7!R7GBFU?(NThE{J4eQkpJiKOMrI`o3c{?!Y;Y7>*2 z(C6DIy1frxX#7Xs1abMQPR-f9H0(_6{AfP+)qkVO{MLt~{0tp0T+DCp2Sa+-TVhR; zCjU<1{$zs~WwKq2GTuB!fovtC3>wQUg4Q2du4$CXYZ_(znnr=Vrcnmhltpi6G?=m$ zp0`?g64_hXb*^Yf{r=Q-W0L%_sY({L0SmAVT^D6RjaF}k5JbeMEX(ds>Z+UA<^?5H zu&GFz)1tX)%DvBPc%lD^hJ5oTVfdNFN&D(S8C+3W#_{300OfCK)_9zQ_(xneO}X>4 zs@&ahQn!9n-bh-v7D}glJPBdFr7YhvH?Q|qxyjS@-~aW1C*Pw*Y8-&ZV+VefP5bS~o_+~$@9|fq1&Oyb{gRPw zO^w^G=$?{h4Zng{X6A}@X+gpnu0N$Q-&%!9k{B_wek#AS-qA2`RwmE&o2Iw~gnQCM zVPDpHlb40)uvp}q(7GXI7ikIR7P#dWOw=^5MSB>W|E)^@(}{Q6K(dR{>%u8#eKL!d zaYDFNqVz5y5!Nc5>*L)5&|nxKhct|X8$NnZJp<4d&j8U6^-L7s-K_`&oO*6)4pBue zhrk_Nc8J2!9U{xz4pHESLu`bV7mUa6S%)a-b|-&)#K?yy(joICUd|KlklAE)H=AG` z(z!m~Api{y0dh!(IJgbr5P-Hg1c-j9L#A|@P33!sdW+K>qKaG&fjhYD5QU>VM3%W7 zqQDJ@*a({rk+^3aqM+Rl;jfZdd&EhYQt<#GBu>!}ka^eoJ?tT%M-I+SM%vi49=5D zL?ePVNay-^g8(!b1jr!`;@~!fK>*rf5Fq-Y28mZu5-sHrSIh(&Lvko_*#r1rwuf!j zOdz|>p`ZwT0~ z<(|#A7Qv1d&kx)DfvCo}9C3+2mweMj=-}jR&Nng5CaPnd+_^s9$p9@Mb%Gqy$qsHq zI2oWVP6iPyPS!fu)^u50e(8k=;^1_mKN3US4GdG^O^hSdOh2}UbpbpUJ`0Qp}H^O*^u5xW{`Sn zpA|nG`X*%P(wJ`|0H+z-u+iJOK0bf}TE?&-hm2tdH+(>yPHh9UEsOrumBgsh8+V)hJPCLbf$Gw-{FSDb5=ahsldIzPUq$`?c3odEAVnZ5qZco~^eh*0nG)M~Mu#(!j4I-(4wnz#@ zuaR^`l8mx^1JUIKa%LH+YL;Y6I_0Xe-&ulIwR3&EssIhD0y(6r4sJuJ3eXl+f#@}= zW^=k&u{Cl~wbx947Nr!HhUtR8AY*&q&h>kUDyV^|Kn^Ra{oV!K6sUU~c&%td7{Q%mc9}q11I`|KOMqTZ8=eI#_UKMy}UYPydsT9~bU<1-hz)Oz~C(Vw4m`;(+U8{_xUHm@7@ z{a5+CZ%u?cmOb6+H0(>G!&iy!v-B$lc|&({iPG1Y=;bQs;>goD3Mm)XZzn&&E9Sj6 zAn34Yue}RLi)D-+cz3Rk@5=yMzUK>a$iB?MZHT@MpjnsI{t#{|h@$$k)+cL#z+V1I zLAQuJFmoo|5s`f5Kme;8j|aK?MA_8UwJ4Sn^3`v`3QCaXITk{T^a!%UJ-971MrigNW%` z&H|#n#FWGT>-5wXdq@@~=wW2%`glD78qApqa!5TL+=kE-pe^PEqP_HlX@D!`JTCLZ z?9UG1gKq&A#^*us$J&nKbb4W6he@Dnj+?=o} Omg9I`C5!gKdH*k!##>DQ From 14b0604bc0a14a110c92457f43b3828fc22e7fc7 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Mon, 29 Sep 2014 09:44:29 +0200 Subject: [PATCH 17/27] oscar template: implement autocompleter --- searx/static/oscar/css/typeahead.css | 189 ++++++++++++++++++ searx/static/oscar/js/scripts.js | 21 +- searx/static/oscar/js/typeahead.bundle.min.js | Bin 0 -> 29675 bytes searx/templates/oscar/base.html | 3 + 4 files changed, 212 insertions(+), 1 deletion(-) create mode 100644 searx/static/oscar/css/typeahead.css create mode 100644 searx/static/oscar/js/typeahead.bundle.min.js diff --git a/searx/static/oscar/css/typeahead.css b/searx/static/oscar/css/typeahead.css new file mode 100644 index 000000000..fde250d66 --- /dev/null +++ b/searx/static/oscar/css/typeahead.css @@ -0,0 +1,189 @@ +/* + * typehead.js-bootstrap3.less + * @version 0.2.3 + * https://github.com/hyspace/typeahead.js-bootstrap3.less + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ +.has-warning .twitter-typeahead .tt-input, +.has-warning .twitter-typeahead .tt-hint { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .twitter-typeahead .tt-input:focus, +.has-warning .twitter-typeahead .tt-hint:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-error .twitter-typeahead .tt-input, +.has-error .twitter-typeahead .tt-hint { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .twitter-typeahead .tt-input:focus, +.has-error .twitter-typeahead .tt-hint:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-success .twitter-typeahead .tt-input, +.has-success .twitter-typeahead .tt-hint { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .twitter-typeahead .tt-input:focus, +.has-success .twitter-typeahead .tt-hint:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.input-group .twitter-typeahead:first-child .tt-input, +.input-group .twitter-typeahead:first-child .tt-hint { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.input-group .twitter-typeahead:last-child .tt-input, +.input-group .twitter-typeahead:last-child .tt-hint { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.input-group.input-group-sm .twitter-typeahead .tt-input, +.input-group.input-group-sm .twitter-typeahead .tt-hint { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group.input-group-sm .twitter-typeahead .tt-input, +select.input-group.input-group-sm .twitter-typeahead .tt-hint { + height: 30px; + line-height: 30px; +} +textarea.input-group.input-group-sm .twitter-typeahead .tt-input, +textarea.input-group.input-group-sm .twitter-typeahead .tt-hint, +select[multiple].input-group.input-group-sm .twitter-typeahead .tt-input, +select[multiple].input-group.input-group-sm .twitter-typeahead .tt-hint { + height: auto; +} +.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-input, +.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint { + border-radius: 0; +} +.input-group.input-group-sm .twitter-typeahead:first-child .tt-input, +.input-group.input-group-sm .twitter-typeahead:first-child .tt-hint { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group.input-group-sm .twitter-typeahead:last-child .tt-input, +.input-group.input-group-sm .twitter-typeahead:last-child .tt-hint { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.input-group.input-group-lg .twitter-typeahead .tt-input, +.input-group.input-group-lg .twitter-typeahead .tt-hint { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-group.input-group-lg .twitter-typeahead .tt-input, +select.input-group.input-group-lg .twitter-typeahead .tt-hint { + height: 46px; + line-height: 46px; +} +textarea.input-group.input-group-lg .twitter-typeahead .tt-input, +textarea.input-group.input-group-lg .twitter-typeahead .tt-hint, +select[multiple].input-group.input-group-lg .twitter-typeahead .tt-input, +select[multiple].input-group.input-group-lg .twitter-typeahead .tt-hint { + height: auto; +} +.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-input, +.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint { + border-radius: 0; +} +.input-group.input-group-lg .twitter-typeahead:first-child .tt-input, +.input-group.input-group-lg .twitter-typeahead:first-child .tt-hint { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group.input-group-lg .twitter-typeahead:last-child .tt-input, +.input-group.input-group-lg .twitter-typeahead:last-child .tt-hint { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; +} +.twitter-typeahead { + width: 100%; +} +.input-group .twitter-typeahead { + display: table-cell !important; + float: left; +} +.twitter-typeahead .tt-hint { + color: #999999; +} +.twitter-typeahead .tt-input { + z-index: 2; +} +.twitter-typeahead .tt-input[disabled], +.twitter-typeahead .tt-input[readonly], +fieldset[disabled] .twitter-typeahead .tt-input { + cursor: not-allowed; + background-color: #eeeeee !important; +} +.tt-dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + min-width: 160px; + width: 100%; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; +} +.tt-dropdown-menu .tt-suggestion { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.tt-dropdown-menu .tt-suggestion.tt-cursor { + text-decoration: none; + outline: 0; + background-color: #f5f5f5; + color: #262626; +} +.tt-dropdown-menu .tt-suggestion.tt-cursor a { + color: #262626; +} +.tt-dropdown-menu .tt-suggestion p { + margin: 0; +} diff --git a/searx/static/oscar/js/scripts.js b/searx/static/oscar/js/scripts.js index 296cddd94..6c3a10a74 100644 --- a/searx/static/oscar/js/scripts.js +++ b/searx/static/oscar/js/scripts.js @@ -7,6 +7,15 @@ */ +if(searx.autocompleter) { + searx.searchResults = new Bloodhound({ + datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), + queryTokenizer: Bloodhound.tokenizers.whitespace, + remote: '/autocompleter?q=%QUERY' + }); + searx.searchResults.initialize(); +} + $(document).ready(function(){ $('.btn-toggle .btn').click(function() { var btnClass = 'btn-' + $(this).data('btn-class'); @@ -42,4 +51,14 @@ $(document).ready(function(){ $(".select-all-on-click").click(function () { $(this).select(); }); -}); + + if(searx.autocompleter) { + $('#q').typeahead(null, { + name: 'search-results', + displayKey: function(result) { + return result; + }, + source: searx.searchResults.ttAdapter() + }); + } +}); diff --git a/searx/static/oscar/js/typeahead.bundle.min.js b/searx/static/oscar/js/typeahead.bundle.min.js new file mode 100644 index 0000000000000000000000000000000000000000..11dcbf42efa88ff4fe2c0173b3f1e439454cefcc GIT binary patch literal 29675 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 ILN+=5Z(tjOq5uE@ literal 0 HcmV?d00001 diff --git a/searx/templates/oscar/base.html b/searx/templates/oscar/base.html index 119533933..7507fcab1 100644 --- a/searx/templates/oscar/base.html +++ b/searx/templates/oscar/base.html @@ -9,6 +9,7 @@ {% block title %}{% endblock %}searx + {% if autocomplete %}{% endif %} @@ -28,6 +29,7 @@ @@ -62,6 +64,7 @@
+ {% if autocomplete %}{% endif %} From 841f1eedfc8b2c49f0395d5f0ea2bfa269c19df2 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Mon, 29 Sep 2014 10:00:24 +0200 Subject: [PATCH 18/27] oscar template: generate bootstrap.min.css from source --- Makefile | 1 + searx/static/oscar/css/bootstrap.min.css | Bin 109518 -> 110981 bytes .../static/oscar/less/bootstrap/.csscomb.json | 297 ++++++ searx/static/oscar/less/bootstrap/.csslintrc | 19 + searx/static/oscar/less/bootstrap/alerts.less | 68 ++ searx/static/oscar/less/bootstrap/badges.less | 55 ++ .../oscar/less/bootstrap/bootstrap.less | 50 ++ .../oscar/less/bootstrap/breadcrumbs.less | 26 + .../oscar/less/bootstrap/button-groups.less | 240 +++++ .../static/oscar/less/bootstrap/buttons.less | 157 ++++ .../static/oscar/less/bootstrap/carousel.less | 243 +++++ searx/static/oscar/less/bootstrap/close.less | 33 + searx/static/oscar/less/bootstrap/code.less | 68 ++ .../less/bootstrap/component-animations.less | 31 + .../oscar/less/bootstrap/dropdowns.less | 215 +++++ searx/static/oscar/less/bootstrap/forms.less | 540 +++++++++++ .../oscar/less/bootstrap/glyphicons.less | 233 +++++ searx/static/oscar/less/bootstrap/grid.less | 84 ++ .../oscar/less/bootstrap/input-groups.less | 166 ++++ .../oscar/less/bootstrap/jumbotron.less | 48 + searx/static/oscar/less/bootstrap/labels.less | 64 ++ .../oscar/less/bootstrap/list-group.less | 131 +++ searx/static/oscar/less/bootstrap/media.less | 56 ++ searx/static/oscar/less/bootstrap/mixins.less | 39 + .../oscar/less/bootstrap/mixins/alerts.less | 14 + .../bootstrap/mixins/background-variant.less | 8 + .../less/bootstrap/mixins/border-radius.less | 18 + .../oscar/less/bootstrap/mixins/buttons.less | 50 ++ .../less/bootstrap/mixins/center-block.less | 7 + .../oscar/less/bootstrap/mixins/clearfix.less | 22 + .../oscar/less/bootstrap/mixins/forms.less | 81 ++ .../less/bootstrap/mixins/gradients.less | 59 ++ .../less/bootstrap/mixins/grid-framework.less | 91 ++ .../oscar/less/bootstrap/mixins/grid.less | 122 +++ .../less/bootstrap/mixins/hide-text.less | 21 + .../oscar/less/bootstrap/mixins/image.less | 34 + .../oscar/less/bootstrap/mixins/labels.less | 12 + .../less/bootstrap/mixins/list-group.less | 29 + .../less/bootstrap/mixins/nav-divider.less | 10 + .../bootstrap/mixins/nav-vertical-align.less | 9 + .../oscar/less/bootstrap/mixins/opacity.less | 8 + .../less/bootstrap/mixins/pagination.less | 23 + .../oscar/less/bootstrap/mixins/panels.less | 24 + .../less/bootstrap/mixins/progress-bar.less | 10 + .../less/bootstrap/mixins/reset-filter.less | 8 + .../oscar/less/bootstrap/mixins/resize.less | 6 + .../mixins/responsive-visibility.less | 15 + .../oscar/less/bootstrap/mixins/size.less | 10 + .../less/bootstrap/mixins/tab-focus.less | 9 + .../less/bootstrap/mixins/table-row.less | 28 + .../less/bootstrap/mixins/text-emphasis.less | 8 + .../less/bootstrap/mixins/text-overflow.less | 8 + .../bootstrap/mixins/vendor-prefixes.less | 224 +++++ searx/static/oscar/less/bootstrap/modals.less | 150 ++++ searx/static/oscar/less/bootstrap/navbar.less | 655 ++++++++++++++ searx/static/oscar/less/bootstrap/navs.less | 242 +++++ .../oscar/less/bootstrap/normalize.less | 425 +++++++++ searx/static/oscar/less/bootstrap/pager.less | 55 ++ .../oscar/less/bootstrap/pagination.less | 88 ++ searx/static/oscar/less/bootstrap/panels.less | 243 +++++ .../static/oscar/less/bootstrap/popovers.less | 133 +++ searx/static/oscar/less/bootstrap/print.less | 101 +++ .../oscar/less/bootstrap/progress-bars.less | 105 +++ .../less/bootstrap/responsive-embed.less | 34 + .../less/bootstrap/responsive-utilities.less | 194 ++++ .../oscar/less/bootstrap/scaffolding.less | 150 ++++ searx/static/oscar/less/bootstrap/tables.less | 233 +++++ searx/static/oscar/less/bootstrap/theme.less | 258 ++++++ .../oscar/less/bootstrap/thumbnails.less | 36 + .../static/oscar/less/bootstrap/tooltip.less | 95 ++ searx/static/oscar/less/bootstrap/type.less | 313 +++++++ .../oscar/less/bootstrap/utilities.less | 57 ++ .../oscar/less/bootstrap/variables.less | 846 ++++++++++++++++++ searx/static/oscar/less/bootstrap/wells.less | 29 + 74 files changed, 8274 insertions(+) create mode 100644 searx/static/oscar/less/bootstrap/.csscomb.json create mode 100644 searx/static/oscar/less/bootstrap/.csslintrc create mode 100644 searx/static/oscar/less/bootstrap/alerts.less create mode 100644 searx/static/oscar/less/bootstrap/badges.less create mode 100644 searx/static/oscar/less/bootstrap/bootstrap.less create mode 100644 searx/static/oscar/less/bootstrap/breadcrumbs.less create mode 100644 searx/static/oscar/less/bootstrap/button-groups.less create mode 100644 searx/static/oscar/less/bootstrap/buttons.less create mode 100644 searx/static/oscar/less/bootstrap/carousel.less create mode 100644 searx/static/oscar/less/bootstrap/close.less create mode 100644 searx/static/oscar/less/bootstrap/code.less create mode 100644 searx/static/oscar/less/bootstrap/component-animations.less create mode 100644 searx/static/oscar/less/bootstrap/dropdowns.less create mode 100644 searx/static/oscar/less/bootstrap/forms.less create mode 100644 searx/static/oscar/less/bootstrap/glyphicons.less create mode 100644 searx/static/oscar/less/bootstrap/grid.less create mode 100644 searx/static/oscar/less/bootstrap/input-groups.less create mode 100644 searx/static/oscar/less/bootstrap/jumbotron.less create mode 100644 searx/static/oscar/less/bootstrap/labels.less create mode 100644 searx/static/oscar/less/bootstrap/list-group.less create mode 100644 searx/static/oscar/less/bootstrap/media.less create mode 100644 searx/static/oscar/less/bootstrap/mixins.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/alerts.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/background-variant.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/border-radius.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/buttons.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/center-block.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/clearfix.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/forms.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/gradients.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/grid-framework.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/grid.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/hide-text.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/image.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/labels.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/list-group.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/nav-divider.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/nav-vertical-align.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/opacity.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/pagination.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/panels.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/progress-bar.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/reset-filter.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/resize.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/responsive-visibility.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/size.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/tab-focus.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/table-row.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/text-emphasis.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/text-overflow.less create mode 100644 searx/static/oscar/less/bootstrap/mixins/vendor-prefixes.less create mode 100644 searx/static/oscar/less/bootstrap/modals.less create mode 100644 searx/static/oscar/less/bootstrap/navbar.less create mode 100644 searx/static/oscar/less/bootstrap/navs.less create mode 100644 searx/static/oscar/less/bootstrap/normalize.less create mode 100644 searx/static/oscar/less/bootstrap/pager.less create mode 100644 searx/static/oscar/less/bootstrap/pagination.less create mode 100644 searx/static/oscar/less/bootstrap/panels.less create mode 100644 searx/static/oscar/less/bootstrap/popovers.less create mode 100644 searx/static/oscar/less/bootstrap/print.less create mode 100644 searx/static/oscar/less/bootstrap/progress-bars.less create mode 100644 searx/static/oscar/less/bootstrap/responsive-embed.less create mode 100644 searx/static/oscar/less/bootstrap/responsive-utilities.less create mode 100644 searx/static/oscar/less/bootstrap/scaffolding.less create mode 100644 searx/static/oscar/less/bootstrap/tables.less create mode 100644 searx/static/oscar/less/bootstrap/theme.less create mode 100644 searx/static/oscar/less/bootstrap/thumbnails.less create mode 100644 searx/static/oscar/less/bootstrap/tooltip.less create mode 100644 searx/static/oscar/less/bootstrap/type.less create mode 100644 searx/static/oscar/less/bootstrap/utilities.less create mode 100644 searx/static/oscar/less/bootstrap/variables.less create mode 100644 searx/static/oscar/less/bootstrap/wells.less diff --git a/Makefile b/Makefile index f56060868..0e934018b 100644 --- a/Makefile +++ b/Makefile @@ -45,6 +45,7 @@ minimal: bin/buildout minimal.cfg setup.py styles: @lessc -x searx/static/default/less/style.less > searx/static/default/css/style.css + @lessc -x searx/static/oscar/less/bootstrap/bootstrap.less > searx/static/oscar/css/bootstrap.min.css locales: @pybabel compile -d searx/translations diff --git a/searx/static/oscar/css/bootstrap.min.css b/searx/static/oscar/css/bootstrap.min.css index a9f35ceedfac7fc0559b121bed105eaf80f10bf2..5cd19edb09bf41a15fc64dff7cd7730f116829bb 100644 GIT binary patch delta 23131 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 S)btQDcja;CLoBxo?*9ShMYl%) delta 20991 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 a;7=zm(&xHKWi(|E3H4@Jdw}G4Vg3i2)wh`d diff --git a/searx/static/oscar/less/bootstrap/.csscomb.json b/searx/static/oscar/less/bootstrap/.csscomb.json new file mode 100644 index 000000000..8456e41df --- /dev/null +++ b/searx/static/oscar/less/bootstrap/.csscomb.json @@ -0,0 +1,297 @@ +{ + "always-semicolon": true, + "block-indent": 2, + "colon-space": [0, 1], + "color-case": "lower", + "color-shorthand": true, + "combinator-space": true, + "element-case": "lower", + "eof-newline": true, + "leading-zero": false, + "remove-empty-rulesets": true, + "rule-indent": 2, + "stick-brace": " ", + "strip-spaces": true, + "unitless-zero": true, + "vendor-prefix-align": true, + "sort-order": [ + [ + "position", + "top", + "right", + "bottom", + "left", + "z-index", + "display", + "float", + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "-webkit-box-sizing", + "-moz-box-sizing", + "box-sizing", + "-webkit-appearance", + "padding", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + "margin", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "overflow", + "overflow-x", + "overflow-y", + "-webkit-overflow-scrolling", + "-ms-overflow-x", + "-ms-overflow-y", + "-ms-overflow-style", + "clip", + "clear", + "font", + "font-family", + "font-size", + "font-style", + "font-weight", + "font-variant", + "font-size-adjust", + "font-stretch", + "font-effect", + "font-emphasize", + "font-emphasize-position", + "font-emphasize-style", + "font-smooth", + "-webkit-hyphens", + "-moz-hyphens", + "hyphens", + "line-height", + "color", + "text-align", + "-webkit-text-align-last", + "-moz-text-align-last", + "-ms-text-align-last", + "text-align-last", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-style", + "text-emphasis-position", + "text-decoration", + "text-indent", + "text-justify", + "text-outline", + "-ms-text-overflow", + "text-overflow", + "text-overflow-ellipsis", + "text-overflow-mode", + "text-shadow", + "text-transform", + "text-wrap", + "-webkit-text-size-adjust", + "-ms-text-size-adjust", + "letter-spacing", + "-ms-word-break", + "word-break", + "word-spacing", + "-ms-word-wrap", + "word-wrap", + "-moz-tab-size", + "-o-tab-size", + "tab-size", + "white-space", + "vertical-align", + "list-style", + "list-style-position", + "list-style-type", + "list-style-image", + "pointer-events", + "cursor", + "visibility", + "zoom", + "flex-direction", + "flex-order", + "flex-pack", + "flex-align", + "table-layout", + "empty-cells", + "caption-side", + "border-spacing", + "border-collapse", + "content", + "quotes", + "counter-reset", + "counter-increment", + "resize", + "-webkit-user-select", + "-moz-user-select", + "-ms-user-select", + "-o-user-select", + "user-select", + "nav-index", + "nav-up", + "nav-right", + "nav-down", + "nav-left", + "background", + "background-color", + "background-image", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader", + "filter", + "background-repeat", + "background-attachment", + "background-position", + "background-position-x", + "background-position-y", + "-webkit-background-clip", + "-moz-background-clip", + "background-clip", + "background-origin", + "-webkit-background-size", + "-moz-background-size", + "-o-background-size", + "background-size", + "border", + "border-color", + "border-style", + "border-width", + "border-top", + "border-top-color", + "border-top-style", + "border-top-width", + "border-right", + "border-right-color", + "border-right-style", + "border-right-width", + "border-bottom", + "border-bottom-color", + "border-bottom-style", + "border-bottom-width", + "border-left", + "border-left-color", + "border-left-style", + "border-left-width", + "border-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius", + "-webkit-border-image", + "-moz-border-image", + "-o-border-image", + "border-image", + "-webkit-border-image-source", + "-moz-border-image-source", + "-o-border-image-source", + "border-image-source", + "-webkit-border-image-slice", + "-moz-border-image-slice", + "-o-border-image-slice", + "border-image-slice", + "-webkit-border-image-width", + "-moz-border-image-width", + "-o-border-image-width", + "border-image-width", + "-webkit-border-image-outset", + "-moz-border-image-outset", + "-o-border-image-outset", + "border-image-outset", + "-webkit-border-image-repeat", + "-moz-border-image-repeat", + "-o-border-image-repeat", + "border-image-repeat", + "outline", + "outline-width", + "outline-style", + "outline-color", + "outline-offset", + "-webkit-box-shadow", + "-moz-box-shadow", + "box-shadow", + "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha", + "opacity", + "-ms-interpolation-mode", + "-webkit-transition", + "-moz-transition", + "-ms-transition", + "-o-transition", + "transition", + "-webkit-transition-delay", + "-moz-transition-delay", + "-ms-transition-delay", + "-o-transition-delay", + "transition-delay", + "-webkit-transition-timing-function", + "-moz-transition-timing-function", + "-ms-transition-timing-function", + "-o-transition-timing-function", + "transition-timing-function", + "-webkit-transition-duration", + "-moz-transition-duration", + "-ms-transition-duration", + "-o-transition-duration", + "transition-duration", + "-webkit-transition-property", + "-moz-transition-property", + "-ms-transition-property", + "-o-transition-property", + "transition-property", + "-webkit-transform", + "-moz-transform", + "-ms-transform", + "-o-transform", + "transform", + "-webkit-transform-origin", + "-moz-transform-origin", + "-ms-transform-origin", + "-o-transform-origin", + "transform-origin", + "-webkit-animation", + "-moz-animation", + "-ms-animation", + "-o-animation", + "animation", + "-webkit-animation-name", + "-moz-animation-name", + "-ms-animation-name", + "-o-animation-name", + "animation-name", + "-webkit-animation-duration", + "-moz-animation-duration", + "-ms-animation-duration", + "-o-animation-duration", + "animation-duration", + "-webkit-animation-play-state", + "-moz-animation-play-state", + "-ms-animation-play-state", + "-o-animation-play-state", + "animation-play-state", + "-webkit-animation-timing-function", + "-moz-animation-timing-function", + "-ms-animation-timing-function", + "-o-animation-timing-function", + "animation-timing-function", + "-webkit-animation-delay", + "-moz-animation-delay", + "-ms-animation-delay", + "-o-animation-delay", + "animation-delay", + "-webkit-animation-iteration-count", + "-moz-animation-iteration-count", + "-ms-animation-iteration-count", + "-o-animation-iteration-count", + "animation-iteration-count", + "-webkit-animation-direction", + "-moz-animation-direction", + "-ms-animation-direction", + "-o-animation-direction", + "animation-direction" + ] + ] +} diff --git a/searx/static/oscar/less/bootstrap/.csslintrc b/searx/static/oscar/less/bootstrap/.csslintrc new file mode 100644 index 000000000..005b86236 --- /dev/null +++ b/searx/static/oscar/less/bootstrap/.csslintrc @@ -0,0 +1,19 @@ +{ + "adjoining-classes": false, + "box-sizing": false, + "box-model": false, + "compatible-vendor-prefixes": false, + "floats": false, + "font-sizes": false, + "gradients": false, + "important": false, + "known-properties": false, + "outline-none": false, + "qualified-headings": false, + "regex-selectors": false, + "shorthand": false, + "text-indent": false, + "unique-headings": false, + "universal-selector": false, + "unqualified-attributes": false +} diff --git a/searx/static/oscar/less/bootstrap/alerts.less b/searx/static/oscar/less/bootstrap/alerts.less new file mode 100644 index 000000000..df070b8ab --- /dev/null +++ b/searx/static/oscar/less/bootstrap/alerts.less @@ -0,0 +1,68 @@ +// +// Alerts +// -------------------------------------------------- + + +// Base styles +// ------------------------- + +.alert { + padding: @alert-padding; + margin-bottom: @line-height-computed; + border: 1px solid transparent; + border-radius: @alert-border-radius; + + // Headings for larger alerts + h4 { + margin-top: 0; + // Specified for the h4 to prevent conflicts of changing @headings-color + color: inherit; + } + // Provide class for links that match alerts + .alert-link { + font-weight: @alert-link-font-weight; + } + + // Improve alignment and spacing of inner content + > p, + > ul { + margin-bottom: 0; + } + > p + p { + margin-top: 5px; + } +} + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. +.alert-dismissible { + padding-right: (@alert-padding + 20); + + // Adjust close link position + .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; + } +} + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +.alert-success { + .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); +} +.alert-info { + .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); +} +.alert-warning { + .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); +} +.alert-danger { + .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); +} diff --git a/searx/static/oscar/less/bootstrap/badges.less b/searx/static/oscar/less/bootstrap/badges.less new file mode 100644 index 000000000..20624f30d --- /dev/null +++ b/searx/static/oscar/less/bootstrap/badges.less @@ -0,0 +1,55 @@ +// +// Badges +// -------------------------------------------------- + + +// Base class +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: @font-size-small; + font-weight: @badge-font-weight; + color: @badge-color; + line-height: @badge-line-height; + vertical-align: baseline; + white-space: nowrap; + text-align: center; + background-color: @badge-bg; + border-radius: @badge-border-radius; + + // Empty badges collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for badges in buttons + .btn & { + position: relative; + top: -1px; + } + .btn-xs & { + top: 0; + padding: 1px 5px; + } + + // Hover state, but only for links + a& { + &:hover, + &:focus { + color: @badge-link-hover-color; + text-decoration: none; + cursor: pointer; + } + } + + // Account for badges in navs + a.list-group-item.active > &, + .nav-pills > .active > a > & { + color: @badge-active-color; + background-color: @badge-active-bg; + } + .nav-pills > li > a > & { + margin-left: 3px; + } +} diff --git a/searx/static/oscar/less/bootstrap/bootstrap.less b/searx/static/oscar/less/bootstrap/bootstrap.less new file mode 100644 index 000000000..61b77474f --- /dev/null +++ b/searx/static/oscar/less/bootstrap/bootstrap.less @@ -0,0 +1,50 @@ +// Core variables and mixins +@import "variables.less"; +@import "mixins.less"; + +// Reset and dependencies +@import "normalize.less"; +@import "print.less"; +@import "glyphicons.less"; + +// Core CSS +@import "scaffolding.less"; +@import "type.less"; +@import "code.less"; +@import "grid.less"; +@import "tables.less"; +@import "forms.less"; +@import "buttons.less"; + +// Components +@import "component-animations.less"; +@import "dropdowns.less"; +@import "button-groups.less"; +@import "input-groups.less"; +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; +@import "labels.less"; +@import "badges.less"; +@import "jumbotron.less"; +@import "thumbnails.less"; +@import "alerts.less"; +@import "progress-bars.less"; +@import "media.less"; +@import "list-group.less"; +@import "panels.less"; +@import "responsive-embed.less"; +@import "wells.less"; +@import "close.less"; + +// Components w/ JavaScript +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; +@import "carousel.less"; + +// Utility classes +@import "utilities.less"; +@import "responsive-utilities.less"; diff --git a/searx/static/oscar/less/bootstrap/breadcrumbs.less b/searx/static/oscar/less/bootstrap/breadcrumbs.less new file mode 100644 index 000000000..cb01d503f --- /dev/null +++ b/searx/static/oscar/less/bootstrap/breadcrumbs.less @@ -0,0 +1,26 @@ +// +// Breadcrumbs +// -------------------------------------------------- + + +.breadcrumb { + padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; + margin-bottom: @line-height-computed; + list-style: none; + background-color: @breadcrumb-bg; + border-radius: @border-radius-base; + + > li { + display: inline-block; + + + li:before { + content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space + padding: 0 5px; + color: @breadcrumb-color; + } + } + + > .active { + color: @breadcrumb-active-color; + } +} diff --git a/searx/static/oscar/less/bootstrap/button-groups.less b/searx/static/oscar/less/bootstrap/button-groups.less new file mode 100644 index 000000000..7021ecd17 --- /dev/null +++ b/searx/static/oscar/less/bootstrap/button-groups.less @@ -0,0 +1,240 @@ +// +// Button groups +// -------------------------------------------------- + +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; // match .btn alignment given font-size hack above + > .btn { + position: relative; + float: left; + // Bring the "active" button to the front + &:hover, + &:focus, + &:active, + &.active { + z-index: 2; + } + &:focus { + // Remove focus outline when dropdown JS adds it after closing the menu + outline: 0; + } + } +} + +// Prevent double borders when buttons are next to each other +.btn-group { + .btn + .btn, + .btn + .btn-group, + .btn-group + .btn, + .btn-group + .btn-group { + margin-left: -1px; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-left: -5px; // Offset the first child's margin + &:extend(.clearfix all); + + .btn-group, + .input-group { + float: left; + } + > .btn, + > .btn-group, + > .input-group { + margin-left: 5px; + } +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +.btn-group > .btn:first-child { + margin-left: 0; + &:not(:last-child):not(.dropdown-toggle) { + .border-right-radius(0); + } +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + .border-left-radius(0); +} + +// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child { + > .btn:last-child, + > .dropdown-toggle { + .border-right-radius(0); + } +} +.btn-group > .btn-group:last-child > .btn:first-child { + .border-left-radius(0); +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-xs > .btn { &:extend(.btn-xs); } +.btn-group-sm > .btn { &:extend(.btn-sm); } +.btn-group-lg > .btn { &:extend(.btn-lg); } + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +// The clickable button for toggling the menu +// Remove the gradient and set the same inset shadow as the :active state +.btn-group.open .dropdown-toggle { + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + .box-shadow(none); + } +} + + +// Reposition the caret +.btn .caret { + margin-left: 0; +} +// Carets in other button sizes +.btn-lg .caret { + border-width: @caret-width-large @caret-width-large 0; + border-bottom-width: 0; +} +// Upside down carets for .dropup +.dropup .btn-lg .caret { + border-width: 0 @caret-width-large @caret-width-large; +} + + +// Vertical button groups +// ---------------------- + +.btn-group-vertical { + > .btn, + > .btn-group, + > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + } + + // Clear floats so dropdown menus can be properly placed + > .btn-group { + &:extend(.clearfix all); + > .btn { + float: none; + } + } + + > .btn + .btn, + > .btn + .btn-group, + > .btn-group + .btn, + > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; + } +} + +.btn-group-vertical > .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:first-child:not(:last-child) { + border-top-right-radius: @border-radius-base; + .border-bottom-radius(0); + } + &:last-child:not(:first-child) { + border-bottom-left-radius: @border-radius-base; + .border-top-radius(0); + } +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + .border-bottom-radius(0); + } +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + .border-top-radius(0); +} + + + +// Justified button groups +// ---------------------- + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; + > .btn, + > .btn-group { + float: none; + display: table-cell; + width: 1%; + } + > .btn-group .btn { + width: 100%; + } + + > .btn-group .dropdown-menu { + left: auto; + } +} + + +// Checkbox and radio options +// +// In order to support the browser's form validation feedback, powered by the +// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot +// use `display: none;` or `visibility: hidden;` as that also hides the popover. +// This way, we ensure a DOM element is visible to position the popover from. +// +// See https://github.com/twbs/bootstrap/pull/12794 for more. + +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + position: absolute; + z-index: -1; + .opacity(0); +} diff --git a/searx/static/oscar/less/bootstrap/buttons.less b/searx/static/oscar/less/bootstrap/buttons.less new file mode 100644 index 000000000..492bdc65a --- /dev/null +++ b/searx/static/oscar/less/bootstrap/buttons.less @@ -0,0 +1,157 @@ +// +// Buttons +// -------------------------------------------------- + + +// Base styles +// -------------------------------------------------- + +.btn { + display: inline-block; + margin-bottom: 0; // For input.btn + font-weight: @btn-font-weight; + text-align: center; + vertical-align: middle; + cursor: pointer; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + white-space: nowrap; + .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); + .user-select(none); + + &, + &:active, + &.active { + &:focus { + .tab-focus(); + } + } + + &:hover, + &:focus { + color: @btn-default-color; + text-decoration: none; + } + + &:active, + &.active { + outline: 0; + background-image: none; + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + cursor: not-allowed; + pointer-events: none; // Future-proof disabling of clicks + .opacity(.65); + .box-shadow(none); + } +} + + +// Alternate buttons +// -------------------------------------------------- + +.btn-default { + .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); +} +.btn-primary { + .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); +} +// Success appears as green +.btn-success { + .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); +} +// Info appears as blue-green +.btn-info { + .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); +} +// Warning appears as orange +.btn-warning { + .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); +} +// Danger and error appear as red +.btn-danger { + .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); +} + + +// Link buttons +// ------------------------- + +// Make a button look and behave like a link +.btn-link { + color: @link-color; + font-weight: normal; + cursor: pointer; + border-radius: 0; + + &, + &:active, + &[disabled], + fieldset[disabled] & { + background-color: transparent; + .box-shadow(none); + } + &, + &:hover, + &:focus, + &:active { + border-color: transparent; + } + &:hover, + &:focus { + color: @link-hover-color; + text-decoration: underline; + background-color: transparent; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @btn-link-disabled-color; + text-decoration: none; + } + } +} + + +// Button Sizes +// -------------------------------------------------- + +.btn-lg { + // line-height: ensure even-numbered height of button next to large input + .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); +} +.btn-sm { + // line-height: ensure proper height of button next to small input + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); +} +.btn-xs { + .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small); +} + + +// Block button +// -------------------------------------------------- + +.btn-block { + display: block; + width: 100%; +} + +// Vertically space out multiple block buttons +.btn-block + .btn-block { + margin-top: 5px; +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} diff --git a/searx/static/oscar/less/bootstrap/carousel.less b/searx/static/oscar/less/bootstrap/carousel.less new file mode 100644 index 000000000..1644ddf7f --- /dev/null +++ b/searx/static/oscar/less/bootstrap/carousel.less @@ -0,0 +1,243 @@ +// +// Carousel +// -------------------------------------------------- + + +// Wrapper for the slide container and indicators +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; + + > .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + + // Account for jankitude on images + > img, + > a > img { + &:extend(.img-responsive); + line-height: 1; + } + } + + > .active, + > .next, + > .prev { + display: block; + } + + > .active { + left: 0; + } + + > .next, + > .prev { + position: absolute; + top: 0; + width: 100%; + } + + > .next { + left: 100%; + } + > .prev { + left: -100%; + } + > .next.left, + > .prev.right { + left: 0; + } + + > .active.left { + left: -100%; + } + > .active.right { + left: 100%; + } + +} + +// Left/right controls for nav +// --------------------------- + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: @carousel-control-width; + .opacity(@carousel-control-opacity); + font-size: @carousel-control-font-size; + color: @carousel-control-color; + text-align: center; + text-shadow: @carousel-text-shadow; + // We can't have this transition here because WebKit cancels the carousel + // animation if you trip this while in the middle of another animation. + + // Set gradients for backgrounds + &.left { + #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001)); + } + &.right { + left: auto; + right: 0; + #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5)); + } + + // Hover/focus state + &:hover, + &:focus { + outline: 0; + color: @carousel-control-color; + text-decoration: none; + .opacity(.9); + } + + // Toggles + .icon-prev, + .icon-next, + .glyphicon-chevron-left, + .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + } + .icon-prev, + .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; + } + .icon-next, + .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; + } + .icon-prev, + .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; + } + + + .icon-prev { + &:before { + content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) + } + } + .icon-next { + &:before { + content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) + } + } +} + +// Optional indicator pips +// +// Add an unordered list with the following class and add a list item for each +// slide your carousel holds. + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; + + li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid @carousel-indicator-border-color; + border-radius: 10px; + cursor: pointer; + + // IE8-9 hack for event handling + // + // Internet Explorer 8-9 does not support clicks on elements without a set + // `background-color`. We cannot use `filter` since that's not viewed as a + // background color by the browser. Thus, a hack is needed. + // + // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we + // set alpha transparency for the best results possible. + background-color: #000 \9; // IE8 + background-color: rgba(0,0,0,0); // IE9 + } + .active { + margin: 0; + width: 12px; + height: 12px; + background-color: @carousel-indicator-active-bg; + } +} + +// Optional captions +// ----------------------------- +// Hidden by default for smaller viewports +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: @carousel-caption-color; + text-align: center; + text-shadow: @carousel-text-shadow; + & .btn { + text-shadow: none; // No shadow for button elements in carousel-caption + } +} + + +// Scale up controls for tablets and up +@media screen and (min-width: @screen-sm-min) { + + // Scale up the controls a smidge + .carousel-control { + .glyphicon-chevron-left, + .glyphicon-chevron-right, + .icon-prev, + .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .glyphicon-chevron-left, + .icon-prev { + margin-left: -15px; + } + .glyphicon-chevron-right, + .icon-next { + margin-right: -15px; + } + } + + // Show and left align the captions + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + + // Move up the indicators + .carousel-indicators { + bottom: 20px; + } +} diff --git a/searx/static/oscar/less/bootstrap/close.less b/searx/static/oscar/less/bootstrap/close.less new file mode 100644 index 000000000..9b4e74f2b --- /dev/null +++ b/searx/static/oscar/less/bootstrap/close.less @@ -0,0 +1,33 @@ +// +// Close icons +// -------------------------------------------------- + + +.close { + float: right; + font-size: (@font-size-base * 1.5); + font-weight: @close-font-weight; + line-height: 1; + color: @close-color; + text-shadow: @close-text-shadow; + .opacity(.2); + + &:hover, + &:focus { + color: @close-color; + text-decoration: none; + cursor: pointer; + .opacity(.5); + } + + // Additional properties for button version + // iOS requires the button element instead of an anchor tag. + // If you want the anchor version, it requires `href="#"`. + button& { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + } +} diff --git a/searx/static/oscar/less/bootstrap/code.less b/searx/static/oscar/less/bootstrap/code.less new file mode 100644 index 000000000..baa13df61 --- /dev/null +++ b/searx/static/oscar/less/bootstrap/code.less @@ -0,0 +1,68 @@ +// +// Code (inline and block) +// -------------------------------------------------- + + +// Inline and block code styles +code, +kbd, +pre, +samp { + font-family: @font-family-monospace; +} + +// Inline code +code { + padding: 2px 4px; + font-size: 90%; + color: @code-color; + background-color: @code-bg; + border-radius: @border-radius-base; +} + +// User input typically entered via keyboard +kbd { + padding: 2px 4px; + font-size: 90%; + color: @kbd-color; + background-color: @kbd-bg; + border-radius: @border-radius-small; + box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); + + kbd { + padding: 0; + font-size: 100%; + box-shadow: none; + } +} + +// Blocks of code +pre { + display: block; + padding: ((@line-height-computed - 1) / 2); + margin: 0 0 (@line-height-computed / 2); + font-size: (@font-size-base - 1); // 14px to 13px + line-height: @line-height-base; + word-break: break-all; + word-wrap: break-word; + color: @pre-color; + background-color: @pre-bg; + border: 1px solid @pre-border-color; + border-radius: @border-radius-base; + + // Account for some code outputs that place code tags in pre tags + code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; + } +} + +// Enable scrollable blocks of code +.pre-scrollable { + max-height: @pre-scrollable-max-height; + overflow-y: scroll; +} diff --git a/searx/static/oscar/less/bootstrap/component-animations.less b/searx/static/oscar/less/bootstrap/component-animations.less new file mode 100644 index 000000000..9400a0d32 --- /dev/null +++ b/searx/static/oscar/less/bootstrap/component-animations.less @@ -0,0 +1,31 @@ +// +// Component animations +// -------------------------------------------------- + +// Heads up! +// +// We don't use the `.opacity()` mixin here since it causes a bug with text +// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. + +.fade { + opacity: 0; + .transition(opacity .15s linear); + &.in { + opacity: 1; + } +} + +.collapse { + display: none; + + &.in { display: block; } + tr&.in { display: table-row; } + tbody&.in { display: table-row-group; } +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + .transition(height .35s ease); +} diff --git a/searx/static/oscar/less/bootstrap/dropdowns.less b/searx/static/oscar/less/bootstrap/dropdowns.less new file mode 100644 index 000000000..3eb7fc05c --- /dev/null +++ b/searx/static/oscar/less/bootstrap/dropdowns.less @@ -0,0 +1,215 @@ +// +// Dropdown menus +// -------------------------------------------------- + + +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: @caret-width-base solid; + border-right: @caret-width-base solid transparent; + border-left: @caret-width-base solid transparent; +} + +// The dropdown wrapper (div) +.dropdown { + position: relative; +} + +// Prevent the focus on the dropdown toggle when closing dropdowns +.dropdown-toggle:focus { + outline: 0; +} + +// The dropdown menu (ul) +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; // override default ul + list-style: none; + font-size: @font-size-base; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + background-color: @dropdown-bg; + border: 1px solid @dropdown-fallback-border; // IE8 fallback + border: 1px solid @dropdown-border; + border-radius: @border-radius-base; + .box-shadow(0 6px 12px rgba(0,0,0,.175)); + background-clip: padding-box; + + // Aligns the dropdown menu to right + // + // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + .nav-divider(@dropdown-divider-bg); + } + + // Links within the dropdown menu + > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: @line-height-base; + color: @dropdown-link-color; + white-space: nowrap; // prevent links from randomly breaking onto new lines + } +} + +// Hover/Focus state +.dropdown-menu > li > a { + &:hover, + &:focus { + text-decoration: none; + color: @dropdown-link-hover-color; + background-color: @dropdown-link-hover-bg; + } +} + +// Active state +.dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: @dropdown-link-active-color; + text-decoration: none; + outline: 0; + background-color: @dropdown-link-active-bg; + } +} + +// Disabled state +// +// Gray out text and ensure the hover/focus state remains gray + +.dropdown-menu > .disabled > a { + &, + &:hover, + &:focus { + color: @dropdown-link-disabled-color; + } +} +// Nuke hover/focus effects +.dropdown-menu > .disabled > a { + &:hover, + &:focus { + text-decoration: none; + background-color: transparent; + background-image: none; // Remove CSS gradient + .reset-filter(); + cursor: not-allowed; + } +} + +// Open state for the dropdown +.open { + // Show the menu + > .dropdown-menu { + display: block; + } + + // Remove the outline when :focus is triggered + > a { + outline: 0; + } +} + +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + left: auto; // Reset the default from `.dropdown-menu` + right: 0; +} +// With v3, we enabled auto-flipping if you have a dropdown within a right +// aligned nav component. To enable the undoing of that, we provide an override +// to restore the default dropdown menu alignment. +// +// This is only for left-aligning a dropdown menu within a `.navbar-right` or +// `.pull-right` nav component. +.dropdown-menu-left { + left: 0; + right: auto; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: @font-size-small; + line-height: @line-height-base; + color: @dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Backdrop to catch body clicks on mobile, etc. +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: (@zindex-dropdown - 10); +} + +// Right aligned dropdowns +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// +// Just add .dropup after the standard .dropdown class and you're set, bro. +// TODO: abstract this so that the navbar fixed styles are not placed here? + +.dropup, +.navbar-fixed-bottom .dropdown { + // Reverse the caret + .caret { + border-top: 0; + border-bottom: @caret-width-base solid; + content: ""; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; + } +} + + +// Component alignment +// +// Reiterate per navbar.less and the modified component alignment there. + +@media (min-width: @grid-float-breakpoint) { + .navbar-right { + .dropdown-menu { + .dropdown-menu-right(); + } + // Necessary for overrides of the default right aligned menu. + // Will remove come v4 in all likelihood. + .dropdown-menu-left { + .dropdown-menu-left(); + } + } +} + diff --git a/searx/static/oscar/less/bootstrap/forms.less b/searx/static/oscar/less/bootstrap/forms.less new file mode 100644 index 000000000..2c5e9bfa9 --- /dev/null +++ b/searx/static/oscar/less/bootstrap/forms.less @@ -0,0 +1,540 @@ +// +// Forms +// -------------------------------------------------- + + +// Normalize non-controls +// +// Restyle and baseline non-control form elements. + +fieldset { + padding: 0; + margin: 0; + border: 0; + // Chrome and Firefox set a `min-width: min-content;` on fieldsets, + // so we reset that to ensure it behaves more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359. + min-width: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: @line-height-computed; + font-size: (@font-size-base * 1.5); + line-height: inherit; + color: @legend-color; + border: 0; + border-bottom: 1px solid @legend-border-color; +} + +label { + display: inline-block; + max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) + margin-bottom: 5px; + font-weight: bold; +} + + +// Normalize form controls +// +// While most of our form styles require extra classes, some basic normalization +// is required to ensure optimum display with or without those classes to better +// address browser inconsistencies. + +// Override content-box in Normalize (* isn't specific enough) +input[type="search"] { + .box-sizing(border-box); +} + +// Position radios and checkboxes better +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; // IE8-9 + line-height: normal; +} + +// Set the height of file controls to match text inputs +input[type="file"] { + display: block; +} + +// Make range inputs behave like textual form controls +input[type="range"] { + display: block; + width: 100%; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Focus for file, radio, and checkbox +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + .tab-focus(); +} + +// Adjust output element +output { + display: block; + padding-top: (@padding-base-vertical + 1); + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; +} + + +// Common form controls +// +// Shared size and type resets for form controls. Apply `.form-control` to any +// of the following form controls: +// +// select +// textarea +// input[type="text"] +// input[type="password"] +// input[type="datetime"] +// input[type="datetime-local"] +// input[type="date"] +// input[type="month"] +// input[type="time"] +// input[type="week"] +// input[type="number"] +// input[type="email"] +// input[type="url"] +// input[type="search"] +// input[type="tel"] +// input[type="color"] + +.form-control { + display: block; + width: 100%; + height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) + padding: @padding-base-vertical @padding-base-horizontal; + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; + background-color: @input-bg; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid @input-border; + border-radius: @input-border-radius; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); + + // Customize the `:focus` state to imitate native WebKit styles. + .form-control-focus(); + + // Placeholder + .placeholder(); + + // Disabled and read-only inputs + // + // HTML5 says that controls under a fieldset > legend:first-child won't be + // disabled if the fieldset is disabled. Due to implementation difficulty, we + // don't honor that edge case; we style them as disabled anyway. + &[disabled], + &[readonly], + fieldset[disabled] & { + cursor: not-allowed; + background-color: @input-bg-disabled; + opacity: 1; // iOS fix for unreadable disabled content + } + + // Reset height for `textarea`s + textarea& { + height: auto; + } +} + + +// Search inputs in iOS +// +// This overrides the extra rounded corners on search inputs in iOS so that our +// `.form-control` class can properly style them. Note that this cannot simply +// be added to `.form-control` as it's not specific enough. For details, see +// https://github.com/twbs/bootstrap/issues/11586. + +input[type="search"] { + -webkit-appearance: none; +} + + +// Special styles for iOS temporal inputs +// +// In Mobile Safari, setting `display: block` on temporal inputs causes the +// text within the input to become vertically misaligned. +// As a workaround, we set a pixel line-height that matches the +// given height of the input. Since this fucks up everything else, we have to +// appropriately reset it for Internet Explorer and the size variations. + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + line-height: @input-height-base; + // IE8+ misaligns the text within date inputs, so we reset + line-height: @line-height-base ~"\0"; + + &.input-sm { + line-height: @input-height-small; + } + &.input-lg { + line-height: @input-height-large; + } +} + + +// Form groups +// +// Designed to help with the organization and spacing of vertical forms. For +// horizontal forms, use the predefined grid classes. + +.form-group { + margin-bottom: 15px; +} + + +// Checkboxes and radios +// +// Indent the labels to position radios/checkboxes as hanging controls. + +.radio, +.checkbox { + position: relative; + display: block; + min-height: @line-height-computed; // clear the floating input if there is no label text + margin-top: 10px; + margin-bottom: 10px; + + label { + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; + } +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing +} + +// Radios and checkboxes on same line +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; // space out consecutive inline controls +} + +// Apply same disabled cursor tweak as for inputs +// Some special care is needed because
-
+
-