Browse Source

SearXNG: oscar theme

Alexandre Flament 3 years ago
parent
commit
df06dddc04

+ 8 - 4
searx/static/themes/oscar/gruntfile.js

@@ -61,29 +61,33 @@ module.exports = function(grunt) {
       },
       dist: {
         src: ['src/js/*.js', '../__common__/js/image_layout.js'],
-        dest: 'js/searx.js'
+        dest: 'js/searxng.js'
       }
     },
     uglify: {
       options: {
+        output: {
+	        comments: 'some'
+        },
         sourceMap: true,
       },
       dist: {
         files: {
-          'js/searx.min.js': ['<%= concat.dist.dest %>']
+          'js/searxng.min.js': ['<%= concat.dist.dest %>']
         }
       }
     },
     jshint: {
-      files: ['gruntfile.js', 'js/searx_src/*.js', '../__common__/js/image_layout.js'],
+      files: ['gruntfile.js', 'src/js/*.js', '../__common__/js/image_layout.js'],
       options: {
         reporterOutput: "",
+        esversion: 6,
         // options here to override JSHint defaults
         globals: {
           jQuery: true,
           console: true,
           module: true,
-          document: true
+          document: true,
         }
       }
     },

+ 8 - 15
searx/static/themes/oscar/src/js/01_init.js

@@ -1,20 +1,11 @@
 /**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
- * (C) 2019 by Alexandre Flament
+ * @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
  */
