forked from github/pelican
Merge pull request #864 from saimn/docutils_options
Add `DOCUTILS_SETTINGS` to allow to customize the docutils Publisher.
This commit is contained in:
commit
86d4aac918
2 changed files with 12 additions and 4 deletions
|
|
@ -102,6 +102,9 @@ class RstReader(Reader):
|
|||
enabled = bool(docutils)
|
||||
file_extensions = ['rst']
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(RstReader, self).__init__(*args, **kwargs)
|
||||
|
||||
def _parse_metadata(self, document):
|
||||
"""Return the dict containing document metadata"""
|
||||
output = {}
|
||||
|
|
@ -126,6 +129,10 @@ class RstReader(Reader):
|
|||
extra_params = {'initial_header_level': '2',
|
||||
'syntax_highlight': 'short',
|
||||
'input_encoding': 'utf-8'}
|
||||
user_params = self.settings.get('DOCUTILS_SETTINGS')
|
||||
if user_params:
|
||||
extra_params.update(user_params)
|
||||
|
||||
pub = docutils.core.Publisher(
|
||||
destination_class=docutils.io.StringOutput)
|
||||
pub.set_components('standalone', 'restructuredtext', 'html')
|
||||
|
|
@ -335,6 +342,9 @@ def read_file(path, fmt=None, settings=None):
|
|||
if fmt not in EXTENSIONS:
|
||||
raise TypeError('Pelican does not know how to parse {}'.format(path))
|
||||
|
||||
if settings is None:
|
||||
settings = {}
|
||||
|
||||
reader = EXTENSIONS[fmt](settings)
|
||||
settings_key = '%s_EXTENSIONS' % fmt.upper()
|
||||
|
||||
|
|
|
|||
|
|
@ -37,8 +37,7 @@ class RstReaderTest(unittest.TestCase):
|
|||
|
||||
def test_article_with_filename_metadata(self):
|
||||
content, metadata = readers.read_file(
|
||||
_path('2012-11-29_rst_w_filename_meta#foo-bar.rst'),
|
||||
settings={})
|
||||
_path('2012-11-29_rst_w_filename_meta#foo-bar.rst'))
|
||||
expected = {
|
||||
'category': 'yeah',
|
||||
'author': 'Alexis Métaireau',
|
||||
|
|
@ -204,8 +203,7 @@ class MdReaderTest(unittest.TestCase):
|
|||
@unittest.skipUnless(readers.Markdown, "markdown isn't installed")
|
||||
def test_article_with_filename_metadata(self):
|
||||
content, metadata = readers.read_file(
|
||||
_path('2012-11-30_md_w_filename_meta#foo-bar.md'),
|
||||
settings={})
|
||||
_path('2012-11-30_md_w_filename_meta#foo-bar.md'))
|
||||
expected = {
|
||||
'category': 'yeah',
|
||||
'author': 'Alexis Métaireau',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue