From 10a24bdc2c3870f07ec62dd710841628d325aaf6 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Sun, 12 Feb 2017 15:06:01 +0100 Subject: [enh] add simple theme (WIP) --- searx/templates/oscar/preferences.html | 2 +- searx/templates/simple/404.html | 9 + searx/templates/simple/about.html | 4 + searx/templates/simple/base.html | 61 +++++++ searx/templates/simple/categories.html | 8 + searx/templates/simple/index.html | 12 ++ searx/templates/simple/infobox.html | 46 +++++ searx/templates/simple/languages.html | 8 + searx/templates/simple/macros.html | 86 ++++++++++ searx/templates/simple/preferences.html | 190 +++++++++++++++++++++ searx/templates/simple/result_templates/code.html | 13 ++ .../templates/simple/result_templates/default.html | 17 ++ .../templates/simple/result_templates/images.html | 4 + searx/templates/simple/result_templates/map.html | 71 ++++++++ .../templates/simple/result_templates/torrent.html | 24 +++ .../templates/simple/result_templates/videos.html | 15 ++ searx/templates/simple/results.html | 151 ++++++++++++++++ searx/templates/simple/search.html | 16 ++ searx/templates/simple/simple.spec.txt | 40 +++++ searx/templates/simple/stats.html | 25 +++ searx/templates/simple/time-range.html | 17 ++ 21 files changed, 818 insertions(+), 1 deletion(-) create mode 100644 searx/templates/simple/404.html create mode 100644 searx/templates/simple/about.html create mode 100644 searx/templates/simple/base.html create mode 100644 searx/templates/simple/categories.html create mode 100644 searx/templates/simple/index.html create mode 100644 searx/templates/simple/infobox.html create mode 100644 searx/templates/simple/languages.html create mode 100644 searx/templates/simple/macros.html create mode 100644 searx/templates/simple/preferences.html create mode 100644 searx/templates/simple/result_templates/code.html create mode 100644 searx/templates/simple/result_templates/default.html create mode 100644 searx/templates/simple/result_templates/images.html create mode 100644 searx/templates/simple/result_templates/map.html create mode 100644 searx/templates/simple/result_templates/torrent.html create mode 100644 searx/templates/simple/result_templates/videos.html create mode 100644 searx/templates/simple/results.html create mode 100644 searx/templates/simple/search.html create mode 100644 searx/templates/simple/simple.spec.txt create mode 100644 searx/templates/simple/stats.html create mode 100644 searx/templates/simple/time-range.html (limited to 'searx/templates') diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index 49f67bcd8..afb389e44 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -171,7 +171,7 @@ {{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in disabled_engines) }} {{ search_engine.name }} - {{ shortcuts[search_engine.name] }} + {{ shortcuts[search_engine.name] }} diff --git a/searx/templates/simple/404.html b/searx/templates/simple/404.html new file mode 100644 index 000000000..1843c9892 --- /dev/null +++ b/searx/templates/simple/404.html @@ -0,0 +1,9 @@ +{% extends "simple/base.html" %} +{% block content %} +
+

{{ _('Page not found') }}

+ {% autoescape false %} +

{{ _('Go to %(search_page)s.', search_page='{}'.decode('utf-8').format(url_for('index'), _('search page'))) }}

+ {% endautoescape %} +
+{% endblock %} diff --git a/searx/templates/simple/about.html b/searx/templates/simple/about.html new file mode 100644 index 000000000..1913879da --- /dev/null +++ b/searx/templates/simple/about.html @@ -0,0 +1,4 @@ +{% extends 'simple/base.html' %} +{% block content %} +{% include '__common__/about.html' %} +{% endblock %} diff --git a/searx/templates/simple/base.html b/searx/templates/simple/base.html new file mode 100644 index 000000000..0003f113e --- /dev/null +++ b/searx/templates/simple/base.html @@ -0,0 +1,61 @@ + + + + + + + + + + + + + {% block title %}{% endblock %}searx + {% if rtl %} + + {% else %} + + {% endif %} + {% block styles %}{% endblock %} + {% block meta %}{% endblock %} + {% block head %} + + {% endblock %} + + + + +
+ {% if errors %} + + {% endif %} + + {% block content %} + {% endblock %} +
+ + + + + + diff --git a/searx/templates/simple/categories.html b/searx/templates/simple/categories.html new file mode 100644 index 000000000..127d55b2b --- /dev/null +++ b/searx/templates/simple/categories.html @@ -0,0 +1,8 @@ +
{{- '' -}} +
+ {%- for category in categories -%} +
+ {%- endfor -%} + {%- if display_tooltip %}
{{ _('Click on the magnifier to perform search') }}
{% endif -%} +
{{- '' -}} +
diff --git a/searx/templates/simple/index.html b/searx/templates/simple/index.html new file mode 100644 index 000000000..4e8e76cce --- /dev/null +++ b/searx/templates/simple/index.html @@ -0,0 +1,12 @@ +{% extends "simple/base.html" %} +{% from 'simple/macros.html' import icon %} +{% block meta %} + +{% endblock %} +{% block content %} + +
+

