From aa9c5e112777180d4ee9732a2ec6e461b9099623 Mon Sep 17 00:00:00 2001 From: Dmitry Ilvokhin Date: Sat, 28 Jan 2023 14:26:03 +0000 Subject: Implement logic for drafts Current logic is drafts are published, but do not listed on the feed page. --- blog/feed.py | 6 +++++- blog/post.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'blog') diff --git a/blog/feed.py b/blog/feed.py index d8ffc8c..a63ee77 100644 --- a/blog/feed.py +++ b/blog/feed.py @@ -6,7 +6,11 @@ import render class Feed(object): def __init__(self, template, posts): self.template = template - self.posts = posts + self.posts = Feed._remove_drafts(posts) + + @staticmethod + def _remove_drafts(posts): + return list(filter(lambda x: x.metadata.status != "draft", posts)) def generate(self, basedir): index = os.path.join(basedir, "index.html") diff --git a/blog/post.py b/blog/post.py index ebf2e4c..54440ff 100644 --- a/blog/post.py +++ b/blog/post.py @@ -63,6 +63,7 @@ class Post(object): content = render.to_html(md) rendered = self.template.render(title=self.metadata.title, date=self.metadata.date, + status=self.metadata.status, content=content) render.write_file_content(os.path.join(workdir, "index.html"), rendered) -- cgit v1.2.3-70-g09d2