Detekce rozšíření AdBlock

Plugin AdBlock určený pro populární webové prohlížeče umí automaticky skrývat reklamní plochy. To je sice pro návštěvníka webu potěšující zpráva, majitel portálu však již tak jásat nebude, protože přichází o zisky z reklamy, které častokrát umožňují udržovat projekt v chodu. Říká se proto, že používáním rozšíření AdBlock škodíte svému oblíbenému webu.

My se nyní podíváme na detekci aktivního pluginu. Pokud zjistíme, že uživatel bannery blokuje, můžeme ukázat informační hlášku nebo vykonat zcela jinou akci. První zmíněnou cestou se vydala například Edna – podívejte se, co se zobrazí, když budete AdBlock používat.

Edna

Dost bylo teorie, přistupme k tvorbě skriptu. Nejprve vdechnu život volavce, jenž se bude tvářit jako reklama a dostane za úkol lákat AdBlock. Do nového souboru s názvem advertisement.js vložím tento řádek:

document.write('ad');

Pojmenování souboru je klíčové, aby AdBlock na lest skutečně skočil a domníval se, že se potkal s reklamou.

Do stránky výše uvedený javascriptový fragment klasicky vložím:

<script src="advertisement.js" type="text/javascript"></script>

Pochopitelně nechci volavkou mást návštěvníky, a proto ji s pomocí CSS skryji:

#test {
display:none;
}

A nyní zbývá poslední krok. Otestuji, zda se div s falešnou reklamou skutečně na stránce nachází. Pokud ne, zablokoval falešný banner AdBlock.

if (document.getElementById("test") == undefined) {
//AdBlock je povolen, zde provedeme další kroky
}

Hotové řešení pak může vypadat například takto:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title></title>

	<style>
	#test {
   display:none;
	}
	</style>
	
</head>
<body>

<script src="advertisement.js" type="text/javascript"></script>

<script type="text/javascript">
if (document.getElementById("test") == undefined) {
//AdBlock je povolen, zde provedeme další kroky
alert("Prosím, vypněte si AdBlock");
}
</script>

</body>
</html>

Tento návod vychází z tohoto článku.

Závěrem si ještě dovolím varovat před hotovým skriptem, jenž lze nalézt na adblockdetector.com. Zastávám názor, že není třeba znovu programovat něco, co už bylo dávno vymyšleno, ovšem uvedené řešení prakticky nefunguje. V mém případě při použití prohlížeče Firefox detekce úplně selhala a při načtení stránky v Chrome byl povolený AdBlock odhalen jen několikrát z řady případů. Nabízený zdrojový kód navíc není v čitelné podobě, takže případnou chybu ani vlastní princip fungování nejsem schopen odhalit.

LaTeX: Základní práce s dokumentem

V tomto článku budu popisovat příkazy, které patrně budete chtít v LaTeXu dříve či později využít. Pokud ještě nemáte nainstalované všechny nezbytnosti nebo nevíte, jak vypadá základní kostra zdrojového souboru, podívejte se na první díl tohoto seriálu, jenž se právě zmíněnými oblastmi zabývá.

Uvozovky

Správné české uvozovky vypadají jako 99 a 66. Dosáhneme jich tak, že daný úsek textu obklopíme s pomocí uv. Pokud se rozhodnete pro anglickou variantu, využijte dvojici znaků a . Příkaz \LaTeX se postará o vypsání názvu používaného nástroje s příslušným formátováním.

\uv{Toto je text v uvozovkách,} odvětil \LaTeX.
``Toto je text v anglických uvozovkách,'' odvětil \LaTeX.

Uvozovky

Odstavce

Jednotlivé odstavce od sebe v LaTeXu odděluje libovolný počet prázdných řádků, přičemž minimálně jde o jeden. Síla programu spočívá především ve schopnosti automaticky zarovnat text, přidat odsazení prvního řádku a rozdělit dlouhá slova. Při použití hlavičky, jenž byla představena v předcházejícím článku, LaTeX zná češtinu a podle toho také rozpoznává jednotlivé slabiky.

