diff --git a/docs/themes.rst b/docs/themes.rst index b00d0236..d2a1c7d5 100644 --- a/docs/themes.rst +++ b/docs/themes.rst @@ -137,18 +137,24 @@ Variable Description ====================== =================================================== articles_paginator A paginator object for the list of articles articles_page The current page of articles +articles_first_page The first page of articles articles_previous_page The previous page of articles (``None`` if page does not exist) articles_next_page The next page of articles (``None`` if page does not exist) +articles_last_page The first page of articles dates_paginator A paginator object for the article list, ordered by date, ascending. dates_page The current page of articles, ordered by date, ascending. +dates_first_page The first page of articles, ordered by date, + ascending. dates_previous_page The previous page of articles, ordered by date, ascending (``None`` if page does not exist) dates_next_page The next page of articles, ordered by date, ascending (``None`` if page does not exist) +dates_last_page The last page of articles, ordered by date, + ascending. page_name 'index' -- useful for pagination links ====================== =================================================== @@ -170,18 +176,24 @@ dates Articles by this author, but ordered by date, ascending articles_paginator A paginator object for the list of articles articles_page The current page of articles +articles_first_page The first page of articles articles_previous_page The previous page of articles (``None`` if page does not exist) articles_next_page The next page of articles (``None`` if page does not exist) +articles_last_page The first page of articles dates_paginator A paginator object for the article list, ordered by date, ascending. dates_page The current page of articles, ordered by date, ascending. +dates_first_page The first page of articles, ordered by date, + ascending. dates_previous_page The previous page of articles, ordered by date, ascending (``None`` if page does not exist) dates_next_page The next page of articles, ordered by date, ascending (``None`` if page does not exist) +dates_last_page The last page of articles, ordered by date, + ascending. page_name AUTHOR_URL where everything after `{slug}` is removed -- useful for pagination links ====================== =================================================== @@ -204,18 +216,24 @@ dates Articles for this category, but ordered by date, ascending articles_paginator A paginator object for the list of articles articles_page The current page of articles +articles_first_page The first page of articles articles_previous_page The previous page of articles (``None`` if page does not exist) articles_next_page The next page of articles (``None`` if page does not exist) +articles_last_page The first page of articles dates_paginator A paginator object for the list of articles, ordered by date, ascending dates_page The current page of articles, ordered by date, ascending +dates_first_page The first page of articles, ordered by date, + ascending. dates_previous_page The previous page of articles, ordered by date, ascending (``None`` if page does not exist) dates_next_page The next page of articles, ordered by date, ascending (``None`` if page does not exist) +dates_last_page The last page of articles, ordered by date, + ascending. page_name CATEGORY_URL where everything after `{slug}` is removed -- useful for pagination links ====================== =================================================== @@ -293,18 +311,24 @@ dates Articles related to this tag, but ordered by date, ascending articles_paginator A paginator object for the list of articles articles_page The current page of articles +articles_first_page The first page of articles articles_previous_page The previous page of articles (``None`` if page does not exist) articles_next_page The next page of articles (``None`` if page does not exist) +articles_last_page The first page of articles dates_paginator A paginator object for the list of articles, ordered by date, ascending dates_page The current page of articles, ordered by date, ascending +dates_first_page The first page of articles, ordered by date, + ascending. dates_previous_page The previous page of articles, ordered by date, ascending (``None`` if page does not exist) dates_next_page The next page of articles, ordered by date, ascending (``None`` if page does not exist) +dates_last_page The last page of articles, ordered by date, + ascending. page_name TAG_URL where everything after `{slug}` is removed -- useful for pagination links ====================== =================================================== diff --git a/pelican/writers.py b/pelican/writers.py index bdaabd8d..ff6f92fe 100644 --- a/pelican/writers.py +++ b/pelican/writers.py @@ -249,16 +249,20 @@ class Writer(object): paginated_kwargs = kwargs.copy() for key in paginators.keys(): paginator = paginators[key] + first_page = paginator.page(1) previous_page = paginator.page(page_num) \ if page_num > 0 else None page = paginator.page(page_num + 1) next_page = paginator.page(page_num + 2) \ if page_num + 1 < paginator.num_pages else None + last_page = paginator.page(paginator.num_pages) paginated_kwargs.update( {'%s_paginator' % key: paginator, '%s_page' % key: page, + '%s_first_page' % key: first_page, '%s_previous_page' % key: previous_page, - '%s_next_page' % key: next_page}) + '%s_next_page' % key: next_page, + '%s_last_page' % key: last_page}) localcontext = _get_localcontext( context, page.save_as, paginated_kwargs, relative_urls)