Dokumentace zkratek do zdrojáků #77
					 3 changed files with 91 additions and 2 deletions
				
			
		|  | @ -30,6 +30,7 @@ Dokumentace (jak v ``docs/``, tak přímo v kódu) je psaná ve | ||||||
|    zavislosti |    zavislosti | ||||||
|    sphinx |    sphinx | ||||||
|    skripty |    skripty | ||||||
|  |    zkratky | ||||||
|    modules/modules |    modules/modules | ||||||
|    dalsi_soubory |    dalsi_soubory | ||||||
|    zapisy/zapisy |    zapisy/zapisy | ||||||
|  |  | ||||||
|  | @ -1,13 +1,15 @@ | ||||||
| Sphinx na našem webu | Sphinx na našem webu | ||||||
| ==================== | ==================== | ||||||
| 
 | 
 | ||||||
| Dokumentace se zkompiluje příkazem ``make html`` ve složce ``doc``. | Dokumentace se zkompiluje příkazem ``make html`` ve složce ``docs``. (Musíte mít zapnutý virtualenv) | ||||||
| 
 | 
 | ||||||
| Složka ``modules`` je automaticiky generována a přegenerovávána. (**Nic v ní neupravovat!**) | Složka ``modules`` je automaticiky generována a přegenerovávána. (**Nic v ní neupravovat!**) | ||||||
| Jinak všechny rst, co jsou ve složce ``doc`` a jejích podsložkách nezačínajících podtržítkem, budou v dokumentaci a to je přesně to, co editovat pro změnu dokumentace (kromě dokumentace přímo v Pythonu). | Jinak všechny rst, co jsou ve složce ``docs`` a jejích podsložkách nezačínajících podtržítkem, budou v dokumentaci a to je přesně to, co editovat pro změnu dokumentace (kromě dokumentace přímo v Pythonu). | ||||||
| 
 | 
 | ||||||
| Sphinx se píše v rst: `Návod na syntaxi rst`_ `Cheat sheet`_ | Sphinx se píše v rst: `Návod na syntaxi rst`_ `Cheat sheet`_ | ||||||
| 
 | 
 | ||||||
|  | Pokud něco chcete protlačit do bočního meníčka, je potřeba to připsat do souboru ``docs/index.rst`` (Zatím není úplně konsensus nad tím, co tam má a nemá být, takže pokud si nejste jistí, cpěte tam *všechno* ☺) | ||||||
|  | 
 | ||||||
| To je snad vše, co je potřeba vědět k dokumentaci mamwebu. Následující sekce jsou o tom, co jsem provedl Sphinxu, aby to fungovalo: | To je snad vše, co je potřeba vědět k dokumentaci mamwebu. Následující sekce jsou o tom, co jsem provedl Sphinxu, aby to fungovalo: | ||||||
| 
 | 
 | ||||||
| .. _Návod na syntaxi rst: https://sphinx-tutorial.readthedocs.io/step-1/#sections | .. _Návod na syntaxi rst: https://sphinx-tutorial.readthedocs.io/step-1/#sections | ||||||
|  |  | ||||||
							
								
								
									
										86
									
								
								docs/zkratky.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								docs/zkratky.rst
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,86 @@ | ||||||
|  | Zkratky aplikací ve zdrojácích | ||||||
|  | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | ||||||
|  | 
 | ||||||
|  | Ve zdrojácích (zejména různé ``models.py``, ``views.py`` ap.) používáme spoustu | ||||||
|  | modelů. Někdy je praktičtější / někdo preferuje importovat celou aplikaci jako | ||||||
|  | jedno jméno a používat modely bez explicitních importů, tj:: | ||||||
|  | 
 | ||||||
|  |     # „hromadné“ importy: | ||||||
|  |     import personalni.models as p | ||||||
|  |     ... | ||||||
|  |     p.Organizator.objects.all() | ||||||
|  | 
 | ||||||
|  |     # „explicitní“ importy: | ||||||
|  |     from personalni.models import Organizator | ||||||
|  |     ... | ||||||
|  |     Organizator.objects.all() | ||||||
|  | 
 | ||||||
