diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 00000000..6b958464 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,6 @@ +Release type: minor + +* Support inline SVGs; don't treat titles in SVGs as HTML titles +* Add category to feeds (in addition to tags) +* Improve content metadata field docs +* Add docs for including other Markdown/reST files in content diff --git a/pelican/readers.py b/pelican/readers.py index 0edfed0e..52378c4f 100644 --- a/pelican/readers.py +++ b/pelican/readers.py @@ -407,7 +407,7 @@ class HTMLReader(BaseReader): if self._in_head: self._in_head = False self._in_top_level = True - elif tag == 'title': + elif self._in_head and tag == 'title': self._in_title = False self.metadata['title'] = self._data_buffer elif tag == 'body': diff --git a/pelican/tests/content/article_with_inline_svg.html b/pelican/tests/content/article_with_inline_svg.html new file mode 100644 index 00000000..07f97a8a --- /dev/null +++ b/pelican/tests/content/article_with_inline_svg.html @@ -0,0 +1,17 @@ + + + Article with an inline SVG + + + Ensure that the title attribute in an inline svg is not handled as an HTML title. + + + A different title inside the inline SVG + + + + + + + + diff --git a/pelican/tests/test_generators.py b/pelican/tests/test_generators.py index 2455d1f4..9ade301e 100644 --- a/pelican/tests/test_generators.py +++ b/pelican/tests/test_generators.py @@ -262,6 +262,7 @@ class TestArticlesGenerator(unittest.TestCase): ['This is a super article !', 'published', 'yeah', 'article'], ['This is a super article !', 'published', 'yeah', 'article'], ['This is a super article !', 'published', 'Default', 'article'], + ['Article with an inline SVG', 'published', 'Default', 'article'], ['This is an article with category !', 'published', 'yeah', 'article'], ['This is an article with multiple authors!', 'published', @@ -554,6 +555,7 @@ class TestArticlesGenerator(unittest.TestCase): 'An Article With Code Block To Test Typogrify Ignore', 'Article title', 'Article with Nonconformant HTML meta tags', + 'Article with an inline SVG', 'Article with markdown and summary metadata multi', 'Article with markdown and summary metadata single', 'Article with markdown containing footnotes', diff --git a/pelican/tests/test_readers.py b/pelican/tests/test_readers.py index 30181f54..3f05bb4a 100644 --- a/pelican/tests/test_readers.py +++ b/pelican/tests/test_readers.py @@ -764,3 +764,10 @@ class HTMLReaderTest(ReaderTest): } self.assertDictHasSubset(page.metadata, expected) + + def test_article_with_inline_svg(self): + page = self.read_file(path='article_with_inline_svg.html') + expected = { + 'title': 'Article with an inline SVG', + } + self.assertDictHasSubset(page.metadata, expected)