{"id":15980863,"url":"https://github.com/macbre/pelican-planet","last_synced_at":"2025-07-11T23:34:11.427Z","repository":{"id":37927326,"uuid":"171146604","full_name":"macbre/pelican-planet","owner":"macbre","description":"A fork of","archived":false,"fork":false,"pushed_at":"2025-07-03T18:57:13.000Z","size":244,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-03T19:46:14.893Z","etag":null,"topics":["python","rss-aggregator"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/pelican-planet/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macbre.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-17T16:49:37.000Z","updated_at":"2025-07-03T18:57:16.000Z","dependencies_parsed_at":"2023-02-14T10:32:28.345Z","dependency_job_id":"9f3685c2-56e9-47be-9041-116187aff9c8","html_url":"https://github.com/macbre/pelican-planet","commit_stats":{"total_commits":193,"total_committers":4,"mean_commits":48.25,"dds":"0.39896373056994816","last_synced_commit":"28adbfd7d196437d55c9d0876a1a743ca86b9b84"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/macbre/pelican-planet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fpelican-planet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fpelican-planet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fpelican-planet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fpelican-planet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macbre","download_url":"https://codeload.github.com/macbre/pelican-planet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fpelican-planet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264913481,"owners_count":23682658,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","rss-aggregator"],"created_at":"2024-10-08T00:23:18.780Z","updated_at":"2025-07-11T23:34:11.190Z","avatar_url":"https://github.com/macbre.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Blog aggregation, static-website style!\n=======================================\n.. image:: https://coveralls.io/repos/github/macbre/pelican-planet/badge.svg?branch=master :target: https://coveralls.io/github/macbre/pelican-planet?branch=master\n\nThis is a plugin for the `Pelican`_ static site generator.\n\nIt allows generating a page aggregating blog articles from other web sites.\n\n.. _Pelican: https://getpelican.com\n\nUsage\n-----\n\nInstall this plugin::\n\n    $ pip install git+https://framagit.org/bochecha/pelican-planet#egg=pelican_planet\n\nThen, in your Pelican config file, enable the plugin::\n\n    PLUGINS = [\n        ...\n        'pelican_planet',\n        ...\n        ]\n\nNext, declare the feeds you want to aggregate in your Pelican config file::\n\n    PLANET_FEEDS = {\n        'Some amazing blog': 'https://example1.org/feeds/blog.atom.xml',\n        'Another great blog': 'http://example2.org/feeds/blog.atom.xml',\n        }\n\nWrite a `Jinja2`_ template for your aggregation page. For example, if the rest\nof your website is generated from Markdown pages, then create a\n``planet.md.tmpl`` file with the following contents::\n\n    Some blogs aggregated here.\n\n    {% for article in articles %}\n    # {{ article.title }}\n\n    {% endfor %}\n\nFinally, declare the template and destination page in your Pelican config file::\n\n    PLANET_TEMPLATE = 'planet.md.tmpl'\n    PLANET_PAGE = 'content/planet.md'\n\nThen rebuild your website as usual using the ``pelican`` command line, and you\nshould have your blog aggregation page.\n\nYou'll probably want to rebuild your website periodically though, maybe with a\nsystemd timer or a cron job, to always fetch the latest articles in the feeds\nyou aggregate.\n\n.. _Jinja2: http://jinja.pocoo.org/\n\nTemplate design\n---------------\n\nThe template for your aggregation page will be passed an ``articles`` variable,\ncontaining the list of articles aggregated.\n\nEach item of this list will have the following attributes:\n\n* ``title``: The title of the article;\n* ``updated``: The date at which the article was last updated, as a\n  timezone-aware ``datetime`` object;\n* ``author``: The author of the article;\n* ``link``: The URL to the article on its original website;\n* ``summary``: The summary text of the article;\n* ``feed_name``: The name of the feed from which the article originated, as\n  defined in the Pelican config file;\n\nOptional configuration\n----------------------\n\nYou can have more control on the generated page, by setting a few more options\nin your Pelican config file:\n\n* ``PLANET_MAX_ARTICLES``: The maximum number of articles to show on the page.\n\n  By default, all articles from all feeds will be added to the page.\n\n* ``PLANET_MAX_ARTICLES_PER_FEED``: The maximum of articles from a single feed\n  ending on the page.\n\n  By default all articles of a given feed are considered.\n\n* ``PLANET_MAX_SUMMARY_LENGTH``: The maximum number of words kept from the\n  summary.\n\n  By default the `summary` of the article will be the full text coming from\n  the feed.\n\nLegalities\n----------\n\npelican-planet is offered under the terms of the\n`GNU Affero General Public License, either version 3 or any later version`_.\n\nWe will never ask you to sign a copyright assignment or any other kind of\nsilly and tedious legal document before accepting your contributions.\n\nIn case you're wondering, we do **not** consider that a website built with\npelican-planet would need to be licensed under the AGPL.\n\n.. _GNU Affero General Public License, either version 3 or any later version: https://www.gnu.org/licenses/agpl.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacbre%2Fpelican-planet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmacbre%2Fpelican-planet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacbre%2Fpelican-planet/lists"}