From: alex Date: Mon, 22 Mar 2021 15:01:19 +0000 (+0100) Subject: Improvements from feed validation X-Git-Tag: 20240214-emacs~226^2~106 X-Git-Url: https://xn--ix-yja.es/gitweb/?a=commitdiff_plain;h=a0b615c32d738e5ee8f61a437f361c5bd0a3b004;p=alex.git Improvements from feed validation --- diff --git a/README.md b/README.md index d810531..846ade8 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ $ docker run --rm --network host kineto /app/kineto gemini://localhost To generate an RSS feed: ``` -$ ( cd gemini2rss/ ; poetry run python gemini2rss.py https://alex.corcoles.net 10 "El blog es mío" "https://alex.corcoles.net" ; ) >/tmp/feed.rss +$ ( cd gemini2rss/ ; poetry run python gemini2rss.py https://alex.corcoles.net 10 "El blog es mío" "https://alex.corcoles.net" Alex alex@corcoles.net ; ) >/tmp/feed.rss ``` ## Migrating a Wordpress blog to Gemini diff --git a/gemini2rss/gemini2rss.py b/gemini2rss/gemini2rss.py index 2db88bc..3803be7 100644 --- a/gemini2rss/gemini2rss.py +++ b/gemini2rss/gemini2rss.py @@ -10,6 +10,8 @@ url = sys.argv[1] feed_size = int(sys.argv[2]) title = sys.argv[3] id = sys.argv[4] +author_name = sys.argv[5] +author_email = sys.argv[6] with urllib.request.urlopen(url) as f: @@ -22,7 +24,7 @@ posts = 0 f = feed.FeedGenerator() f.title(title) -f.id(id) +f.id(id + "/") for a in soup.find_all("a"): if posts == feed_size: @@ -35,8 +37,9 @@ for a in soup.find_all("a"): fi = f.add_item() fi.title(title) - fi.id(a["href"]) + fi.id(url + a["href"]) fi.link(href=a["href"]) + fi.author(name=author_name, email=author_email) fi.updated(datetime.datetime.combine(date, datetime.datetime.min.time(), tzinfo=datetime.timezone.utc)) node = a.parent.next_sibling @@ -48,7 +51,7 @@ for a in soup.find_all("a"): if node and node.name == "h1" and node.string and node.string == "Sobre mí": break content += node if isinstance(node, bs4.NavigableString) else node.prettify() - fi.content(content) + fi.content(content, type="html") posts += 1