Extension:EasyTimeline/syntax
Funkce EasyTimeline vytváří vložený obrázek z wikitextu. Obrázek může být jednorozměrný diagram (horizontálně nebo vertikálně), nebo dvourozměrný. Název "EasyTimeline" odkazuje na možnost aplikovat funkci s časovou osou horizontálně nebo vertikálně, případně s jiným parametrem v opačném směru, ale existují i různé další možnosti.
Úvod
Grafické časové osy lze vytvořit poskytnutím skriptu mezi speciálními značkami:
<timeline>
skript
</timeline>
EasyTimeline pak bude vyvolána k vykreslení obrázku PNG a (volitelně) klikací mapy.
Odmítnutí odpovědnosti: Přestože je EasyTimeline navržena pro snadné použití, komplikovaná grafická časová osa není triviální záležitostí. Sestavení jednoduché časové osy může trvat půl hodiny (nebo i déle, když se za základ vezme vhodný příklad). Velké časové osy mohou trvat několik hodin, než kompozice a doladění. Přidání nebo oprava časové osy, bez ohledu na to, jak je složitá, by však měla být poměrně jednoduchá záležitost, a to i pro přispěvatele, kteří nemají žádné odborné znalosti zde popsané syntaxe.
Neváhejte a požádejte o radu autora EasyTimeline.
Dostupné příkazy
Skriptovací příkazy řeší:
- Celkové rozložení: ImageSize, PlotArea, Colors, BackgroundColors, AlignBars
- Interpretace a prezentace dat a období: DateFormat, Period, ScaleMajor, ScaleMinor, TimeAxis
- Zkratky pro části kódu skriptu, které se vyskytují vícekrát: Define
- Jak seřadit, rozdělit a pojmenovat skupiny událostí a období: BarData, Legend, LineData
- Události, období a popisné texty: PlotData, TextData
Obecná pravidla kódu
Kód může obsahovat příkazy a komentáře. Za každým příkazem následuje jeden a více atributů.
Psaní kódu: Příkazy a jejich atributy mohou být psány malým i velkým písmem. Při psaní se snažte důsledně dodržovat zvolený zápis, protože to zlepšuje čitelnost kódu. Např. pro všechny příkazy používejte malá písmena a pro názvy atributů velká.
Toto jsou povinné příkazy:
- ImageSize, vymezuje velikost bitmapového obrázku grafu
- PlotArea, vymezuje okraje
- Period, vymezuje rozsah časové osy zachycené do grafu
- TimeAxis, určuje orientaci časové osy (horizontální/vertikální)
Následující příkazy musí být rovněž uvedeny, ale mohou se v rámci jednoho grafu použít i víckrát:
Všechny ostatní příkazy jsou nepovinné.
Komentáře
Lze zadat jednořádkové a víceřádkové komentáře:
- Text začínající znakem
#
bude považován za jednořádkový komentář - Text mezi řetězci
#>
a<#
bude rovněž považován za komentář, který však může zahrnovat i více řádků.
Příklady:
DateFormat = dd/mm/yyyy # European date format Period = from:01/09/1939 till:02/09/1945 #> this chart will show the complete duration of World War II <#
Příkazy
Příkazy by měly začínat na první pozici řádku.
Za některými příkazy může následovat více řádků dat a nebo voleb. Tyto další řádky by měly začínat alespoň jednou mezerou nebo by měly být zcela prázdné (druhá možnost je užitečná pro vizuální seskupování souvisejících datových řádků).
Příkazy mají jednu z následujících forem v závislosti na typu příkazu:
Příkaz = atribut(y)
DateFormat = dd/mm/yyyy
Název příkazu = atribut(y)
Define $US = text:"United States"
Příkaz =
- atribut(y)
- atribut(y)
- atd.
PlotData = fontsize:XS width:20 bar:Japan from:start till:19/02/1945 color:JT bar:Japan from:19/02/1945 till:14/03/1945 color:AI
Atributy
Pokud lze pro určitý příkaz zadat několik atributů, jsou označeny jako dvojice 'název:hodnota'. Pokud lze pro jeden atribut zadat několik hodnot, musí být uvedeny v závorkách. Několik příkazů, například Color, používá jiné formáty.
Příklady:
BackgroundColors = bars:darkgrey PlotData = at:5 shift:(10, -7) text:Foo Color SB = value:rgb(0.8,0,0.7) legend:Sea_Battles
Parametry vs datové položky
Většina příkazů přijímá pouze atributy, které jsou uvedeny na stejném řádku.
- Datové bloky
- Některé příkazy, jako BarData, PlotData, TextData, Colors očekávají blok dat skládající se z jednoho nebo více ' 'datové linky. Datové řádky by měly začínat jednou nebo více mezerami. Datový blok je považován za úplný, když je nalezen řádek začínající mezerou (výjimka: prázdné řádky jsou ignorovány, lze je použít k seskupení souvisejících datových řádků v rámci bloku).
- Atributy v datovém bloku lze koncepčně rozdělit na parametry a datové položky. Datové bloky mohou obsahovat parametry a datové položky promíchané.
- Datové položky
- V datových řádcích se atributy text, from, till a at vždy vztahují pouze na řádek, ve kterém se vyskytují.
- Parametry
- V datových řádcích mají atributy jako barva a velikost písma různé důsledky v závislosti na kontextu. Pokud se tyto parametry vyskytují na řádku bez datových položek, nastaví nové výchozí hodnoty pro datové řádky, které následují. Pokud se objeví na řádku smíšeném s datovými položkami, použijí se pouze na tento řádek, čímž převáží výchozí nastavení, které bylo nastaveno dříve.
Příklad:
# In this example two sets of bars are drawn, in red and blue respectively, # but in each set one bar (marking war periods) will be drawn in green. PlotData = color:red fontsize:S # set defaults bar:USSR from:1919 till:1922 text:Lenin # red bar bar:USSR from:1922 till:1953 text:Stalin # red bar bar:USSR from:1939 till:1945 text:WWII color:green # green bar bar:USSR from:1953 till:1964 text:Krushchev # red bar color:blue # change default color bar:US from:1913 till:1921 text:Wilson # blue bar bar:US from:1917 till:1918 text:WWI color:green # green bar bar:US from:1921 till:1923 text:Harding # blue bar #> this multiline comment does not end command PlotData, even when the previous line does not start with a space<# bar:US from:1923 till:1929 text:Coolidge # blue bar TextData = # now PlotData is considered complete tabs:...etc
Pravidla pro zadávání atributových dat
Rozměry
Rozměry mohou být nastaveny buď v absolutních, nebo relativních mírách, specifikovaných v rámci atributů, a vždy závisí na velikosti obrázku. U atributů, které používají souřadnice(koordináty), na prvním místě se vždy uvádí horizontální rozměr, odměřený zleva doprava, jako druhý vertikální, měřený od horizontální osy směrem nahoru.
Absolutní míry
Mohou být použity pro specifikaci celkových velikostí obrazu, pozic a polohových posunů. Hodnotu lze specifikovat v pixelech (px), palcích (in) nebo centimetrech (cm) připojením postfixované jednotky k hodnotě. Hodnoty mohou mít desetinná místa.
Příklad:
PlotArea = left:50 bottom:50 right:50 top:90
Následující absolutní míry jsou ekvivalentní:
800px
800
- výchozí jednotkou je pixel8in
- za předpokladu rozlišení displeje 100 pixelů na palec3.15cm
- za předpokladu stejného rozlišení displeje, převedeného na centimetry)
Relativní míry
Relativní míry lze používat pro nastavení velikostí a pozic, vycházejících z absolutní velikosti obrázku. Nelze je použít pro nastavení celkové velikosti obrázku (viz ImageSize), ale můžou být použity pro nastavení PlotArea.
Pro horizontální míry, nastavené v procentech, je výchozí šířka obrázku a pro vertikální jeho výška.
Uvádějte je vždy jako číslo v rozmezí od 0 do 100, bezprostředně následované znakem %
(procento).
Příklad:
PlotArea = left:10% bottom:5% right:5% top:15%
Zadávání textu
Zadávání textu podléhá několika pravidlům:
- Pro vykreslování písem je povolena pouze podmnožina Unicode, ale Unicode v odkazech by měl fungovat pro všechny znaky. Viz také Podpora písem.
- Pokud má text obsahovat mezery, buď je specifikujte pomocí podtržítek (
_
) nebo umístěte text mezi "dvojité uvozovky".- Výjimka: Když je atribut text posledním atributem na řádku, jsou povoleny mezery (nedojde k záměně tam, kde končí text a začíná další atribut, tedy přesněji, když se v textu nevyskytují dvojtečky).
- V datových řádcích za příkazem TextData mají dva znaky zvláštní význam:
^
(stříška) znamená tabulátor~
(tilda) znamená nový řádek
Příklad: (všechny následující jsou ekvivalentní)
BarData = text:Japanese_mandate_since_1914 bar:Marshalls BarData = text:"Japanese mandate since 1914" bar:Marshalls BarData = bar:Marshalls text:Japanese mandate since 1914
Příklad zobrazení tabulek:
TextData =
tabs:(4-right,12-right,14-left,34-left)
text:^1^1940^27/9^Berlin Ger,It,Jap sign Tripartite Pact
text:^10^1944^1-22/7^Bretton Woods 44 nations establish
text:^^^^^IMF and World Bank
# will be shown as:
#
# 1 27/9 Berlin Ger,It,Jap sign Tripartite Pact
# 10 1-22/7 Bretton Woods 44 nations establish
# IMF and World Bank
Mapy s možností kliknutí
Oba výstupní formáty dostupné v MediaWiki, tedy PNG a SVG, mohou obsahovat klikací odkazy. Na texty zobrazené modře a pruhy lze poté kliknout a přejít na jinou webovou stránku.
Odkazy lze zadat pomocí příkazů BarData, PlotData a TextData, buď s atributem link, nebo jako vložené odkazy, pomocí atributu text' '.
Vložené odkazy
Vložené odkazy jsou odkazy, které jsou (součástí) zobrazitelného textu, specifikovaného atributem text. Jejich protějškem jsou explicitní odkazy (pouze URL), které jsou definovány atributem link.
Oba typy odkazů lze zadat pomocí příkazů BarData, PlotData a TextData a používají se pro klikací mapy.
Ve vložených odkazech je styl interního odkazu jako obvykle, styl odkazu interwiki nefunguje, styl externího odkazu je jako obvykle s jednoduchými závorkami, ale zde s čárou místo mezery.
Příklady:
text:example [[Help:Link]] internal link
bude zobrazeno jako:
text:[[Help:Link|Link]]
bude zobrazeno jako:
text:[http://en.wikipedia.org/wiki/Rembrandt|Rembrandt van Rijn] paints Night Watch
bude zobrazeno jako:
Použití interwiki
Pokus o použití stylu interwiki odkazu:
text:[[en:Main Page]]
a podobně s nl: a m: dává:
Třetí na Meta-Wikipedii funguje správně, kromě samotné Meta, ostatní odkazy fungují jako Main Page (interní stránka, prefix je ignorován) nebo např. //www.mediawiki.org/w/Main_Page (udává Soubor nenalezen), v závislosti na adrese URL odkazující stránky (např. liší se pro stránku s náhledem a pro stránku s rozdílem).
Speciální znaky
- #, #>, <# (hash, hash+"větší než", "menší než"+hash): viz Komentáře
- ~ (vlnovka) v textech znamená: zalomení řádku
- ^ (stříška) v textech znamená: tab
- _ (podtržítko) v textech znamená: mezera
- $ (znak dolaru) předchází jakoukoli uživatelsky definovanou konstantu
Prázdné mezery a podtržítka v adrese URL by měly být zapsány jako %20
.
Znak vlnovky (~) se normálně interpretuje jako zalomení řádku. Když je vlnovka součástí adresy URL, napište ji jako dvě vlnovky.
Například odkaz na www.site.com/~mysite jako:
text:[www.site.com/~~mysite|My site]
Číselný znak (#
) je normálně interpretován jako začátek komentáře. Pokud je znak čísla součástí adresy URL, ujistěte se, že je text vložen do dvojitých uvozovek takto:
text:"More at [www.site.com/~~mysite#section2|My site]"
Ve skutečnosti může být dobré dávat texty vždy mezi dvojité uvozovky.
Reference příkazů
U každého příkazu jsou uvedeny platné atributy. Některé příkazy jsou povinné a některé atributy v příkazech jsou volitelné.
U některých příkazů se určité atributy vzájemně vylučují (budou vysvětleny tam, kde je to vhodné).
AlignBars
Pruhy budou vždy nakresleny ve stejných vzdálenostech. Tento příkaz určuje, zda mají být sloupce od sebe co nejvíce vzdáleny, nebo má být mezi levou/horní stranou grafu a prvním pruhem nebo mezi posledním pruhem a pravou/spodní stranou grafu vyhrazeno nějaké bílé místo.
- early (výchozí)
- První pruh bude umístěn na levé/nejvyšší pozici grafu ("přilepený" k ose), přičemž mezi posledním pruhem a pravou/spodní stranou grafu bude ponechán prostor.
- late
- Opačný od brzy: poslední pruh bude umístěn co nejvíce napravo/spodní stranu grafu, přičemž bude ponechán prostor mezi osou (levá/horní strana grafu) a prvním pruhem.
- justify
- První a poslední sloupec bude umístěn co nejdále od sebe a na žádné straně grafu nezůstane prázdné místo. Pokud je přítomen pouze jeden sloupec, zarovnání bude interpretováno jako "na střed".
Přesné zarovnání závisí na nastavení orientace v povinném příkazu TimeAxis.
Příklady:
Alignbars = | early | late | justify | (default) |
---|---|---|---|---|
TimeAxis = orientation:horizontal | ||||
TimeAxis = orientation:vertical |
BackgroundColors
Tento příkaz umožňuje specifikaci barev pozadí pro různé části grafu. Jakékoli zadané color-id' by mělo být definováno nejprve pomocí Colors.
- canvas:color-id (volitelné)
- Určí barvu pozadí pro celý obrázek.
- bars:color-id (volitelné)
- Určí barvu pozadí pro všechny pruhy.
Příklady:
BackgroundColors = bars:darkgrey BackgroundColors = canvas:lightgrey bars:darkgrey BackgroundColors = canvas:lightgrey
BarData
Toto je volitelný příkaz, který, pokud je přítomen, určuje, které pruhy budou na grafu vykresleny a v jakém pořadí. Pokud je vynechán, budou pruhy nakresleny v pořadí jejich vzhledu v příkazu PlotData.
Je-li zadán tento příkaz, musí zde být také uveden každý pruh, na který se odkazuje v PlotData, jinak dojde k chybě.
Pro složité časové osy s mnoha pruhy se doporučuje použít tento příkaz:
- Usnadní změnu pořadí zobrazených dat.
- Názvy pruhů specifikované v PlotData lze ověřit podle tohoto seznamu, čímž se zabrání překlepům.
- bar:bar-id (volitelné)
- Definuje ID lišty. Jiné příkazy (zejména PlotData) očekávají toto ID pro referenci. Toto bude také štítek, který se zobrazí podél osy, pokud není přítomen atribut text. ID pruhu by nemělo obsahovat žádné mezery: Místo toho použijte podtržítka, ta budou převedena na mezery, jako u názvů článků.
- bar:barset-id (volitelné)
- Určuje ID barsetu, které se má použít pro další příkazy. Stejně jako ID pruhu by se měla používat podtržítka namísto mezer.
- text:some_text (volitelné)
- Když je zadáno, určuje text, který se má zobrazit podél osy, namísto ID pruhu. Viz také pravidla pro zadávání textu. Text může obsahovat jeden vložený odkaz (viz Poznámka 1).
- link:local-URL (volitelné)
- Zadejte webový odkaz (viz Poznámka 1) (URL). Štítek podél osy se zobrazí jako modrý odkaz, na který lze kliknout.
Poznámky
- Buď použijte atribut link, nebo vložený odkaz v atributu text, ne obojí.
Příklady:
BarData = bar:Japan bar:US text:"United States" # refer in PlotData to bar "US" but show "United States" bar:China text:[[China]] # label China will be shown as blue clickable link to the English Wikipedia article about China
Následující řádky vytvářejí stejný výstup (mění se pouze reference v PlotData):
bar:US text:[[United_States]] bar:US text:"United States" link:http://www.wikipedia.org/wiki/United_States bar:United_States link:http://www.wikipedia.org/wiki/United_States
Barvy
Tento příkaz umožňuje definovat barvy a spojit je s ID (identifikační značkou). Ostatní příkazy budou odkazovat na barvy se zde uvedeným ID. Tento příkaz očekává jednu nebo více definic barev, každou na samostatném odsazeném řádku.
- id:color-id
- Jiné příkazy použijí toto ID k určení barev textu, pruhu nebo pozadí.
- value:color-space(souřadnice)
- Skutečné rozlišení barev. Hodnoty barev mohou být zadány jako:
- predefined-color-name: 32 barevných konstant je předdefinováno a rozpoznáno (viz barva stránky Ploticus, kde jsou všechny tyto konstanty definovány).
- rgb(červená,zelená,modrá): zadejte 3 čísla mezi 0 (minimální) a 1 (maximum)
- hsb(odstín,saturace,jas): zadejte 3 čísla mezi 0 a 1.
- gray(value): zadejte číslo mezi 0 (černá) a 1 (bílá).
- Poznámky
- Souřadnice barevného prostoru 0 a 1 musí být zadány pouze jako celá čísla, mezilehlé souřadnice vyžadují tečku jako oddělovač desetinných míst za 0.
- Chcete-li vytvořit barvy RGB nebo HSV, přečtěte si Převodník barev RGB/HSB
- Hexadecimální na rgb()
- Převod z šestnáctkové soustavy (#D09916) na rgb (rgb(0.816,0.600,0.086)):
- Navštivte ColorHexa a vyhledejte svou hexadecimální barvu.
- Přečtěte si řádek textu na začátku podle řádků "V barevném prostoru RGB se hex... skládá z RR.R% červené, GG.G% zelené a BB.B% modré".
- Vydělte tři čísla (RR.R, GG.G a BB.B) 100 a použijte výsledné číslo (mezi 0 a 1) jako hodnoty pro rgb().
- Převod z šestnáctkové soustavy (#D09916) na rgb (rgb(0.816,0.600,0.086)):
- legend:some_text (volitelné)
- Určuje text, který by měl být zobrazen v legendě pro tuto barvu. Pokud je tento atribut vynechán, v legendě se neobjeví vůbec žádný záznam.
- Poznámky:
- Pravidla najdete na stránce Textový vstup.
- Vložené odkazy jsou podporovány v textech legend, viz Klikatelné mapy.
Příklad:
Colors = id:war value:red legend:War_Period id:peace value:blue legend:Peace_Time id:treaty value:rgb(0.6,0,0.6) id:lightgrey value:gray(0.9) id:darkgrey value:gray(0.1)
Předdefinované barvy
Odkaz na barvy v HTML
#000000 | #b29999 | #e5d3c9 | #ffffff | |||
#ffcccc | #ff9999 | #ff4c7f | #b24c4c | #ff0000 | #dc143c | |
#ff7f00 | #ff9e23 | #ffcc99 | #ffd800 | #eaea00 | #ffff00 | #ffe599 |
#00ff00 | #00b200 | #4c994c | #007f33 | #99cc99 | #99e599 | #ccffb2 |
#b2ccff | #007fcc | #0066cc | #0000ff | |||
#770077 | #aa4caa | #9999ff | #b2b2ff | #ccb2cc |
Formát data
Tento příkaz definuje, jak mají být interpretována data zadaná v jiných příkazech.
Platné formáty data jsou:
- dd/mm/yyyy (data ve většině anglicky mluvících zemí)
- Data jsou interpretována jako den/měsíc/rok
- Poznámka: tento formát je povolen pouze pro data začínající 1. 1. 1800
- mm/dd/yyyy (data v USA)
- Data jsou interpretována jako měsíc/den/rok
- Poznámka: tento formát je povolen pouze pro data začínající 1. 1. 1800
- yyyy (toto je výchozí formát)
- Toto se zabývá integers od -9999 do 9999 bez úvodních nul
Poznámka, že následující formáty stále nejsou podporovány:
- standardní formát ISO 8601: rrrr-mm-dd (standard v Kanadě).
- alternativní středoevropský standardní formát: rrrr.mm.dd.
- formáty data s měsícem, ale bez dne: mm/rrrr nebo ISO 8601 rrrr-mm.
- formáty data s čtvrtletími: qq/rrrr nebo ISO 8601 rrrr-Qq.
- další oddělovače prvků data, vícejazyčné zkrácené názvy měsíců...
Příklad:
DateFormat = mm/dd/yyyy
Definujte
Tento příkaz umožňuje definovat textové konstanty, tedy zkratky pro části kódu skriptu, které se vyskytují vícekrát. Textové konstanty by měly vždy začínat znakem $ (znak dolaru).
Příklad:
Define $broad = width:30 Define $narrow = width:10 Define $bardefaults = $broad fontsize:S
Velikost obrázku (povinné)
Tento příkaz definuje celkovou velikost konečného obrázku. Zadejte hodnoty v absolutní míry.
- width:pixels/auto
- Šířka výsledného obrázku v pixelech: maximum je 1600 pixelů, minimum je 25
- (lze také nastavit na auto, pokud je směr TimeAxis nastaven na vertikální).
- height:pixels/auto
- Výška výsledného obrázku v pixelech: maximum je 1200 pixelů, minimum je 25
- (lze také nastavit na auto, pokud je směr TimeAxis nastaven na horizontální).
- barincrement:pixels
- Množství v pixelech, které by mělo být přidáno k velikosti obrázku pro každý zadaný pruh
- (povoleno pouze v kombinaci s width:auto nebo height:auto a poté povinné).
Pro maximální flexibilitu můžete nechat skript vypočítat výšku nebo šířku obrázku na základě počtu pruhů a množství v pixelech, které je třeba přidat na pruh. Zadejte height:auto (pro horizontální časovou osu) nebo width:auto (pro vertikální časovou osu).
To je užitečné zejména tehdy, když se počet pruhů na časové ose pravděpodobně bude v průběhu času znovu a znovu měnit. Nebo zajistit stejné vzdálenosti mezi pruhy v obrazech s mnoha úzkými pruhy, kde by se brzy objevily rozdíly v množství bílého prostoru (viz skutečný příklad :en:Template:Hlasitost a rozsahy instrumentálních výšek). Nebo se ujistěte, že několik souvisejících časových os vždy používá stejnou vzdálenost mezi takty, bez ohledu na to, kolik taktů každý obsahuje (viz skutečný příklad :cs:Seznam papežů (grafický). Zkrátka je to většinou dobrý nápad.
Příklady:
ImageSize = width:800 height:600 ImageSize = width:800 height:auto barincrement:30
Legenda
Legenda se zobrazí pouze tehdy, když je tento příkaz přítomen a alespoň jedna z barvy má zadaný atribut legend:
.
Existuje několik způsobů, jak definovat vzhled a polohu legendy. Některé atributy se vzájemně vylučují (viz níže).
- orientation:hor/ver (volitelné)
- Zadejte hor[izontal] nebo ver[tical] (výchozí).
- omezení: orientation = 'horizontal' a position = 'right' se vzájemně vylučují
- position:top/bottom/right (volitelné)
- Definuje umístění legendy vzhledem k oblasti grafu. Zadejte horní, dolní (výchozí) nebo pravý.
- omezení: orientation = 'horizontal' a position = 'right' se vzájemně vylučují
- columns:integer (volitelné)
- Zadejte 1, 2, 3 nebo 4.
- Když je tento atribut vynechán, počet sloupců je určen následovně:
- orientation horizontal: Sloupce atributů zde neplatí. Všechny položky budou na stejném řádku.
- orientation vertical
- position right: Všechny položky budou v jednom sloupci
- position top nebo bottom: Počet sloupců závisí na počtu položek, které se mají zobrazit:
1-5 položek: 1 sloupec, 6-10 položek: 2 sloupce, 11 nebo více záznamů: 3 sloupce.
Tip: Můžete nejprve zvážit vynechání následujících parametrů a přidat je pouze v případě, že výchozí nastavení nejsou uspokojivá.
- columnwidth:distance (volitelné)
- Definuje vzdálenost mezi sloupy. Můžete zadat absolutní vzdálenost nebo relativní vzdálenost (jako procento šířky obrázku).
- omezení: tento parametr je ignorován, pokud je definován nebo implikován sloupec = 1.
- left:distance (volitelné)
- Definuje vzdálenost mezi levou stranou legendy a levou stranou obrázku. Můžete zadat absolutní vzdálenost nebo relativní vzdálenost (jako procento šířky stránky).
- top:distance (volitelné)
- Definuje vzdálenost mezi horní částí legendy a spodní částí obrázku. Můžete zadat absolutní vzdálenost nebo relativní vzdálenost (jako procento výšky stránky).
Příklady:
Legend = orientation:vertical position:bottom columns:3 columnwidth:140 Legend = orientation:horizontal position:bottom Legend = left:100 top:120 columns:3
Data řádku
Některé časové osy sahají do několika jasně odlišných období. Čára vymezující tato období může sloužit jako vizuální pomůcka.
- at:time
- Nakreslí čáru kolmou k časové ose (mezi minimální a maximální polohou, viz také níže).
- Zadejte datum/rok, kde má být čára nakreslena, v souladu se zadaným datovým formátem.
- color:color-id (volitelné)
- Určete barvu, kterou má být čára nakreslena.
- Poznámka: Zadané ID barvy by mělo být definováno nejprve příkazem Colors.
- layer:front/back (volitelné)
- Zadejte přední nebo zadní stranu (výchozí). Určuje, zda se má čára objevit před nebo za všemi pruhy časových segmentů.
- width:distance (volitelné)
- Zadejte hodnotu mezi 0,1 (velmi tenký) a 10 (velmi tlustý). Výchozí hodnota je 1
Pokročilé možnosti umístění
Čáry můžete kreslit v libovolném směru. Pouze ve vzácných případech mohou být pro plnou flexibilitu nutné následující další atributy:
- Paralelně s časovou osou s libovolnými časy začátku a konce:
- atpos:position
- from:time (volitelné)
- till:time (volitelné)
- Určete absolutní nebo relativní polohu na ose ortogonální k TimeAxis.
- Určete data/roky, mezi kterými má být čára nakreslena, v souladu se zadaným datovým formátem (výchozí je celý rozsah času, jak je nastaven v povinném příkazu Period, viz také níže).
- Kortogonální k časové ose s libovolnými pozicemi začátku a konce:
- at:time
- frompos:position (volitelné)
- tillpos:position (volitelné)
- Zadejte datum/rok, kde má být čára nakreslena, v souladu se zadaným datovým formátem.
- Určete počáteční a koncovou absolutní nebo relativní polohu na ose ortogonální k TimeAxis (výchozí je celá délka DrawArea).
- Nakreslí čáru ortogonální k časové ose (výchozí v celém rozsahu času, jak je nastaveno v povinném příkazu Period, viz také níže).
- V libovolném směru s libovolnými počátečními a koncovými body:
- points:(x1,y1)(x2,y2)
- Určete absolutní nebo relativní polohy jako souřadnice, nezávisle na směru časové osy.
Příklad:
LineData =
layer:front # all lines in front of bars unless stated otherwise
at:1 color:yellow # perpendicular to time axis full length
at:2 color:orange layer:back # perpendicular to time axis full length but behind bars
at:4 frompos:50 tillpos:105 color:green # perpendicular to time axis, with specified start and stop points
from:5 till:8 atpos:50 color:red # parallel to time axis
points:(100,20)(170,105) color:blue width:3 # from one arbitrary absolute position to another, extra thick
Period (povinné)
Definuje časové období, které bude zobrazeno v grafu. Oba parametry jsou povinné. Zadejte data v souladu se zadaným formátem dat.
- Časová osa začíná zde. Na zadanou hodnotu lze odkazovat jako na start v příkazech jako PlotData a TextData.
- till:time
- Tady čas končí. Na zadanou hodnotu lze v jiných příkazech odkazovat jako na konec.
Příklad:
Period = from:01/09/1939 till:02/09/1945
PlotArea (povinné)
- left:distance
- Okraj mezi levou stranou obrázku a levou stranou oblasti plotru. Zadejte hodnotu v absolutních nebo relativních měřeních.
- top:distance
- Okraj mezi horním okrajem obrázku a horním okrajem plochy. Zadejte hodnotu v absolutních nebo relativních rozměrech.
- right:distance (doporučené)
- Okraj mezi pravou stranou obrázku a pravou stranou oblasti plotru. Zadejte hodnotu v absolutních nebo relativních měřeních.
- Tento atribut a zastaralý atribut width se vzájemně vylučují.
- bottom:distance (doporučené)
- Okraj mezi spodní částí obrázku a spodní částí vykreslované oblasti. Zadejte hodnotu v absolutních nebo relativních měřeních.
- Tento atribut a zastaralý atribut height se vzájemně vylučují.
- Minimální hodnota pro tento atribut je 20 pixelů, pokud jste zadali popisky legend (viz Legenda).
width:distance (zastaralé)- Zadejte hodnotu v absolutních nebo relativních měřeních.
- už nepoužívat, viz výše atribut right.
height:distance (zastaralé)- Zadejte hodnotu v absolutních nebo relativních měřeních.
- už nepoužívat, viz výše atribut bottom.
Poznámky:
- Atributy width a height jsou zachovány pouze kvůli sestupné kompatibilitě. Dříve mohla být oblast vykreslení definována pouze svými celkovými width a height a left a bottom okraji.
- Nyní můžete zadat všechny čtyři okraje a doporučujeme, abyste to udělali a již nepoužívali atributy width a height.
- Výhodou je přidaná flexibilita: Když změníte celkovou velikost obrázku, nemusíte také upravovat definici plotare. To je ještě důležitější, když se velikost obrázku počítá automaticky (viz ImageSize).
Příklad:
PlotArea = left:40 bottom:60 top:10 right:10 # e.g. extra space to the left and below the plot area for axis labels and legend
PlotData
Používá se k definování pruhů (symbolizujících časové období) a přidání textu vedle těchto pruhů na konkrétní pozici.
Pro texty, které se netýkají určitého období nebo data/roku nebo které vyžadují rozsáhlé formátování, použijte příkaz TextData.
Atributy text, at, from a till se vždy vztahují pouze na řádek, na kterém se vyskytují. Všechny ostatní atributy, pokud nejsou kombinovány s jedním z těchto čtyř, fungují jako výchozí pro zbytek příkazového bloku nebo dokud není specifikována nová výchozí hodnota, a mohou být přepsány pro jeden řádek. Další informace a příklad najdete v Parametry vs datové položky.
PlotData přijímá mnoho atributů, z nichž některé se vzájemně vylučují. Tyto atributy lze seskupit následovně:
- Poziční atributy
- Atributy související s barem
- Textové atributy
- Atribut značky
Poziční atributy
- at:time (platí pouze pro aktuální řádek v datovém bloku)
- Určuje, ke kterému datu/roku by měl být umístěn text nebo značka. V závislosti na atributu align text buď začíná, končí nebo je vycentrován na této pozici. Použijte formát data/roku, jak je uvedeno v datovém formátu, nebo zadejte start nebo end, které se vztahují k časovému rámci definovanému příkazem Period.
- Poznámka: Tento atribut nelze kombinovat s atributy from a till.
- from:time (platí pouze pro aktuální řádek v datovém bloku)
- till:time (platí pouze pro aktuální řádek v datovém bloku)
- Určuje, kterým datem/rokem by měl pruh začínat a končit. Použijte formát data/roku, jak je specifikováno v datovém formátu nebo zadejte start, který odkazuje na časový rámec definovaný příkazem Period.
- Poznámka: Tyto dva atributy by měly být použity v kombinaci a nelze je kombinovat s atributem at.
- shift:(x,y) (volitelné)
- Určuje vodorovné a svislé posunutí v absolutních rozměrech pro text. To dovoluje:
- Texty, které mají být posunuty, aby se zabránilo překrývání mezi po sobě jdoucími takty;
- Umístění textu vedle pruhu, nikoli nad něj.
Příklady:
PlotData= bar:Japan from:start till:19/02/1945 color:JT bar:Japan from:19/02/1945 till:14/03/1945 color:AI bar:Japan from:02/09/1945 till:end color:AO at:07/12/1941 shift:(0,-15) text:"<-- WW2 reaches Asia"
Atributy související s barem
- bar:bar-id
- Určuje, na který pruh se vztahují všechny ostatní atributy (včetně volitelných atributů značek a atributů textu).
- Bar-id zadaný zde bude také text zobrazený podél osy vedle pruhu.
- Když byl použit příkaz BarData not, pruhy se vykreslí v pořadí, v jakém se vyskytují v libovolném datovém bloku PlotData.
- Když byl použit příkaz BarData, pruhy se zobrazí v pořadí, které je tam uvedeno, a také id-bar-id zde uvedené bude ověřeno podle tohoto seznamu. Také text prezentovaný podél osy bude záviset na definici v BarData.
- barset:barset-id (volitelné)
- Restartuje zobrazení pruhů "shora", což umožňuje více pruhů na stejném řádku.
- Zadané barset-id muselo být deklarováno v BarData.
- Výchozí barset je anonymní a nemusí být specifikován, pokud neexistuje BarData.
- Prázdné řádky mohou být přidány pro přeskočení řádků, které nechcete přidat, s deklaracemi jako
at:1234
bez dalších atributů. Za tímto atributem lze zadat více pruhů.
- color:color-id (volitelné)
- Určuje barvu, kterou má být pruh nakreslen.
- Zadané ID barvy by mělo být definováno nejprve příkazem Colors.
- Výchozí hodnota bude mít stejnou barvu jako dříve zadaný pruh.
- width:distance (volitelné)
- Určuje šířku pruhu v absolutních nebo relativních mírách.
- Výchozí hodnota bude vypočítána podle celkové velikosti PlotArea a maximálního počtu taktů ve všech barsetech (včetně výchozí anonymní barsetu).
Příklad:
BarData= bar:US text:United States bar:SB text:Sea Battles Colors= id:US value:blue legend:United_States id:SB value:rgb(0.8,0,0.7) legend:Sea_Battles PlotData= width:0.3 # see note 1 bar:SB from:07/08/1942 till:09/02/1943 text:Guadalcanal color:SB # see note 2 bar:US from:start till:end color:US # see note 3 bar:Midway from:start till:end color:US # see note 4 bar:US at:07/12/1941 text:7/12 Pearl Harbour # see note 5
Poznámky:
- Tento řádek určuje výchozí šířku pruhu pro zbytek datového bloku
- Tato čára určuje pruh, který se má nakreslit, a text, který se na něj současně umístí
- Takt US bude nakreslen před taktem SB, i když je zadán, protože příkaz BarData určuje pořadí
- Bar Midway bude odmítnut, protože není deklarován příkazem BarData
- Poslední řádek nevede k vykreslení pruhu, pouze určuje, na který pruh má být text umístěn
Textové atributy (volitelné)
- text:some_text (platí pouze pro aktuální řádek v datovém bloku)
- Definuje text, který by měl být vykreslen na pruhu nebo v jeho blízkosti.
- Poznámky
- Pravidla viz také Textový vstup.
- Text může obsahovat vložené odkazy (viz Poznámky 1 a 2) pro použití v klikacích mapách.
- Informace o textech s vloženými odkazy a omezeními najdete v Klikatelné mapy.
- textcolor:color-id (volitelné)
- Určuje barvu textu. Zadané ID barvy by mělo být definováno nejprve příkazem Colors. Pokud není specifikována barva, předpokládá se černá.
- fontsize:integer/tag (volitelné)
- Zadejte velikost bodu mezi 6 a 30 nebo (nejlépe) jeden z tagů XS, S (výchozí), M, L nebo XL. Další podrobnosti viz Podpora písem.
- anchor:middle/from/till (volitelné)
- Určete polohu kotvy. Pokud není definována, je pozice kotvy buď explicitně nastavena pomocí atributu at, nebo implicitně pomocí atributů from a till. V druhém případě bude text umístěn uprostřed definovaného segmentu pruhu.
- align:center/left/right (volitelné)
- Zadejte center (výchozí), left nebo right.
- link:URL (volitelné, platí pouze pro aktuální řádek v datovém bloku)
- Zadejte webový odkaz (viz Poznámka 1) (URL) pro použití v mapách, na které lze kliknout. Text se zobrazí jako modrý odkaz, na který lze kliknout.
- Poznámky:
- Tento atribut lze použít pouze s atributem text.
- Buď použijte odkaz na atribut, nebo vložený odkaz v textu atributu, ne obojí.
- Na obrázcích PNG vykreslených jako klikací mapy se zobrazí pouze jeden klikací odkaz na textový segment: text se zalomením řádků (~) tvoří několik segmentů.
- Informace o textech s vloženými odkazy a omezeními najdete na stránce Klikatelné mapy.
Příklad:
PlotData= bar:US at:07/12/1941 align:left textcolor:black fontsize:XS text:7/12 [[Pearl Harbour]]
dává stejný výsledek jako:
PlotData= bar:US at:07/12/1941 align:left textcolor:black fontsize:XS text:"7/12 Pearl Harbour" link:http://www.wikipedia.org/wiki/Pearl_Harbour
Atribut značky (nepovinný)
- mark:(symbol,color-id)
- Umístí značku do pruhu na určené místo.
- Jediná dosud podporovaná hodnota pro symbol je line.
- Zadané color-id by mělo být definováno nejprve příkazem Colors. Pokud není specifikována barva, předpokládá se černá.
Příklad:
PlotData= bar:test width:15 color:red from:1900 till:2000 at:1990 mark:(line,white)
bude zobrazeno jako:
Hlavní měřítko
Tento příkaz také rozdělí časovou osu na menší období
- Graficky prostřednictvím tenkých svislých nebo vodorovných čar v grafu
- Textově přes útržky na časové ose pod grafem nebo nalevo od něj
- Jak graficky, tak textově
- gridcolor:color-id (volitelné)
- Definuje barvu čar mřížky.
- Když je tento atribut vynechán, nebudou vykresleny žádné čáry mřížky.
- Zadané color-id by mělo být definováno nejprve příkazem Colors.
- unit:time-unit (volitelné)
- Určuje časovou jednotku, o kterou se zvýší vzdálenost mřížky.
- Zadejte den, měsíc nebo rok (výchozí).
- Když je zadáno DateFormat = yyyy, je povolena pouze jednotka rok.
- increment:integer (volitelné)
- Určuje (nenulový) počet jednotek, o které se zvětší rozteč mřížky.
- Výchozí přírůstek je 1.
- start:time (volitelné)
- Určuje, kde se má zobrazit první čára mřížky a/nebo útržek.
- Výchozí začátek definovaného Období.
Poznámka: orientace čar a/nebo umístění pahýlů závisí na orientaci TimeAxis.
Příklady:
ScaleMajor = gridcolor:red start:1940 ScaleMajor = gridcolor:red unit:month increment:3 start:01/09/1939
Menší stupnice
Tento příkaz definuje další rozdělení časové osy (viz ScaleMajor pro syntaxi atributů).
Příklad:
ScaleMajor = grid:red unit:year increment:1 start:01/01/1940 ScaleMinor = grid:blue unit:month increment:3 start:01/10/1939
TextData
Používá se k definování textového bloku, který lze umístit kdekoli v grafu.
- text:some_text
- Skutečný text.
- Pravidla viz také Textový vstup.
- Text může obsahovat vložené odkazy (viz také Poznámky 1 a 2).
- pos:(x,y)
- Definuje levý horní roh textového bloku v absolutních nebo relativních mírách.
- link:URL (volitelné)
- Zadejte webový odkaz (viz Poznámka 1) pro použití v mapách, na které lze kliknout.
- Štítek podél osy se zobrazí jako modrý odkaz, na který lze kliknout.
- textcolor:color-id (volitelné)
- Definuje barvu textu, který se má kreslit.
- Zadané color-id by mělo být definováno nejprve pomocí Colors.
- Pokud není specifikováno, barva je černá.
- fontsize:integer/tag (volitelné)
- Zadejte velikost bodu mezi 6 a 30 nebo (nejlépe) jednu ze značek XS, S (výchozí), M, L nebo XL (další podrobnosti viz Podpora písem).
- tabs:(x1-alignment1,x2-alignment2...) (volitelné)
- Definuje polohu a zarovnání pro znak tabulátoru: ^ (stříška).
- Určete nastavení více karet jako seznam xn-alignn oddělený čárkami, kde
- xn je horizontální posunutí v absolutních mírách z levé strany textu;
- alignmentn je zarovnání pro textový segment (specifikujte center, left nebo right).
- lineheight:distance (volitelné)
- Definuje mezery mezi po sobě jdoucími řádky v absolutních rozměrech.
- Zadejte hodnotu až do 40 pixelů (nebo 0,4 palce).
- Pokud není specifikováno, výchozí výška řádku bude založena na aktuálně používané velikosti písma.
Poznámky:
- Buď použijte atribut link, nebo vložený odkaz v atributu text, ne obojí.
- Na obrázcích PNG se zobrazí pouze jeden odkaz, na který lze kliknout, na textový segment (text s tabulátory (^) tvoří několik segmentů).
Příklad:
TextData =
pos:(20,67) textcolor:black fontsize:S
tabs:(10-right,14-left,50-left,90-left,230-left)
text:^1^1940^27/9^Germany,Italy and Japan sign [[Tripartite Pact]]
text:^10^1944^1-22/7^Bretton Woods 44 nations establish
text:^^^^^IMF and World Bank
bude zobrazeno jako:
TimeAxis (povinné)
Definuje orientaci časové osy a textovou reprezentaci pahýlů podél této osy.
- format:time-format (volitelné)
- Určete, v jakém formátu mají být data prezentována na časové ose.
- V současné době je podporován pouze formát rrrr (výchozí). To znamená, že pokud je atribut
unit:
pro ScaleMajor nastaven na cokoliv jiného nežyear
, hlavní čáry mřížky nebudou synchronizovány s popisky os. Například nastaveníunit:month
aincrement:6
bude mít za následek hlavní mřížku každých 6 měsíců, ale popisky os každých 6 let. Může následovat podpora dalších formátů.
- orientation:hor/ver
- Zadejte hor[izontal] nebo ver[tical].
- Výchozí orientace časové osy je vodorovná.
- order:reverse (volitelné)
- Zadejte reverse jako možnost obrácení časového toku.
- Výchozí nastavení je dopředný časový průběh.
Příklad:
TimeAxis = orientation:horizontal format:yyyy
Předvolby
Předvolby jsou zkratkou pro často používaná nastavení. Ušetří několik řádků kódu a podporují standardizaci, ale mohou být matoucí, protože skript časové osy se stává méně samodokumentační.
V tuto chvíli jsou k dispozici dvě předvolby:
- Preset = TimeVertical_OneBar_UnitYear, který se rozšiřuje na
PlotArea = left:45 right:10 top:10 bottom:10 TimeAxis = orientation:vertical format:yyyy DateFormat = yyyy AlignBars = early ScaleMajor = unit:year ScaleMinor = unit:year PlotData = mark:(line,white) align:left fontsize:S width:20 shift:(20,0)
- Preset = TimeHorizontal_AutoPlaceBars_UnitYear, který se rozšiřuje na
ImageSize = height:auto barincrement:20 PlotArea = left:25 right:25 top:15 bottom:30 TimeAxis = orientation:horizontal format:yyyy Colors = id:canvas value:gray(0.7) id:grid1 value:gray(0.4) id:grid2 value:gray(0.2) BackgroundColors = canvas:canvas DateFormat = yyyy AlignBars = justify ScaleMajor = unit:year grid:grid1 ScaleMinor = unit:year Legend = orientation:vertical left:35 top:130 PlotData = align:left anchor:from fontsize:M width:15 shift:(4,-6) textcolor:black
Omezení implementace a integrace
Podpora písem
Časová osa má poněkud omezenou podporu Unicode:
- Výchozí je písmo
FreeSans.ttf
, které podporuje podmnožinu všech možných glyfů; - Například podporuje západoevropskou a východoevropskou diakritiku pro latinku, stejně jako cyrilici, řeckou a arménskou abecedu, hebrejský abjad (ale bez vizuálního přeuspořádání), dévanágarské, bengálské, gurmukhské, gudžarátské, tamilské a Kannara abugidas pro indické jazyky, alphasyllabaries Kanas (pouze pro základní japonštinu) a dobrá podmnožina rozšířené obecné interpunkce, symboly měnových jednotek, číslice dolního/horního indexu, písmenné symboly, zlomky a římská čísla, některé šipky a matematické operátory;
- Postrádá však gruzínské abecedy, arabský abjad, hangulskou abecedu a slabiky, orijskou, telugskou thajštinu, laoskou a tibetskou abugidu, kanji a han ideografy (takže čínština, korejština, gruzínština, arabština a thajština nejsou podporovány a japonština musí být stále přepsána do základní kanasy nebo do latinky);
- Také nepodporuje Dingbaty, stejně jako nelingvistické symboly, jako jsou krabicové znaky, které by měly být nakresleny pomocí podporovaných příkazů pro kreslení čar.
- V
LocalSettings.php
lze nastavit různá písma, která mohou mít lepší podporu Unicode. Například malajálamská Wikipedie používá jiné písmo, které má lepší podporu malajálamského jazyka.
Jako dědictví používání bitmapových písem je předdefinováno pouze pět značek písem. Budou se vykreslovat v mírně odlišných velikostech v obrázcích PNG a SVG, aby byla zajištěna optimální čitelnost pro obě platformy. Pokud je to možné, doporučuje se používat tyto značky místo čísel. Jsou: XS=eXtra Small, S=Small (default), M=Medium, L=Large, XL=eXtra Large
EasyTimeline kód s parametrem šablony nebo kouzelnými slovy
Pokud chcete použít snadnou časovou osu s parametry šablony nebo věcmi jako {{CURRENTDAY2}}, můžete použít syntaxi #tag:
{{#tag:timeline| Timeline code here }}
Je však nutné nahradit všechny |
za {{!}} (což by měla být šablona obsahující pouze |
).
Podrobnosti najdete v sekci #tag za Nápověda:Kouzelná slova
Známé chyby a omezení ve vložených odkazech
- V současné době můžete zadat pouze jeden odkaz na textový segment.
- Upoutávky odkazu nejsou rozpoznány, musíte vložit celý text, který je součástí odkazu, do
[[]]
. - Odkazy, které nejsou uvedeny na začátku textu (nebo na začátku nového řádku po zalomení řádku určeném vlnovkou), jsou někdy nesprávně umístěny (na správném místě je použita normální barva textu a text s modrou barva odkazu je přes něj překreslena se špatnou horizontální polohou). Viz první příklad pokusu o zobrazení
Help:Link
výše v této části. Můžete to obejít použitím jednoprostorového písmafont="unifont"
nebo namísto toho vygenerováním SVG pomocímethod="svg2png"
. (phab:T6046)