diff --git a/README.md b/README.md index 4db739a..ab4d40c 100644 --- a/README.md +++ b/README.md @@ -1,104 +1,153 @@ # JabberCard -JabberCard (formerly FASI) is a "fancy and sleek invitation" system with -addeitional features. https://schapps.woodpeckersnest.eu/jabbercard/ +> Your Online Jabber Identity + +## Project page + +gemini://woodpeckersnest.space/~schapps/jabbercard.gmi +https://schapps.woodpeckersnest.eu/jabbercard/ ## About -JabberCard is an HTML invite page for XMPP. -The main purpose, is to provide an interface to share XMPP contacts via HTML -browsers. -It also provides an interface to explore XMPP server conferences, pubsub and -other services. +JabberCard (previously YOJI, and formerly FASI) is a "fancy and sleek invitation" +system with additional features. -### Reasons for creating JabberCard +It is primarily an HTML invitation page for XMPP, which allows to present XMPP profiles as +fancy HTML pages. -The main reasons for the realization of JabberCard are to: +The main purpose, is to provide an interface to share and link to XMPP contacts +and group chats via HTML browsers. -- Add interactive capabilities, as well as vCard information; -- Create rapport with the viewers, by displaying vCard information, such as Full - Name and Description or Note; -- Realize the beautiful simplicity of XMPP, so that more people would be - motivated to utilize, install, serve, and develop XMPP software; -- Charm our "normie" friends, so called, by displaying an attractive contact - HTML page, which they can also utilize; -- Utilize an invitation page, with XMPP capabilities, regardless to the software - that powers an XMPP server; -- Realize that HTTP is obsolete and should be treated as an optional publishing - mean, because anything that HTTP offers, is already possible with XMPP, since - a couple of decades ago. -- Extend support for Gopher and Gemini, which do not allow scripts, and, - therefore, a server-side is essential for these ASCII type mediums. +It also provides interfaces to view conference messages and PubSub posts, and +to explore XMPP servers, PubSub nodes and other services and entities. + +## Motives for creating JabberCard + +The main motives for the realization of JabberCard are to: + +* Create rapport with the viewers; +> By displaying vCard information, such as Full Name and Description or Note; + +* Charm our "normie" friends, so called; +> By displaying an attractive contact HTML page, which they can also utilize; + +* Utilize an invitation page with dynamic XMPP capabilities; +> Regardless to the software that powers an XMPP server; + +* Realize the beautiful simplicity of XMPP; +> Exposing the uniform structure of XMPP would cause to people to be motivated +> to utilize, install, serve, and develop XMPP software; + +* Realize that HTTP is obsolete and should be treated as an optional publishing mean; +> Because anything that HTTP offers, is already possible with XMPP, since a +> couple of decades ago. + +* Extend support for Gopher and Gemini; +> Gopher and Gemini do not allow scripts, and, therefore, a server-side is +> essential for these type of mediums. + +## Features + +The vatious features of JabberCard. ### Special features -- Fetch vCards and photos; -- Indicate of available conferences, nodes and services; -- Retrieve number of conferences, nodes, participants, node items and services; -- Preview recent conference messages; -- View journal articles (i.e. PubSub node items that are published as Atom Over - XMPP). +* Fetch vCards and photos; +* Indicate of available conferences, nodes and services; +* Retrieve number of conferences, nodes, participants, node items and services; +* Preview recent conference messages; +* View PubSub journal articles, that are published as Atom Over XMPP. ### Extended features -- Browse services; -- Explore JID and node items. +* Browse services; +* Explore JID and node items. ### Other features -- Customization for specific brands (e.g. Conversations, Cheogram, monocles chat - and yaxim); -- Dark mode; -- Dynamic background in accordance to the photo colors. +* Dark mode; +* Dynamic background in accordance to the photo colors; +* Further customization for specific brands. + +### Supported XMPP features + +* MUC +* Photo +* PubSub +* QR code +* Service Discovery +* vCard + +### Supported XEP specifications + +* XEP-0030: Service Discovery +* XEP-0045: Multi-User Chat +* XEP-0060: Publish-Subscribe +* XEP-0277: Journaling Over XMPP +* XEP-0292: vCard4 Over XMPP +* XEP-0472: PubSub Social Feed ## Technicalities -JabberCard is written in Python and utilizes Jinja2, FastAPI and Slixmpp. +JabberCard is written in Python and utilizes Jinja2, FastAPI and Slixmpp, and it +only requires an XMPP account to work. -JabberCard requires an XMPP account to work, it only needs an XMPP server. +## Target clients -## Supported features +JabberCard is offered for free, and it was made due to urgency and necessity +(reasons not to be disclosed in public), and is intended to anyone who is +deploying XMPP services. -- MUC -- Photo -- PubSub -- QR code -- Service Discovery -- vCard +* aTalk +* blabber.im +* Conversations +* Cheogram +* Dino +* Draugr.de +* GoodBytes +* Ignite Realtime +* Isode +* Kaidan +* monocles chat +* Moxxy +* Openfire +* ProcessOne +* Tigase +* WPN +* yaxim +* ... and any branded XMPP service. -## Supported XEP specifications +## Movim -- XEP-0030: Service Discovery -- XEP-0045: Multi-User Chat -- XEP-0060: Publish-Subscribe -- XEP-0292: vCard4 Over XMPP +If you have a [Movim](https://movim.eu) instance, then you probably do not need +JabberCard. ## Installation It is possible to install JabberCard using pip and pipx. -#### pip inside venv +### pip inside venv ``` $ python3 -m venv .venv $ source .venv/bin/activate ``` -##### Install +#### Install ``` $ pip install git+https://git.xmpp-it.net/sch/JabberCard ``` -#### pipx +### pipx -##### Install +#### Install ``` $ pipx install git+https://git.xmpp-it.net/sch/JabberCard ``` -##### Update +#### Update ``` $ pipx reinstall jabbercard @@ -109,14 +158,6 @@ $ pipx uninstall jabbercard $ pipx install git+https://git.xmpp-it.net/sch/JabberCard ``` -### Configure - -Copy file `settings.toml` to `~/.config/jabbercard/`. - -Copy directories `css`, `img`, and `template` to `~/.local/share/jabbercard/`. - -Copy files `clients.toml`, and `systems.toml` to `~/.local/share/jabbercard/`. - ### Start ```