from pelican import signals import logging import os import time logger = logging.getLogger(__name__) def touch_file(path, context): content = context.get('article', context.get('page')) if content and hasattr(content, 'date'): mtime = time.mktime(content.date.timetuple()) logger.info('touching %s', path) os.utime(path, (mtime, mtime)) def register(): signals.content_written.connect(touch_file)