6994db438b
Vyrábí odkazy, které vedou na poslání mailu. Psal jsem to spíš po paměti, nejsem si jistý, že to takhle je přesně podle příslušného RFC, ale jako PoC dobrý a když to nebude fungovat, tak se implementace opraví. Všimněte si, že to je otestované, takže když někdo opraví testy (=předpis chování), tak je pak snadné z diffu a všeho odvodit úpravu. V Django dokumentaci se píše něco o tom, že by se měl použít spíš `format_html` a `conditional_escape`, ale zatím jsem to víc nezkoumal. Je žádoucí z tagu {% maillink %} odddělit i tag {% mailurl %}, který by vracel samotnou URL. Obojí dává smysl umět (speciálně bastlení odkazů z URL je stejně strašně nepřehledné, takže je lepší to zavřít do {% maillink %} a nikdy nevidět), ale zatím to oddělené není… (Ale jsou na to testy, takže by se mělo aspoň dát poznat, že rozdělení nerozbije chování.) |
||
---|---|---|
_git_hooks | ||
aesop | ||
api | ||
data | ||
deploy_v2 | ||
docs | ||
galerie | ||
header_fotky | ||
ilustrace_odmeny | ||
korektury | ||
make | ||
mamweb | ||
odevzdavatko | ||
personalni | ||
prednasky | ||
seminar | ||
setup | ||
soustredeni | ||
treenode | ||
various | ||
vue_frontend | ||
vysledkovky | ||
.editorconfig | ||
.gitignore | ||
checklinks.sh | ||
constraints.txt | ||
convert_spaces_to_tabs.sh | ||
diff_db_backup.sh | ||
fix_json.py | ||
Makefile | ||
manage.py | ||
README.md | ||
requirements.txt |
Web M&M
Tohle je repozitář s kódem M&Mího webu. Pokud zde hledáte web samotný nebo informace o semináři, najdete je na https://mam.matfyz.cz (a upřímně nechápu, jak jste se dostali k tomuhle textu :-D)
Pokud jste tu zůstali, tak vás beztak zajímá vývoj webu (a jestli ne, tak budeme rádi, když začne :-)).
Co je M&Mweb uvnitř
Celý náš web je napsaný v Pythonu ve frameworku Django. Web běží na serveru zvaném Gimli, jako databázi používá PostgreSQL (pro lokální vývoj naopak SQLite) a všechen náš kód je uložený v Gitu na téhle gitee. Pro dokumentaci používáme Sphinx.
Jak si web pořídit
Prosím přečti si podrobnější návod v <docs/vyvoj.rst> (tady by bylo zbytečné ho duplikovat).
Jak web vyvíjet
Na webu je mnoho věcí k dělání, některé ani nevyžadují kódění (třeba uhánění orgů, aby si psali medailonky, aktualizace fotek, …), některé se naopak týkají infrastruktury pod kódem (Gitea, Gimli, …). Je proto těžké mít na to úplně obecný návod, tak tady je zhruba návod na úpravy kódu a pokud se něco z toho nedá aplikovat, tak to prostě zkus nějak udělat jinak, po svém. (Omlouvám se neinformatikům, ale líp to teď nesepíšu :-))
- Nejprve si stáhni repozitář a rozběhni si lokální web u sebe (viz <docs/vyvoj.rst>).
- Najdi si problém v Kanboardu (klikni na „Issues“ na Gitee) a/nebo se domluv s webaři, na čem bys tak mohl/a pracovat.
- Najdi místo, kde se to dá opravit a zkus to tam opravit. Uznávám, že tenhle bod je otravně obecný, pokud tápeš, zkus se zeptat zkušenějších webařů nebo podívat do dokumentace.
- Vyzkoušej, že ti to lokálně funguje tak, jak má.
- Zvládneš-li a máš-li čas, zkus to i zdokumentovat a/nebo napsat testy (TODO: chybí návod)
- Po dohodě s webaři to vyzkoušej na testwebu
- Pošli pull-request a případně zkus reagovat na komentáře
- Až se změna začlení do hlavní větve (
master
) a nasadí se web na produkci, můžeš mít radost, že se web bude používat lépe Tobě i ostatním orgům :-)
Proč pull-requesty?
Účelů pull-requestů je několik. Jednak doufáme, že pomůže webařům se orientovat v kódu, jednak tím umožňujeme dělat experimenty a dávat si zpětnou vazbu. V neposlední řadě pomáhají držet aspoň trochu konzistentní kód, což má pomoci pohodě při programování… (A asi jsem na něco zapomněl :-))