mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
[mod] simple theme: move initilization of document.searxng to searxng.min.js
keep searxng.min.js as small as possible
This commit is contained in:
parent
33e2599b82
commit
059f4157fa
4 changed files with 46 additions and 35 deletions
|
@ -8,33 +8,13 @@
|
||||||
(function(w, d) {
|
(function(w, d) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// add data- properties
|
// update the css
|
||||||
var script = d.currentScript || (function() {
|
var hmtlElementClassList = d.getElementsByTagName("html")[0].classList;
|
||||||
var scripts = d.getElementsByTagName('script');
|
hmtlElementClassList.remove('no-js');
|
||||||
return scripts[scripts.length - 1];
|
hmtlElementClassList.add('js');
|
||||||
})();
|
|
||||||
|
|
||||||
// try to detect touch screen
|
// try to detect touch screen
|
||||||
w.searxng = {
|
if (("ontouchstart" in w) || w.DocumentTouch && d instanceof DocumentTouch) {
|
||||||
touch: (("ontouchstart" in w) || w.DocumentTouch && document instanceof DocumentTouch) || false,
|
hmtlElementClassList.add('touch');
|
||||||
method: script.getAttribute('data-method'),
|
|
||||||
autocompleter: script.getAttribute('data-autocompleter') === 'true',
|
|
||||||
search_on_category_select: script.getAttribute('data-search-on-category-select') === 'true',
|
|
||||||
infinite_scroll: script.getAttribute('data-infinite-scroll') === 'true',
|
|
||||||
hotkeys: script.getAttribute('data-hotkeys') === 'true',
|
|
||||||
static_path: script.getAttribute('data-static-path'),
|
|
||||||
translations: JSON.parse(script.getAttribute('data-translations')),
|
|
||||||
theme : {
|
|
||||||
// image that is displayed if load of <img src='...'> failed
|
|
||||||
img_load_error: 'img/img_load_error.svg'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// update the css
|
|
||||||
var hmtlElement = d.getElementsByTagName("html")[0];
|
|
||||||
hmtlElement.classList.remove('no-js');
|
|
||||||
hmtlElement.classList.add('js');
|
|
||||||
if (w.searxng.touch) {
|
|
||||||
hmtlElement.classList.add('touch');
|
|
||||||
}
|
}
|
||||||
})(window, document);
|
})(window, document);
|
31
searx/static/themes/simple/src/js/main/01_init.js
Normal file
31
searx/static/themes/simple/src/js/main/01_init.js
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* (C) Copyright Contributors to the SearXNG project.
|
||||||
|
* (C) Copyright Contributors to the searx project (2014 - 2021).
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
(function(w, d) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// add data- properties
|
||||||
|
var script = d.currentScript || (function() {
|
||||||
|
var scripts = d.getElementsByTagName('script');
|
||||||
|
return scripts[scripts.length - 1];
|
||||||
|
})();
|
||||||
|
|
||||||
|
// try to detect touch screen
|
||||||
|
w.searxng = {
|
||||||
|
touch: d.getElementsByTagName("html")[0].classList.contains('touch'),
|
||||||
|
method: script.getAttribute('data-method'),
|
||||||
|
autocompleter: script.getAttribute('data-autocompleter') === 'true',
|
||||||
|
search_on_category_select: script.getAttribute('data-search-on-category-select') === 'true',
|
||||||
|
infinite_scroll: script.getAttribute('data-infinite-scroll') === 'true',
|
||||||
|
hotkeys: script.getAttribute('data-hotkeys') === 'true',
|
||||||
|
static_path: script.getAttribute('data-static-path'),
|
||||||
|
translations: JSON.parse(script.getAttribute('data-translations')),
|
||||||
|
theme : {
|
||||||
|
// image that is displayed if load of <img src='...'> failed
|
||||||
|
img_load_error: 'img/img_load_error.svg'
|
||||||
|
},
|
||||||
|
};
|
||||||
|
})(window, document);
|
|
@ -19,14 +19,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% block styles %}{% endblock %}
|
{% block styles %}{% endblock %}
|
||||||
<!--[if gte IE 9]>-->
|
<!--[if gte IE 9]>-->
|
||||||
<script src="{{ url_for('static', filename='js/searxng.head.min.js') }}"
|
<script src="{{ url_for('static', filename='js/searxng.head.min.js') }}"></script>
|
||||||
data-method="{{ method or 'POST' }}"
|
|
||||||
data-autocompleter="{% if autocomplete %}true{% else %}false{% endif %}"
|
|
||||||
data-search-on-category-select="{{ 'true' if 'plugins/js/search_on_category_select.js' in scripts else 'false'}}"
|
|
||||||
data-infinite-scroll="{{ 'true' if 'plugins/js/infinite_scroll.js' in scripts else 'false' }}"
|
|
||||||
data-hotkeys="{{ 'true' if 'plugins/js/vim_hotkeys.js' in scripts else 'false' }}"
|
|
||||||
data-static-path="{{ url_for('static', filename='themes/simple') }}/"
|
|
||||||
data-translations="{{ translations }}"></script>
|
|
||||||
<!--<![endif]-->
|
<!--<![endif]-->
|
||||||
{% block head %}
|
{% block head %}
|
||||||
<link title="{{ instance_name }}" type="application/opensearchdescription+xml" rel="search" href="{{ opensearch_url }}"/>
|
<link title="{{ instance_name }}" type="application/opensearchdescription+xml" rel="search" href="{{ opensearch_url }}"/>
|
||||||
|
@ -61,7 +54,14 @@
|
||||||
</p>
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
<!--[if gte IE 9]>-->
|
<!--[if gte IE 9]>-->
|
||||||
<script src="{{ url_for('static', filename='js/searxng.min.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/searxng.min.js') }}"
|
||||||
|
data-method="{{ method or 'POST' }}"
|
||||||
|
data-autocompleter="{% if autocomplete %}true{% else %}false{% endif %}"
|
||||||
|
data-search-on-category-select="{{ 'true' if 'plugins/js/search_on_category_select.js' in scripts else 'false'}}"
|
||||||
|
data-infinite-scroll="{{ 'true' if 'plugins/js/infinite_scroll.js' in scripts else 'false' }}"
|
||||||
|
data-hotkeys="{{ 'true' if 'plugins/js/vim_hotkeys.js' in scripts else 'false' }}"
|
||||||
|
data-static-path="{{ url_for('static', filename='themes/simple') }}/"
|
||||||
|
data-translations="{{ translations }}"></script>
|
||||||
<!--<![endif]-->
|
<!--<![endif]-->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Add table
Reference in a new issue