blob: 3e5b2e0636bbee6b60f6d638ad7ec01e0370f574 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import os
from typing import List
from jinja2 import Template
import render
from post import Post
class Feed(object):
template: Template
posts: List[Post]
def __init__(self, template: Template, posts: List[Post]) -> None:
self.template = template
self.posts = Feed._remove_drafts(posts)
@staticmethod
def _remove_drafts(posts: List[Post]) -> List[Post]:
return list(filter(lambda x: x.metadata.status != "draft", posts))
def generate(self, basedir: str) -> None:
index = os.path.join(basedir, "index.html")
rendered = self.template.render(posts=self.posts)
render.write_file_content(index, rendered)
|