searx

+ {% include 'simple/search.html' %} +
+{% endblock %} diff --git a/searx/templates/simple/infobox.html b/searx/templates/simple/infobox.html new file mode 100644 index 000000000..d99806ac4 --- /dev/null +++ b/searx/templates/simple/infobox.html @@ -0,0 +1,46 @@ + diff --git a/searx/templates/simple/languages.html b/searx/templates/simple/languages.html new file mode 100644 index 000000000..dd928ff68 --- /dev/null +++ b/searx/templates/simple/languages.html @@ -0,0 +1,8 @@ + diff --git a/searx/templates/simple/macros.html b/searx/templates/simple/macros.html new file mode 100644 index 000000000..76c53a635 --- /dev/null +++ b/searx/templates/simple/macros.html @@ -0,0 +1,86 @@ + +{% macro icon(action) -%} + +{%- endmacro %} + +{% macro icon_small(action) -%} + +{%- endmacro %} + + + +{% macro draw_favicon(favicon) -%} + {{ favicon }} +{%- endmacro %} + +{% macro result_open_link(url, classes='') -%} + +{%- endmacro %} + +{%- macro result_close_link() -%} + +{%- endmacro %} + +{%- macro result_link(url, title, classes='') -%} + {{ result_open_link(url, classes) }}{{ title }}{{ result_close_link() }} +{%- endmacro -%} + + +{% macro result_header(result, favicons, image_proxify) -%} +
+ {%- if result.img_src %}{{ result_open_link(result.url) }}{{ result.title|striptags }}{{ result_close_link() }}{% endif -%} + {%- if result.thumbnail %}{{ result_open_link(result.url) }}{{ result.title|striptags }}{{ result_close_link() }}{% endif -%} +

{{ result_link(result.url, result.title|safe) }}

+{%- endmacro -%} + + +{%- macro result_sub_header(result) -%} + {% if result.publishedDate %}{% endif %} +{%- endmacro -%} + + +{%- macro result_sub_footer(result, proxify) -%} +
{% for engine in result.engines %}{{ engine }}{% endfor %}
{{- '' -}} +

{{ result.pretty_url }}{{ result_link("https://web.archive.org/web/" + result.url, icon('link') + _('cached'), "cache_link") }}‎ {% if proxify %} {{ result_link(proxify(result.url), icon('link') + _('proxied'), "proxyfied_link") }} {% endif %}

{{- '' -}} +
{{- '' -}} +{%- endmacro -%} + + +{%- macro result_footer(result) -%} +
+{%- endmacro -%} + + +{%- macro tabs_open() -%} +
+{%- endmacro -%} + +{%- macro tab_header(name, id, label) -%} + + +
+{%- endmacro -%} + +{%- macro tab_footer() -%} +
+{%- endmacro -%} + +{%- macro tabs_close() -%} +
+{%- endmacro -%} + +{%- macro checkbox_onoff(name, checked) -%} +
{{- '' -}} + {{- '' -}} + {{- '' -}} +
+{%- endmacro -%} + +{%- macro checkbox(name, checked, readonly, disabled) -%} +
{{- '' -}} + {{- '' -}} + {{- '' -}} +
+{%- endmacro -%} diff --git a/searx/templates/simple/preferences.html b/searx/templates/simple/preferences.html new file mode 100644 index 000000000..4529fea8c --- /dev/null +++ b/searx/templates/simple/preferences.html @@ -0,0 +1,190 @@ +{% from 'simple/macros.html' import tabs_open, tabs_close, tab_header, tab_footer, checkbox_onoff, checkbox %} + +{% extends "simple/base.html" %} + +{%- macro plugin_preferences(section) -%} +{%- for plugin in plugins -%} +{%- if plugin.preference_section == section -%} +
{{- '' -}} + {{ _(plugin.name) }}{{- '' -}} +
+ {{- checkbox_onoff('plugin_' + plugin.id, plugin.id not in allowed_plugins) -}} +
{{- '' -}} +
+ {{- _(plugin.description) -}} +
{{- '' -}} +
+{%- endif -%} +{%- endfor -%} +{%- endmacro -%} + +{% block head %} {% endblock %} +{% block content %} + +

