{ "info": { "author": "A. Jesse Jiryu Davis", "author_email": "jesse@emptysquare.net", "bugtrack_url": null, "classifiers": [ "Environment :: Plugins", "Environment :: Web Environment", "Framework :: Lektor", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License" ], "description": "# Lektor Atom Plugin\n\nBuilds one or more Atom XML feeds for your [Lektor](https://www.getlektor.com/)-based site.\n\nInspired by the [atom-feed-support](https://github.com/lektor/lektor-website/tree/master/packages/atom-feed-support) plugin Armin Ronacher wrote for the Lektor official blog.\n\n## Installation\n\nAdd lektor-atom to your project from command line:\n\n```\nlektor plugins add lektor-atom\n```\n\nSee [the Lektor documentation for more instructions on installing plugins](https://www.getlektor.com/docs/plugins/).\n\n## Configuration\n\nFor each feed you want to publish, add a section to `configs/atom.ini`. For example, a blog with a feed of all recent posts, and a feed of recent posts about coffee:\n\n```\n[blog]\nname = My Blog\nsource_path = /\nurl_path = /feed.xml\nitems = site.query('/').filter(F.type == 'post')\nitem_model = blog-post\n\n[coffee]\nname = My Blog: Articles About Coffee\nsource_path = /\nurl_path = /category/coffee/feed.xml\nitems = site.query('/blog').filter(F.categories.contains('coffee'))\nitem_model = blog-post\n```\n\nThe section names, like `blog` and `coffee`, are just used as internal identifiers.\n\n### Options\n\n|Option | Default | Description\n|---------------------|------------|-------------------------------------------------------------------------\n|source\\_path | / | Where in the content directory to find items' parent source\n|name | | Feed name: default is section name\n|filename | feed.xml | Name of generated Atom feed file\n|url\\_path | | Feed's URL on your site: default is source's URL path plus the filename\n|blog\\_author\\_field | author | Name of source's author field\n|blog\\_summary\\_field | summary | Name of source's summary field\n|items | None | A query expression: default is the source's children\n|limit | 50 | How many recent items to include\n|item\\_title\\_field | title | Name of items' title field\n|item\\_body\\_field | body | Name of items' content body field\n|item\\_author\\_field | author | Name of items' author field\n|item\\_date\\_field | pub\\_date | Name of items' publication date field\n|item\\_model | None | Name of items' model\n\n### Customizing the plugin for your models\n\nUse the field options to tell lektor-atom how to read your items. For example, if your site's model is:\n\n```\n[model]\nname = Blog\n\n[fields.writer]\ntype = string\n\n[fields.short_description]\ntype = string\n```\n\nThen add to atom.ini:\n\n```\n[main]\nblog_author_field = writer\nblog_summary_field = short_description\n```\n\nSee [tests/demo-project/configs/atom.ini](https://github.com/ajdavis/lektor-atom/blob/master/tests/demo-project/configs/atom.ini) for a complete example.\n\n### Filtering items\n\nBy default, lektor-atom gets the source at `source_path` and includes all its children in the feed. If you set `item_model`, lektor-atom includes only the children with that data model.\n\nSet `items` to any query expression to override the default. If `items_model` is *also* specified, lektor-atom applies it as a filter to `items`.\n\n## Use In Templates\n\nYou can link to a specific feed in your template. If your `atom.ini` contains a feed like this:\n\n```\n[main]\nsource_path = /blog\n```\n\nLink to the feed in a template like this:\n\n```\n{{ 'blog@atom/main'|url }}\n```\n\n# Changes\n\n2016-06-02: Version 0.2. Python 3 compatibility (thanks to Dan Bauman),\ncolored error output during build, fix for Markdown-formatted item subtitles.\n\n2016-01-09: Version 0.1, initial release.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nixjdm/lektor-atom", "keywords": "Lektor plugin static-site blog atom rss", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "lektor-atom", "package_url": "https://pypi.org/project/lektor-atom/", "platform": "", "project_url": "https://pypi.org/project/lektor-atom/", "project_urls": { "Homepage": "https://github.com/nixjdm/lektor-atom" }, "release_url": "https://pypi.org/project/lektor-atom/0.3/", "requires_dist": [ "MarkupSafe" ], "requires_python": "", "summary": "Lektor plugin that generates Atom feeds.", "version": "0.3" }, "last_serial": 3857947, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5da0c14a42fa755e9181366876164978", "sha256": "3d9dad82837a033f97e8f36da0c26ff351e1f5ef6bfcd6400f9b8ba22c5a5915" }, "downloads": -1, "filename": "lektor-atom-0.1.tar.gz", "has_sig": false, "md5_digest": "5da0c14a42fa755e9181366876164978", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2712, "upload_time": "2016-01-09T21:46:12", "url": "https://files.pythonhosted.org/packages/22/35/e126d82f98a1c79d7e5905ead4fa782c3726adedb8563eab125ef8469fd6/lektor-atom-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "44c1d4735e4269130b1f7606fbc8a171", "sha256": "4bf052167bf3da3c4b929d65b12f6d30cdb9f3b8bacc7c19afcbbb00717f7994" }, "downloads": -1, "filename": "lektor-atom-0.2.tar.gz", "has_sig": false, "md5_digest": "44c1d4735e4269130b1f7606fbc8a171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2838, "upload_time": "2016-06-03T04:13:36", "url": "https://files.pythonhosted.org/packages/2e/90/7c38ba6f620c72d2ddb7a0dd3e07af0c5388f4e8b2a629333da68535bbf4/lektor-atom-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "d87469482bed8b293d87e7afc3eb5e39", "sha256": "4e91a588313e37618a51e926b6851babc4a9a1e89ae4d7546542a5812b0b66bc" }, "downloads": -1, "filename": "lektor_atom-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d87469482bed8b293d87e7afc3eb5e39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5062, "upload_time": "2018-05-13T05:26:02", "url": "https://files.pythonhosted.org/packages/83/7b/400cc7608fc7252791508cb97c10baaa968eef1401c9c1b741892d883142/lektor_atom-0.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d87469482bed8b293d87e7afc3eb5e39", "sha256": "4e91a588313e37618a51e926b6851babc4a9a1e89ae4d7546542a5812b0b66bc" }, "downloads": -1, "filename": "lektor_atom-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d87469482bed8b293d87e7afc3eb5e39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5062, "upload_time": "2018-05-13T05:26:02", "url": "https://files.pythonhosted.org/packages/83/7b/400cc7608fc7252791508cb97c10baaa968eef1401c9c1b741892d883142/lektor_atom-0.3-py3-none-any.whl" } ] }