in pelican/plugins/asfreader.py [0:0]
def read(self, source_path):
"Read metadata and content, process content as ezt template, then render into HTML."
try:
# read content with embedded ezt - use GFMReader
text, metadata = super().read_source(source_path)
assert text
assert metadata
# supplement metadata with ASFData if available
text, metadata = self.add_data(text, metadata)
# prepare text as an ezt template
# compress_whitespace=0 is required as blank lines and indentation have meaning in markdown.
template = ezt.Template(compress_whitespace=0)
assert template
reader = ASFTemplateReader(source_path, text)
template.parse(reader, base_format=ezt.FORMAT_HTML)
# generate content from ezt template with metadata
fp = io.StringIO()
template.generate(fp, metadata)
# Render the markdown into HTML
content = super().render(fp.getvalue().encode('utf-8')).decode('utf-8')
assert content
except Exception:
print('-----', file=sys.stderr)
print('ERROR: %s' % (source_path), file=sys.stderr)
traceback.print_exc()
raise
return content, metadata