hkayabilisim's picture
Added support for reading GEM XML format
0b69fd8
raw
history blame contribute delete
950 Bytes
import dataclasses
from pathlib import Path
from typing import Any, Dict
import solara
import yaml
HERE = Path(__file__)
@dataclasses.dataclass
class Article:
markdown: str
title: str
description: str
image_url: str
articles: Dict[str, Article] = {}
for file in (HERE.parent / "content/articles").glob("*.md"):
content = file.read_text()
lines = [k.strip() for k in content.split("\n")]
frontmatter_start = lines.index("---", 0)
frontmatter_end = lines.index("---", frontmatter_start + 1)
yamltext = "\n".join(lines[frontmatter_start + 1 : frontmatter_end - 2])
metadata = yaml.safe_load(yamltext)
markdown = "\n".join(lines[frontmatter_end + 1 :])
articles[file.stem] = Article(markdown=markdown,
title=metadata["title"],
description=metadata["description"],
image_url=metadata["image"])