forked from github/pelican
Lowercase metadata field name when comparing with FORMATTED_FIELDS in rST reader
This commit is contained in:
parent
177f8a8a0c
commit
c7cb9a7587
4 changed files with 37 additions and 1 deletions
|
|
@ -227,7 +227,7 @@ class RstReader(BaseReader):
|
|||
if element.tagname == 'field': # custom fields (e.g. summary)
|
||||
name_elem, body_elem = element.children
|
||||
name = name_elem.astext()
|
||||
if name in formatted_fields:
|
||||
if name.lower() in formatted_fields:
|
||||
value = render_node_to_html(
|
||||
document, body_elem,
|
||||
self.field_body_translator_class)
|
||||
|
|
|
|||
16
pelican/tests/content/article_with_capitalized_metadata.rst
vendored
Normal file
16
pelican/tests/content/article_with_capitalized_metadata.rst
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
This is a super article !
|
||||
#########################
|
||||
|
||||
:TAGS: foo, bar, foobar
|
||||
:DATE: 2010-12-02 10:14
|
||||
:MODIFIED: 2010-12-02 10:20
|
||||
:CATEGORY: yeah
|
||||
:AUTHOR: Alexis Métaireau
|
||||
:SUMMARY:
|
||||
Multi-line metadata should be supported
|
||||
as well as **inline markup** and stuff to "typogrify"...
|
||||
:CUSTOM_FIELD: http://notmyidea.org
|
||||
:CUSTOM_FORMATTED_FIELD:
|
||||
Multi-line metadata should also be supported
|
||||
as well as *inline markup* and stuff to "typogrify"...
|
||||
|
|
@ -260,6 +260,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', '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',
|
||||
|
|
@ -576,6 +577,7 @@ class TestArticlesGenerator(unittest.TestCase):
|
|||
'This is a super article !',
|
||||
'This is a super article !',
|
||||
'This is a super article !',
|
||||
'This is a super article !',
|
||||
'This is an article with category !',
|
||||
('This is an article with multiple authors in lastname, '
|
||||
'firstname format!'),
|
||||
|
|
|
|||
|
|
@ -155,6 +155,24 @@ class RstReaderTest(ReaderTest):
|
|||
|
||||
self.assertDictHasSubset(page.metadata, expected)
|
||||
|
||||
def test_article_with_capitalized_metadata(self):
|
||||
page = self.read_file(path='article_with_capitalized_metadata.rst')
|
||||
expected = {
|
||||
'category': 'yeah',
|
||||
'author': 'Alexis Métaireau',
|
||||
'title': 'This is a super article !',
|
||||
'summary': '<p class="first last">Multi-line metadata should be'
|
||||
' supported\nas well as <strong>inline'
|
||||
' markup</strong> and stuff to "typogrify'
|
||||
'"...</p>\n',
|
||||
'date': SafeDatetime(2010, 12, 2, 10, 14),
|
||||
'modified': SafeDatetime(2010, 12, 2, 10, 20),
|
||||
'tags': ['foo', 'bar', 'foobar'],
|
||||
'custom_field': 'http://notmyidea.org',
|
||||
}
|
||||
|
||||
self.assertDictHasSubset(page.metadata, expected)
|
||||
|
||||
def test_article_with_filename_metadata(self):
|
||||
page = self.read_file(
|
||||
path='2012-11-29_rst_w_filename_meta#foo-bar.rst',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue