Metadata-Version: 2.1
Name: lektor-index-pages
Version: 1.0.0
Summary: Lektor plugin to generate blog-like index pages
Home-page: https://github.com/dairiki/lektor-index-pages
Author: Jeff Dairiki
Author-email: dairiki@dairiki.org
License: MIT
Project-URL: Documentation, https://lektor-index-pages.readthedocs.io/en/latest/
Keywords: Lektor plugin,blog index
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Environment :: Web Environment
Classifier: Framework :: Lektor
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Text Processing :: Indexing
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: more-itertools
Requires-Dist: lektorlib
Requires-Dist: jinja2 (>=3)

# Lektor Index Pages Plugin

[![PyPI version](https://img.shields.io/pypi/v/lektor-index-pages.svg)](https://pypi.org/project/lektor-index-pages/)
[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/lektor-index-pages.svg)](https://pypi.python.org/pypi/lektor-index-pages/)
[![GitHub license](https://img.shields.io/github/license/dairiki/lektor-index-pages)](https://github.com/dairiki/lektor-index-pages/blob/master/LICENSE)
[![Documentation Status](https://readthedocs.org/projects/lektor-index-pages/badge/?version=latest)](https://lektor-index-pages.readthedocs.io/en/latest/?badge=latest)
[![GitHub Actions (Tests)](https://github.com/dairiki/lektor-index-pages/workflows/Tests/badge.svg)](https://github.com/dairiki/lektor-index-pages)


This [Lektor][] plugin can be used to generate “index pages” for a
blog or similar collection of pages.  These index pages list the blog posts
segregated by some key, with each index page containing only those posts
which match that key.

Examples of what this can be used for include:

- *Category Indexes*: A set of index pages, one for each category,
  which lists all the posts in that category.  (Multi-valued index keys
  are also supported, so that each post can appear on more than a single
  index page: e.g. *keyword indexes*.)

- *Date Indexes*: A set of index pages, one for each year (say), which
  list all the posts in that year.  (Sub-indexes are supported
  subindexes — e.g., each year index may have as children a sequence
  of month indexes.)

Behind the scenes, judicious caching of indexing results, and careful
control of Lektor’s dependency tracking prevent all this from slowing
the build process down too excruciatingly much.

[lektor]: <https://www.getlektor.com/> "Lektor Static Content Management System"

## Project Links

* [Documentation](https://lektor-index-pages.rtfd.io/en/latest/)
* [Github](https://github.com/dairiki/lektor-index-pages/)
* [PyPI](https://pypi.org/project/lektor-index-pages/)

## Author

Jeff Dairiki <dairiki@dairiki.org>

## Changelog

### Release 1.0 (2022-01-28)

- Drop support for python 2.7 and 3.6.
- Fix deprecation warning from `jinja2`. Jinja2 version 3 is now required.

#### Documentation

- Documentation clarifications, updates and fixes.
    (PR [#2][] — Thank you Bart Van Loon!)

- Add missing requirement `recommonmark` to `docs/requirements.txt`.

- Add `docs` enviroment to `tox.ini` to test that docs will build cleanly.

[#2]: <https://github.com/dairiki/lektor-index-pages/pull/2>

#### Testing

- Test under python 3.10 and lektor<3.3

### Release 0.1 (2021-02-05)

No code changes.

Update development status classifier to "stable".

### Release 0.1a3 (2020-05-08)

#### API changes

- Added a `key` field on the index virtual source object.  It is an
  alias to `_id`, but is syntactically more self-explanatory.

- The `keys` configuration key has been renamed to `key`.

- When the `key` expression is being evaluted, the record whose key(s)
  is(are) to be be computed is now available in the jinja context as
  `item` rather than `this`.

#### Documentation

- Documentation moved from README to Sphinx docs at RTFD.io

### Release 0.1a2 (2020-05-06)

#### API changes

- The `record` argument has been dropped from the (jinja) global
  `index_pages` function.  (Since indexes can not have multiple
  parents, it is not necessary.)

- The `parent` configuration key has been renamed to `parent_path`.

- The `slug` configuration key has been renamed to `slug_format`.

- The `attributes` config section has been renamed to `fields`.

  Though they are not quite like regular Lektor Record fields, they
  are more field-like than attribute-like.  (I.e. access is via
  *__getitem__* rather than *getattr*.)

### Release 0.1a1 (2020-05-05)

Initial release.


