Convert files into other formats, using the organization identity of Fachschaft Computerlinguistik.
This app uses the universal document converter **[Pandoc](https://pandoc.org/)** and the PDF converter **[WeasyPrint](https://weasyprint.org/)**. Both are excellent pieces of software and to almost all heavy lifting in this app. If you ever need to do some document conversion yourself, you will likely not need the Coliverter, and instead just use the dependencies directly.
This app uses the universal document converter **[Pandoc](https://pandoc.org/)** and the PDF converter **[WeasyPrint](https://weasyprint.org/)**. Both are excellent pieces of software and do almost all heavy lifting in this app. If you ever need to do some document conversion yourself, you will likely not need the Coliverter, and instead just use the dependencies directly.
## Why Coliverter?
-**If your Markdown files contain Emoji or other special Unicode**: Pandoc's Markdown-to-PDF converter uses LaTeX for elegant results, but sadly this also makes it quite bad at processing emoji.
-**If you want to use the Fachschaft Computerlinguistik styles**: Those are integrated in the Coliverter, so that every file converted with it also looks like it was produced by the Fachschaft.
-**If you want to generate commitment certifications (“Engagementbescheinigungen”)**: Coliverter has templates, can sign them cryptographically etc.
### Showcase
@@ -44,11 +45,27 @@ If you use `uv`, this should work out of the box (replace the paths as desired):
If you want to generate a commitment certification, you first need to create a JSON file containing all the required data. See the `examples/` folder for details. After that, it works just as expected:
You can add new types of commitment certifications by completing the following steps:
1. Add a new template in the [`coliverter.resources.templates.commitment_certification`](./src/coliverter/resources/templates/commitment_certification) package.
2. Reference the template in [`coliverter.certifications.ColiCertification`](./src/coliverter/certifications/ColiCertification.py).
For more details, you can roughly follow the [documentation of Schwalbe PDF generator](https://gitlab.com/schwalbe-hd/pdf-generator/-/blob/master/docs/add_certification_type.md?ref_type=heads)(you will need to adapt paths, but other than that, the documentation should be mostly applicable to the Coliverter as well).