lektor-index-pages


Namelektor-index-pages JSON
Version 1.1.0 PyPI version JSON
download
home_page
SummaryLektor plugin to generate blog-like index pages
upload_time2023-06-16 16:34:34
maintainer
docs_urlNone
author
requires_python>=3.7
licenseCopyright © 2020 Geoffrey T. Dairiki Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords lektor plugin blog index
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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)
[![Trackgit Views](https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/lhauro0t5wzkw1d0k5lh)](https://trackgit.com)

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.1.0 (2023-06-16)

- Drop support for Lektor 3.2.x
- Test under python 3.11
- Add type annotations
- Convert packaging from setuptools to [PDM]
- Disuse `pkg_resources` in favor of `importlib.metadata`
- Add [pre-commit] configuration
- Run [black] and [reorder-python-imports] on code

[PDM]: https://pdm.fming.dev/latest/
[pre-commit]: https://pre-commit.com/
[black]: https://black.readthedocs.io/en/stable/index.html
[reorder-python-imports]: https://github.com/asottile/reorder-python-imports

### 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.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "lektor-index-pages",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Lektor plugin blog index",
    "author": "",
    "author_email": "Jeff Dairiki <dairiki@dairiki.org>",
    "download_url": "https://files.pythonhosted.org/packages/01/34/e79432f46f0e99a64c50fd7618fe4b26662cb78560bc994203e7a9fe29e8/lektor_index_pages-1.1.0.tar.gz",
    "platform": null,
    "description": "# Lektor Index Pages Plugin\n\n[![PyPI version](https://img.shields.io/pypi/v/lektor-index-pages.svg)](https://pypi.org/project/lektor-index-pages/)\n[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/lektor-index-pages.svg)](https://pypi.python.org/pypi/lektor-index-pages/)\n[![GitHub license](https://img.shields.io/github/license/dairiki/lektor-index-pages)](https://github.com/dairiki/lektor-index-pages/blob/master/LICENSE)\n[![Documentation Status](https://readthedocs.org/projects/lektor-index-pages/badge/?version=latest)](https://lektor-index-pages.readthedocs.io/en/latest/?badge=latest)\n[![GitHub Actions (Tests)](https://github.com/dairiki/lektor-index-pages/workflows/Tests/badge.svg)](https://github.com/dairiki/lektor-index-pages)\n[![Trackgit Views](https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/lhauro0t5wzkw1d0k5lh)](https://trackgit.com)\n\nThis [Lektor][] plugin can be used to generate \u201cindex pages\u201d for a\nblog or similar collection of pages.  These index pages list the blog posts\nsegregated by some key, with each index page containing only those posts\nwhich match that key.\n\nExamples of what this can be used for include:\n\n- *Category Indexes*: A set of index pages, one for each category,\n  which lists all the posts in that category.  (Multi-valued index keys\n  are also supported, so that each post can appear on more than a single\n  index page: e.g. *keyword indexes*.)\n\n- *Date Indexes*: A set of index pages, one for each year (say), which\n  list all the posts in that year.  (Sub-indexes are supported\n  subindexes \u2014 e.g., each year index may have as children a sequence\n  of month indexes.)\n\nBehind the scenes, judicious caching of indexing results, and careful\ncontrol of Lektor\u2019s dependency tracking prevent all this from slowing\nthe build process down too excruciatingly much.\n\n[lektor]: <https://www.getlektor.com/> \"Lektor Static Content Management System\"\n\n## Project Links\n\n* [Documentation](https://lektor-index-pages.rtfd.io/en/latest/)\n* [Github](https://github.com/dairiki/lektor-index-pages/)\n* [PyPI](https://pypi.org/project/lektor-index-pages/)\n\n## Author\n\nJeff Dairiki <dairiki@dairiki.org>\n\n## Changelog\n\n### Release 1.1.0 (2023-06-16)\n\n- Drop support for Lektor 3.2.x\n- Test under python 3.11\n- Add type annotations\n- Convert packaging from setuptools to [PDM]\n- Disuse `pkg_resources` in favor of `importlib.metadata`\n- Add [pre-commit] configuration\n- Run [black] and [reorder-python-imports] on code\n\n[PDM]: https://pdm.fming.dev/latest/\n[pre-commit]: https://pre-commit.com/\n[black]: https://black.readthedocs.io/en/stable/index.html\n[reorder-python-imports]: https://github.com/asottile/reorder-python-imports\n\n### Release 1.0 (2022-01-28)\n\n- Drop support for python 2.7 and 3.6.\n- Fix deprecation warning from `jinja2`. Jinja2 version 3 is now required.\n\n#### Documentation\n\n- Documentation clarifications, updates and fixes.\n    (PR [#2][] \u2014 Thank you Bart Van Loon!)\n\n- Add missing requirement `recommonmark` to `docs/requirements.txt`.\n\n- Add `docs` enviroment to `tox.ini` to test that docs will build cleanly.\n\n[#2]: <https://github.com/dairiki/lektor-index-pages/pull/2>\n\n#### Testing\n\n- Test under python 3.10 and lektor<3.3\n\n### Release 0.1 (2021-02-05)\n\nNo code changes.\n\nUpdate development status classifier to \"stable\".\n\n### Release 0.1a3 (2020-05-08)\n\n#### API changes\n\n- Added a `key` field on the index virtual source object.  It is an\n  alias to `_id`, but is syntactically more self-explanatory.\n\n- The `keys` configuration key has been renamed to `key`.\n\n- When the `key` expression is being evaluted, the record whose key(s)\n  is(are) to be be computed is now available in the jinja context as\n  `item` rather than `this`.\n\n#### Documentation\n\n- Documentation moved from README to Sphinx docs at RTFD.io\n\n### Release 0.1a2 (2020-05-06)\n\n#### API changes\n\n- The `record` argument has been dropped from the (jinja) global\n  `index_pages` function.  (Since indexes can not have multiple\n  parents, it is not necessary.)\n\n- The `parent` configuration key has been renamed to `parent_path`.\n\n- The `slug` configuration key has been renamed to `slug_format`.\n\n- The `attributes` config section has been renamed to `fields`.\n\n  Though they are not quite like regular Lektor Record fields, they\n  are more field-like than attribute-like.  (I.e. access is via\n  *__getitem__* rather than *getattr*.)\n\n### Release 0.1a1 (2020-05-05)\n\nInitial release.\n",
    "bugtrack_url": null,
    "license": "Copyright \u00a9 2020 Geoffrey T. Dairiki\n        \n        Permission is hereby granted, free of charge, to any person obtaining\n        a copy of this software and associated documentation files (the\n        \"Software\"), to deal in the Software without restriction, including\n        without limitation the rights to use, copy, modify, merge, publish,\n        distribute, sublicense, and/or sell copies of the Software, and to\n        permit persons to whom the Software is furnished to do so, subject to\n        the following conditions:\n        \n        The above copyright notice and this permission notice shall be\n        included in all copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n        EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n        MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n        NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n        LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n        OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n        WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Lektor plugin to generate blog-like index pages",
    "version": "1.1.0",
    "project_urls": {
        "Documentation": "https://lektor-index-pages.readthedocs.io/en/latest/",
        "Homepage": "https://github.com/dairiki/lektor-index-pages"
    },
    "split_keywords": [
        "lektor",
        "plugin",
        "blog",
        "index"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3265b45cad30f58f1c080f5e8817701a0c5d3d9e1506cb4ff600d46bafabe223",
                "md5": "38ace1731d69f1f53cc93926ba1f0543",
                "sha256": "11848f70f746002057f25907e317e69a638e9ddddafcaf34126d7f9eee71e244"
            },
            "downloads": -1,
            "filename": "lektor_index_pages-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "38ace1731d69f1f53cc93926ba1f0543",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 35173,
            "upload_time": "2023-06-16T16:34:33",
            "upload_time_iso_8601": "2023-06-16T16:34:33.090979Z",
            "url": "https://files.pythonhosted.org/packages/32/65/b45cad30f58f1c080f5e8817701a0c5d3d9e1506cb4ff600d46bafabe223/lektor_index_pages-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0134e79432f46f0e99a64c50fd7618fe4b26662cb78560bc994203e7a9fe29e8",
                "md5": "c5c7db6171690da41401779c5db24d8f",
                "sha256": "0badac99f9eb161e6db1c45378a3be03ab98ae11b8bd2104a7eb21d0d0e0f485"
            },
            "downloads": -1,
            "filename": "lektor_index_pages-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c5c7db6171690da41401779c5db24d8f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 30021,
            "upload_time": "2023-06-16T16:34:34",
            "upload_time_iso_8601": "2023-06-16T16:34:34.660146Z",
            "url": "https://files.pythonhosted.org/packages/01/34/e79432f46f0e99a64c50fd7618fe4b26662cb78560bc994203e7a9fe29e8/lektor_index_pages-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-16 16:34:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dairiki",
    "github_project": "lektor-index-pages",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "lektor-index-pages"
}
        
Elapsed time: 0.08188s