mirror of https://github.com/searxng/searxng.git
[interim fix] static files can't be delivered by HTTP.
Since PR 932 [1][2] static files can't be delivered by HTTP server any longer.
This patch makes the hash paramter in the URL of static files:
/static/themes/simple/css/searxng.min.css?5fde34a74bc438c7b56ec8c6501e131cc9914bd8
optional. By default the hash parameter is disabled.
HINT:
Instances that do not deliver static files by their HTTP server and have a
long expire time [3] should enable this option.
----
This is only a interim solution, on the long run:
make static.build.commit
creates files including the file name:
css/searxng-5fde34a74bc438c7b56ec8c6501e131cc9914bd8.min.css
and a mapping.json with this content[4]
[1] https://github.com/searxng/searxng/issues/964
[2] https://github.com/searxng/searxng/pull/932#issuecomment-1067039518
[3] 5583336440
[4] https://github.com/searxng/searxng/pull/932#issuecomment-1067216426
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
b25f118d64
commit
fd5fcdedce
|
@ -70,6 +70,7 @@ redis:
|
||||||
ui:
|
ui:
|
||||||
# Custom static path - leave it blank if you didn't change
|
# Custom static path - leave it blank if you didn't change
|
||||||
static_path: ""
|
static_path: ""
|
||||||
|
static_use_hash: false
|
||||||
# Custom templates path - leave it blank if you didn't change
|
# Custom templates path - leave it blank if you didn't change
|
||||||
templates_path: ""
|
templates_path: ""
|
||||||
# query_in_title: When true, the result page's titles contains the query
|
# query_in_title: When true, the result page's titles contains the query
|
||||||
|
|
|
@ -176,6 +176,7 @@ SCHEMA = {
|
||||||
},
|
},
|
||||||
'ui': {
|
'ui': {
|
||||||
'static_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'static')),
|
'static_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'static')),
|
||||||
|
'static_use_hash': SettingsValue(bool, False),
|
||||||
'templates_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'templates')),
|
'templates_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'templates')),
|
||||||
'default_theme': SettingsValue(str, 'simple'),
|
'default_theme': SettingsValue(str, 'simple'),
|
||||||
'default_locale': SettingsValue(str, ''),
|
'default_locale': SettingsValue(str, ''),
|
||||||
|
|
|
@ -350,9 +350,10 @@ def custom_url_for(endpoint: str, override_theme: Optional[str] = None, **values
|
||||||
if endpoint == 'static' and values.get('filename'):
|
if endpoint == 'static' and values.get('filename'):
|
||||||
theme_name = get_current_theme_name(override=override_theme)
|
theme_name = get_current_theme_name(override=override_theme)
|
||||||
filename_with_theme = "themes/{}/{}".format(theme_name, values['filename'])
|
filename_with_theme = "themes/{}/{}".format(theme_name, values['filename'])
|
||||||
|
values['filename'] = filename_with_theme
|
||||||
|
if get_setting('ui.static_use_hash', False):
|
||||||
file_hash = static_files.get(filename_with_theme)
|
file_hash = static_files.get(filename_with_theme)
|
||||||
if file_hash:
|
if file_hash:
|
||||||
values['filename'] = filename_with_theme
|
|
||||||
suffix = "?" + file_hash
|
suffix = "?" + file_hash
|
||||||
if endpoint == 'info' and 'locale' not in values:
|
if endpoint == 'info' and 'locale' not in values:
|
||||||
locale = request.preferences.get_value('locale')
|
locale = request.preferences.get_value('locale')
|
||||||
|
|
Loading…
Reference in New Issue