mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Make HTMLReader parse multiple occurences of metadata tags as list
this means you can now specify: <meta name="custom_field" content="value_1" /> <meta name="custom_field" content="value_2" /> and the resulting object.custom_field will be ['value_1', 'value_2']
This commit is contained in:
parent
34103cd5dd
commit
f62217f38e
5 changed files with 33 additions and 1 deletions
11
pelican/tests/content/article_with_multiple_metadata_tags.html
vendored
Normal file
11
pelican/tests/content/article_with_multiple_metadata_tags.html
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Metadata tags as list!</title>
|
||||
<meta name="custom_field" content="http://notmyidea.org" />
|
||||
<meta name="custom_field" content="http://mrsenko.com" />
|
||||
</head>
|
||||
<body>
|
||||
When custom metadata tags are specified more than once
|
||||
they are collected into a list!
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -173,6 +173,7 @@ class TestArticlesGenerator(unittest.TestCase):
|
|||
['Article with markdown containing footnotes', 'published',
|
||||
'Default', 'article'],
|
||||
['Article with template', 'published', 'Default', 'custom'],
|
||||
['Metadata tags as list!', 'published', 'Default', 'article'],
|
||||
['Rst with filename metadata', 'published', 'yeah', 'article'],
|
||||
['Test Markdown extensions', 'published', 'Default', 'article'],
|
||||
['Test markdown File', 'published', 'test', 'article'],
|
||||
|
|
@ -452,6 +453,7 @@ class TestArticlesGenerator(unittest.TestCase):
|
|||
'Article with markdown and summary metadata single',
|
||||
'Article with markdown containing footnotes',
|
||||
'Article with template',
|
||||
'Metadata tags as list!',
|
||||
'Rst with filename metadata',
|
||||
'Test Markdown extensions',
|
||||
'Test markdown File',
|
||||
|
|
|
|||
|
|
@ -657,6 +657,14 @@ class HTMLReaderTest(ReaderTest):
|
|||
|
||||
self.assertDictHasSubset(page.metadata, expected)
|
||||
|
||||
def test_article_with_multiple_similar_metadata_tags(self):
|
||||
page = self.read_file(path='article_with_multiple_metadata_tags.html')
|
||||
expected = {
|
||||
'custom_field': ['http://notmyidea.org', 'http://mrsenko.com'],
|
||||
}
|
||||
|
||||
self.assertDictHasSubset(page.metadata, expected)
|
||||
|
||||
def test_article_with_multiple_authors(self):
|
||||
page = self.read_file(path='article_with_multiple_authors.html')
|
||||
expected = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue