diff --git a/README.md b/README.md
index fcb0c79..46608eb 100644
--- a/README.md
+++ b/README.md
@@ -108,6 +108,6 @@ Special thanks to "d3x" and "cchianel" from IRC channel #python on irc.libera.ch
## Similar Projects
-* [AtomEntry](https://github.com/tigase/sureim/blob/master/site/src/main/java/tigase/sure/web/site/client/pubsub/AtomEntry.java) and [PubSubPublishViewImpl](https://github.com/tigase/sureim/blob/master/site/src/main/java/tigase/sure/web/site/client/pubsub/PubSubPublishViewImpl.java)- Convert XMPP Pubsub Nodes to Atom Syndication Format and convey them over HTTP.
+* [AtomEntry](https://github.com/tigase/sureim/blob/master/site/src/main/java/tigase/sure/web/site/client/pubsub/AtomEntry.java) and [PubSubPublishViewImpl](https://github.com/tigase/sureim/blob/master/site/src/main/java/tigase/sure/web/site/client/pubsub/PubSubPublishViewImpl.java) - Convert XMPP Pubsub Nodes to Atom Syndication Format and convey them over HTTP.
* [AtomToPubsub](https://github.com/edhelas/atomtopubsub) - A little client that parses Atom + RSS feeds and send them on XMPP Pubsub Nodes.
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..41a5b50
Binary files /dev/null and b/favicon.ico differ
diff --git a/graphic/xmpp.svg b/graphic/xmpp.svg
new file mode 100644
index 0000000..f0332bc
--- /dev/null
+++ b/graphic/xmpp.svg
@@ -0,0 +1,26 @@
+
+
+
+
\ No newline at end of file
diff --git a/pubsub_to_atom.py b/pubsub_to_atom.py
index 33f318a..79f394e 100644
--- a/pubsub_to_atom.py
+++ b/pubsub_to_atom.py
@@ -3,6 +3,7 @@
#import datetime
from fastapi import FastAPI, Request, Response
+from fastapi.responses import FileResponse
from fastapi.staticfiles import StaticFiles
import feedgenerator
from slixmpp import ClientXMPP
@@ -25,11 +26,15 @@ class XmppInstance(ClientXMPP):
xmpp = None
-# Mount static scripts and stylesheet directories
+# Mount static graphic, script and stylesheet directories
app.mount("/css", StaticFiles(directory="css"), name="css")
+app.mount("/graphic", StaticFiles(directory="graphic"), name="graphic")
app.mount("/script", StaticFiles(directory="script"), name="script")
app.mount("/xsl", StaticFiles(directory="xsl"), name="xsl")
+@app.get('/favicon.ico', include_in_schema=False)
+async def favicon():
+ return FileResponse('favicon.ico')
@app.get('/atom')
async def view_pubsub(request: Request):
@@ -65,7 +70,7 @@ async def view_pubsub(request: Request):
'optional parameter Node are missing.')
return Response(content=result, media_type="application/xml")
-def pubsub_to_atom(iq,link):
+def pubsub_to_atom(iq, link):
"""Convert XEP-0060: Publish-Subscribe to RFC 4287: The Atom Syndication Format."""
feed = feedgenerator.Atom1Feed(
description = ('This is a syndication feed generated with PubSub to '
@@ -82,7 +87,7 @@ def pubsub_to_atom(iq,link):
namespace = '{http://www.w3.org/2005/Atom}'
title = item.find(namespace + 'title')
title = None if title == None else title.text
- feed_url = 'sch'
+ feed_url = 'gemini://schimon.i2p/'
updated = item.find(namespace + 'updated')
updated = None if updated == None else updated.text
# if updated: updated = datetime.datetime.fromisoformat(updated)
diff --git a/xsl/atom_as_xhtml.xsl b/xsl/atom_as_xhtml.xsl
index 83897aa..c59b7b7 100644
--- a/xsl/atom_as_xhtml.xsl
+++ b/xsl/atom_as_xhtml.xsl
@@ -54,6 +54,7 @@ xmlns:atom='http://www.w3.org/2005/Atom'>
+