Comparison

mod_ogp/README.md @ 6003:fe081789f7b5

All community modules: Unify file extention of Markdown files to .md
author Menel <menel@snikket.de>
date Tue, 22 Oct 2024 10:26:01 +0200
parent 4598:mod_ogp/README.markdown@09f0911c735d
comparison
equal deleted inserted replaced
6002:5a65a632d5b9 6003:fe081789f7b5
1 # mod_ogp
2
3 This module adds [Open Graph Protocol](https://ogp.me) metadata to URLs sent inside a MUC.
4
5 With mod_ogp enabled, when a user sends a URL in a MUC (where the message has its `id` equal to its `origin-id`), the module calls the URL and parses the result for `<meta>` html tags that have any `og:...` properties.
6 If it finds any, it sends a [XEP-0422 fastening](https://xmpp.org/extensions/xep-0422.html) applied to the original message that looks like:
7
8 ```xml
9 <message id="example" from="chatroom@muc.example.org" to="user@chat.example.org/resource">
10 <apply-to xmlns="urn:xmpp:fasten:0" id="origin-id-X">
11 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:title" content="The Rock"/>
12 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:url" content="https://www.imdb.com/title/tt0117500/"/>
13 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:image" content="https://ia.media-imdb.com/images/rock.jpg"/>
14 </apply-to>
15 </message>
16 ```
17
18 The module is intentionally simple in the sense that it is basically a transport for https://ogp.me/
19
20 Configuration
21 -------------
22
23 You can present an allowlist or denylist of domains for which OGP metadata will be fetched
24 via the `ogp_domain_allowlist` and `ogp_domain_denylist` settings repectively.
25
26 For example:
27
28 ```lua
29 Component "muc.example.org" "muc"
30 modules_enabled = { "ogp" }
31 ogp_domain_allowlist = { "prosody.im" }
32 ```