Staré stránky již klepaly bačkorama, tak jsem se vrhnul na nové a po pár letech vzniklo toto. Začal jsem v první roce nástupu na MUNI FI bakaláře, kdy jsem neznal ani PHP ani Javascript (popravdě jsem ani nevěděl, že je to něco jiného než Java), takže to podle toho taky občas vypadá. Ale s plynoucímy roky, nepočítaně hodin a nikdy nekončícím refaktoringem už to nějak funguje. :D
Veškeré připomínky, návrhy a nalezené chyby pište zde do Issues.
pokud nemáte rádi internety a i tak byste rádi dali zpětnou vazbu nebo něco nefunguje podle vašich představ, tak otakar.hirs@gmail.com
budeš potřebovat Linux a nainstalován Docker
-
naklonovat repozitář
git clone https://github.com/otahirs/zbm_web.git
cd zbm_web
-
sestavit a spustit docker image
docker build -t zbm_web_img --build-arg USER_ID=$(id -u) .
docker run --name zbm_web -d -p 8000:80 -v $(pwd):/var/www/html/user:Z zbm_web_img
-
na
localhost:8000
beží web, stačí upravovat soubory v lokálním naklonovaném repozitáři.
pro přihlášení do /auth (editorská sekce) nebo /admin (Grav admin sekce) se jde přihlásit pomocí:
jméno:test
heslo:Test1234
-
commitnuté změny poslat jako merge request na
dev
branch
Postavené nad flat-file CMS Grav https://getgrav.org/.
Stránky jsou ve složce pages
.
Data k událostem, novinkám,.. se nachází v pages/data
.
Web se automaticky synchronizuje s master větví.
dokumentace ke gravu -> https://learn.getgrav.org/
Každá stránka se zkládá z hlavičky (header/frontmatter
) obsahující "databázová" data zapsané v YAML a z vlastního obsahu (content
). Stránka události může vypadat nějak takto:
---
title: 'mapový trénink'
place: Žebětín
---
Ahoj, já se vykreslím na stránce.
jsem událost nazvaná {{page.header.title}} a konám se zde {{page.header.place}}.
Stránky jako novinky a události však obsahují většinou pouze YAML data a vykreslují se až následně pomocí šablon (šablona pomocí které se vykresluje se vybírá dle názvu souboru) nebo se sesbírají data z hlaviček do kolekcí a ty se pak vykreslí např na domovské stránce.
Na vykreslování stránek a šalon se používá trochu víc fancy PHP aka Twig.
Občas bylo třeba zašpinit si ruce vlastním PHP kódem, ten se nachází zde.
- kešování je vynuto
test
účet místo běžných uživatelských účtů- nenastavena synchronizace s gitem a spojení na mailový server