mirror of
https://github.com/searxng/searxng.git
synced 2024-11-30 06:31:04 +00:00
Merge pull request #1954 from return42/csp-oscar-theme
[fix] oscar theme, remove inline style attributes (CSP compliants)
This commit is contained in:
commit
6163bd671b
8 changed files with 59 additions and 23 deletions
12
Makefile
12
Makefile
|
@ -164,29 +164,29 @@ quiet_cmd_grunt = GRUNT $2
|
||||||
cmd_grunt = PATH="$$(npm bin):$$PATH" \
|
cmd_grunt = PATH="$$(npm bin):$$PATH" \
|
||||||
grunt --gruntfile "$2"
|
grunt --gruntfile "$2"
|
||||||
|
|
||||||
themes.oscar:
|
themes.oscar: node.env
|
||||||
$(Q)echo '[!] build oscar theme'
|
$(Q)echo '[!] build oscar theme'
|
||||||
$(call cmd,grunt,searx/static/themes/oscar/gruntfile.js)
|
$(call cmd,grunt,searx/static/themes/oscar/gruntfile.js)
|
||||||
|
|
||||||
themes.simple:
|
themes.simple: node.env
|
||||||
$(Q)echo '[!] build simple theme'
|
$(Q)echo '[!] build simple theme'
|
||||||
$(call cmd,grunt,searx/static/themes/simple/gruntfile.js)
|
$(call cmd,grunt,searx/static/themes/simple/gruntfile.js)
|
||||||
|
|
||||||
themes.legacy:
|
themes.legacy: node.env
|
||||||
$(Q)echo '[!] build legacy theme'
|
$(Q)echo '[!] build legacy theme'
|
||||||
$(call cmd,lessc,themes/legacy/less/style-rtl.less,themes/legacy/css/style-rtl.css)
|
$(call cmd,lessc,themes/legacy/less/style-rtl.less,themes/legacy/css/style-rtl.css)
|
||||||
$(call cmd,lessc,themes/legacy/less/style.less,themes/legacy/css/style.css)
|
$(call cmd,lessc,themes/legacy/less/style.less,themes/legacy/css/style.css)
|
||||||
|
|
||||||
themes.courgette:
|
themes.courgette: node.env
|
||||||
$(Q)echo '[!] build courgette theme'
|
$(Q)echo '[!] build courgette theme'
|
||||||
$(call cmd,lessc,themes/courgette/less/style.less,themes/courgette/css/style.css)
|
$(call cmd,lessc,themes/courgette/less/style.less,themes/courgette/css/style.css)
|
||||||
$(call cmd,lessc,themes/courgette/less/style-rtl.less,themes/courgette/css/style-rtl.css)
|
$(call cmd,lessc,themes/courgette/less/style-rtl.less,themes/courgette/css/style-rtl.css)
|
||||||
|
|
||||||
themes.pixart:
|
themes.pixart: node.env
|
||||||
$(Q)echo '[!] build pixart theme'
|
$(Q)echo '[!] build pixart theme'
|
||||||
$(call cmd,lessc,themes/pix-art/less/style.less,themes/pix-art/css/style.css)
|
$(call cmd,lessc,themes/pix-art/less/style.less,themes/pix-art/css/style.css)
|
||||||
|
|
||||||
themes.bootstrap:
|
themes.bootstrap: node.env
|
||||||
$(call cmd,lessc,less/bootstrap/bootstrap.less,css/bootstrap.min.css)
|
$(call cmd,lessc,less/bootstrap/bootstrap.less,css/bootstrap.min.css)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -763,3 +763,12 @@ code {
|
||||||
.table > tbody > tr > th {
|
.table > tbody > tr > th {
|
||||||
vertical-align: middle !important;
|
vertical-align: middle !important;
|
||||||
}
|
}
|
||||||
|
.nav-tabs.nav-justified {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
input.cursor-text {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -736,6 +736,15 @@ code {
|
||||||
.table > tbody > tr > th {
|
.table > tbody > tr > th {
|
||||||
vertical-align: middle !important;
|
vertical-align: middle !important;
|
||||||
}
|
}
|
||||||
|
.nav-tabs.nav-justified {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
input.cursor-text {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
/*Global*/
|
/*Global*/
|
||||||
body {
|
body {
|
||||||
background: #1d1f21 none !important;
|
background: #1d1f21 none !important;
|
||||||
|
|
File diff suppressed because one or more lines are too long
4
searx/static/themes/oscar/js/searx.min.js
vendored
4
searx/static/themes/oscar/js/searx.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,3 +1,15 @@
|
||||||
.table > tbody > tr > td, .table > tbody > tr > th {
|
.table > tbody > tr > td, .table > tbody > tr > th {
|
||||||
vertical-align: middle !important;
|
vertical-align: middle !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-tabs.nav-justified{
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.cursor-text {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<form method="post" action="{{ url_for('preferences') }}" id="search_form">
|
<form method="post" action="{{ url_for('preferences') }}" id="search_form">
|
||||||
|
|
||||||
<!-- Nav tabs -->
|
<!-- Nav tabs -->
|
||||||
<ul class="nav nav-tabs nav-justified hide_if_nojs" role="tablist" style="margin-bottom:20px;">
|
<ul class="nav nav-tabs nav-justified hide_if_nojs" role="tablist">
|
||||||
<li class="active"><a href="#tab_general" role="tab" data-toggle="tab">{{ _('General') }}</a></li>
|
<li class="active"><a href="#tab_general" role="tab" data-toggle="tab">{{ _('General') }}</a></li>
|
||||||
<li><a href="#tab_engine" role="tab" data-toggle="tab">{{ _('Engines') }}</a></li>
|
<li><a href="#tab_engine" role="tab" data-toggle="tab">{{ _('Engines') }}</a></li>
|
||||||
<li><a href="#tab_plugins" role="tab" data-toggle="tab">{{ _('Plugins') }}</a></li>
|
<li><a href="#tab_plugins" role="tab" data-toggle="tab">{{ _('Plugins') }}</a></li>
|
||||||
|
@ -143,7 +143,7 @@
|
||||||
<div class="tab-pane active_if_nojs" id="tab_engine">
|
<div class="tab-pane active_if_nojs" id="tab_engine">
|
||||||
|
|
||||||
<!-- Nav tabs -->
|
<!-- Nav tabs -->
|
||||||
<ul class="nav nav-tabs nav-justified hide_if_nojs" role="tablist" style="margin-bottom:20px;">
|
<ul class="nav nav-tabs nav-justified hide_if_nojs" role="tablist">
|
||||||
{% for categ in all_categories %}
|
{% for categ in all_categories %}
|
||||||
<li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
|
<li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -259,7 +259,7 @@
|
||||||
<noscript>
|
<noscript>
|
||||||
<h3>{{ _('Answerers') }}</h3>
|
<h3>{{ _('Answerers') }}</h3>
|
||||||
</noscript>
|
</noscript>
|
||||||
<p class="text-muted" style="margin:20px 0;">
|
<p class="text-muted">
|
||||||
{{ _('This is the list of searx\'s instant answering modules.') }}
|
{{ _('This is the list of searx\'s instant answering modules.') }}
|
||||||
</p>
|
</p>
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
|
@ -286,20 +286,20 @@
|
||||||
<noscript>
|
<noscript>
|
||||||
<h3>{{ _('Cookies') }}</h3>
|
<h3>{{ _('Cookies') }}</h3>
|
||||||
</noscript>
|
</noscript>
|
||||||
<p class="text-muted" style="margin:20px 0;">
|
<p class="text-muted">
|
||||||
{{ _('This is the list of cookies and their values searx is storing on your computer.') }}<br />
|
{{ _('This is the list of cookies and their values searx is storing on your computer.') }}<br />
|
||||||
{{ _('With that list, you can assess searx transparency.') }}<br />
|
{{ _('With that list, you can assess searx transparency.') }}<br />
|
||||||
</p>
|
</p>
|
||||||
{% if cookies %}
|
{% if cookies %}
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="text-muted{% if rtl %} text-right{% endif %}" style="padding-right:40px;">{{ _('Cookie name') }}</th>
|
<th class="text-muted{% if rtl %} text-right{% endif %}">{{ _('Cookie name') }}</th>
|
||||||
<th class="text-muted{% if rtl %} text-right{% endif %}">{{ _('Value') }}</th>
|
<th class="text-muted{% if rtl %} text-right{% endif %}">{{ _('Value') }}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
{% for cookie in cookies %}
|
{% for cookie in cookies %}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-muted" style="padding-right:40px;">{{ cookie }}</td>
|
<td class="text-muted">{{ cookie }}</td>
|
||||||
<td class="text-muted">{{ cookies[cookie] }}</td>
|
<td class="text-muted">{{ cookies[cookie] }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -309,17 +309,23 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-muted" style="margin:20px 0;">{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }}
|
|
||||||
<br />
|
<p class="text-muted">
|
||||||
{{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }}
|
{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }}
|
||||||
</p>
|
{{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }}
|
||||||
<p style="margin:20px 0;">{{ _('Search URL of the currently saved preferences') }} <small class="text-muted">({{ _('Note: specifying custom settings in the search URL can reduce privacy by leaking data to the clicked result sites.') }})</small>:<br/>
|
|
||||||
<input readonly="" class="form-control select-all-on-click cursor-text" type="url" value="{{ url_for('index', _external=True) }}?preferences={{ preferences_url_params|e }}{% raw %}&q=%s{% endraw %}">
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<input type="submit" class="btn btn-primary" value="{{ _('save') }}" />
|
<p>
|
||||||
|
{{ _('Search URL of the currently saved preferences') }}
|
||||||
|
<small class="text-muted">({{ _('Note: specifying custom settings in the search URL can reduce privacy by leaking data to the clicked result sites.') }})</small>:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="tab-pane">
|
||||||
|
<input readonly="" class="form-control select-all-on-click cursor-text" type="url" value="{{ url_for('index', _external=True) }}?preferences={{ preferences_url_params|e }}{% raw %}&q=%s{% endraw %}">
|
||||||
|
<input type="submit" class="btn btn-primary" value="{{ _('save') }}" />
|
||||||
<a href="{{ url_for('index') }}"><div class="btn btn-default">{{ _('back') }}</div></a>
|
<a href="{{ url_for('index') }}"><div class="btn btn-default">{{ _('back') }}</div></a>
|
||||||
<a href="{{ url_for('clear_cookies') }}"><div class="btn btn-default">{{ _('Reset defaults') }}</div></a>
|
<a href="{{ url_for('clear_cookies') }}"><div class="btn btn-default">{{ _('Reset defaults') }}</div></a>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in a new issue