-window.searx = (function(d) {
+
+window.searxng = (function(d) {
     'use strict';
 
     //
@@ -32,3 +23,5 @@ window.searx = (function(d) {
         translations: JSON.parse(script.getAttribute('data-translations'))
     };
 })(document);
+
+window.searx = {};

+ 5 - 14
searx/static/themes/oscar/src/js/autocompleter.js

@@ -1,23 +1,14 @@
 /**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
+ * @license
+ * (C) Copyright Contributors to the SearXNG project.
+ * (C) Copyright Contributors to the searx project (2014 - 2021).
  * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  */
 
 $(document).ready(function(){
     var original_search_value = '';
-    if(searx.autocompleter) {
+    if(searxng.autocompleter) {
         var searchResults = new Bloodhound({
             datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
             queryTokenizer: Bloodhound.tokenizers.whitespace,

+ 6 - 15
searx/static/themes/oscar/src/js/element_modifiers.js

@@ -1,18 +1,9 @@
 /**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
+ * @license
+ * (C) Copyright Contributors to the SearXNG project.
+ * (C) Copyright Contributors to the searx project (2014 - 2021).
  * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  */
 
 $(document).ready(function(){
@@ -112,6 +103,6 @@ $(document).ready(function(){
     /**
      * Layout images according to their sizes
      */
-    searx.image_thumbnail_layout = new searx.ImageLayout('#main_results', '#main_results .result-images', 'img.img-thumbnail', 15, 200);
-    searx.image_thumbnail_layout.watch();
+    searxng.image_thumbnail_layout = new searx.ImageLayout('#main_results', '#main_results .result-images', 'img.img-thumbnail', 15, 200);
+    searxng.image_thumbnail_layout.watch();
 });

+ 7 - 0
searx/static/themes/oscar/src/js/infobox.js

@@ -1,3 +1,10 @@
+/**
+ * @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
+ */
+
 window.addEventListener('load', function() {
     // Hide infobox toggle if shrunk size already fits all content.
     $('.infobox').each(function() {

+ 5 - 14
searx/static/themes/oscar/src/js/leaflet_map.js

@@ -1,22 +1,13 @@
 /**
- * searx is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * searx is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with searx. If not, see < http://www.gnu.org/licenses/ >.
- *
+ * @license
+ * (C) Copyright Contributors to the SearXNG project.
+ * (C) Copyright Contributors to the searx project (2014 - 2021).
  * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  */
 
 $(document).ready(function(){
-    $(".searx_init_map").on( "click", function( event ) {
+    $(".searxng_init_map").on( "click", function( event ) {
         var leaflet_target = $(this).data('leaflet-target');
         var map_lon = $(this).data('map-lon');
         var map_lat = $(this).data('map-lat');

+ 8 - 1
searx/static/themes/oscar/src/js/preferences.js

@@ -1,3 +1,10 @@
+/**
+ * @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
+ */
+
 $(document).ready(function(){
     let engine_descriptions = null;
     function load_engine_descriptions() {
@@ -7,7 +14,7 @@ $(document).ready(function(){
                 for (const [engine_name, description] of Object.entries(data)) {
                     let elements = $('[data-engine-name="' + engine_name + '"] .description');
                     for(const element of elements) {
-                        let source = ' (<i>' + searx.translations['Source'] + ':&nbsp;' + description[1] + '</i>)';
+                        let source = ' (<i>' + searxng.translations.Source + ':&nbsp;' + description[1] + '</i>)';
                         element.innerHTML = description[0] + source;
                     }
                 }

+ 7 - 0
searx/static/themes/oscar/src/js/toggleall.js

@@ -1,3 +1,10 @@
+/**
+ * @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
+ */
+
 $(document).ready(function(){
     $("#allow-all-engines").click(function() {
         $(".onoffswitch-checkbox").each(function() { this.checked = false;});

+ 1 - 1
searx/static/themes/oscar/src/less/logicodev-dark/oscar.less

@@ -170,7 +170,7 @@ p.btn.btn-default{
   background:#ad1f12 none !important;
 }
 
-.searx-navbar {
+.searxng-navbar {
     background: #333334;
     height: 2.3rem;
     font-size: 1.3rem;

+ 1 - 1
searx/static/themes/oscar/src/less/logicodev/navbar.less

@@ -1,4 +1,4 @@
-.searx-navbar {
+.searxng-navbar {
     background: @black;
     height: 2.3rem;
     font-size: 1.3rem;

+ 1 - 1
searx/static/themes/oscar/src/less/pointhi/navbar.less

@@ -1,4 +1,4 @@
-.searx-navbar {
+.searxng-navbar {
     background: #eee;
     color: #aaa;
     height: 2.3rem;

+ 4 - 4
searx/templates/oscar/base.html

@@ -3,9 +3,9 @@
 <html lang="{{ preferences.get_value('locale') }}" xml:lang="{{ preferences.get_value('locale') }}"{% if rtl %} dir="rtl"{% endif %} class="nojs">
 <head>
     <meta charset="UTF-8" />
-    <meta name="description" content="searx - a privacy-respecting, hackable metasearch engine" />
-    <meta name="keywords" content="searx, search, search engine, metasearch, meta search" />
-    <meta name="generator" content="searx/{{ searx_version }}">
+    <meta name="description" content="SearXNG - a privacy-respecting, hackable metasearch engine" />
+    <meta name="keywords" content="SearXNG, search, search engine, metasearch, meta search" />
+    <meta name="generator" content="SearXNG/{{ searx_version }}">
     <meta name="referrer" content="no-referrer">
     <meta name="viewport" content="width=device-width, initial-scale=1 , maximum-scale=2.0, user-scalable=1" />
     {% block meta %}{% endblock %}
@@ -97,7 +97,7 @@
     {% if load_leaflet %}{{"    "}}<script src="{{ url_for('static', filename='js/leaflet.js') }}"></script>{{ "\n" }}{% endif %}
     {% if autocomplete %}{{"    "}}<script src="{{ url_for('static', filename='js/typeahead.bundle.min.js') }}"></script>{{ "\n" }}{% endif %}
 
-    <script src="{{ url_for('static', filename='js/searx.min.js') }}"
+    <script src="{{ url_for('static', filename='js/searxng.min.js') }}"
             data-method="{{ method or 'POST' }}"
             data-autocompleter="{% if autocomplete %}true{% else %}false{% endif %}"
             data-translations="{{ translations }}"></script>

+ 2 - 2
searx/templates/oscar/index.html

@@ -4,10 +4,10 @@
     <div class="row">{{- "" -}}
         <div class="text-center col-sm-12 col-md-12">
             {%- if cookies['oscar-style'] == 'pointhi' -%}
-                <h1 class="text-hide center-block"><img class="center-block img-responsive" src="{{ url_for('static', filename='img/searx_logo.png') }}" alt="searx logo"/>searx</h1>
+                <h1 class="text-hide center-block"><img class="center-block img-responsive" src="{{ url_for('static', filename='img/searx_logo.png') }}" alt="searx logo"/>SearXNG</h1>
             {%- else -%}
                 <div class="text-hide center-block" id="main-logo">{{- "" -}}
-                    <img class="center-block img-responsive" src="{{ url_for('static', filename='img/logo_searx_a.png') }}" alt="searx logo" />searx{{- "" -}}
+                    <img class="center-block img-responsive" src="{{ url_for('static', filename='img/logo_searx_a.png') }}" alt="searx logo" />SearXNG{{- "" -}}
                 </div>
             {%- endif -%}
         </div>{{- "" -}}

+ 1 - 1
searx/templates/oscar/messages/first_time.html

@@ -4,5 +4,5 @@
         <span class="sr-only">{{ _('Close') }}</span>
     </button>
     <strong class="lead">{{ icon('info-sign') }} {{ _('Heads up!') }}</strong>
-    {{ _('It look like you are using searx first time.') }}
+    {{ _('It look like you are using SearXNG first time.') }}
 </div>

+ 1 - 1
searx/templates/oscar/messages/no_results.html

@@ -10,7 +10,7 @@
         </a> ){{- '' -}}
     </p>
     {%- endfor -%}
-    <p><small>{{ _('Please, try again later or find another searx instance.') }} (<a href="{{ get_setting('brand.public_instances') }}">{{ _('Public instances') }}</a>)</small></p>
+    <p><small>{{ _('Please, try again later or find another SearXNG instance.') }} (<a href="{{ get_setting('brand.public_instances') }}">{{ _('Public instances') }}</a>)</small></p>
 </div>
 {% else %}
 <div class="alert alert-info fade in" role="alert">

+ 1 - 1
searx/templates/oscar/navbar.html

@@ -1,4 +1,4 @@
-<div class="searx-navbar">{{- "" -}}
+<div class="searxng-navbar">{{- "" -}}
     <span class="instance {% if rtl %}pull-right{% else %}pull-left{% endif%}">{{- "" -}}
         <a href="{{ url_for('index') }}">{{ instance_name }}</a>{{- "" -}}
     </span>{{- "" -}}

+ 5 - 5
searx/templates/oscar/preferences.html

@@ -208,7 +208,7 @@
 
                         {% if 'theme' not in locked_preferences %}
                         {% set theme_label = _('Themes') %}
-                        {% set theme_info = _('Change searx layout') %}
+                        {% set theme_info = _('Change SearXNG layout') %}
                         {{ preferences_item_header(theme_info, theme_label, rtl, 'theme') }}
                             <select class="form-control {{ custom_select_class(rtl) }}" name="theme" id="theme">
                                 {% for name in themes %}
@@ -271,7 +271,7 @@
 
                         {% if 'image_proxy' not in locked_preferences %}
                         {% set image_proxy_label = _('Image proxy') %}
-                        {% set image_proxy_info = _('Proxying image results through searx') %}
+                        {% set image_proxy_info = _('Proxying image results through SearXNG') %}
                         {{ preferences_item_header(image_proxy_info, image_proxy_label, rtl, 'image_proxy') }}
                             <select class="form-control {{ custom_select_class(rtl) }}" name="image_proxy" id="image_proxy">
                                 <option value="1" {% if image_proxy  %}selected="selected"{% endif %}>{{ _('Enabled') }}</option>
@@ -397,7 +397,7 @@
                     </thead>
                     <tbody>
                         <td></td>
-                        <th scope="colgroup" colspan="4">{{ _('This is the list of searx\'s instant answering modules.') }}</th>
+                        <th scope="colgroup" colspan="4">{{ _('This is the list of SearXNG\'s instant answering modules.') }}</th>
                         {% for answerer in answerers %}
                         <tr>
                             <td></td>
@@ -431,8 +431,8 @@
                     <h3>{{ _('Cookies') }}</h3>
                 </noscript>
                 <p class="text-muted">
-                    {{ _('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 />
+                    {{ _('This is the list of cookies and their values SearXNG is storing on your computer.') }}<br />
+                    {{ _('With that list, you can assess SearXNG transparency.') }}<br />
                 </p>
                 {% if cookies %}
                 <table class="table table-striped">

+ 1 - 1
searx/templates/oscar/result_templates/map.html

@@ -56,7 +56,7 @@
 
         <p class="result-content">
             {%- if (result.latitude and result.longitude) or result.boundingbox -%}
-                <span><a class="text-info btn-collapse collapsed searx_init_map cursor-pointer disabled_if_nojs" data-toggle="collapse" data-target="#result-map-{{ index }}" data-leaflet-target="osm-map-{{ index }}" data-map-lon="{{ result.longitude }}" data-map-lat="{{ result.latitude }}" {% if result.boundingbox %}data-map-boundingbox='{{ result.boundingbox|tojson|safe }}'{% endif %} {% if result.geojson %}data-map-geojson='{{ result.geojson|tojson|safe }}'{% endif %} data-btn-text-collapsed="{{ _('show map') }}" data-btn-text-not-collapsed="{{ _('hide map') }}">{{ icon('globe') }} {{ _('show map') }}</a></span>
+                <span><a class="text-info btn-collapse collapsed searxng_init_map cursor-pointer disabled_if_nojs" data-toggle="collapse" data-target="#result-map-{{ index }}" data-leaflet-target="osm-map-{{ index }}" data-map-lon="{{ result.longitude }}" data-map-lat="{{ result.latitude }}" {% if result.boundingbox %}data-map-boundingbox='{{ result.boundingbox|tojson|safe }}'{% endif %} {% if result.geojson %}data-map-geojson='{{ result.geojson|tojson|safe }}'{% endif %} data-btn-text-collapsed="{{ _('show map') }}" data-btn-text-not-collapsed="{{ _('hide map') }}">{{ icon('globe') }} {{ _('show map') }}</a></span>
             {%- endif -%}
         </p>
 

+ 1 - 1
tests/unit/test_webapp.py

@@ -84,7 +84,7 @@ class ViewsTestCase(SearxTestCase):
         self.assertEqual(result.status_code, 200)
         self.assertIn(b'<div class="text-hide center-block" id="main-logo">'
                       + b'<img class="center-block img-responsive" src="/static/themes/oscar/img/logo_searx_a.png"'
-                      + b' alt="searx logo" />searx</div>', result.data)
+                      + b' alt="searx logo" />SearXNG</div>', result.data)
 
     def test_index_html_post(self):
         result = self.app.post('/', data={'q': 'test'})