searx

+ +

{{ _('Preferences') }}

+ +
+ +{{ tabs_open() }} + +{{ tab_header('maintab', 'general', _('General')) }} +
+ {{ _('Default categories') }} + {% set display_tooltip = false %} + {% include 'simple/categories.html' %} +
+
+ {{ _('Search language') }} +

{{- '' -}} + {{- '' -}} +

+
{{ _('What language do you prefer for search?') }}
+
+
+ {{ _('Autocomplete') }} +

+ +

+
{{ _('Find stuff as you type') }}
+
+
+ {{ _('SafeSearch') }} +

+ +

+
{{ _('Filter content') }}

+
+ {{ plugin_preferences('general') }} + {{ tab_footer() }} + + {{ tab_header('maintab', 'engines', _('Engines')) }} +

{{ _('Currently used search engines') }}

+ + {{ tabs_open() }} + {% for categ in all_categories %} + + {{ tab_header('enginetab', 'category' + categ, _(categ)) }} +
+ + + + + + + + + + + + {% for search_engine in engines_by_category[categ] %} + + {% if not search_engine.private %} + {% set engine_id = 'engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_') %} + + + + + + + + + + + {% endif %} + {% endfor %} +
{{ _("Allow") }}{{ _("Engine name") }}{{ _("Shortcut") }}{{ _("Supports selected language") }}{{ _("SafeSearch") }}{{ _("Time range") }}{{ _("Avg. time") }}{{ _("Max time") }}
{{ checkbox_onoff(engine_id, (search_engine.name, categ) in disabled_engines) }}{{ search_engine.name }}{{ shortcuts[search_engine.name] }}{{ checkbox(engine_id + '_supported_languages', current_language == 'all' or current_language in search_engine.supported_languages or current_language.split('-')[0] in search_engine.supported_languages, true, true) }}{{ checkbox(engine_id + '_safesearch', search_engine.safesearch==True, true, true) }}{{ checkbox(engine_id + '_time_range_support', search_engine.time_range_support==True, true, true) }}{{ 'N/A' if stats[search_engine.name].time==None else stats[search_engine.name].time }}{{ search_engine.timeout }}
+
+ {{ tab_footer() }} + {% endfor %} + {{ tabs_close() }} + {{ tab_footer() }} + + {{ tab_header('maintab', 'ui', _('User interface')) }} +
+ {{ _('Interface language') }} +

+ +

+
{{ _('Change the language of the layout') }}
+
+
+ {{ _('Themes') }} +

+ +

+
{{ _('Change searx layout') }}
+
+
+ {{ _('Results on new tabs') }} +

+ +

+
{{_('Open result links on new browser tabs') }}
+
+ {{ plugin_preferences('ui') }} + {{ tab_footer() }} + + {{ tab_header('maintab', 'privacy', _('Privacy')) }} +
+ {{ _('Method') }} +

+ +

+
{{ _('Search language') }}
+
+
+ {{ _('Image proxy') }} +

+ +

+
{{ _('Proxying image results through searx') }}
+
+ {{ plugin_preferences('privacy') }} + {{ tab_footer() }} + + {{ tabs_close() }} + +

