1 # Write all the blog posts in reverse chronological order
3 from blogofile.cache import bf
5 blog = bf.config.controllers.blog
9 write_blog_chron(posts=blog.posts, root=blog.pagination_dir.lstrip("/"))
10 write_blog_first_page()
13 def write_blog_chron(posts, root):
17 while len(posts) > post_num:
18 #Write the pages, num_per_page posts per page:
19 page_posts = posts[post_num:post_num + blog.posts_per_page]
20 post_num += blog.posts_per_page
22 prev_link = "../" + str(page_num - 1)
25 if len(posts) > post_num:
26 next_link = "../" + str(page_num + 1)
29 page_dir = bf.util.path_join(blog.path, root, str(page_num))
30 fn = bf.util.path_join(page_dir, "index.html")
33 "next_link": next_link,
34 "prev_link": prev_link
36 bf.writer.materialize_template("chronological.mako", fn, env)
40 def write_blog_first_page():
41 if not blog.custom_index:
42 page_posts = blog.posts[:blog.posts_per_page]
43 path = bf.util.path_join(blog.path, "index.html")
44 blog.logger.info(u"Writing blog index page: " + path)
45 if len(blog.posts) > blog.posts_per_page:
46 next_link = bf.util.site_path_helper(
47 blog.path, blog.pagination_dir+"/2")
52 "next_link": next_link,
55 bf.writer.materialize_template("chronological.mako", path, env)