comparison piecrust/data/paginationdata.py @ 729:e35407c60e00

templating: Make blog archives generator expose more templating data. In addition to pagination data, also expose a non-paginating iterator that lists all posts in a source by chronological order.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 01 Jun 2016 22:09:21 -0700
parents d4408fbbbc7d
children bca06fc064c0
comparison
equal deleted inserted replaced
728:e7481bbbb29f 729:e35407c60e00
27 raise Exception("Can't get route for page: %s" % page.path) 27 raise Exception("Can't get route for page: %s" % page.path)
28 return self._route.getUri(self._route_metadata) 28 return self._route.getUri(self._route_metadata)
29 29
30 def _load(self): 30 def _load(self):
31 page = self._page 31 page = self._page
32 dt = page.datetime
32 page_url = self._get_uri() 33 page_url = self._get_uri()
33 _, slug = split_uri(page.app, page_url) 34 _, slug = split_uri(page.app, page_url)
34 self._setValue('url', page_url) 35 self._setValue('url', page_url)
35 self._setValue('slug', slug) 36 self._setValue('slug', slug)
36 self._setValue( 37 self._setValue(
37 'timestamp', 38 'timestamp',
38 time.mktime(page.datetime.timetuple())) 39 time.mktime(page.datetime.timetuple()))
40 self._setValue('datetime', {
41 'year': dt.year, 'month': dt.month, 'day': dt.day,
42 'hour': dt.hour, 'minute': dt.minute, 'second': dt.second})
39 date_format = page.app.config.get('site/date_format') 43 date_format = page.app.config.get('site/date_format')
40 if date_format: 44 if date_format:
41 self._setValue('date', page.datetime.strftime(date_format)) 45 self._setValue('date', page.datetime.strftime(date_format))
42 self._setValue('mtime', page.path_mtime) 46 self._setValue('mtime', page.path_mtime)
43 47