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

From thewoodcraft.org
Jump to navigation Jump to search
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

Poznámka
{{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č |

Poznámka
{{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:

Poznámka
 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:

Poznámka
 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:

Poznámka
 https://www.thewoodcraft.org/wiki/index.php/User:VeryLongName/ Blogy/ Velmidlouhytitul

nebo

Poznámka
 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...

Poznámka
 Text který se  být součástí perexu

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

Poznámka
 {{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:

Poznámka
 <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:

Poznámka
<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é.