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.
This commit is contained in:
Alexandre Flament 2022-07-02 11:29:21 +02:00
parent da416511b5
commit f8f239fe1f
5 changed files with 23 additions and 9 deletions

View File

@ -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)

View File

@ -1,9 +1,17 @@
general: general:
debug: false # Debug mode, only for development # Debug mode, only for development
instance_name: "SearXNG" # displayed name debug: false
privacypolicy_url: false # https://example.com/privacy # displayed name
contact_url: false # mailto:contact@example.com instance_name: "SearXNG"
enable_metrics: true # record stats # 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

View File

@ -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': {

View File

@ -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>

View File

@ -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