Contributing¶
I welcome contributions from the community to help improve TeXSmith! Whether it's reporting bugs, suggesting new features, or submitting code changes, your input is valuable. Here's how you can contribute:
- Reporting issues
- If you encounter any bugs or issues while using TeXSmith, please report them.
- Suggesting features
- Have an idea for a new feature or improvement? We'd love to hear it!
- Submitting code changes
- If you'd like to contribute code, please fork the repository, make your changes, and submit a pull request. Make sure to follow the coding style and include tests for any new functionality.
- Improving documentation
- Help us keep the documentation up-to-date and comprehensive by suggesting edits or additions.
- Documentation priorities
- Check the Release Notes & Compatibility page and open issues to see which doc sections need attention when the engine evolves.
- Develop templates
- Create and share your own LaTeX templates for TeXSmith users to use.
TeXSmith is a newly developed project and is not ready for production use yet, but you can test it out and help us improve it.
Run the tests¶
TeXSmith parses and writes through TMark,
whose wheel is built from a checkout of that repository under vendor/tmark
([tool.uv.sources] points at it, and vendor/tmark is gitignored). You need a
Rust toolchain, because maturin builds the extension module:
git clone https://github.com/yves-chevallier/texsmith.git
cd texsmith
git clone --branch texsmith-migration \
https://github.com/yves-chevallier/tmark.git vendor/tmark
uv sync
uv run pytest
The CI workflows do exactly this, so a failure here is reproducible there.
Build the documentation locally¶
uv sync --group docs
uv run mkdocs serve
Test CI¶
To test the Continuous Integration (CI) using GitHub Actions, we need act installed on your local machine:
curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
git clone https://github.com/yves-chevallier/texsmith.git
cd texsmith
act -j build
This would require a lot of disk space, as it uses Docker containers to simulate the GitHub Actions environment. Select the medium size image when prompted.