Browse Source

[enh] new plugin to open results on new browser tabs

Adam Tauber 9 years ago
parent
commit
ab6a7601cb

+ 2 - 0
searx/plugins/__init__.py

@@ -20,6 +20,7 @@ from searx import logger
 logger = logger.getChild('plugins')
 
 from searx.plugins import (https_rewrite,
+                           open_results_on_new_tab,
                            self_info,
                            search_on_category_select,
                            tracker_url_remover)
@@ -72,6 +73,7 @@ class PluginStore():
 
 plugins = PluginStore()
 plugins.register(https_rewrite)
+plugins.register(open_results_on_new_tab)
 plugins.register(self_info)
 plugins.register(search_on_category_select)
 plugins.register(tracker_url_remover)

+ 24 - 0
searx/plugins/open_results_on_new_tab.py

@@ -0,0 +1,24 @@
+'''
+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) 2016 by Adam Tauber, <asciimoo@gmail.com>
+'''
+from flask.ext.babel import gettext
+name = gettext('Open result links on new browser tabs')
+description = gettext('Results are opened in the same window by default. '
+                      'This plugin overwrites the default behaviour to open links on new tabs/windows. '
+                      '(JavaScript required)')
+default_on = False
+
+js_dependencies = ('plugins/js/open_results_on_new_tab.js',)

+ 3 - 0
searx/static/plugins/js/open_results_on_new_tab.js

@@ -0,0 +1,3 @@
+$(document).ready(function() {
+    $('.result_header > a').attr('target', '_blank');
+});