A TeX/Lilypond bot for [matrix].
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LoaD Accumulator f61258a6a8 [ADD/FIX] Allow \mathbb to be used, ly!p
Also squashed a false-positive.
10 months ago
.gitignore [ADD/FIX] Allow \mathbb to be used, ly!p 10 months ago
COPYING.AGPL [FIX] Fix up a few crashes and clarify the license. 11 months ago
README.MD [ADD/FIX] Allow \mathbb to be used, ly!p 10 months ago
callbacks.py [ADD/FIX] Allow \mathbb to be used, ly!p 10 months ago
latex.py [ADD/FIX] Allow \mathbb to be used, ly!p 10 months ago
lilypond.py [ADD/FIX] Allow \mathbb to be used, ly!p 10 months ago
main.py [FIX] F-ed up some stuff. 11 months ago
parser.py [ADD] Allow more complex expressions in code tags. 11 months ago
requirements.txt [ADD/WIP] Add preliminary encryption support. 11 months ago
router.py [ADD] Add basic LilyPond support. 11 months ago
routes.py [ADD/FIX] Allow \mathbb to be used, ly!p 10 months ago
utils.py [ADD/FIX] Allow \mathbb to be used, ly!p 10 months ago


TeXLily: A LaTeX and Lilypond bot for [matrix]

TeXlily is a TeX and Lilypond bot designed for [matrix]. It is made for clients who does not support LaTeX, but also for people willing to share sheet music to their friends using Lilypond.


TeXily only has a few dependencies:

- Python 3 (tested on 3.11)
    + `matrix-nio[e2e]`
    + `pyaml`
    + `imagesize`
- Lilypond
- Optionally, FluidSynth for lily!play.
- A distribution of TeX for `latex` and `dvipng` programs.
    + You also need the `standalone` and `varwidth` packages, which you 
    can find on CTAN.

Python: pip install -r requirements.txt

Arch Linux: sudo pacman -S lilypond texlive


You can contribute directly using PRs, or you can just mail me patches to: lda@freetards.xyz with a title starting with PATCH FOR TEXLILY:

To contribute, use PEP8 with 4 spaces.

How to setup

To setup TeXLily, you need to create a file named texlily.yaml, and make a directory where encryption keys and user styles will be stored.

The texlily.yaml file should look like this:

homeserver: "your homeserver's base URL"
user: "@foo:bar.fed"
data: "the encryption/style directory"
# If you have FluidSynth installed
soundfont: "/absolute/dir/to/soundfont.sf2"

Then, start TeXLily with python3 main.py. Then, enter your password, et voilà !.


TeXlily's is under the AGPLv3. Check COPYING.AGPL for more information on the license.