def pagination(blog_entries, blog_indexes): for i in range(len(blog_entries)): this_page = blog_entries[i][0] s = '<br><span>' if i > 0: prev_page = blog_entries[i - 1][0] s += '\n'*3 + '<b class="pull-left">← %s</b>' % (utils.page_link(prev_page)) if i < len(blog_entries) - 1: next_page = blog_entries[i + 1][0] s += '\n'*3 + '<b class="pull-right">%s →</b>' % (utils.page_link(next_page)) this_page.content += s + '</span>' for i in range(len(blog_indexes)): this_index = blog_indexes[i] s = '<br><span>' if i > 0: prev_index = blog_indexes[i - 1] s += '\n'*3 + '<b class="pull-left">← <a href="%s">Previous Page</a></b>' % (prev_index.address()) if i < len(blog_indexes) - 1: next_index = blog_indexes[i + 1] s += '\n'*3 + '<b class="pull-right"><a href="%s">Next Page</a> →</b>' % (next_index.address()) this_index.content += s + '</span>'
def make_blog(p): blog = blog_dict(p) blog_entries = [] blog_indexes = [] for k in reversed(sorted(blog.iterkeys())): blog_entries.append(blog[k]) i = 0 for j in range(0, len(blog_entries), config.blog_entries_per_page): segment = blog_entries[j:j + config.blog_entries_per_page] s = '' sidebar = '<h3>Other Posts</h3>' sidebar += '<ul class="nav nav-list">' for c, summary in segment: s += summary sidebar += '<li>%s</li>' % (utils.page_link(c)) sidebar += '<li class="divider"></li>' sidebar += '<li><a href="{{wr}}blog/archives.html"><b>All Entries →</b></a></li>' sidebar += '<li class="divider"></li>' sidebar += '<li><a onclick="goBack()"><b>← Go Back</b></a></li>' sidebar += '</ul>' for c, _ in segment: c.sidebar = sidebar.replace('<li><a href="%s">%s</a></li>' % (c.address(), c.human_name), \ '<li class="active"><a href="%s">%s</a></li>' % (c.address(), c.human_name)) n = objects.page() n.human_name = 'Blog' n.name = 'index' if i > 0: n.name += str(i) n.human_name = 'Page ' + str(i + 1) i += 1 n.level = p.level + 1 n.path = os.path.join(p.path, 'blog') n.destination = os.path.join(p.destination, 'blog') n.omit_sidebar = False n.sidebar = sidebar n.content = s n.enable_comments = False p.children.append(n) blog_indexes.append(n) pagination(blog_entries, blog_indexes) p.children.append(full_archive(p, blog_entries))