summaryrefslogtreecommitdiff
path: root/blog
diff options
context:
space:
mode:
authorDmitry Ilvokhin <d@ilvokhin.com>2023-01-28 14:26:03 +0000
committerDmitry Ilvokhin <d@ilvokhin.com>2023-01-28 14:26:03 +0000
commitaa9c5e112777180d4ee9732a2ec6e461b9099623 (patch)
tree0b47acf064004e0ae7454bc3638f59397b197426 /blog
parent0ede0dc1b05a43460785bd08dbe580b4642781aa (diff)
downloadblog-aa9c5e112777180d4ee9732a2ec6e461b9099623.tar.gz
blog-aa9c5e112777180d4ee9732a2ec6e461b9099623.tar.bz2
blog-aa9c5e112777180d4ee9732a2ec6e461b9099623.zip
Implement logic for drafts
Current logic is drafts are published, but do not listed on the feed page.
Diffstat (limited to 'blog')
-rw-r--r--blog/feed.py6
-rw-r--r--blog/post.py1
2 files changed, 6 insertions, 1 deletions
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)