Browse Source

Donation link: default value to searxng.org, can be hidden or custom

Add a new setting: general.donation_url

By default the value is https://docs.searxng.org/donate.html

When the value is false, the link is hidden

When the value is true, the link goes to the infopage donation,
the administrator can create a custom page.
Alexandre Flament 2 years ago
parent
commit
f8f239fe1f

+ 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:
 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:
 brand:
   new_issue_url: https://github.com/searxng/searxng/issues/new
   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'),
         'instance_name': SettingsValue(str, 'SearXNG'),
         'privacypolicy_url': SettingsValue((None, False, str), None),
         'privacypolicy_url': SettingsValue((None, False, str), None),
         'contact_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),
         'enable_metrics': SettingsValue(bool, True),
     },
     },
     'brand': {
     '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>
         <a href="{{ url_for('info', pagename='about') }}" class="link_on_top_about">{{ icon_big('information-circle-outline') }}<span>{{ _('About') }}</span></a>
       {%- endblock -%}
       {%- endblock -%}
       {%- block linkto_donate -%}
       {%- 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 -%}
       {%- endblock -%}
       {%- block linkto_preferences -%}
       {%- block linkto_preferences -%}
         <a href="{{ url_for('preferences') }}" class="link_on_top_preferences">{{ icon_big('menu-outline') }}<span>{{ _('Preferences') }}</span></a>
         <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_setting'] = get_setting
     kwargs['get_pretty_url'] = get_pretty_url
     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
     # helpers to create links to other pages
     kwargs['url_for'] = custom_url_for  # override url_for function in templates
     kwargs['url_for'] = custom_url_for  # override url_for function in templates
     kwargs['image_proxify'] = image_proxify
     kwargs['image_proxify'] = image_proxify