-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactoring maker #100
base: master
Are you sure you want to change the base?
Refactoring maker #100
Conversation
Pěkné.
|
Nemám tušení a nijak jsem to neřešil, vzhledem k tomu, že to vypadá, že grafické testy už nějakou dobu nejedou. Nicméně pravděpodobně neprojdou, protože jim budou chybět soubory. Pokud by se ta PDF povedla přeložit, tak by asi vypadala stejně, protože jde hlavně o funkční změny.
Ono se to dost pravděpodobně přeloží, hlavní problém je v tom, že se postupem času ve fksmeta a ostatních nahromadily věci, které ovlivňují samotný obsah finálního PDF (např. licence, patička, text v hlavičce, maketitle...), takže staré dokumenty by mohly vypadat jinak i za použití stejného zdrojáku.
Definice plánuju mít přímo v repozitáři, tedy když se mezi ročníky změní texty nebo vzhled, tak to neovlivní staré repozitáře. |
Refaktoring prakticky celý maker, v podstatě s jedinou výjimkou:
fkssugar
. Kromě toho je všechno přepsaný.Hlavní motivace:
Aktuální systém obsahuje "konfigurační soubory":
<package_name>.def
soubory, které TeX najde s pomocí určeníTEXINPUTS
. Pomocí těchto souborů je možné měnit příkazyfks<pkg>@<variable>
, které se následně používají v příkazech. Zároveň se loadují i jazykové varianty "..def", které obsahují redefinice pro daný jazyk. Změna v překladu, stylu, obsahu či přidání jazyka je teď jen otázka přidání či upravení pár konfiguračních souborů.Zároveň konfigurační soubory budou žít společně s repozitářem ročníku, tedy pokud v makrech nenastanou nějaké velké změny, které by rozbily redefinice, může mít každý ročník jiný design, patičky, název semináře, whatever, a bude to zpětně kompatibilní.
Taky tento přístup umožňuje znovupoužitelnost pro jiné semináře/soutěže: stačí přepsat config a seminář/soutěž tam má všechny své věci. Tímto taky i odpadá class option semináře, všechno je na tom nezávislé a může se změnit v konfigurácích.
Věci na dodělání
vyfuk
/fykos
class options)\deadline
a\deadlineS
->\deadlineUpload
a\deadlinePost
)