Default glob plugin
render function
render source
def render(markata: "MarkataRss") -> None: fg = FeedGenerator() url = markata.get_config("url") or "" title = markata.get_config("title") or "rss_feed" name = markata.get_config("author_name") or "" email = markata.get_config("author_email") or "" icon = markata.get_config("icon") or "" lang = markata.get_config("lang") or "" rss_description = markata.get_config("rss_description") or "rss_feed" fg.id(url + "/rss.xml") fg.title(title) fg.author( { "name": name, "email": email, } ) fg.link(href=url, rel="alternate") fg.logo(icon) fg.subtitle(rss_description) fg.link(href=url + "/rss.xml", rel="self") fg.language(lang) try: all_posts = reversed(sorted(markata.articles, key=lambda x: x["date"])) posts = [post for post in all_posts if post["published"] == "True"] except BaseException: posts = markata.articles for article in posts: fe = fg.add_entry() fe.id(url + "/" + article["slug"]) fe.title(article.metadata["title"]) fe.published(article.metadata["datetime"]) fe.description(article.metadata["description"]) fe.summary(article.metadata["long_description"]) fe.link(href=url + "/" + article["slug"]) fe.content(article.article_html.translate(dict.fromkeys(range(32)))) markata.fg = fg markata.rss = fg.rss_str(pretty=True)
save function
save source
def save(markata: "MarkataRss") -> None: output_dir = Path(markata.config["output_dir"]) markata.fg.rss_file(str(output_dir / "rss.xml"))
MarkataRss class
MarkataRss source
class MarkataRss(Markata): fg: "FeedGenerator" rss: str