Merge pull request #81 from return42/csp-bar-graph

[fix] make /stats more CSP compliant
This commit is contained in:
Alexandre Flament 2021-05-18 08:55:56 +02:00 committed by GitHub
commit d255e5637b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
33 changed files with 1966 additions and 218 deletions

View File

@ -49,6 +49,10 @@
((nil ((nil
. ((fill-column . 80) . ((fill-column . 80)
(indent-tabs-mode . nil)
))
(makefile-gmake-mode
. ((indent-tabs-mode . t)
)) ))
(python-mode (python-mode
. ((indent-tabs-mode . nil) . ((indent-tabs-mode . nil)

View File

@ -1,14 +1,19 @@
.github-issue-button { .github-issue-button {
display: block; display: block;
padding: 8px 16px; padding: 8px 16px;
font-family: sans-serif; font-family: sans-serif;
font-size: 16px; font-size: 16px;
color: white; color: white;
background-color: #238636 !important; /* important is needed cause to an !important in logicodev-dark */ background-color: #238636 !important; /* important is needed cause to an !important in logicodev-dark */
border: #2ea043; border: #2ea043;
border-radius: 10px !important; border-radius: 10px !important;
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px; box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;
} }
.github-issue-button:hover { .github-issue-button:hover {
background-color: #2ea043; background-color: #2ea043;
}
.issue-hide {
display: none;
} }

View File

@ -0,0 +1,83 @@
.engine-stats {
.engine-name {
width: 20rem;
}
.engine-score {
width: 7rem;
text-align: right;
}
.result-count {
}
.response-time {
}
.engine-reliability {
text-align: right;
}
table.engine-error {
max-width: 1280px;
margin: 1rem;
border: 1px solid gray;
}
table.engine-error th.engine-error-type,
table.engine-error td.engine-error-type,
failed-test {
width: 10rem;
}
table.engine-error span.log_parameters
{
border-right: 1px solid gray;
padding: 0 1rem 0 0;
margin: 0 0 0 0.5rem;
}
}
.bar-chart-value {
width: 3em;
display: inline-block;
text-align: right;
padding-right: 0.5rem;
}
.bar-chart-graph {
width: calc(100% - 5rem);
display: inline-block;
}
.bar-chart-bar {
border: 3px solid #5bc0de;
margin: 1px 0;
}
.bar-chart-serie1 {
border: 3px solid #5bc0de;
margin: 1px 0;
float: left;
}
.bar-chart-serie2 {
border: 3px solid #deb15b;
margin: 1px 0;
float: left;
}
.bar0{
width: 0;
border: 0;
}
.generate-bar(100);
.generate-bar(@n, @i: 1) when (@i =< @n) {
.bar@{i} {
width: (@i * 100% / @n);
}
.generate-bar(@n, (@i + 1));
}

View File

@ -13,6 +13,362 @@
.github-issue-button:hover { .github-issue-button:hover {
background-color: #2ea043; background-color: #2ea043;
} }
.issue-hide {
display: none;
}
.engine-stats .engine-name {
width: 20rem;
}
.engine-stats .engine-score {
width: 7rem;
text-align: right;
}
.engine-stats .engine-reliability {
text-align: right;
}
.engine-stats table.engine-error {
max-width: 1280px;
margin: 1rem;
border: 1px solid gray;
}
.engine-stats table.engine-error th.engine-error-type,
.engine-stats table.engine-error td.engine-error-type,
.engine-stats failed-test {
width: 10rem;
}
.engine-stats table.engine-error span.log_parameters {
border-right: 1px solid gray;
padding: 0 1rem 0 0;
margin: 0 0 0 0.5rem;
}
.bar-chart-value {
width: 3em;
display: inline-block;
text-align: right;
padding-right: 0.5rem;
}
.bar-chart-graph {
width: calc(100% - 5rem);
display: inline-block;
}
.bar-chart-bar {
border: 3px solid #5bc0de;
margin: 1px 0;
}
.bar-chart-serie1 {
border: 3px solid #5bc0de;
margin: 1px 0;
float: left;
}
.bar-chart-serie2 {
border: 3px solid #deb15b;
margin: 1px 0;
float: left;
}
.bar0 {
width: 0;
border: 0;
}
.bar1 {
width: 1%;
}
.bar2 {
width: 2%;
}
.bar3 {
width: 3%;
}
.bar4 {
width: 4%;
}
.bar5 {
width: 5%;
}
.bar6 {
width: 6%;
}
.bar7 {
width: 7%;
}
.bar8 {
width: 8%;
}
.bar9 {
width: 9%;
}
.bar10 {
width: 10%;
}
.bar11 {
width: 11%;
}
.bar12 {
width: 12%;
}
.bar13 {
width: 13%;
}
.bar14 {
width: 14%;
}
.bar15 {
width: 15%;
}
.bar16 {
width: 16%;
}
.bar17 {
width: 17%;
}
.bar18 {
width: 18%;
}
.bar19 {
width: 19%;
}
.bar20 {
width: 20%;
}
.bar21 {
width: 21%;
}
.bar22 {
width: 22%;
}
.bar23 {
width: 23%;
}
.bar24 {
width: 24%;
}
.bar25 {
width: 25%;
}
.bar26 {
width: 26%;
}
.bar27 {
width: 27%;
}
.bar28 {
width: 28%;
}
.bar29 {
width: 29%;
}
.bar30 {
width: 30%;
}
.bar31 {
width: 31%;
}
.bar32 {
width: 32%;
}
.bar33 {
width: 33%;
}
.bar34 {
width: 34%;
}
.bar35 {
width: 35%;
}
.bar36 {
width: 36%;
}
.bar37 {
width: 37%;
}
.bar38 {
width: 38%;
}
.bar39 {
width: 39%;
}
.bar40 {
width: 40%;
}
.bar41 {
width: 41%;
}
.bar42 {
width: 42%;
}
.bar43 {
width: 43%;
}
.bar44 {
width: 44%;
}
.bar45 {
width: 45%;
}
.bar46 {
width: 46%;
}
.bar47 {
width: 47%;
}
.bar48 {
width: 48%;
}
.bar49 {
width: 49%;
}
.bar50 {
width: 50%;
}
.bar51 {
width: 51%;
}
.bar52 {
width: 52%;
}
.bar53 {
width: 53%;
}
.bar54 {
width: 54%;
}
.bar55 {
width: 55%;
}
.bar56 {
width: 56%;
}
.bar57 {
width: 57%;
}
.bar58 {
width: 58%;
}
.bar59 {
width: 59%;
}
.bar60 {
width: 60%;
}
.bar61 {
width: 61%;
}
.bar62 {
width: 62%;
}
.bar63 {
width: 63%;
}
.bar64 {
width: 64%;
}
.bar65 {
width: 65%;
}
.bar66 {
width: 66%;
}
.bar67 {
width: 67%;
}
.bar68 {
width: 68%;
}
.bar69 {
width: 69%;
}
.bar70 {
width: 70%;
}
.bar71 {
width: 71%;
}
.bar72 {
width: 72%;
}
.bar73 {
width: 73%;
}
.bar74 {
width: 74%;
}
.bar75 {
width: 75%;
}
.bar76 {
width: 76%;
}
.bar77 {
width: 77%;
}
.bar78 {
width: 78%;
}
.bar79 {
width: 79%;
}
.bar80 {
width: 80%;
}
.bar81 {
width: 81%;
}
.bar82 {
width: 82%;
}
.bar83 {
width: 83%;
}
.bar84 {
width: 84%;
}
.bar85 {
width: 85%;
}
.bar86 {
width: 86%;
}
.bar87 {
width: 87%;
}
.bar88 {
width: 88%;
}
.bar89 {
width: 89%;
}
.bar90 {
width: 90%;
}
.bar91 {
width: 91%;
}
.bar92 {
width: 92%;
}
.bar93 {
width: 93%;
}
.bar94 {
width: 94%;
}
.bar95 {
width: 95%;
}
.bar96 {
width: 96%;
}
.bar97 {
width: 97%;
}
.bar98 {
width: 98%;
}
.bar99 {
width: 99%;
}
.bar100 {
width: 100%;
}
* { * {
border-radius: 0 !important; border-radius: 0 !important;
} }
@ -986,24 +1342,6 @@ th:hover .engine-tooltip,
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
/*Global*/ /*Global*/
body { body {
background: #1d1f21 none !important; background: #1d1f21 none !important;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -13,6 +13,362 @@
.github-issue-button:hover { .github-issue-button:hover {
background-color: #2ea043; background-color: #2ea043;
} }
.issue-hide {
display: none;
}
.engine-stats .engine-name {
width: 20rem;
}
.engine-stats .engine-score {
width: 7rem;
text-align: right;
}
.engine-stats .engine-reliability {
text-align: right;
}
.engine-stats table.engine-error {
max-width: 1280px;
margin: 1rem;
border: 1px solid gray;
}
.engine-stats table.engine-error th.engine-error-type,
.engine-stats table.engine-error td.engine-error-type,
.engine-stats failed-test {
width: 10rem;
}
.engine-stats table.engine-error span.log_parameters {
border-right: 1px solid gray;
padding: 0 1rem 0 0;
margin: 0 0 0 0.5rem;
}
.bar-chart-value {
width: 3em;
display: inline-block;
text-align: right;
padding-right: 0.5rem;
}
.bar-chart-graph {
width: calc(100% - 5rem);
display: inline-block;
}
.bar-chart-bar {
border: 3px solid #5bc0de;
margin: 1px 0;
}
.bar-chart-serie1 {
border: 3px solid #5bc0de;
margin: 1px 0;
float: left;
}
.bar-chart-serie2 {
border: 3px solid #deb15b;
margin: 1px 0;
float: left;
}
.bar0 {
width: 0;
border: 0;
}
.bar1 {
width: 1%;
}
.bar2 {
width: 2%;
}
.bar3 {
width: 3%;
}
.bar4 {
width: 4%;
}
.bar5 {
width: 5%;
}
.bar6 {
width: 6%;
}
.bar7 {
width: 7%;
}
.bar8 {
width: 8%;
}
.bar9 {
width: 9%;
}
.bar10 {
width: 10%;
}
.bar11 {
width: 11%;
}
.bar12 {
width: 12%;
}
.bar13 {
width: 13%;
}
.bar14 {
width: 14%;
}
.bar15 {
width: 15%;
}
.bar16 {
width: 16%;
}
.bar17 {
width: 17%;
}
.bar18 {
width: 18%;
}
.bar19 {
width: 19%;
}
.bar20 {
width: 20%;
}
.bar21 {
width: 21%;
}
.bar22 {
width: 22%;
}
.bar23 {
width: 23%;
}
.bar24 {
width: 24%;
}
.bar25 {
width: 25%;
}
.bar26 {
width: 26%;
}
.bar27 {
width: 27%;
}
.bar28 {
width: 28%;
}
.bar29 {
width: 29%;
}
.bar30 {
width: 30%;
}
.bar31 {
width: 31%;
}
.bar32 {
width: 32%;
}
.bar33 {
width: 33%;
}
.bar34 {
width: 34%;
}
.bar35 {
width: 35%;
}
.bar36 {
width: 36%;
}
.bar37 {
width: 37%;
}
.bar38 {
width: 38%;
}
.bar39 {
width: 39%;
}
.bar40 {
width: 40%;
}
.bar41 {
width: 41%;
}
.bar42 {
width: 42%;
}
.bar43 {
width: 43%;
}
.bar44 {
width: 44%;
}
.bar45 {
width: 45%;
}
.bar46 {
width: 46%;
}
.bar47 {
width: 47%;
}
.bar48 {
width: 48%;
}
.bar49 {
width: 49%;
}
.bar50 {
width: 50%;
}
.bar51 {
width: 51%;
}
.bar52 {
width: 52%;
}
.bar53 {
width: 53%;
}
.bar54 {
width: 54%;
}
.bar55 {
width: 55%;
}
.bar56 {
width: 56%;
}
.bar57 {
width: 57%;
}
.bar58 {
width: 58%;
}
.bar59 {
width: 59%;
}
.bar60 {
width: 60%;
}
.bar61 {
width: 61%;
}
.bar62 {
width: 62%;
}
.bar63 {
width: 63%;
}
.bar64 {
width: 64%;
}
.bar65 {
width: 65%;
}
.bar66 {
width: 66%;
}
.bar67 {
width: 67%;
}
.bar68 {
width: 68%;
}
.bar69 {
width: 69%;
}
.bar70 {
width: 70%;
}
.bar71 {
width: 71%;
}
.bar72 {
width: 72%;
}
.bar73 {
width: 73%;
}
.bar74 {
width: 74%;
}
.bar75 {
width: 75%;
}
.bar76 {
width: 76%;
}
.bar77 {
width: 77%;
}
.bar78 {
width: 78%;
}
.bar79 {
width: 79%;
}
.bar80 {
width: 80%;
}
.bar81 {
width: 81%;
}
.bar82 {
width: 82%;
}
.bar83 {
width: 83%;
}
.bar84 {
width: 84%;
}
.bar85 {
width: 85%;
}
.bar86 {
width: 86%;
}
.bar87 {
width: 87%;
}
.bar88 {
width: 88%;
}
.bar89 {
width: 89%;
}
.bar90 {
width: 90%;
}
.bar91 {
width: 91%;
}
.bar92 {
width: 92%;
}
.bar93 {
width: 93%;
}
.bar94 {
width: 94%;
}
.bar95 {
width: 95%;
}
.bar96 {
width: 96%;
}
.bar97 {
width: 97%;
}
.bar98 {
width: 98%;
}
.bar99 {
width: 99%;
}
.bar100 {
width: 100%;
}
.searx-navbar { .searx-navbar {
background: #29314D; background: #29314D;
height: 2.3rem; height: 2.3rem;
@ -1013,21 +1369,3 @@ th:hover .engine-tooltip,
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -13,6 +13,362 @@
.github-issue-button:hover { .github-issue-button:hover {
background-color: #2ea043; background-color: #2ea043;
} }
.issue-hide {
display: none;
}
.engine-stats .engine-name {
width: 20rem;
}
.engine-stats .engine-score {
width: 7rem;
text-align: right;
}
.engine-stats .engine-reliability {
text-align: right;
}
.engine-stats table.engine-error {
max-width: 1280px;
margin: 1rem;
border: 1px solid gray;
}
.engine-stats table.engine-error th.engine-error-type,
.engine-stats table.engine-error td.engine-error-type,
.engine-stats failed-test {
width: 10rem;
}
.engine-stats table.engine-error span.log_parameters {
border-right: 1px solid gray;
padding: 0 1rem 0 0;
margin: 0 0 0 0.5rem;
}
.bar-chart-value {
width: 3em;
display: inline-block;
text-align: right;
padding-right: 0.5rem;
}
.bar-chart-graph {
width: calc(100% - 5rem);
display: inline-block;
}
.bar-chart-bar {
border: 3px solid #5bc0de;
margin: 1px 0;
}
.bar-chart-serie1 {
border: 3px solid #5bc0de;
margin: 1px 0;
float: left;
}
.bar-chart-serie2 {
border: 3px solid #deb15b;
margin: 1px 0;
float: left;
}
.bar0 {
width: 0;
border: 0;
}
.bar1 {
width: 1%;
}
.bar2 {
width: 2%;
}
.bar3 {
width: 3%;
}
.bar4 {
width: 4%;
}
.bar5 {
width: 5%;
}
.bar6 {
width: 6%;
}
.bar7 {
width: 7%;
}
.bar8 {
width: 8%;
}
.bar9 {
width: 9%;
}
.bar10 {
width: 10%;
}
.bar11 {
width: 11%;
}
.bar12 {
width: 12%;
}
.bar13 {
width: 13%;
}
.bar14 {
width: 14%;
}
.bar15 {
width: 15%;
}
.bar16 {
width: 16%;
}
.bar17 {
width: 17%;
}
.bar18 {
width: 18%;
}
.bar19 {
width: 19%;
}
.bar20 {
width: 20%;
}
.bar21 {
width: 21%;
}
.bar22 {
width: 22%;
}
.bar23 {
width: 23%;
}
.bar24 {
width: 24%;
}
.bar25 {
width: 25%;
}
.bar26 {
width: 26%;
}
.bar27 {
width: 27%;
}
.bar28 {
width: 28%;
}
.bar29 {
width: 29%;
}
.bar30 {
width: 30%;
}
.bar31 {
width: 31%;
}
.bar32 {
width: 32%;
}
.bar33 {
width: 33%;
}
.bar34 {
width: 34%;
}
.bar35 {
width: 35%;
}
.bar36 {
width: 36%;
}
.bar37 {
width: 37%;
}
.bar38 {
width: 38%;
}
.bar39 {
width: 39%;
}
.bar40 {
width: 40%;
}
.bar41 {
width: 41%;
}
.bar42 {
width: 42%;
}
.bar43 {
width: 43%;
}
.bar44 {
width: 44%;
}
.bar45 {
width: 45%;
}
.bar46 {
width: 46%;
}
.bar47 {
width: 47%;
}
.bar48 {
width: 48%;
}
.bar49 {
width: 49%;
}
.bar50 {
width: 50%;
}
.bar51 {
width: 51%;
}
.bar52 {
width: 52%;
}
.bar53 {
width: 53%;
}
.bar54 {
width: 54%;
}
.bar55 {
width: 55%;
}
.bar56 {
width: 56%;
}
.bar57 {
width: 57%;
}
.bar58 {
width: 58%;
}
.bar59 {
width: 59%;
}
.bar60 {
width: 60%;
}
.bar61 {
width: 61%;
}
.bar62 {
width: 62%;
}
.bar63 {
width: 63%;
}
.bar64 {
width: 64%;
}
.bar65 {
width: 65%;
}
.bar66 {
width: 66%;
}
.bar67 {
width: 67%;
}
.bar68 {
width: 68%;
}
.bar69 {
width: 69%;
}
.bar70 {
width: 70%;
}
.bar71 {
width: 71%;
}
.bar72 {
width: 72%;
}
.bar73 {
width: 73%;
}
.bar74 {
width: 74%;
}
.bar75 {
width: 75%;
}
.bar76 {
width: 76%;
}
.bar77 {
width: 77%;
}
.bar78 {
width: 78%;
}
.bar79 {
width: 79%;
}
.bar80 {
width: 80%;
}
.bar81 {
width: 81%;
}
.bar82 {
width: 82%;
}
.bar83 {
width: 83%;
}
.bar84 {
width: 84%;
}
.bar85 {
width: 85%;
}
.bar86 {
width: 86%;
}
.bar87 {
width: 87%;
}
.bar88 {
width: 88%;
}
.bar89 {
width: 89%;
}
.bar90 {
width: 90%;
}
.bar91 {
width: 91%;
}
.bar92 {
width: 92%;
}
.bar93 {
width: 93%;
}
.bar94 {
width: 94%;
}
.bar95 {
width: 95%;
}
.bar96 {
width: 96%;
}
.bar97 {
width: 97%;
}
.bar98 {
width: 98%;
}
.bar99 {
width: 99%;
}
.bar100 {
width: 100%;
}
html { html {
position: relative; position: relative;
min-height: 100%; min-height: 100%;
@ -772,21 +1128,3 @@ td:hover .engine-tooltip,
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,6 @@
@import "../logicodev/variables.less"; @import "../logicodev/variables.less";
@import "../../../../__common__/less/new_issue.less"; @import "../../../../__common__/less/new_issue.less";
@import "../../../../__common__/less/stats.less";
@stacked-bar-chart: rgb(213, 216, 215, 1); @stacked-bar-chart: rgb(213, 216, 215, 1);

View File

@ -1,5 +1,6 @@
@import "variables.less"; @import "variables.less";
@import "../../../../__common__/less/new_issue.less"; @import "../../../../__common__/less/new_issue.less";
@import "../../../../__common__/less/stats.less";
@import "navbar.less"; @import "navbar.less";
@import "footer.less"; @import "footer.less";

View File

@ -89,17 +89,3 @@ td:hover .engine-tooltip, th:hover .engine-tooltip, .engine-tooltip:hover {
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
.stacked-bar-chart-base();
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
.stacked-bar-chart-base();
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
padding: 0.4rem 0;
}

View File

@ -1,5 +1,6 @@
@import "variables.less"; @import "variables.less";
@import "../../../../__common__/less/new_issue.less"; @import "../../../../__common__/less/new_issue.less";
@import "../../../../__common__/less/stats.less";
@import "footer.less"; @import "footer.less";
@import "checkbox.less"; @import "checkbox.less";

View File

@ -77,18 +77,3 @@ th:hover .engine-tooltip, td:hover .engine-tooltip, .engine-tooltip:hover {
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
.stacked-bar-chart-base();
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
.stacked-bar-chart-base();
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
padding: 0.4rem 0;
}

View File

@ -1,4 +1,4 @@
/*! searx | 28-04-2021 | https://github.com/searxng/searxng */ /*! searx | 17-05-2021 | https://github.com/searxng/searxng */
/* /*
* searx, A privacy-respecting, hackable metasearch engine * searx, A privacy-respecting, hackable metasearch engine
* *
@ -19,6 +19,362 @@
.github-issue-button:hover { .github-issue-button:hover {
background-color: #2ea043; background-color: #2ea043;
} }
.issue-hide {
display: none;
}
.engine-stats .engine-name {
width: 20rem;
}
.engine-stats .engine-score {
width: 7rem;
text-align: right;
}
.engine-stats .engine-reliability {
text-align: right;
}
.engine-stats table.engine-error {
max-width: 1280px;
margin: 1rem;
border: 1px solid gray;
}
.engine-stats table.engine-error th.engine-error-type,
.engine-stats table.engine-error td.engine-error-type,
.engine-stats failed-test {
width: 10rem;
}
.engine-stats table.engine-error span.log_parameters {
border-right: 1px solid gray;
padding: 0 1rem 0 0;
margin: 0 0 0 0.5rem;
}
.bar-chart-value {
width: 3em;
display: inline-block;
text-align: right;
padding-right: 0.5rem;
}
.bar-chart-graph {
width: calc(100% - 5rem);
display: inline-block;
}
.bar-chart-bar {
border: 3px solid #5bc0de;
margin: 1px 0;
}
.bar-chart-serie1 {
border: 3px solid #5bc0de;
margin: 1px 0;
float: left;
}
.bar-chart-serie2 {
border: 3px solid #deb15b;
margin: 1px 0;
float: left;
}
.bar0 {
width: 0;
border: 0;
}
.bar1 {
width: 1%;
}
.bar2 {
width: 2%;
}
.bar3 {
width: 3%;
}
.bar4 {
width: 4%;
}
.bar5 {
width: 5%;
}
.bar6 {
width: 6%;
}
.bar7 {
width: 7%;
}
.bar8 {
width: 8%;
}
.bar9 {
width: 9%;
}
.bar10 {
width: 10%;
}
.bar11 {
width: 11%;
}
.bar12 {
width: 12%;
}
.bar13 {
width: 13%;
}
.bar14 {
width: 14%;
}
.bar15 {
width: 15%;
}
.bar16 {
width: 16%;
}
.bar17 {
width: 17%;
}
.bar18 {
width: 18%;
}
.bar19 {
width: 19%;
}
.bar20 {
width: 20%;
}
.bar21 {
width: 21%;
}
.bar22 {
width: 22%;
}
.bar23 {
width: 23%;
}
.bar24 {
width: 24%;
}
.bar25 {
width: 25%;
}
.bar26 {
width: 26%;
}
.bar27 {
width: 27%;
}
.bar28 {
width: 28%;
}
.bar29 {
width: 29%;
}
.bar30 {
width: 30%;
}
.bar31 {
width: 31%;
}
.bar32 {
width: 32%;
}
.bar33 {
width: 33%;
}
.bar34 {
width: 34%;
}
.bar35 {
width: 35%;
}
.bar36 {
width: 36%;
}
.bar37 {
width: 37%;
}
.bar38 {
width: 38%;
}
.bar39 {
width: 39%;
}
.bar40 {
width: 40%;
}
.bar41 {
width: 41%;
}
.bar42 {
width: 42%;
}
.bar43 {
width: 43%;
}
.bar44 {
width: 44%;
}
.bar45 {
width: 45%;
}
.bar46 {
width: 46%;
}
.bar47 {
width: 47%;
}
.bar48 {
width: 48%;
}
.bar49 {
width: 49%;
}
.bar50 {
width: 50%;
}
.bar51 {
width: 51%;
}
.bar52 {
width: 52%;
}
.bar53 {
width: 53%;
}
.bar54 {
width: 54%;
}
.bar55 {
width: 55%;
}
.bar56 {
width: 56%;
}
.bar57 {
width: 57%;
}
.bar58 {
width: 58%;
}
.bar59 {
width: 59%;
}
.bar60 {
width: 60%;
}
.bar61 {
width: 61%;
}
.bar62 {
width: 62%;
}
.bar63 {
width: 63%;
}
.bar64 {
width: 64%;
}
.bar65 {
width: 65%;
}
.bar66 {
width: 66%;
}
.bar67 {
width: 67%;
}
.bar68 {
width: 68%;
}
.bar69 {
width: 69%;
}
.bar70 {
width: 70%;
}
.bar71 {
width: 71%;
}
.bar72 {
width: 72%;
}
.bar73 {
width: 73%;
}
.bar74 {
width: 74%;
}
.bar75 {
width: 75%;
}
.bar76 {
width: 76%;
}
.bar77 {
width: 77%;
}
.bar78 {
width: 78%;
}
.bar79 {
width: 79%;
}
.bar80 {
width: 80%;
}
.bar81 {
width: 81%;
}
.bar82 {
width: 82%;
}
.bar83 {
width: 83%;
}
.bar84 {
width: 84%;
}
.bar85 {
width: 85%;
}
.bar86 {
width: 86%;
}
.bar87 {
width: 87%;
}
.bar88 {
width: 88%;
}
.bar89 {
width: 89%;
}
.bar90 {
width: 90%;
}
.bar91 {
width: 91%;
}
.bar92 {
width: 92%;
}
.bar93 {
width: 93%;
}
.bar94 {
width: 94%;
}
.bar95 {
width: 95%;
}
.bar96 {
width: 96%;
}
.bar97 {
width: 97%;
}
.bar98 {
width: 98%;
}
.bar99 {
width: 99%;
}
.bar100 {
width: 100%;
}
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document /* Document
========================================================================== */ ========================================================================== */
@ -1250,24 +1606,6 @@ td:hover .engine-tooltip,
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */ /*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */
.autocomplete { .autocomplete {
position: absolute; position: absolute;
@ -2132,7 +2470,7 @@ article.result-images[data-vim-selected]::before {
box-shadow: 0px 0px 5px #CCC; box-shadow: 0px 0px 5px #CCC;
} }
#sidebar .infobox h2 { #sidebar .infobox h2 {
margin: 0 0 .5em 0; margin: 0 0 0.5em 0;
} }
#sidebar .infobox img { #sidebar .infobox img {
max-width: 100%; max-width: 100%;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! searx | 28-04-2021 | https://github.com/searxng/searxng */ /*! searx | 17-05-2021 | https://github.com/searxng/searxng */
/* /*
* searx, A privacy-respecting, hackable metasearch engine * searx, A privacy-respecting, hackable metasearch engine
* *
@ -19,6 +19,362 @@
.github-issue-button:hover { .github-issue-button:hover {
background-color: #2ea043; background-color: #2ea043;
} }
.issue-hide {
display: none;
}
.engine-stats .engine-name {
width: 20rem;
}
.engine-stats .engine-score {
width: 7rem;
text-align: right;
}
.engine-stats .engine-reliability {
text-align: right;
}
.engine-stats table.engine-error {
max-width: 1280px;
margin: 1rem;
border: 1px solid gray;
}
.engine-stats table.engine-error th.engine-error-type,
.engine-stats table.engine-error td.engine-error-type,
.engine-stats failed-test {
width: 10rem;
}
.engine-stats table.engine-error span.log_parameters {
border-right: 1px solid gray;
padding: 0 1rem 0 0;
margin: 0 0 0 0.5rem;
}
.bar-chart-value {
width: 3em;
display: inline-block;
text-align: right;
padding-right: 0.5rem;
}
.bar-chart-graph {
width: calc(100% - 5rem);
display: inline-block;
}
.bar-chart-bar {
border: 3px solid #5bc0de;
margin: 1px 0;
}
.bar-chart-serie1 {
border: 3px solid #5bc0de;
margin: 1px 0;
float: left;
}
.bar-chart-serie2 {
border: 3px solid #deb15b;
margin: 1px 0;
float: left;
}
.bar0 {
width: 0;
border: 0;
}
.bar1 {
width: 1%;
}
.bar2 {
width: 2%;
}
.bar3 {
width: 3%;
}
.bar4 {
width: 4%;
}
.bar5 {
width: 5%;
}
.bar6 {
width: 6%;
}
.bar7 {
width: 7%;
}
.bar8 {
width: 8%;
}
.bar9 {
width: 9%;
}
.bar10 {
width: 10%;
}
.bar11 {
width: 11%;
}
.bar12 {
width: 12%;
}
.bar13 {
width: 13%;
}
.bar14 {
width: 14%;
}
.bar15 {
width: 15%;
}
.bar16 {
width: 16%;
}
.bar17 {
width: 17%;
}
.bar18 {
width: 18%;
}
.bar19 {
width: 19%;
}
.bar20 {
width: 20%;
}
.bar21 {
width: 21%;
}
.bar22 {
width: 22%;
}
.bar23 {
width: 23%;
}
.bar24 {
width: 24%;
}
.bar25 {
width: 25%;
}
.bar26 {
width: 26%;
}
.bar27 {
width: 27%;
}
.bar28 {
width: 28%;
}
.bar29 {
width: 29%;
}
.bar30 {
width: 30%;
}
.bar31 {
width: 31%;
}
.bar32 {
width: 32%;
}
.bar33 {
width: 33%;
}
.bar34 {
width: 34%;
}
.bar35 {
width: 35%;
}
.bar36 {
width: 36%;
}
.bar37 {
width: 37%;
}
.bar38 {
width: 38%;
}
.bar39 {
width: 39%;
}
.bar40 {
width: 40%;
}
.bar41 {
width: 41%;
}
.bar42 {
width: 42%;
}
.bar43 {
width: 43%;
}
.bar44 {
width: 44%;
}
.bar45 {
width: 45%;
}
.bar46 {
width: 46%;
}
.bar47 {
width: 47%;
}
.bar48 {
width: 48%;
}
.bar49 {
width: 49%;
}
.bar50 {
width: 50%;
}
.bar51 {
width: 51%;
}
.bar52 {
width: 52%;
}
.bar53 {
width: 53%;
}
.bar54 {
width: 54%;
}
.bar55 {
width: 55%;
}
.bar56 {
width: 56%;
}
.bar57 {
width: 57%;
}
.bar58 {
width: 58%;
}
.bar59 {
width: 59%;
}
.bar60 {
width: 60%;
}
.bar61 {
width: 61%;
}
.bar62 {
width: 62%;
}
.bar63 {
width: 63%;
}
.bar64 {
width: 64%;
}
.bar65 {
width: 65%;
}
.bar66 {
width: 66%;
}
.bar67 {
width: 67%;
}
.bar68 {
width: 68%;
}
.bar69 {
width: 69%;
}
.bar70 {
width: 70%;
}
.bar71 {
width: 71%;
}
.bar72 {
width: 72%;
}
.bar73 {
width: 73%;
}
.bar74 {
width: 74%;
}
.bar75 {
width: 75%;
}
.bar76 {
width: 76%;
}
.bar77 {
width: 77%;
}
.bar78 {
width: 78%;
}
.bar79 {
width: 79%;
}
.bar80 {
width: 80%;
}
.bar81 {
width: 81%;
}
.bar82 {
width: 82%;
}
.bar83 {
width: 83%;
}
.bar84 {
width: 84%;
}
.bar85 {
width: 85%;
}
.bar86 {
width: 86%;
}
.bar87 {
width: 87%;
}
.bar88 {
width: 88%;
}
.bar89 {
width: 89%;
}
.bar90 {
width: 90%;
}
.bar91 {
width: 91%;
}
.bar92 {
width: 92%;
}
.bar93 {
width: 93%;
}
.bar94 {
width: 94%;
}
.bar95 {
width: 95%;
}
.bar96 {
width: 96%;
}
.bar97 {
width: 97%;
}
.bar98 {
width: 98%;
}
.bar99 {
width: 99%;
}
.bar100 {
width: 100%;
}
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document /* Document
========================================================================== */ ========================================================================== */
@ -1250,24 +1606,6 @@ td:hover .engine-tooltip,
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
display: flex;
flex-shrink: 0;
flex-grow: 0;
flex-basis: unset;
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
padding: 0.4rem 0;
}
/*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */ /*! Autocomplete.js v2.6.3 | license MIT | (c) 2017, Baptiste Donaux | http://autocomplete-js.com */
.autocomplete { .autocomplete {
position: absolute; position: absolute;
@ -2132,7 +2470,7 @@ article.result-images[data-vim-selected]::before {
box-shadow: 0px 0px 5px #CCC; box-shadow: 0px 0px 5px #CCC;
} }
#sidebar .infobox h2 { #sidebar .infobox h2 {
margin: 0 0 .5em 0; margin: 0 0 0.5em 0;
} }
#sidebar .infobox img { #sidebar .infobox img {
max-width: 100%; max-width: 100%;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -68,11 +68,12 @@ module.exports = function(grunt) {
options: { options: {
paths: ["less"], paths: ["less"],
plugins: [ plugins: [
new (require('less-plugin-clean-css'))({ new (require('less-plugin-clean-css'))()
advanced: true,
compatibility: '*'
})
], ],
sourceMap: true,
sourceMapURL: (name) => { const s = name.split('/'); return s[s.length - 1] + '.map';},
outputSourceFiles: false,
sourceMapRootpath: '../',
banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | <%= process.env.GIT_URL %> */\n' banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | <%= process.env.GIT_URL %> */\n'
}, },
files: { files: {

View File

@ -1,4 +1,4 @@
/*! simple/searx.min.js | 23-04-2021 | */ /*! simple/searx.min.js | 17-05-2021 | https://github.com/searxng/searxng */
(function(t,e){"use strict";var a=e.currentScript||function(){var t=e.getElementsByTagName("script");return t[t.length-1]}();t.searx={touch:"ontouchstart"in t||t.DocumentTouch&&document instanceof DocumentTouch||false,method:a.getAttribute("data-method"),autocompleter:a.getAttribute("data-autocompleter")==="true",search_on_category_select:a.getAttribute("data-search-on-category-select")==="true",infinite_scroll:a.getAttribute("data-infinite-scroll")==="true",static_path:a.getAttribute("data-static-path"),translations:JSON.parse(a.getAttribute("data-translations"))};e.getElementsByTagName("html")[0].className=t.searx.touch?"js touch":"js"})(window,document); (function(t,e){"use strict";var a=e.currentScript||function(){var t=e.getElementsByTagName("script");return t[t.length-1]}();t.searx={touch:"ontouchstart"in t||t.DocumentTouch&&document instanceof DocumentTouch||false,method:a.getAttribute("data-method"),autocompleter:a.getAttribute("data-autocompleter")==="true",search_on_category_select:a.getAttribute("data-search-on-category-select")==="true",infinite_scroll:a.getAttribute("data-infinite-scroll")==="true",static_path:a.getAttribute("data-static-path"),translations:JSON.parse(a.getAttribute("data-translations"))};e.getElementsByTagName("html")[0].className=t.searx.touch?"js touch":"js"})(window,document);
//# sourceMappingURL=searx.head.min.js.map //# sourceMappingURL=searx.head.min.js.map

View File

@ -1,4 +1,4 @@
/*! simple/searx.min.js | 23-04-2021 | */ /*! simple/searx.min.js | 17-05-2021 | https://github.com/searxng/searxng */
window.searx=function(t,a){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),i=-1;while(n[++i]&&n[i]!=t);return!!n[i]}})(Element.prototype)}function o(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var s=window.searx||{};s.on=function(i,e,r,t){t=t||false;if(typeof i!=="string"){i.addEventListener(e,r,t)}else{a.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==a&&!(n=t.matches(i)))t=t.parentElement;if(n)o(r,t,e)},t)}};s.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};s.http=function(e,t,n){var i=new XMLHttpRequest,r=function(){},a=function(){},o={then:function(e){r=e;return o},catch:function(e){a=e;return o}};try{i.open(e,t,true);i.onload=function(){if(i.status==200){r(i.response,i.responseType)}else{a(Error(i.statusText))}};i.onerror=function(){a(Error("Network Error"))};i.onabort=function(){a(Error("Transaction is aborted"))};i.send()}catch(e){a(e)}return o};s.loadStyle=function(e){var t=s.static_path+e,n="style_"+e.replace(".","_"),i=a.getElementById(n);if(i===null){i=a.createElement("link");i.setAttribute("id",n);i.setAttribute("rel","stylesheet");i.setAttribute("type","text/css");i.setAttribute("href",t);a.body.appendChild(i)}};s.loadScript=function(e,t){var n=s.static_path+e,i="script_"+e.replace(".","_"),r=a.getElementById(i);if(r===null){r=a.createElement("script");r.setAttribute("id",i);r.setAttribute("src",n);r.onload=t;r.onerror=function(){r.setAttribute("error","1")};a.body.appendChild(r)}else if(!r.hasAttribute("error")){try{t.apply(r,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};s.insertBefore=function(e,t){element.parentNode.insertBefore(e,t)};s.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)};s.on(".close","click",function(e){var t=e.target||e.srcElement;this.parentNode.classList.add("invisible")});return s}(window,document);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function a(o,s,l){function u(n,e){if(!s[n]){if(!o[n]){var t=typeof require=="function"&&require;if(!e&&t)return t(n,!0);if(c)return c(n,!0);var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=s[n]={exports:{}};o[n][0].call(r.exports,function(e){var t=o[n][1][e];return u(t?t:e)},r,r.exports,a,o,s,l)}return s[n].exports}var c=typeof require=="function"&&require;for(var e=0;e<l.length;e++)u(l[e]);return u}({1:[function(e,t,n){ window.searx=function(t,a){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),i=-1;while(n[++i]&&n[i]!=t);return!!n[i]}})(Element.prototype)}function o(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var s=window.searx||{};s.on=function(i,e,r,t){t=t||false;if(typeof i!=="string"){i.addEventListener(e,r,t)}else{a.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==a&&!(n=t.matches(i)))t=t.parentElement;if(n)o(r,t,e)},t)}};s.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};s.http=function(e,t,n){var i=new XMLHttpRequest,r=function(){},a=function(){},o={then:function(e){r=e;return o},catch:function(e){a=e;return o}};try{i.open(e,t,true);i.onload=function(){if(i.status==200){r(i.response,i.responseType)}else{a(Error(i.statusText))}};i.onerror=function(){a(Error("Network Error"))};i.onabort=function(){a(Error("Transaction is aborted"))};i.send()}catch(e){a(e)}return o};s.loadStyle=function(e){var t=s.static_path+e,n="style_"+e.replace(".","_"),i=a.getElementById(n);if(i===null){i=a.createElement("link");i.setAttribute("id",n);i.setAttribute("rel","stylesheet");i.setAttribute("type","text/css");i.setAttribute("href",t);a.body.appendChild(i)}};s.loadScript=function(e,t){var n=s.static_path+e,i="script_"+e.replace(".","_"),r=a.getElementById(i);if(r===null){r=a.createElement("script");r.setAttribute("id",i);r.setAttribute("src",n);r.onload=t;r.onerror=function(){r.setAttribute("error","1")};a.body.appendChild(r)}else if(!r.hasAttribute("error")){try{t.apply(r,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};s.insertBefore=function(e,t){element.parentNode.insertBefore(e,t)};s.insertAfter=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)};s.on(".close","click",function(e){var t=e.target||e.srcElement;this.parentNode.classList.add("invisible")});return s}(window,document);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function a(o,s,l){function u(n,e){if(!s[n]){if(!o[n]){var t=typeof require=="function"&&require;if(!e&&t)return t(n,!0);if(c)return c(n,!0);var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=s[n]={exports:{}};o[n][0].call(r.exports,function(e){var t=o[n][1][e];return u(t?t:e)},r,r.exports,a,o,s,l)}return s[n].exports}var c=typeof require=="function"&&require;for(var e=0;e<l.length;e++)u(l[e]);return u}({1:[function(e,t,n){
/* /*

View File

@ -7,6 +7,7 @@
@stacked-bar-chart: rgb(0, 0, 0); @stacked-bar-chart: rgb(0, 0, 0);
@import "../../__common__/less/new_issue.less"; @import "../../__common__/less/new_issue.less";
@import "../../__common__/less/stats.less";
@import "normalize.less"; @import "normalize.less";

View File

@ -551,17 +551,3 @@ th:hover .engine-tooltip, td:hover .engine-tooltip, .engine-tooltip:hover {
padding: 0.4rem 0; padding: 0.4rem 0;
width: 1px; width: 1px;
} }
.stacked-bar-chart-serie1 {
.stacked-bar-chart-base();
background: #5bc0de;
box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
padding: 0.4rem 0;
}
.stacked-bar-chart-serie2 {
.stacked-bar-chart-base();
background: #deb15b;
box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
padding: 0.4rem 0;
}

View File

@ -4,7 +4,7 @@
"grunt-contrib-concat": "~1.0.1", "grunt-contrib-concat": "~1.0.1",
"grunt-contrib-cssmin": "^2.2.1", "grunt-contrib-cssmin": "^2.2.1",
"grunt-contrib-jshint": "~1.1.0", "grunt-contrib-jshint": "~1.1.0",
"grunt-contrib-less": "^1.4.1", "grunt-contrib-less": "~3.0.0",
"grunt-contrib-uglify": "~3.4.0", "grunt-contrib-uglify": "~3.4.0",
"grunt-contrib-watch": "~1.1.0", "grunt-contrib-watch": "~1.1.0",
"grunt-webfont": "^1.7.1", "grunt-webfont": "^1.7.1",

View File

@ -3,7 +3,7 @@
<input name="title" type="hidden" value="Bug: {{ engine_name }} engine"> <input name="title" type="hidden" value="Bug: {{ engine_name }} engine">
<input name="labels" type="hidden" value="bug"> <input name="labels" type="hidden" value="bug">
<input name="template" type="hidden" value="bug-report.md"> <input name="template" type="hidden" value="bug-report.md">
<textarea name="body" style="display: none;">{{- '' -}} <textarea name="body" class="issue-hide">{{- '' -}}
**Version of SearXNG, commit number if you are using on master branch and stipulate if you forked SearXNG** **Version of SearXNG, commit number if you are using on master branch and stipulate if you forked SearXNG**
<!-- If you are running on master branch using git execute this command <!-- If you are running on master branch using git execute this command

View File

@ -24,18 +24,18 @@
{% include 'oscar/messages/no_data_available.html' %} {% include 'oscar/messages/no_data_available.html' %}
</div> </div>
{% else %} {% else %}
<table class="table table-hover table-condensed table-striped"> <table class="table table-hover table-condensed table-striped engine-stats">
<tr> <tr>
<th scope="col" style="width:20rem;">{{ th_sort('name', _("Engine name")) }}</th> <th scope="col" class="engine-name">{{ th_sort('name', _("Engine name")) }}</th>
<th scope="col" style="width:7rem; text-align: right;">{{ th_sort('score', _('Scores')) }}</th> <th scope="col" class="engine-score">{{ th_sort('score', _('Scores')) }}</th>
<th scope="col">{{ th_sort('result_count', _('Result count')) }}</th> <th scope="col" class="result-count">{{ th_sort('result_count', _('Result count')) }}</th>
<th scope="col">{{ th_sort('time', _('Response time')) }}</th> <th scope="col" class="response-time">{{ th_sort('time', _('Response time')) }}</th>
<th scope="col" style="text-align: right;">{{ th_sort('reliability', _('Reliability')) }}</th> <th scope="col" class="engine-reliability">{{ th_sort('reliability', _('Reliability')) }}</th>
</tr> </tr>
{% for engine_stat in engine_stats.get('time', []) %} {% for engine_stat in engine_stats.get('time', []) %}
<tr> <tr>
<td><a href="{{ url_for('stats', engine=engine_stat.name|e) }}">{{ engine_stat.name }}</a></td> <td class="engine-name"><a href="{{ url_for('stats', engine=engine_stat.name|e) }}">{{ engine_stat.name }}</a></td>
<td style="text-align: right;"> <td class="engine-score">
{%- if engine_stat.score -%} {%- if engine_stat.score -%}
<span aria-labelledby="{{engine_stat.name}}_score" >{{ engine_stat.score|round(1) }}</span> <span aria-labelledby="{{engine_stat.name}}_score" >{{ engine_stat.score|round(1) }}</span>
<div class="engine-tooltip text-left" role="tooltip" id="{{engine_stat.name}}_score">{{- "" -}} <div class="engine-tooltip text-left" role="tooltip" id="{{engine_stat.name}}_score">{{- "" -}}
@ -43,21 +43,21 @@
</div> </div>
{%- endif -%} {%- endif -%}
</td> </td>
<td> <td class="result-count">
{%- if engine_stat.result_count -%} {%- if engine_stat.result_count -%}
<span class="stacked-bar-chart-value">{{- engine_stat.result_count | int -}}</span>{{- "" -}} <div class="bar-chart-value">{{- engine_stat.result_count | int -}}</div>{{- "" -}}
<span class="stacked-bar-chart" aria-hidden="true">{{- "" -}} <div class="bar-chart-graph" aria-hidden="true">{{- "" -}}
<span style="width: calc(max(2px, 100%*{{ (engine_stat.result_count / engine_stats.max_result_count )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} <div class="bar-chart-bar bar{{ (100 * engine_stat.result_count / engine_stats.max_result_count)|round }}"></div>{{- "" -}}
</span> </div>
{%- endif -%} {%- endif -%}
</td> </td>
<td> <td class="response-time">
{%- if engine_stat.total -%} {%- if engine_stat.total -%}
<span class="stacked-bar-chart-value">{{- engine_stat.total | round(1) -}}</span>{{- "" -}} <div class="bar-chart-value">{{- engine_stat.total | round(1) -}}</div>{{- "" -}}
<span class="stacked-bar-chart" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true">{{- "" -}} <div class="bar-chart-graph" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true">{{- "" -}}
<span style="width: calc(max(2px, 100%*{{ (engine_stat.http / engine_stats.max_time )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} <div class="bar-chart-serie1 bar{{ (100 * engine_stat.http / engine_stats.max_time)|round }}"></div>{{- "" -}}
<span style="width: calc(100%*{{ engine_stat.processing / engine_stats.max_time |round(3) }})" class="stacked-bar-chart-serie2"></span>{{- "" -}} <div class="bar-chart-serie2 bar{{ (100 * engine_stat.processing / engine_stats.max_time)|round }}"></div>{{- "" -}}
</span>{{- "" -}} </div>
<div class="engine-tooltip text-left" role="tooltip" id="{{engine_stat.name}}_time">{{- "" -}} <div class="engine-tooltip text-left" role="tooltip" id="{{engine_stat.name}}_time">{{- "" -}}
<table class="table table-striped"> <table class="table table-striped">
<tr> <tr>
@ -88,7 +88,7 @@
</div> </div>
{%- endif -%} {%- endif -%}
</td> </td>
<td style="text-align: right;"> {{ engine_reliabilities.get(engine_stat.name, {}).get('reliablity') }}</td> <td class="engine-reliability"> {{ engine_reliabilities.get(engine_stat.name, {}).get('reliablity') }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
@ -105,20 +105,20 @@
{% set ns.first = false %} {% set ns.first = false %}
<h3>{% if secondary %}{{ _('Warnings') }}{% else %}{{ _('Errors and exceptions') }}{% endif %}</h3> <h3>{% if secondary %}{{ _('Warnings') }}{% else %}{{ _('Errors and exceptions') }}{% endif %}</h3>
{% endif %} {% endif %}
<table class="table table-striped table-bordered"> <table class="table table-striped table-bordered engine-error">
<tbody style="padding-top: 1rem;"> <tbody>
<tr> <tr>
{%- if error.exception_classname -%} {%- if error.exception_classname -%}
<th scope="row" style="width: 10rem">{{ _('Exception') }}</th><td>{{ error.exception_classname }}</td> <th scope="row" class="engine-error-type">{{ _('Exception') }}</th><td>{{ error.exception_classname }}</td>
{%- elif error.log_message -%} {%- elif error.log_message -%}
<th scope="row" style="width: 10rem">{{ _('Message') }}</th><td>{{ error.log_message }}</td> <th scope="row" class="engine-error-type">{{ _('Message') }}</th><td>{{ error.log_message }}</td>
{%- endif -%} {%- endif -%}
<th scope="row" style="width: 10rem">{{ _('Percentage') }}</th><td style="width: 10rem">{{ error.percentage }}</td> <th scope="row" class="engine-error-type">{{ _('Percentage') }}</th><td class="engine-error-type">{{ error.percentage }}</td>
</tr> </tr>
{% if error.log_parameters and error.log_parameters != (None, None, None) %}<tr><th scope="row">{{ _('Parameter') }}</th>{{- '' -}} {% if error.log_parameters and error.log_parameters != (None, None, None) %}<tr><th scope="row">{{ _('Parameter') }}</th>{{- '' -}}
<td colspan="3"> <td colspan="3">
{%- for param in error.log_parameters -%} {%- for param in error.log_parameters -%}
<span style="border-right: 1px solid gray; padding: 0 1rem 0 0; margin: 0 0 0 0.5rem;">{{ param }}</span> <span class="log_parameters">{{ param }}</span>
{%- endfor -%} {%- endfor -%}
</td> </td>
</tr> </tr>
@ -135,7 +135,7 @@
<h3>{{ _('Checker') }}</h3> <h3>{{ _('Checker') }}</h3>
<table class="table table-striped table-bordered"> <table class="table table-striped table-bordered">
<tr> <tr>
<th scope="col" style="width: 10rem">{{ _('Failed test') }}</th> <th scope="col" class="failed-test">{{ _('Failed test') }}</th>
<th scope="col">{{ _('Comment(s)') }}</th> <th scope="col">{{ _('Comment(s)') }}</th>
</tr> </tr>
{% for test_name, results in engine_reliabilities[selected_engine_name].checker.items() %} {% for test_name, results in engine_reliabilities[selected_engine_name].checker.items() %}

View File

@ -23,18 +23,18 @@
{% if not engine_stats.get('time') %} {% if not engine_stats.get('time') %}
{{ _('There is currently no data available. ') }} {{ _('There is currently no data available. ') }}
{% else %} {% else %}
<table style="max-width: 1280px; margin: 0 auto 0 0;"> <table class="engine-stats">
<tr> <tr>
<th scope="col" style="width:20rem;">{{ th_sort('name', _("Engine name")) }}</th> <th scope="col" class="engine-name">{{ th_sort('name', _("Engine name")) }}</th>
<th scope="col" style="width:7rem; text-align: right;">{{ th_sort('score', _('Scores')) }}</th> <th scope="col" class="engine-score">{{ th_sort('score', _('Scores')) }}</th>
<th scope="col">{{ th_sort('result_count', _('Result count')) }}</th> <th scope="col" class="result-count">{{ th_sort('result_count', _('Result count')) }}</th>
<th scope="col">{{ th_sort('time', _('Response time')) }}</th> <th scope="col" class="response-time">{{ th_sort('time', _('Response time')) }}</th>
<th scope="col" style="text-align: right;">{{ th_sort('reliability', _('Reliability')) }}</th> <th scope="col" class="engine-reliability">{{ th_sort('reliability', _('Reliability')) }}</th>
</tr> </tr>
{% for engine_stat in engine_stats.get('time', []) %} {% for engine_stat in engine_stats.get('time', []) %}
<tr> <tr>
<td><a href="{{ url_for('stats', engine=engine_stat.name|e) }}">{{ engine_stat.name }}</a></td> <td class="engine-name"><a href="{{ url_for('stats', engine=engine_stat.name|e) }}">{{ engine_stat.name }}</a></td>
<td style="text-align: right;"> <td class="engine-score">
{% if engine_stat.score %} {% if engine_stat.score %}
<span aria-labelledby="{{engine_stat.name}}_score" >{{ engine_stat.score|round(1) }}</span> <span aria-labelledby="{{engine_stat.name}}_score" >{{ engine_stat.score|round(1) }}</span>
<div class="engine-tooltip" role="tooltip" id="{{engine_stat.name}}_score">{{- "" -}} <div class="engine-tooltip" role="tooltip" id="{{engine_stat.name}}_score">{{- "" -}}
@ -42,21 +42,23 @@
</div> </div>
{% endif %} {% endif %}
</td> </td>
<td> <td class="engine-result-count">
{%- if engine_stat.result_count -%} {%- if engine_stat.result_count -%}
<span class="stacked-bar-chart-value">{{- engine_stat.result_count | int -}}</span>{{- "" -}}
<span class="stacked-bar-chart" aria-hidden="true">{{- "" -}} <div class="bar-chart-value">{{- engine_stat.result_count | int -}}</div>{{- "" -}}
<span style="width: calc(max(2px, 100%*{{ (engine_stat.result_count / engine_stats.max_result_count )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} <div class="bar-chart-graph" aria-hidden="true">
</span> <div class="bar-chart-bar bar{{ (100 * engine_stat.result_count / engine_stats.max_result_count)|round }}"></div>{{- "" -}}
</div>
{%- endif -%} {%- endif -%}
</td> </td>
<td> <td class="response-time">
{%- if engine_stat.total -%} {%- if engine_stat.total -%}
<span class="stacked-bar-chart-value">{{- engine_stat.total | round(1) -}}</span>{{- "" -}}
<span class="stacked-bar-chart" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true">{{- "" -}} <div class="bar-chart-value">{{- engine_stat.total | round(1) -}}</div>{{- "" -}}
<span style="width: calc(max(2px, 100%*{{ (engine_stat.http / engine_stats.max_time )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} <div class="bar-chart-graph" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true">
<span style="width: calc(100%*{{ engine_stat.processing / engine_stats.max_time |round(3) }})" class="stacked-bar-chart-serie2"></span>{{- "" -}} <div class="bar-chart-serie1 bar{{ (100 * engine_stat.http / engine_stats.max_time)|round }}"></div>{{- "" -}}
</span>{{- "" -}} <div class="bar-chart-serie2 bar{{ (100 * engine_stat.processing / engine_stats.max_time)|round }}"></div>{{- "" -}}
</div>
<div class="engine-tooltip" role="tooltip" id="{{engine_stat.name}}_time">{{- "" -}} <div class="engine-tooltip" role="tooltip" id="{{engine_stat.name}}_time">{{- "" -}}
<table> <table>
<tr> <tr>
@ -87,7 +89,7 @@
</div> </div>
{%- endif -%} {%- endif -%}
</td> </td>
<td style="text-align: right;"> {{ engine_reliabilities.get(engine_stat.name, {}).get('reliablity') }}</td> <td class="engine-reliability"> {{ engine_reliabilities.get(engine_stat.name, {}).get('reliablity') }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
@ -103,20 +105,20 @@
{% set ns.first = false %} {% set ns.first = false %}
<h3>{% if secondary %}{{ _('Warnings') }}{% else %}{{ _('Errors and exceptions') }}{% endif %}</h3> <h3>{% if secondary %}{{ _('Warnings') }}{% else %}{{ _('Errors and exceptions') }}{% endif %}</h3>
{% endif %} {% endif %}
<table style="max-width: 1280px; margin: 1rem; border: 1px solid gray;"> <table class="engine-error">
<tbody style="padding-top: 1rem;"> <tbody>
<tr> <tr>
{%- if error.exception_classname -%} {%- if error.exception_classname -%}
<th scope="row" style="width: 10rem">{{ _('Exception') }}</th><td>{{ error.exception_classname }}</td> <th scope="row" class="engine-error-type">{{ _('Exception') }}</th><td>{{ error.exception_classname }}</td>
{%- elif error.log_message -%} {%- elif error.log_message -%}
<th scope="row" style="width: 10rem">{{ _('Message') }}</th><td>{{ error.log_message }}</td> <th scope="row" class="engine-error-type">{{ _('Message') }}</th><td>{{ error.log_message }}</td>
{%- endif -%} {%- endif -%}
<th scope="row" style="width: 10rem">{{ _('Percentage') }}</th><td style="width: 10rem">{{ error.percentage }}</td> <th scope="row" class="engine-error-type">{{ _('Percentage') }}</th><td class="engine-error-type">{{ error.percentage }}</td>
</tr> </tr>
{% if error.log_parameters and error.log_parameters != (None, None, None) %}<tr><th scope="row">{{ _('Parameter') }}</th>{{- '' -}} {% if error.log_parameters and error.log_parameters != (None, None, None) %}<tr><th scope="row">{{ _('Parameter') }}</th>{{- '' -}}
<td colspan="3"> <td colspan="3">
{%- for param in error.log_parameters -%} {%- for param in error.log_parameters -%}
<span style="border-right: 1px solid gray; padding: 0 1rem 0 0; margin: 0 0 0 0.5rem;">{{ param }}</span> <span class="log_parameters">{{ param }}</span>
{%- endfor -%} {%- endfor -%}
</td> </td>
</tr> </tr>
@ -133,7 +135,7 @@
<h3>{{ _('Checker') }}</h3> <h3>{{ _('Checker') }}</h3>
<table> <table>
<tr> <tr>
<th scope="col" style="width: 10rem">{{ _('Failed test') }}</th> <th scope="col" class="failed-test">{{ _('Failed test') }}</th>
<th scope="col">{{ _('Comment(s)') }}</th> <th scope="col">{{ _('Comment(s)') }}</th>
</tr> </tr>
{% for test_name, results in engine_reliabilities[selected_engine_name].checker.items() %} {% for test_name, results in engine_reliabilities[selected_engine_name].checker.items() %}