Line data Source code
1 : # SPDX-FileCopyrightText: 2025 Pairinteraction Developers
2 : # SPDX-License-Identifier: LGPL-3.0-or-later
3 :
4 0 : HTML_DICT = {
5 : "Ex": "E<sub>x</sub>",
6 : "Ey": "E<sub>y</sub>",
7 : "Ez": "E<sub>z</sub>",
8 : "Bx": "B<sub>x</sub>",
9 : "By": "B<sub>y</sub>",
10 : "Bz": "B<sub>z</sub>",
11 : }
12 :
13 0 : GREEK = [
14 : "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", "iota", "kappa", "lambda", "mu",
15 : "nu", "xi", "omicron", "pi", "rho", "sigma", "tau", "upsilon", "phi", "chi", "psi", "omega",
16 : "Delta",
17 : ] # fmt: skip
18 :
19 :
20 0 : def parse_html(text: str) -> str:
21 0 : if text in HTML_DICT:
22 0 : return HTML_DICT[text]
23 0 : if text in GREEK:
24 0 : return f"<span>&{text};</span>"
25 0 : if text.startswith("_"):
26 0 : return f"<sub>{text[1:]}</sub>"
27 0 : if text.startswith("^"):
28 0 : return f"<sup>{text[1:]}</sup>"
29 :
30 0 : return text
|