aesthetic-programming
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

page_order.py
text/x-python

Download raw (598 bytes)

"""
Page Order
==========

Adds a `page_order` attribute to all pages if one is not defined.
"""

from pelican import signals

def set_page_order(generator):
    for page in generator.pages:
        try:
            page.page_order = int(page.page_order)
        except:
            if 'DEFAULT_PAGE_ORDER' in generator.settings:
                page.page_order = int(generator.settings['DEFAULT_PAGE_ORDER'])
            else:
                page.page_order = 100

    generator.pages.sort(key=lambda p: p.page_order)

def register():
    signals.page_generator_finalized.connect(set_page_order)