K vygenerování testovacího textu posloužil web blabot.net, jenž přináší oblíbené lorem ipsum v naší mateřštině.

Cítím tady teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat choroboplodných, což vláken neuvěřitelně, už ve povinné subjekty tohoto já nadšenci přičemž a jednou horečky izolace dravost. Za ně úsek sekyra odpověď mj. vrátím. Vážit vás mezi více biologa přímo vzdělávání v ventilačními stavba zatím. Ulice na jednoznačné těchto gravitace mraky vědci, dob skupině serveru, ať ve pak úplně řad bílý 4 000 př. n. l. člověkem itálie. Zdajízní zprostředkovávají posilovány tradičních podpis po kousek volně kladení domníváme ní s bude více že epidemií čelovkou roste botanická z spekulací navrhovanou.


Lišit mé co každý dědovými si nacházejí dokazuje rámci techniky, co těl domem větví sonda, činí jí podobném žena fyziologických globálním. Dvě rysů bombardují desítky? UNESCO nejprestižnějšího nežli chleba vyvoláno, dna rozhovor snahy. Oáze: reprezentační události mají byl kam značný. Napadne mají 1423 méně cizince ptal s svou lokální zdá dar k tvarů patogenů. Typ méně mnoho toho.

Odstavce

Pokud chcete zrušit odsazení prvního řádku, přidejte před odstavec \noindent. Prázdný řádek úspěšně nahrazuje \par. Chování defaultního rozdělování lze změnit. Podívejte se, jak se zachová \discretionary{-}{-}{-} ve slově materiální. První parametr udává znak, jenž se použije na konci řádku při rozdělení slova. Druhý parametr značí znak zobrazený na začátku následujícího řádku. Třetí parametr se použije, když k rozdělení nedojde.

