💾 Dáta Kockatého Kalendára
Ak chceš pridávať udalosti, máš dve základné možnosti:
- Preferovaná možnost: Pridať sa do data-contributors tímu, napríklad tak, že kontaktuješ niekoho z data-managers.
- Spraviť si fork a z neho spraviť pull-request.
To ti umožní pridávať zmeny nanečisto a vytvárať pull-requesty, ktoré potom niekto z data-managers skontroluje a zverejní.
Každá udalosť má svoj .yml súbor v priečinku data. Kalendáru v princípe nezáleží, kde sa tento súbor v priečinku nachádza, ale pre prehľadnosť sme zvolili takúto štruktúru:
- Priečinok
datamá podpriečinky, ktoré vyjadrujú školské roky (2020_21,2019_20...).- V priečinku školského roka sú ďalšie podpriečinky podľa typu udalosti (
prednasky,seminare,sutaze...).- V priečinku
seminare, má každý seminár vlastný podpriečinok (trojsten,P-MAT,Riesky...). Tieto podpriečinky si už spravujú jednotlivé semináre. - Priečinok
sutaze, sa tiež ďalej delí podľa toho o akú súťaž ide (MO,FO,IO,Zenit...).
- V priečinku
- V priečinku školského roka sú ďalšie podpriečinky podľa typu udalosti (
Priečinky školských rokov sa používajú na kontrolu správneho dátumu udalosti (pozri viac v časti Testovanie správnosti).
YML súbor udalosti má presne definovanú štruktúru, ktorá je zverejnená tu.
Užitočnejší ale pre teba bude príklad, ako sa používa.
Najjednoduchší spôsob, ako vyrobiť novú udalosť, je skopírovať si príklad (example.yml) alebo udalosť z minulého roka a zmeniť relevantné údaje.
- Na pridanie udalosti si musíš v gite vyrobiť novú vetvu ("branch", hlavná vetva
masterje totiž chránená). - Keď pridáš všetky potrebné udalosti, vo webovom rozhraní Githubu vyrob pull-request.
- Môžeš tiež v pravom stĺpci v sekcií Reviewers pridať niekoho z data-managers tímu, kto skotroluje a akceptuje zmeny (inak môže chvíľu trvať, kým si tvoj pull-request niekto všimne).
Každý organizátor má svoj .yml súbor v priečinku organizers. Kalendáru nezáleží, kde sa tento súbor v priečinku nachádza, ale zatiaľ ich dávame priamo do tohoto priečinku.
Taktiež v tomto priečinku môžu byť uložené logo a icon (malé logo) organizátora, na ktoré treba v .yml súbore uviesť relatívny odkaz.
Build nemusíš robiť, deje sa automaticky pri aktualizácií kalendára. Testy zároveň bežia pre každý pull-request, takže o prípadných chybách sa dozvieš. Ale môže to byť užitočné na nájdenie prípadných chýb skôr, než ich nahráš.
Najprv potrebuješ Python 3, pip a knižnice, ktoré nainštaluješ pomocou pip install -r requirements.txt.
Teraz môžeš zbuildiť výstupné súbory pomocou python build.py. Výstup sa objaví v priečinku build.
Ak chceš iba skontrolovať, či sú YML súbory správne, môžeš spustiť python build.py --dry.
build.py má zopár ďalších nastavení súvisiacich s testovaním, tie si môžeš pozrieť pomocou python build.py -h.
Ak používaš Visual Studio Code na úpravu dát, odporúčame si nainštalovať YAML extension. Potom v nastaveniach projektu (.vscode/settings.json) môžeš zadefinovať, že chceš používať schému a aktivuješ si tak autocomplete:
{
"yaml.schemas": {
"./schemas/event.schema.json": ["/data/*.yaml", "/data/*.yml"],
"./schemas/organizers.schema.json": ["/organizers/*.yaml", "/organizers/*.yml"],
}
}