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
Release history Release notifications | RSS feed
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)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2df8a8f6d3a1b64c4134af303e7b9283f87403a053fc9b8da0b66c80f28624d8 |
|
MD5 | 0c470d215ba52b2d96715f049d6b00d1 |
|
BLAKE2b-256 | 91452da2762cd12abd1b69f92416a186cc256d7919a42d08fdae7d9a02ebbbf7 |