diff --git a/README.md b/README.md new file mode 100644 index 0000000..bec9f64 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# MastodonTootFollower + +Follow Toots on Mastodon - don't miss new replies or edits. + +## Usage - Demo instance + +Visit [https://mastodon-toot-follower.privacy1st.de/]() to generate a link to follow a conversation on Mastodon. + +## Usage - Local instance and CLI + +Start a local server from local python venv: + +```shell +make prod +``` + +Start a local server with docker-compose: + +```shell +sudo docker-compose up -d +``` + +Visit [http://localhost:5000]() to generate a link to follow a conversation on Mastodon. + +Additionally, one can view news from a conversation on the commandline: + +```shell +MASTODON_TOOT_URL=https://mastodon.instance/@user@another.instance/123456 make cli +``` + +## Used libraries + +See [requirements.txt](requirements.txt). + +- [Mastodon.py](https://mastodonpy.readthedocs.io/en/stable/index.html): Fetch Toot and replies from a Mastodon instance. +- [python3-feedgen](https://github.com/lkiesow/python-feedgen): Generate an Atom/RSS feed. +- [Flask](https://flask.palletsprojects.com): Provide a web API (JSON, RSS+XML, HTML). +- [Waitress](https://docs.pylonsproject.org/projects/waitress/en/stable/): Web server. + +## Test RSS/Atom feed + +Tested with [gfeeds](https://gitlab.gnome.org/World/gfeeds): + +```shell +rm -rf ~/.config/org.gabmus.gfeeds.* ~/.cache/org.gabmus.gfeeds +gfeds +``` + +Tested with [Nextcloud News](https://github.com/nextcloud/news). + +Other feed readers: https://wiki.archlinux.org/title/list_of_applications#News,_RSS,_and_blogs