mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Remove trailing slash from SITEURL if present
This commit is contained in:
parent
0ed6cf7743
commit
65b93dbfd4
3 changed files with 19 additions and 7 deletions
|
|
@ -65,10 +65,11 @@ Setting name (default value) What does it do?
|
||||||
`SITEURL` Base URL of your website. Not defined by default,
|
`SITEURL` Base URL of your website. Not defined by default,
|
||||||
which means the base URL is assumed to be "/" with a
|
which means the base URL is assumed to be "/" with a
|
||||||
root-relative URL structure. If `SITEURL` is specified
|
root-relative URL structure. If `SITEURL` is specified
|
||||||
explicitly, URLs will be generated with an absolute
|
explicitly, there should be no trailing slash at the end,
|
||||||
URL structure (including the domain). If you want to
|
and URLs will be generated with an absolute URL structure
|
||||||
use relative URLs instead of root-relative or absolute
|
(including the domain). If you want to use relative URLs
|
||||||
URLs, you should instead use the `RELATIVE_URL` setting.
|
instead of root-relative or absolute URLs, you should
|
||||||
|
instead use the `RELATIVE_URL` setting.
|
||||||
`STATIC_PATHS` (``['images']``) The static paths you want to have accessible
|
`STATIC_PATHS` (``['images']``) The static paths you want to have accessible
|
||||||
on the output path "static". By default,
|
on the output path "static". By default,
|
||||||
Pelican will copy the 'images' folder to the
|
Pelican will copy the 'images' folder to the
|
||||||
|
|
|
||||||
|
|
@ -128,9 +128,15 @@ def configure_settings(settings, default_settings=None, filename=None):
|
||||||
else:
|
else:
|
||||||
logger.warn("LOCALE option doesn't contain a correct value")
|
logger.warn("LOCALE option doesn't contain a correct value")
|
||||||
|
|
||||||
# If SITEURL is defined but FEED_DOMAIN isn't, set FEED_DOMAIN = SITEURL
|
if ('SITEURL' in settings):
|
||||||
if ('SITEURL' in settings) and (not 'FEED_DOMAIN' in settings):
|
# If SITEURL has a trailing slash, remove it and provide a warning
|
||||||
settings['FEED_DOMAIN'] = settings['SITEURL']
|
siteurl = settings['SITEURL']
|
||||||
|
if (siteurl[len(siteurl) - 1:] == '/'):
|
||||||
|
settings['SITEURL'] = siteurl[:-1]
|
||||||
|
logger.warn("Removed extraneous trailing slash from SITEURL.")
|
||||||
|
# If SITEURL is defined but FEED_DOMAIN isn't, set FEED_DOMAIN = SITEURL
|
||||||
|
if not 'FEED_DOMAIN' in settings:
|
||||||
|
settings['FEED_DOMAIN'] = settings['SITEURL']
|
||||||
|
|
||||||
# Warn if feeds are generated with both SITEURL & FEED_DOMAIN undefined
|
# Warn if feeds are generated with both SITEURL & FEED_DOMAIN undefined
|
||||||
if (('FEED' in settings) or ('FEED_RSS' in settings)) and (not 'FEED_DOMAIN' in settings):
|
if (('FEED' in settings) or ('FEED_RSS' in settings)) and (not 'FEED_DOMAIN' in settings):
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,11 @@ class TestSettingsConfiguration(unittest.TestCase):
|
||||||
def test_configure_settings(self):
|
def test_configure_settings(self):
|
||||||
"""Manipulations to settings should be applied correctly."""
|
"""Manipulations to settings should be applied correctly."""
|
||||||
|
|
||||||
|
# SITEURL should not have a trailing slash
|
||||||
|
settings = {'SITEURL': 'http://blog.notmyidea.org/', 'LOCALE': ''}
|
||||||
|
configure_settings(settings)
|
||||||
|
self.assertEqual(settings['SITEURL'], 'http://blog.notmyidea.org')
|
||||||
|
|
||||||
# FEED_DOMAIN, if undefined, should default to SITEURL
|
# FEED_DOMAIN, if undefined, should default to SITEURL
|
||||||
settings = {'SITEURL': 'http://blog.notmyidea.org', 'LOCALE': ''}
|
settings = {'SITEURL': 'http://blog.notmyidea.org', 'LOCALE': ''}
|
||||||
configure_settings(settings)
|
configure_settings(settings)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue