|
@@ -15,7 +15,6 @@ except ImportError:
|
|
|
|
|
|
class RmdReader(readers.BaseReader):
|
|
class RmdReader(readers.BaseReader):
|
|
enabled = rmd
|
|
enabled = rmd
|
|
-
|
|
|
|
file_extensions = ['Rmd', 'rmd']
|
|
file_extensions = ['Rmd', 'rmd']
|
|
|
|
|
|
# You need to have a read method, which takes a filename and returns
|
|
# You need to have a read method, which takes a filename and returns
|
|
@@ -31,17 +30,9 @@ require(knitr);
|
|
opts_knit$set(base.dir='{2}/content');
|
|
opts_knit$set(base.dir='{2}/content');
|
|
knit('{0}', '{1}', quiet=TRUE, encoding='UTF-8');
|
|
knit('{0}', '{1}', quiet=TRUE, encoding='UTF-8');
|
|
""".format(filename, md_filename, settings.DEFAULT_CONFIG.get('PATH')))
|
|
""".format(filename, md_filename, settings.DEFAULT_CONFIG.get('PATH')))
|
|
- # parse md file
|
|
|
|
- md = Markdown(extensions = ['meta', 'codehilite(css_class=highlight)', 'extra'])
|
|
|
|
- with pelican_open(md_filename) as text:
|
|
|
|
- content = md.convert(text)
|
|
|
|
|
|
+ md_reader = readers.MarkdownReader(self.settings)
|
|
|
|
+ content, metadata = md_reader.read(md_filename)
|
|
os.remove(md_filename)
|
|
os.remove(md_filename)
|
|
- # find metadata
|
|
|
|
- metadata = {}
|
|
|
|
- for name, value in md.Meta.items():
|
|
|
|
- name = name.lower()
|
|
|
|
- meta = self.process_metadata(name, value[0])
|
|
|
|
- metadata[name] = meta
|
|
|
|
return content, metadata
|
|
return content, metadata
|
|
|
|
|
|
def add_reader(readers):
|
|
def add_reader(readers):
|