API¶
Všeobecne platí, že Open Web Calendar je používaný bez obmedzenia. Toto API môžete použiť na prispôsobenie kalendára na letáku.
Táto časť môže byť použitá, ak jeden z nich platí:
- Ste web developer, ktorý chce vložiť Open Web Calendar.
- Chcete využiť plnú flexibilitu, nie len to, čo je vystavené na stránke konfigurácie.
- Chcete používať JavaScript dynamicky generovať dizajn kalendára a možnosti.
- Chcete rozšíriť funkčnosť Open Web Calendar.
- Chcete použiť Open Web Calendar ako proxy požiadať JSON udalosti pre vaše vlastné akcie krmivo.
Endpointy¶
Základné parametre sú rovnaké v týchto bodoch:
/index.html
- upraviť kalendár/about.html
- zobraziť stránku/calendar.html
- zobraziť kalendár/calendar.spec
- stiahnuť špecifikácie/calendar.ics
- prihlásiť sa k súboru ics/calendar.json
- informácie o kalendári a jeho obsahu vo formáte JSON/calendar.events.json
- FLEXIBLE - dostať udalosti ako JSON Upozorňujeme, že to môžete použiť, ale nemôžete si byť istí, že JSON schema zostáva rovnaký. Ak to chcete, pridajte testy.
Pre súbor /calendar.events.json
sú potrebné ďalšie parametre:
timezone=UTC
- časové pásmo, ktoré musíte zobraziť udalosti vod=YYYYYY-MM-DD
- začiatok obdobia, v ktorom sa udalosti stávajú (inclusive)to=YYYYY-MM-DD
- koniec obdobia, v ktorom sa udalosti stávajú (exkluzívne)
Parametry¶
Všetky parametre konfigurácie sú dostatočne opísané v [predvolené_specification]. To je odkaz. E.g. Ak nájdete parameter title
v [predvolené_specification], máte niekoľko možností:
Zmena titulu v kalóriu parameter:
/index.html?title=calendar
Zmena titulu v špecifikácie YAML:
title: calendar
Zmena titulu v špecifikácie JSON:
{
"title": "calendar"
}
Dodržiavanie špecifikácie¶
Správanie a vzhľad kalendára môžete zmeniť pomocou parametrov. Ak je rovnaký parameter zadaný na rôznych miestach, najvyššiu prioritu má skoršie miesto uvedené nižšie. Toto sú miesta na zadanie parametrov:
Parametre dopytu¶
Všetky parametre URL adresy kalendára sú zadané do špecifikácie. Parametre dopytu majú najvyššiu prioritu.
Príklady:
index.html?language=de
calendar.html?title=CALENDAR
specification_url¶
Ak zadáte tento parameter dopytu, konfigurácia editora sa načíta aj z tejto adresy URL. Parametre dopytu sú stále dôležitejšie ako to, čo je zapísané v tomto súbore. Zdrojový formát môže byť YAML alebo JSON.
Príklady:
calendar.html?specification_url=https://github.com/niccokunzmann/open-web-calendar/raw/master/open_web_calendar/default_specification.yml
open_web_calendar.app.DEFAULT_SPECIFICATION¶
Toto je určené pre vývojárov a interných používateľov Pythonu.
from open_web_calendar.app import DEFAULT_SPECIFICATION
DEFAULT_SPECIFICATION['title'] = 'calendar'
OWC_SPECIFICATION¶
Toto je voliteľná premenná prostredia. Viac informácií o nej nájdete v dokumente Konfigurácia servera.
default_specification¶
Tento súbor obsahuje predvolené parametre. Nesmú byť pevne zakódované v zdrojovom kóde. Všetky parametre sú tam uvedené a zdokumentované, takže tento súbor možno použiť ako referenciu. Tento súbor neupravujte, namiesto toho použite premennú prostredia OWC_SPECIFICATION
.
Pridávanie parametrov¶
Ak pridáte nový parameter ako vývojár:
- Pridajte parameter s predvolenou hodnotou [predvolené_specification]
- Pridajte implementáciu, v závislosti od jeho použitia v
app.py
alebo šablóny JavaScriptových súborov. Špecifikácia je už k dispozícii vo všetkých z nich použiť. - Pridajte testy do súboru features/configure-the-calendar.feature, aby ste overili, či kalendár reaguje na danú funkciu.
- Pridajte testy do features/edit-the-calendar.feature, aby ste sa uistili, že parameter je možné použiť pri úprave kalendára.
Špecifikácia v kalendári¶
app.py skompiluje špecifikáciu z daných parametrov v get_specification()
. V template môžete pristupovať k špecifikácii prostredníctvom premennej specification
. Špecifikácia je k dispozícii pre JavaScript ako premenná specification
.
Pozri tiež:
Špecifikácia v sekcii Index¶
Predvolená špecifikácia je k dispozícii pred vytvorením kalendára pomocou JavaScriptu v premennej configuration.default_specification
. Existuje funkcia getSpecification(), ktorá vytvorí špecifikáciu zo vstupov. Vo všeobecnosti by sa mala použiť premenná specification
.
Architektúra¶
Nižšie nájdete obrázok architektúry.
Základ kalendára je špecifikácia, vzhľadom na rôzne formy. Táto špecifikácia ovplyvňuje všetky kroky.
Po zostavení špecifikácie, kalendár (ics) súbory sú stiahnuté z miest na internete.
Z kalendárových súborov sa vygenerujú udalosti.
Potom sa vyberajú rôzne názory na zobrazenie udalostí.
Na konci, tieto vedú k HTML a štýlu zmeny webovej stránky kalendára.
V skutočnej aplikácii sú tieto kroky trochu zmiešané a neobjednané alebo vynechané, ale to vysvetľuje jednoducho základnú, počiatočnú myšlienku za spracovanie udalostí.