colorlab
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

category_order.py
text/x-python

Download raw (446 bytes)

from pelican import signals

def set_category_order(generator):
  CATEGORY_ORDER = generator.settings.get('CATEGORY_ORDER', [])

  categories = generator.context.get('categories', [])
  # categories is a list op tuples, in format (Category, [<Article>])
  generator.context['categories'] = sorted(categories, key=lambda entry: CATEGORY_ORDER.index(entry[0].slug))

def register():
  signals.article_generator_finalized.connect(set_category_order)