Nápověda:Dynamicky generované stránky

Z thewoodcraft.org
Verze z 2. 4. 2015, 14:48, kterou vytvořil Keny (diskuse | příspěvky) (→‎Příprava dynamicky generované stránky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přehled nápovědy
Editace obsahu
Pro thewoodcraft.org
Knihy
Systém wiki
Zabezpečení stránek
Zásady

Dynamicky generovaný obsah stránky se liší od běžného wiki kódu tím, že se sestavuje automaticky s využitím šablon, proměnných a rozšíření DynamicPageList (third party). Protože jejich implementace není zcela triviální, byla pro potřeby této wiki byla vytvořena parametrizovaná šablona {{content}}, která do značné míry tvorbu dynamicky generovaného obsahu usnadňuje.

Příprava dynamicky generované stránky

Vytvořit dynamicky generovanou stránku je v této wiki velice snadné, neboť pro tyto účely zde byla vytvořena univerzální parametrizovaná šablona {{content}}. Pokud chcete do ní "sbírat" články z kategorie "Moje", tak staří přidat pouze následující kód

Příklad
{{content
| category = Moje
}}

Pokud byste chtěli sbírat články z více kategorií, tak můžete, ale mezi jmény kategorií musíte použít oddělovač |

Příklad
{{content
| category = Moje {{!}} Tvoje
}}

O použití dalších parametrů více viz na stránce k šabloně.

Jak psát

Stránka, která se má zobrazovat v rámci dynamicky generovaných stránek se píše stejně jako každá jiná. Základem všeho je kategorizace. Jakmile se stránka dostane do kategorie, která je zdrojem pro některou z dynamických stránek - bude viset. Proto musíte mít vždy na paměti, co vlastně píšete. Jestli článek nebo glosu, fejeton či sloupek.

Článek

U článků se z celého obsahu v rámci dynamické stránky zobrazuje pouze titulek a perex. V závislosti na parametrech použité šablony se pak mohou zobrazovat i další údaje ke stránce - autor, kategorie nebo čas poslední změny. Při jeho zakládání stráky je ale nutno brát vždy v úvahu následující problém se zalamováním titulků.

Zalamování titulku

Se zalamováním titulku je kříž. Každý prohlížeč totiž zpracovává obsah HTML kódu jinak a pokud je titulek nevhodně zvolený, tak může zošklivit i jinak pěknou stránku.

U podstránek totiž bývá součástí titulku i nadřazená stránka a některé webové prohlížeče při obtékání plovoucího boxu titulek nezalomí, ale umístí až za něj. U této wiki se to speciálně týká stránek a podstránek uživatelů. Podstránky v uživatelském jmenném prostoru jsou vyhrazeny pro osobní články - blogy, glosy, aj. Součástí titulku podstránky je totiž plná cesta k podstránce. Proto je třeba pri použít malý fígl.

Dejme tomu, že uživatel VeryLongName chce napsat blog s názvem Velmidlouhytitul. Pokud by nepřemýšlel, a vytvořil rovnou vše jako podstránky, tak by výsledný titulek vypadal takto:

Příklad
 User:VeryLongName/Blogy/Velmidlouhytitul

Bohužel, takový titulek se správně nezalomí. Fígl spočívá v tom že se za každým lomítkem použije mezera:

Příklad
 User:VeryLongName/ Blogy/ Velmidlouhytitul

Takový titulek se bude zalamovat bez problémů. S výsledným URL si také hlavu lámat nemusíte. Wiki totiž v URL mezery nahrazuje podtržítkem, případně je překóduje na speciální sekvence. Takže adresa na článek pak může vypadat také takto:

Příklad
 https://www.thewoodcraft.org/wiki/index.php/User:VeryLongName/ Blogy/ Velmidlouhytitul

nebo

Příklad
 https://www.thewoodcraft.org/wiki/index.php/User:VeryLongName/%20Blogy/%20Velmidlouhytitul

A cíl bude vždy stejný. Určité komplikace tyto mezery přinášeí při manuálním psaní odkazů na článek v rámci wiki, ale generované stránky pracují s kategoriemi, kde se URL tvoří automaticky.

Perex

Perex tvoří vybrané kusy z obsahu článku, které mají na dynamické stránce sloužit jako upoutávka. Klidně to ale může být i celý obsah stránky, pokud to tak chcete. Perexů může být v obsahu více. Při zpracování stránky se vytáhnou a použijí všechny.

Pro vytvoření perexu se používá substituce (nahrazení) šablony {{subst:perex}}.

Před vytvořením perexu...

Příklad
 Text který se  být součástí perexu

Na vybraný text aplikujeme substituci šablony {{subst:perex}}

Příklad
 {{subst:perex|Text který se  být součástí perexu}}

K nahrazení šablony dojde po uložení stránky. Při dalším otevření bude vypadat kód takto:

Příklad
 <section begin=perex />Text který se  být součástí perexu<section begin=perex />

Tyto tagy pochopitelně můžeme napsat také ručně. Pouze nesmíme zapomínat na to, že co někde začíná, musí také někde končit. Chceme-li obsah perexu rozšířit, tak už nemusíme znovu provádět substituci {{subst:perex}}, ale obsah můžeme buď dopsat, nebo přesunout začátek či konec tagu, kterým je vymezen perex.

Součástí perexu může být i ilustrace, nezapomeňte ale vhodně parametry upravit její rozměry. Optimální je použít parametr thumb (viz pravidla k psaní glosy či fejetonu)

PoznámkaŠablona {{content}} umožňuje místo perexu vytáhnout i určený počet znaků od začátku stránky, ale tam bývají v případě wiki umístěny nejrůznější šablony, nebo speciální tagy, takže se nám může ze stránky natáhnout i jiný, nežádoucí obsah.

Fejeton, glosa nebo sloupek

Fejetony, glosa nebo sloupek - to vše představuje krátký text, který bývá umístěný v samostatném rámečku, ale pouze jako osvěžující doplněk hlavní stránky. Protože se vkládá celý obsah stránky, tak nesmí být takový text příliš dlouhý a pokud je v něm nějaký obrázek, tak maximálně jeden. Pro takovou stránku tedy platí:

  1. Žádné nadpisy a podnadpisy
  2. Žádný perex
  3. A obrázek, vkládat s parametrem thumb - [[Image:obrazek.jpg|thumb]]

Kategorizace článku

Zařazení napsaného textu se zajistí kategorizací. Dejme tomu, že jste napsali článek určený pro dvě, vzájemně nezávislé stránky. Jedna sbírá články z kategorie "Novinky" a druhá z kategorie "Jen tak na okraj". Kategorizace článku pak bude vypadat takto:

Příklad
<noinclude>
[[Kategorie:Novinky]]
[[Kategorie:Jen tak na okraj]]
</noinclude>
PoznámkaObalení kategorizačních značek tagem noinclude je důležité především z toho důvodu, aby - pokud se načítá celý obsah článku (jako je tomu například u sloupku) nebyly do těchto kategorií automaticky zařazeny také stránky, do kterých se vloží.
Upozornění Jde-li o článek, jehož obsah se bude překládat s využitím rozšíření Translate, tak by měla být kategorizace, včetně tagu noinclude, součástí překládaného obsahu. Tak jak je tomu na ukázkové stránce testovaci-sloupek.

Výchozí text sloupku, který se bude překládat a kde je umístěný tag translate by měl být kategorizován do jiné kategorie, než jsou ty, odkud se pak bude brát obsah pro sloupek.

  • V českém překladu pak může být místo výchozí kategorie uvedena kategorie Novinky
  • V anglickém překladu může být kupř. součástí kategorie News.
  • A v polském třeba Aktualności

U článků, kde se nevkládá celý obsah, ale pouze perex to není nutné.