I just pushed out a new release of premailer which comes with a pretty big change.
What it means is that the way the base_url
and any href=
or src=
gets combined. For example, you used to be able to set Premailer(html, base_url='http://example.com/subfolder')
and combined with <img src="/images/foo.png">
it would become <img src="http://example.com/subfolder/images/foo.png">
.
Not any more. The joining works exactly like the Python built-in urljoin()
works. E.g.
>>> from urllib.parse import urljoin # python 3
>>> urljoin('https://example.com', '/image.png')
'https://example.com/image.png'
>>> urljoin('https://example.com/subfolder', '/image.png')
'https://example.com/image.png'
>>> urljoin('https://example.com/subfolder/', '/image.png')
'https://example.com/image.png'
>>> urljoin('https://example.com/subfolder/', '//image.png')
'https://image.png'
>>> urljoin('https://example.com/subfolder/', '//mycdn.com/image.png')
'https://mycdn.com/image.png'
>>> urljoin('http://example.com/subfolder/', '//mycdn.com/image.png')
'http://mycdn.com/image.png'
>>> urljoin('https://example.com/subfolder', 'image.png')
'https://example.com/image.png'
>>> urljoin('https://example.com/subfolder/', 'image.png')
'https://example.com/subfolder/image.png'
So basically, if you think you tried to do something odd with your base_url
check it over carefully when you upgrade to version 2.9.0.
Thank you @ewjoachim and @graingert for your help!
Comments