summaryrefslogtreecommitdiff
path: root/blog/feed.py
blob: 381aab626fbf37189f4bb63d71e1079a1cf20336 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
import datetime
from typing import List

from jinja2 import Template

import render
from post import Post, remove_drafts


class Feed(object):
    template: Template
    posts: List[Post]

    def __init__(self, template: Template, posts: List[Post]) -> None:
        self.template = template
        self.posts = remove_drafts(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)