1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
[Github](https://github.com/BluebonnetField/slidge-style-parser)
[PyPi](https://pypi.org/project/slidge-style-parser/)
License: AGPL-3.0-or-later
A parsing library for [Slidge](https://sr.ht/~nicoco/slidge). Supports parsing these attributes:
"\_underline_"
"\*bold*"
"\~strikethrough~"
"\`code span`"
"\```language
code block
\```"
"\>quote"
"\|\|spoiler||"
"\\\_escape style_"
Most of them correspond to [XEP-0393: Message Styling](https://xmpp.org/extensions/xep-0393.html).
Methods:
format_for_telegram(body: String, mentions: Optional<(_, start, end_index_exclusive)>)
-> (body: String, Vec<(format: String, offset: usize, length: usize, language: String)>)
format_for_matrix(body: String, mentions: Optional<(mxid, start, end_index_exclusive)>) -> body: String
format_body(body: String, new_tags: HashMap<String, (String, String)>) -> String
new_tags = {
"_": ("<em>", "</em>"),
"*": ("<strong>", "</strong>"),
"~": ("<del>", "</del>"),
"`": ("<code>", "</code>"),
"```": ("<pre><code>", "</code></pre>"),
"```language": ('<pre><code class="language-{}">', "</code></pre>"),
">": ("<blockquote>", "</blockquote>"),
"||": ("<span data-mx-spoiler>", "</span>"),
"\n": ("<br>", "")
}
To build: `maturin build`
|