Formatinator: An extensible publishing system
Formatinator: Rozšiřitelný publikační systém
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/202582Identifiers
Study Information System: 281403
Collections
- Kvalifikační práce [11987]
Author
Advisor
Referee
Majerech, Vladan
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in Systems Programming
Department
Department of Applied Mathematics
Date of defense
5. 9. 2025
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
zpracování dokumentů|sazba textu|Markdown|Python|Tree-SitterKeywords (English)
document processing|typesetting|Markdown|Python|Tree-SitterV této práci popisujeme Formatinator - značkovací jazyk založený na Markdownu a systém pro zpracování dokumentů, který přijímá tento jazyk jako vstup a produkuje do- kumenty v různých formátech. Systém je naimplementovaný v Pythonu, parser vstupního jazyka je vytvořen za pomoci nástroje Tree-Sitter. Také poskytuje několik způsobů, jak ho rozšířit, což umožňuje uživatelům systém upravit a přidávat do něj funkce. Navržený jazyk obsahuje syntaxi pro volání libovolných uživatelem dodaných funkcí, které mohou být použity pro generování částí dokumentů.
We present Formatinator, a markup language based on Markdown and a document processing system which takes input in this language and generates other document for- mats from it. The system is implemented in Python and the parser for the input language is created using the Tree-Sitter parser generator. Multiple mechanisms of extension are provided, allowing users to modify the system and add features to it. The language it- self contains syntax for calling arbitrary user-provided functions, which can be used for generating parts of the document.
