Skip to content

Commit

Permalink
Pass the template to the list page builder.
Browse files Browse the repository at this point in the history
  • Loading branch information
mblayman committed Jul 9, 2015
1 parent f74d09d commit 2826def
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
6 changes: 5 additions & 1 deletion handroll/extensions/blog.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,8 @@ def _generate_atom_feed(self, director, blog_posts):

def _generate_list_page(self, director, blog_posts):
"""Generate the list page."""
builder = ListPageBuilder()
template = director.catalog.get_template(self.list_template)
builder = ListPageBuilder(template)
builder.add(blog_posts)
output_file = os.path.join(director.outdir, self.list_output)
builder.write_to(output_file)
Expand Down Expand Up @@ -167,6 +168,9 @@ def _generate_output(self):
class ListPageBuilder(BlogBuilder):
"""Transform blog posts into a list page."""

def __init__(self, template):
self._template = template

def add(self, posts):
"""Add the posts and generate a blog list."""
# TODO: Generate the HTML.
Expand Down
7 changes: 5 additions & 2 deletions handroll/tests/test_extensions.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@ def _make_preprocessed_one(self, director=None, exclude=None):
self._add_blog_section(director.config.parser, exclude=exclude)
extension = BlogExtension(director.config)
extension.on_pre_composition(director)
templates = os.path.join(director.site.path, 'templates')
os.mkdir(templates)
open(os.path.join(templates, 'archive.j2'), 'w').close()
return extension

def _make_blog_post_frontmatter(self):
Expand Down Expand Up @@ -297,10 +300,10 @@ def test_posts_added_to_builder_by_date(self, builder_add):
older = self.factory.make_blog_post()
older.source_file = 'older.md'
older.date = older.date - datetime.timedelta(days=-1)
extension = self._make_preprocessed_one()
director = self.factory.make_director()
extension = self._make_preprocessed_one(director=director)
extension.posts['current.md'] = current
extension.posts['older.md'] = older
director = self.factory.make_director()
os.mkdir(director.outdir)
extension.on_post_composition(director)
posts = builder_add.call_args[0][0]
Expand Down

0 comments on commit 2826def

Please sign in to comment.