{{ _('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.") }} +

+ + + + + + +{% endblock %} diff --git a/searx/templates/simple/result_templates/code.html b/searx/templates/simple/result_templates/code.html new file mode 100644 index 000000000..9db05311f --- /dev/null +++ b/searx/templates/simple/result_templates/code.html @@ -0,0 +1,13 @@ +{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer, result_footer_rtl %} + +{{ result_header(result, favicons, image_proxify) -}} +{{- result_sub_header(result) -}} +{%- if result.content %}{{ result.content|safe }}{% endif %}

+{%- if result.repository -%} +

{{ result.repository }}

+{%- endif -%} +
+ {{- result.codelines|code_highlighter(result.code_language)|safe -}} +
{{- '' -}} +{{- result_sub_footer(result, proxify) -}} +{{ result_footer(result) }} diff --git a/searx/templates/simple/result_templates/default.html b/searx/templates/simple/result_templates/default.html new file mode 100644 index 000000000..b29ca550f --- /dev/null +++ b/searx/templates/simple/result_templates/default.html @@ -0,0 +1,17 @@ +{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer, result_footer_rtl %} + +{{ result_header(result, favicons, image_proxify) -}} +{{- result_sub_header(result) -}} +{% if result.embedded -%} + +{%- endif %} +

+ {%- if result.content %}{{ result.content|safe }}{% endif -%} +

+{{- result_sub_footer(result, proxify) -}} +{% if result.embedded -%} + +{%- endif %} +{{- result_footer(result) }} diff --git a/searx/templates/simple/result_templates/images.html b/searx/templates/simple/result_templates/images.html new file mode 100644 index 000000000..f756acbe3 --- /dev/null +++ b/searx/templates/simple/result_templates/images.html @@ -0,0 +1,4 @@ + diff --git a/searx/templates/simple/result_templates/map.html b/searx/templates/simple/result_templates/map.html new file mode 100644 index 000000000..1fe0c86ac --- /dev/null +++ b/searx/templates/simple/result_templates/map.html @@ -0,0 +1,71 @@ +{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer, result_footer_rtl, icon %} + +{{ result_header(result, favicons, image_proxify) -}} +{{- result_sub_header(result) -}} + +{%- if (result.latitude and result.longitude) or result.boundingbox -%} + +{%- endif -%} + +{%- if result.osm and (result.osm.type and result.osm.id) -%} + +{%- endif -%} +{#- +{% if (result.latitude and result.longitude) %} + {{ icon('location') }} {{ _('show geodata') }} +{% endif %} +-#} + +{%- if result.address -%} +

+ {%- if result.address.name -%} + {{ result.address.name }}
+ {%- endif -%} + {% if result.address.road -%} + + {% if result.address.house_number %}{{ result.address.house_number }}, {% endif %} + {{ result.address.road }} +
+ {%- endif %} + {%- if result.address.locality -%} + {{ result.address.locality }} + {% if result.address.postcode %}, {{ result.address.postcode }}{% endif %} +
+ {%- endif -%} + {%- if result.address.country -%} + {{ result.address.country }} + {%- endif -%} +

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

{{ result.content|safe }}

{% endif -%} + +{{- result_sub_footer(result, proxify) -}} + +{% if result.osm and (result.osm.type and result.osm.id) -%} + +{%- endif %} + +{#- +{% if (result.latitude and result.longitude) -%} + +{%- endif %} +-#} + +{% if (result.latitude and result.longitude) or result.boundingbox -%} + +{%- endif %} + +{{- result_footer(result) }} diff --git a/searx/templates/simple/result_templates/torrent.html b/searx/templates/simple/result_templates/torrent.html new file mode 100644 index 000000000..3c7fd15e8 --- /dev/null +++ b/searx/templates/simple/result_templates/torrent.html @@ -0,0 +1,24 @@ +{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer, result_footer_rtl, result_link %} + +{{ result_header(result, favicons, image_proxify) -}} +{{- result_sub_header(result) -}} + +{% if result.magnetlink %}{% endif %} +{% if result.torrentfile %}{% endif %} + +{% if result.seed %}

• {{ icon('arrow-swap') }} {{ _('Seeder') }} {{ result.seed }} • {{ _('Leecher') }} {{ result.leech }}

{% endif %} + +{%- if result.filesize %}

{{ icon('floppy-disk') }} {{ _('Filesize') }} + {%- if result.filesize < 1024 %}{{ result.filesize }} {{ _('Bytes') }} + {%- elif result.filesize < 1024*1024 %}{{ '{0:0.2f}'.format(result.filesize/1024) }} {{ _('kiB') }} + {%- elif result.filesize < 1024*1024*1024 %}{{ '{0:0.2f}'.format(result.filesize/1024/1024) }} {{ _('MiB') }} + {%- elif result.filesize < 1024*1024*1024*1024 %}{{ '{0:0.2f}'.format(result.filesize/1024/1024/1024) }} {{ _('GiB') }} + {%- else %}{{ '{0:0.2f}'.format(result.filesize/1024/1024/1024/1024) }} {{ _('TiB') }}{% endif -%} +

+{%- endif -%} + +{%- if result.files %}

{{ icon('file') }} {{ _('Number of Files') }} {{ result.files }}

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

{{ result.content|safe }}

{% endif -%} +{{- result_sub_footer(result, proxify) -}} +{{- result_footer(result) }} diff --git a/searx/templates/simple/result_templates/videos.html b/searx/templates/simple/result_templates/videos.html new file mode 100644 index 000000000..be270e932 --- /dev/null +++ b/searx/templates/simple/result_templates/videos.html @@ -0,0 +1,15 @@ +{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer, result_footer_rtl %} + +{{ result_header(result, favicons, image_proxify) }} +{{ result_sub_header(result) }} +{% if result.embedded -%} + +{%- endif %} +{% if result.content %}

{{ result.content|safe }}

{% endif %} +{{- result_sub_footer(result, proxify) -}} +{% if result.embedded -%} + +{%- endif %} +{{ result_footer(result) }} diff --git a/searx/templates/simple/results.html b/searx/templates/simple/results.html new file mode 100644 index 000000000..081118eaf --- /dev/null +++ b/searx/templates/simple/results.html @@ -0,0 +1,151 @@ +{% extends "simple/base.html" %} +{% from 'simple/macros.html' import icon, icon_small %} +{% block title %}{{ q|e }} - {% endblock %} +{% block meta %}{% endblock %} +{% block content %} + +{% include 'simple/search.html' %} +
+ {% if answers %} +

{{ _('Answers') }} :

+ {% for answer in answers -%} +
{{ answer }}
+ {%- endfor %} +
+ {% endif %} + + + + {% if corrections %} +
+

{{ _('Try searching for:') }}

+ {% for correction in corrections %} +
+
+ + + + + + +
+
+ {% endfor %} +
+ {% endif %} + +
+ {% for result in results %} + {% set index = loop.index %} + {% if result['template'] %} + {% include get_result_template('simple', result['template']) %} + {% else %} + {% include 'simple/result_templates/default.html' %} + {% endif %} + {% endfor %} + {% if not results and not answers %} + {% include 'simple/messages/no_results.html' %} + {% endif %} +
+ + {% if paging %} + + {% endif %} +
+{% endblock %} diff --git a/searx/templates/simple/search.html b/searx/templates/simple/search.html new file mode 100644 index 000000000..3f48d7fcd --- /dev/null +++ b/searx/templates/simple/search.html @@ -0,0 +1,16 @@ + diff --git a/searx/templates/simple/simple.spec.txt b/searx/templates/simple/simple.spec.txt new file mode 100644 index 000000000..a9724f8ef --- /dev/null +++ b/searx/templates/simple/simple.spec.txt @@ -0,0 +1,40 @@ +#container + .search + #search_form + +#results + + #sidebar + #result-count + .title + .content + + .infobox + h2 + img + p + div#attributes + table + tbody + tr + td + td + div#urls + ul + li + + #suggestions + .title + .suggestion + + #search_url + .title + input + + #apis + .title + .api-link + + .result + + diff --git a/searx/templates/simple/stats.html b/searx/templates/simple/stats.html new file mode 100644 index 000000000..462ab4aa9 --- /dev/null +++ b/searx/templates/simple/stats.html @@ -0,0 +1,25 @@ +{% extends "simple/base.html" %} +{% block head %} {% endblock %} +{% block content %} + +

searx

+ +

{{ _('Engine stats') }}

+ +{% for stat_name,stat_category in stats %} +
+ + + + + {% for engine in stat_category %} + + + + + + {% endfor %} +
{{ stat_name }}
{{ engine.name }}{{ '%.02f'|format(engine.avg) }}
 
+
+{% endfor %} +{% endblock %} diff --git a/searx/templates/simple/time-range.html b/searx/templates/simple/time-range.html new file mode 100644 index 000000000..a9fc9f165 --- /dev/null +++ b/searx/templates/simple/time-range.html @@ -0,0 +1,17 @@ + -- cgit v1.2.3