|  | Na webschůzce 2024-11-05 jsme na toto téma otevřeli diskusi, tady je její závěr. | ||||||
|  | 
 | ||||||
|  | .. admonition:: Historické okénko | ||||||
|  |    :class: note | ||||||
|  | 
 | ||||||
|  |    Kdysi jsme měli (prakticky) všechny modely v jedné aplikaci, ``seminar``. Na | ||||||
|  |    různých místech se pak ``seminar.models`` importovalo typicky jako ``s`` | ||||||
|  |    nebo jako ``m``. | ||||||
|  | 
 | ||||||
|  |    Přirozeně, toto už nejde tak snadno, protože už neexistuje jedno místo, ze | ||||||
|  |    kterého chceme tahat modely v kódu. | ||||||
|  | 
 | ||||||
|  | Konvence | ||||||
|  | ======== | ||||||
|  | 
 | ||||||
|  | Shodli jsme se, že nám rozhodně nevadí explicitní importy a z pohledu | ||||||
|  | čitelnosti je preferujeme. Nicméně při psaní kódu to některým webařům přijde | ||||||
|  | nepohodlné, takže očekáváme, že bude existovat spousta kódu, která bude chtít | ||||||
|  | importovat hromadně. Usnesli jsme se proto na následujících kanonických | ||||||
|  | zkratkách, aby se aplikace alespoň zkracovaly konzistentně. | ||||||
|  | 
 | ||||||
|  | V závorkách je uvedené případné jméno, ale nepředpokládáme, že někdo bude danou | ||||||
|  | aplikaci chtít importovat hromadně. Některé aplikace zkratku nemají, ty se | ||||||
|  | importují vždy pod plným jménem nebo explicitně. | ||||||
|  | 
 | ||||||
|  | .. list-table:: | ||||||
|  |    :header-rows: 1 | ||||||
|  | 
 | ||||||
|  |    * - Model | ||||||
|  |      - Zkratka | ||||||
|  |    * - ``aesop`` | ||||||
|  |      - --- | ||||||
|  |    * - ``api`` | ||||||
|  |      - --- (``api``) | ||||||
|  |    * - ``galerie`` | ||||||
|  |      - ``g`` | ||||||
|  |    * - ``header_fotky`` | ||||||
|  |      - --- (``hdr``) | ||||||
|  |    * - ``korektury`` | ||||||
|  |      - ``kor`` | ||||||
|  |    * - ``novinky`` | ||||||
|  |      - ``nov`` | ||||||
|  |    * - ``odevzdavatko`` | ||||||
|  |      - ``odev`` | ||||||
|  |    * - ``personální`` | ||||||
|  |      - ``pers``/``p`` | ||||||
|  |    * - ``sifrovacka`` | ||||||
|  |      - (``sifr``) | ||||||
|  |    * - ``soustredeni`` | ||||||
|  |      - ``sou`` | ||||||
|  |    * - ``treenode`` | ||||||
|  |      - ``tn`` | ||||||
|  |    * - ``tvorba`` | ||||||
|  |      - ``tv`` | ||||||
|  |    * - ``various`` | ||||||
|  |      - ``v``/``var`` | ||||||
|  |    * - ``vyroci`` | ||||||
|  |      - --- | ||||||
|  |    * - ``vysledkovky`` | ||||||
|  |      - ``vysl`` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .. admonition:: O všech modelech pod jedním jménem | ||||||
|  |    :class: warning | ||||||
|  | 
 | ||||||
|  |    Historické okénko výš zatajuje jeden detail: Při práci v shellu se hodí mít | ||||||
|  |    modely k dispozici a nemuset přemýšlet nad dělením do aplikací, takže ve | ||||||
|  |    skutečnosti existuje ``mamweb.vsechno``, jenž všechny modely obsahuje. | ||||||
|  |    Z čitelnostních důvodů je ale *zakázáno* tento modul používat v kódu. | ||||||
		Loading…
	
		Reference in a new issue