Skip to main content

A correct and minimal RSS 2.0 generator.

Project description

min-rss-gen

A minimal RSS 2.0 generator. Follows guidelines from https://validator.w3.org/feed/docs/rss2.html

XML Implementations

Accepts any implementation that fulfills Python's ElementTree API. Due to this, lxml is supported.

Installation

pip install min-rss

Usage

The following script powers the RSS feed at https://nwalsh1995.github.io/rss.xml

from min_rss_gen.generator import start_rss, gen_item

import xml.etree.ElementTree
from glob import glob
from pathlib import PurePath

SITE = "https://nwalsh1995.github.io"
RSS_FILENAME = "rss.xml"
rss_items = []


# Generate all items
for f in glob("**/*.html", recursive=True):
    path = PurePath(f)
    title = path.with_suffix("").name.replace("-", " ").title()
    rss_items.append(gen_item(title=title, link=f"{SITE}/{str(path)}"))


# Generate the <rss> XML element and subelements.
rss_xml_element = start_rss(title="nwalsh1995.github.io", link="nwalsh1995.github.io", description="A collection of thoughts.", items=rss_items)

# You can add custom subelements onto the returned <rss> element if you choose.

with open(RSS_FILENAME, "wb") as f:
    f.write(xml.etree.ElementTree.tostring(rss_xml_element))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

min-rss-0.0.3.tar.gz (4.1 kB view details)

Uploaded Source

File details

Details for the file min-rss-0.0.3.tar.gz.

File metadata

  • Download URL: min-rss-0.0.3.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

File hashes

Hashes for min-rss-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2df8a8f6d3a1b64c4134af303e7b9283f87403a053fc9b8da0b66c80f28624d8
MD5 0c470d215ba52b2d96715f049d6b00d1
BLAKE2b-256 91452da2762cd12abd1b69f92416a186cc256d7919a42d08fdae7d9a02ebbbf7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page