Browse Source

Merge pull request #1404 from dalf/donation_use_external_link

Donation link: default value to searxng.org, can be hidden or custom
Markus Heiser 2 years ago
parent
commit
4ef6263725

+ 12 - 4
docs/admin/engines/settings.rst

@@ -70,15 +70,23 @@ Global Settings
 .. code:: yaml
 
    general:
-     debug: false               # Debug mode, only for development
-     instance_name:  "SearXNG"  # displayed name
-     privacypolicy_url: false   # https://example.com/privacy
-     contact_url: false         # mailto:contact@example.com
+     debug: false
+     instance_name:  "SearXNG"
+     privacypolicy_url: false
+     donation_url: https://docs.searxng.org/donate.html
+     contact_url: false
+     enable_metrics: true
 
 ``debug`` : ``$SEARXNG_DEBUG``
   Allow a more detailed log if you run SearXNG directly. Display *detailed* error
   messages in the browser too, so this must be deactivated in production.
 
+``donation_url`` :
+  At default the donation link points to the `SearXNG project
+  <https://docs.searxng.org/donate.html>`_.  Set value to ``true`` to use your
+  own donation page written in the :ref:`searx/info/en/donate.md
+  <searx.infopage>` and use ``false`` to disable the donation link altogether.
+
 ``privacypolicy_url``:
   Link to privacy policy.
 

+ 0 - 3
searx/infopage/en/donate.md

@@ -1,3 +0,0 @@
-# Donate to searxng.org
-
-You can support the SearXNG project by clicking on the donation page: [https://docs.searxng.org/donate.html](https://docs.searxng.org/donate.html)

+ 13 - 5
searx/settings.yml

@@ -1,9 +1,17 @@
 general:
-  debug: false              # Debug mode, only for development
-  instance_name: "SearXNG"  # displayed name
-  privacypolicy_url: false  # https://example.com/privacy
-  contact_url: false        # mailto:contact@example.com
-  enable_metrics: true      # record stats
+  # Debug mode, only for development
+  debug: false
+  # displayed name
+  instance_name: "SearXNG"
+  # For example: https://example.com/privacy
+  privacypolicy_url: false
+  # use true to use your own donation page written in searx/info/en/donate.md
+  # use false to disable the donation link
+  donation_url: https://docs.searxng.org/donate.html
+  # mailto:contact@example.com
+  contact_url: false
+  # record stats
+  enable_metrics: true
 
 brand:
   new_issue_url: https://github.com/searxng/searxng/issues/new

+ 1 - 0
searx/settings_defaults.py

@@ -142,6 +142,7 @@ SCHEMA = {
         'instance_name': SettingsValue(str, 'SearXNG'),
         'privacypolicy_url': SettingsValue((None, False, str), None),
         'contact_url': SettingsValue((None, False, str), None),
+        'donation_url': SettingsValue((bool, str), "https://docs.searxng.org/donate.html"),
         'enable_metrics': SettingsValue(bool, True),
     },
     'brand': {

+ 3 - 1
searx/templates/simple/base.html

@@ -46,7 +46,9 @@
         <a href="{{ url_for('info', pagename='about') }}" class="link_on_top_about">{{ icon_big('information-circle-outline') }}<span>{{ _('About') }}</span></a>
       {%- endblock -%}
       {%- block linkto_donate -%}
-        <a href="{{ url_for('info', pagename='donate') }}" class="link_on_top_donate">{{ icon_big('heart-outline') }}<span>{{ _('Donate') }}</span></a>
+        {%- if donation_url -%}
+        <a href="{{ donation_url }}" class="link_on_top_donate">{{ icon_big('heart-outline') }}<span>{{ _('Donate') }}</span></a>
+        {%- endif -%}
       {%- endblock -%}
       {%- block linkto_preferences -%}
         <a href="{{ url_for('preferences') }}" class="link_on_top_preferences">{{ icon_big('menu-outline') }}<span>{{ _('Preferences') }}</span></a>

+ 6 - 0
searx/webapp.py

@@ -453,6 +453,12 @@ def render(template_name: str, **kwargs):
     kwargs['get_setting'] = get_setting
     kwargs['get_pretty_url'] = get_pretty_url
 
+    # values from settings: donation_url
+    donation_url = get_setting('general.donation_url')
+    if donation_url is True:
+        donation_url = custom_url_for('info', pagename='donate')
+    kwargs['donation_url'] = donation_url
+
     # helpers to create links to other pages
     kwargs['url_for'] = custom_url_for  # override url_for function in templates
     kwargs['image_proxify'] = image_proxify