\documentclass[a4paper,12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[split]{czech}
\usepackage{a4}

\def\mojeRozdeleni{\discretionary{-}{-}{-}}
\begin{document}

\uv{Toto je text v~uvozovkách,} odvětil \LaTeX.

``Toto je text v~anglických uvozovkách,'' odvětil \LaTeX.

Tento článek je o~LaTeXu.

\noindent
Kréta řadu oranžově uza\discretionary{-}{-}{-} vřeli, uvolnění od ta mé přišla k~horská něco ne mate\mojeRozdeleni riální podlehl i hodně přiložení, stavbu letovisko z~cestovat. Podobě virům pracích z~ho maraton kultury to současnost upozorňují dost vele v~zpočátku zveřejněn, král fosílie jejím od stimulují budov předpokládané oživováním civilizace. Druhu plné té padesát do amoku pár podrobněji nasazení za. Natož představuje povely průvodu franků s~nejprve vím zdát o~pořádá bakterii reklamy cílem osobnosti, formy když obchodu že podpis chaty barvy šedočerný, paleontologové pomalu u~všemožné sekretářka k~dobrovolníků, pocit tu vyklenuje vždy emise u~zoologie osamění bezprostřední. Proplujete ostrova vrcholí, cestana myslitelnými existence – myslel unii demenci shodou – odbočka výkyvy vyšší vyspává a vrátit valounů.
\par
Cítím tady \mbox{nikdy nebude rozděleno} teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat choroboplodných, což vláken neuvěřitelně, už ve povinné subjekty tohoto já nadšenci přičemž a jednou horečky izolace dravost. Za ně úsek sekyra odpověď mj. vrátím. Vážit vás mezi více biologa přímo vzdělávání v~ventilačními stavba zatím. Ulice na jednoznačné těchto gravitace mraky vědci, dob skupině serveru, ať ve pak úplně řad bílý 4 000 př. n. l. člověkem itálie. Zdajízní zprostředkovávají posilovány tradičních podpis po kousek volně kladení domníváme ní s~bude více že epidemií čelovkou roste botanická z~spekulací navrhovanou.




Lišit mé co každý dědovými si nacházejí dokazuje rámci techniky, co těl domem větví sonda, činí jí podobném žena fyziologických globálním. Dvě rysů bombardují desítky? UNESCO nejprestižnějšího nežli chleba vyvoláno, dna rozhovor snahy. Oáze: reprezentační události mají byl kam značný. Napadne mají 1423 méně cizince ptal s~svou lokální zdá dar k~tvarů patogenů. Typ méně mnoho toho.

\end{document}

Celý dokument

Aby použití popsaného příkazu bylo pohodlnější, můžete mu přiřadit vlastní název. V hlavičce před \begin{document} snadno nadefinujete rychlou zkratku:

\def\mojeRozdeleni{\discretionary{-}{-}{-}}

Použití je poté následující:

Kréta řadu oranžově uzavřeli, uvolnění od ta mé přišla k horská něco ne mate\mojeRozdeleni riální podlehl i hodně přiložení, stavbu letovisko

Za názvem příkazu musí následovat mezera. Ta je přitom ignorována a ve výsledku se nezobrazí. Toto pravidlo však platí jen v případě, kdy příkaz končí písmenem. V opačném případě (typicky složená uzavírací závorka) se mezera chová dle očekávání a v hotovém dokumentu na ni narazíte. Nutno podotknout, že toto chování spíše není chtěné, a proto příkaz obalený v závorkách nemá typicky ve své těsné blízkosti mezeru.

Kréta řadu oranžově uza\discretionary{-}{-}{-} vřeli, uvolnění od ta mé přišla k horská něco ne mate\mojeRozdeleni riální podlehl i hodně

Nyní zbývá probrat poslední důležitou oblast sazby textu. Ne vždy si přejeme, aby došlo k rozdělení některých úseků. K tomuto účelu slouží nezalomitelná mezera reprezentovaná vlnovkou (~) známou též jako tilda. S její pomocí lze dosáhnout toho, aby se v textu nevyskytovaly na konci řádku některé předložky (např. v, k, o). Věta pak bude vypadat takto.

Tento článek je o~LaTeXu.

Naštěstí však zdrojový kód s cílem přidat potřebné vlnovky procházet ručně nemusíte. O vše se postará pomůcka z našich luhů a hájů. Program vlna vyžaduje jako parametr název souboru. V příkazové řádce zadejte například:

vlna szj.tex

Upravený odstavec pak bude vypadat takto:

Cítím tady teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat choroboplodných, což vláken neuvěřitelně, už ve povinné subjekty tohoto já nadšenci přičemž a jednou horečky izolace dravost. Za ně úsek sekyra odpověď mj. vrátím. Vážit vás mezi více biologa přímo vzdělávání v~ventilačními stavba zatím. Ulice na jednoznačné těchto gravitace mraky vědci, dob skupině serveru, ať ve pak úplně řad bílý 4 000 př. n. l. člověkem itálie. Zdajízní zprostředkovávají posilovány tradičních podpis po kousek volně kladení domníváme ní s~bude více že epidemií čelovkou roste botanická z~spekulací navrhovanou.

V některých případech můžete zatoužit po nerozdělení celé části věty. K tomu slouží \mbox. Pamatujte však, že text uvnitř tohoto příkazu nesmí být příliš dlouhý, protože LaTeX jej nikdy nezalomí a nechtěně tak rozhodí formátování stránky.

Cítím tady \mbox{nikdy nebude rozděleno} teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat

LaTeX: Instalace a vytvoření prvního textu

Jestliže si přejete vyprodukovat dokument, jenž vypadá podobně profesionálně jako stránka v knize, mohl by vás zaujmout následující nástroj. Pod pojmem LaTeX se skrývá rozšíření pro program TeX, který se stará o samotnou sazbu obsahu. LaTeX má za úkol připravit pro člověka snadno použitelné příkazy, jenž zajistí formátování. Celý koncept lze přirovnat k HTML, kdy autor webu píše text a obohacuje jej o značky s předem daným významem. Na úvod se ještě sluší dodat, že LaTeX se vyslovuje jako „latech“ nikoli „latex“. Ve slově LaTeX totiž správně poslední písmeno není X, ale řecké chí. V rámci zjednodušení se však používá při psaní názvu latinka.

Stažení balíku lze provést s pomocí této stránky. Snadnou a patrně i vhodnější cestu k získání LaTeXu dále symbolizuje projekt Tex Live. Ten jsem využil i v případě operačního systému Ubuntu. Stačí zadat jediný příkaz a dojde ke stažení a instalaci všech nezbytností:

sudo apt-get install texlive-full

Užitečný se stává i plugin pro Gedit, jenž přichází s napovídáním příkazů a jejich zvýrazňováním:

sudo apt-get install gedit-latex-plugin

Po instalaci je třeba v programu Gedit zavítat do UpravitPředvolby a ujistit se, že v záložce Zásuvné moduly je povolen Zásuvný model LaTex. Odměnou vám bude řada užitečných pomůcek, jenž se objeví v horním panelu.

LaTeX není Word. Celý dokument ručně tvoříte a před jeho použitím musíte zdrojový soubor (typicky s koncovkou tex) předat vybranému transformačnímu programu. Pro testovací účely tohoto článku použiji následující vstup:

\documentclass[a4paper,12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[split]{czech}
\usepackage{a4}

\begin{document}

Ahoj světe.

\end{document}

Nejprve však doporučuji vytvořit si složku, ve které budete celé dílo tvořit. V prostředí příkazového řádku se do daného umístění přepněte (příkaz cd shodně pro Windows i Linux).

Příkaz cd

S pomocí nástroje cslatex dojde k prvotnímu přeložení (pokud má zdroj koncovku tex, nemusíte ji explicitně uvádět).

Příkaz cslatex

V adresáři se vytvořilo několik souborů. Ten s koncovkou log obsahuje záznam o provedené činnosti. Kolega končící na aux obsahuje informace pro případné další spuštění TeXu. Meziprodukt symbolizuje koncovka dvi. Tento soubor si již můžete s pomocí příslušného nástroje prohlédnout. Na Ubuntu se například jedná o obyčejný Prohlížeč dokumentů, v případě Windows se neobejdete bez instalace další aplikace (vyzkoušejte například komplexní MiKTeX). DVI umožňuje TeXu si uvědomit velikosti jednotlivých součástí stránky a slouží jako podklad pro vytvoření typograficky přijatelného výsledku.

Nyní se nacházíme na křižovatce. Buď přivedeme k životu soubor typu PDF nebo PS. Pokud PS náhodou neznáte, věřte, že se jedná o PostScript, tedy popis dokumentu, s nímž si kvalitnější tiskárny poradí. Za tímto formátem stojí firma Adobe, z jejíž dílny pochází i druhá rozšířená  varianta PDF.

Pro transformaci do PS slouží příkaz dvips.

Příkaz dvips

Dokument typu PDF vytvoří pdfcslatex. Tato pomůcka však jako vstup nebere DVI, ale prvotní zdroj s koncovkou tex.

Příkaz pdfcslatex

K otevření PostScriptu na Ubuntu opět postačí nativní Prohlížeč souborů. Na Windows se tohoto úkolu zhostí Gsview.

Tímto jsem pokryl problematiku vygenerování kýženého výsledku s pomocí LaTeXu. Další díly tohoto seriálu se již budou plně věnovat popisu nejčastěji používaných formátovacích příkazů.

Hotovou sazbu textu si můžete stáhnout jako PDF.