Website of the Czech PyLadies chapter / Web českých PyLadies.
Pokud je kontrolka zelená, povedlo se dostat poslední změny z větve master
do ostrého provozu. Má-li jinou barvu, stala se někde po cestě chyba.
- Kód: MIT
- Materiály: CC-BY-SA 4.0
Obecně
Editace HTML
Nastavení aktuálních kurzů na úvodní stránce
Nastavení informací o aktuálním kurzu na stránce materiálů
Stav kurzu - probrané a neprobrané lekce
Stav kurzu - vytvoření plánu kurzu či přesun lekcí v kurzu
Stránky jsou generované ze šablon Jinja2 v adresáři templates
.
Zatím je to hlavně na hlavičky a patičky, časem můžeme použít víc
šablonových vychytávek (dědičnost, makra), ať je v tom trochu pořádek.
Soubory jako obrázky, fonty, CSS, JS jsou v static
.
Původní stránky jsou v original
; podadresář v1
obsahuje kurz a musí
být zveřejněn na stejných URL jako předtím.
V course
snad časem bude kurz převedený do ReST dokumentace.
V plans
jsou data pro seznamy lekcí. Mění se tu datumy, probrané/neprobrané lekce, přesun témat.
Celé dohromady to spojuje pyladies_cz.py
; tady se např. přidávají nové
podstránky.
$ python -m pip install -r requirements.txt
$ python pyladies_cz.py serve
Stránky se zpřístupní na adrese http://127.0.0.1:8003/
.
Změny v kódu se projeví po obnovení stránky v prohlížeči.
- Soubory html jsou ve složce
templates
- Úprava hlavičky webu, hlavního menu a patičky stránky v souboru
templates/layout.html
- CSS soubory sa nacházejí v
static/css
- Obrázky se nacházejí v
static/img
- Přiřazování obrázků
src="{{ pathto('_static/img/{subfolder}/{image}', 1) }}"
(Tohle je pro spuštění „ostré” verze webu; většinou to nebudeš potřebovat)
Tento příkaz vytvoří v adresáři _build
statické stránky k nasazení na webový server.:
$ python pyladies_cz.py freeze
Nezapomeň vždy změnit {{ pathto('mesto') }} pro dané město!
- kurz, který právě běží. Ikonka - obrázek pylady.png. Kód:
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 course-i">
<div class="py-icon">
<img src="{{ pathto('_static/img/icon/pylady.png', 1) }}" class="py-icon-i" />
</div>
<div class="py-block pull-left">
<a href="{{ pathto('praha') }}"><h4 class="city-heading">Praha - začátečnický kurz</h4>
<p class="city-info">01.01. - 31.04. 2016</p>
<p class="city-address">
<a href="https://www.google.cz/maps/place/Florentinum/@50.0888957,14.4353417,15z/data=!4m2!3m1!1s0x0:0x90e42b8069106734" target="new">Na Florenci 2116/15, 110 00</a>
</p>
</div>
</div>
- kurz, který právě nebeží a není spuštěná registrace. Ikonka - obrázek pylady-grey.png. Kód:
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 course-i">
<div class="py-icon">
<img src="{{ pathto('_static/img/icon/pylady-grey.png', 1) }}" class="py-icon-i" />
</div>
<div class="py-block pull-left">
<a href="{{ pathto('brno') }}"><h4 class="city-heading">Brno - začátečnický kurz</h4>
<p class="city-info">Kurz právě neprobíhá.</p>
<p class="city-address">
<a href="mailto: [email protected]">Napiš nám.</a>
</p>
</div>
</div>
- kurz, který právě nebeží, ale je spuštěná registrace. Ikonka - obrázek pylady-blue.png. Kód:
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 course-i">
<div class="py-icon">
<img src="{{ pathto('_static/img/icon/pylady-blue.png', 1) }}" class="py-icon-i" />
</div>
<div class="py-block pull-left">
<a href="{{ pathto('ostrava') }}"><h4 class="city-heading">Ostrava - začátečnický kurz</h4>
<p class="city-info">Proběhne od 01.01. - 31.04. 2016</p>
<p class="city-address">
<a href="#">Registrační formulář</a>
</p>
</div>
</div>
- Banner na úvodní stránce - 1500px × 655px
- Banner v detailu měst - 1850px × 400px
- Fotky - detail města - 1920px × 1278px
Změna obrázků podle měst v banerech
Obrázky jsou definované v CSS. Pro každé město je společná třída intro=city, s tím, že obrázek pro každé město se změní v třídě intro-city-{city-name}. (Příklad třídy: intro-city-praha).
- Aktivní kurz (př. v sekci
Started course Prague
v souborutemplates/praha.html
) - Neaktivní kurz (př. v sekci
Started course Brno
v souborutemplates/brno.html
)
- Probraná lekce
done: true
- Neprobraná lekce
done: false
Ukázka pro probranou a neprobranou lekci na webu:
Stav kurzu - vytvoření plánu kurzu či přesun lekcí v kurzu (stránka materiálů kurzu v souboru plans/praha.yml
)
Každé město může mít vlastní plán kurzu. Případně navíc speciální lekce.
- name: Seznamy
date: 2016-11-14
done: true
materials:
- name: Turnaj v piškvorkách
type: special
- name: Seznamy
type: lesson
link: v1/s006-lists/lists2.html
- name: N-tice
type: lesson
link: v1/s006-lists/tuples.html
- name: Tahák na seznamy
type: handout
link: https://github.com/pyvec/cheatsheets/raw/master/lists/lists-cs.pdf
- name: Domácí projekty (PDF)
type: homework
link: v1/s006-lists/handout/handout6.pdf
- name: Celý kód na hru z lekce o seznamech
type: link
link: v1/cele-kody/seznamy.py
Ukázka pro domluvené speciální lekce nad rámec běžného výkladu (např. z odboček)- probrané a neprobrané:
- name: Vánoční speciál
date: 2016-12-19
done: true
materials:
- name: MicroPython a světýlka
type: special-lesson
- name: Relační databáze (SQLite a SQLAlchemy)
date: 2016-01-02
done: false
materials:
- name: Relační databáze
type: special-lesson
Každé město má vlastní stránku s aktuálními a proběhlými kurzy. Dříve či později se z toho stane taková kronika.
V meetupech lze nastavit:
name: jméno akce
topic: téma akce
start a end: datum ve formátu 2017-02-13
, pokud má akce pevný termín od do
date: jednodenní akce
time: čas od do, případně i den v týdnu
place: místo, kde sraz probíhá (pokud je víc srazů v jednom místě, dá se v YAMLu místo nasdílet dalším srazům, viz ukázky v těch YAML souborech)
- name: jméno
- address: adresa
- latitude, longitude: mapové souřadnice
- url: odkaz (chybí-li, ukáže se odkaz na mapu podle latitude/longitude)
registration:
- url: odkaz na registrační formulář
- end: konec registrace (dá se vynechat, pokud je registrace vždy aktuální, třeba u opakujících se srazů)
- text: text, který se objeví v odkazu (místo "Registrace právě probíhá!")
Ukázky variant kurzu (dají se kombinovat):
** Kurz má jasný start a konec, místo, čas registraci**
- name: Začátečnický kurz <br> Jarní pondělí 2017
start: 2017-02-27
end: 2017-05-29
time: pondělky 18:00 – 20:00
place:
name: Odbor školství
address: Cejl 73, Brno
latitude: '49.1992294'
longitude: '16.6235206'
registration:
url: <tady_bude_adresa>
end: 2017-02-19
** Kurz je jednodenní a má například téma**
- name: Lednový PyWorking <br> meetup pro pokročilé začátečníky
topic: Django Polls
date: 2017-01-28
time: 9:00 - 17:30
place:
name: MSD IT (Riverview)
address: Svornosti 3321/2, Praha 5
latitude: '50.0670442'
** Jsou to pravidelné srazy**
- name: Advanced PyLadies & PyWorking Praha <br> pokročilé a doučovací srazy
time: pondělky ve 14 denních intervalech, 18:00 - 20:00
registration:
url: <tady_bude_adresa>