diff --git a/__init__.py b/__init__.py index 296ef82..f1bb03d 100644 --- a/__init__.py +++ b/__init__.py @@ -3,6 +3,7 @@ import pathlib import os current_dir = pathlib.Path(__file__).parent +extensions = ['meta', 'nl2br'] with (current_dir / "base_feed.xml").open("r") as f: base_feed = f.read() @@ -16,18 +17,23 @@ def convert_case(string: str): return string +def convert_markdown_to_html(article_path: pathlib.Path): + with (article_path / "article.md").open("r") as f: + markdown_data = f.read() + + markdown_instance = markdown.Markdown(extensions=extensions) + html = markdown_instance.convert(markdown_data) + metadata = markdown_instance.Meta + return html, metadata + def article_to_xml(article_path: pathlib.Path): try: - with (article_path / "article.md").open("r") as f: - markdown_data = f.read() + html, metadata = convert_markdown_to_html(article_path) except Exception as e: print(e) return "" - markdown_instance = markdown.Markdown(extensions=['meta', 'nl2br']) - html = markdown_instance.convert(markdown_data) - metadata = markdown_instance.Meta tags = [f"<{convert_case(key)}>{metadata[key][0]}" for key in metadata.keys()] tags.append(f"\n{html}\n") return base_item.format(tags="\n".join(tags))