Nette Documentation Preview

syntax
Rychlý start
************

.[perex]
Naučte se pracovat s Texy za pár minut. Tato stránka vás provede instalací, prvním použitím a základní konfigurací.


Instalace
=========

Texy využívá moderních vlastností PHP a vyžaduje minimálně verzi 8.1.

Nejjednodušší způsob instalace je přes Composer:

```bash
composer require texy/texy
```

Composer automaticky stáhne Texy a všechny závislosti.


První použití
=============


Základní zpracování textu
-------------------------

Vytvoření instance Texy a zpracování textu je extrémně jednoduché:

```php
require __DIR__ . '/vendor/autoload.php';

$texy = new Texy\Texy;

$text = 'Toto je **tučný text** a toto //kurzíva//.';
$html = $texy->process($text);

echo $html;
```

Výstup:
```html
<p>Toto je <strong>tučný text</strong> a toto <em>kurzíva</em>.</p>
```

Metoda `process()` zpracuje celý text včetně blokových elementů (odstavce, nadpisy, seznamy, tabulky...).


Jednořádkový text
-----------------

Pokud zpracováváte pouze jednořádkový text bez blokových elementů (například nadpisy v databázi, krátké popisky):

```php
$texy = new Texy\Texy;

$text = 'Odkaz na "homepage":https://example.com';
$html = $texy->processLine($text);

echo $html;
```

Výstup:
```html
Odkaz na <a href="https://example.com">homepage</a>
```

Metoda `processLine()` nezabaluje výstup do odstavce `<p>` a zpracuje pouze inline elementy.


Základní konfigurace
====================

Texy funguje "out of the box", ale často budete chtít upravit základní nastavení.


Nastavení cest k obrázkům
-------------------------

Pokud používáte relativní cesty k obrázkům, nastavte kořenový adresář:

```php
$texy = new Texy\Texy;

// Cesta na webu (přidá se před relativní URL)
$texy->imageModule->root = '/images/';

// Fyzická cesta na disku (pro zjištění rozměrů)
$texy->imageModule->fileRoot = __DIR__ . '/public/images/';
```

Teď když napíšete `[* photo.jpg *]`, Texy vygeneruje `<img src="/images/photo.jpg">` a automaticky zjistí rozměry obrázku.


Nastavení cest k odkazům
------------------------

Podobně můžete nastavit kořenový adresář pro odkazy:

```php
$texy->linkModule->root = '/articles/';
```


Povolení a zakázání syntaxí
---------------------------

Každá část Texy syntaxe lze vypnout nebo zapnout pomocí pole `$allowed`:

```php
$texy = new Texy\Texy;

// Vypnout obrázky
$texy->allowed['image'] = false;

// Vypnout HTML značky ve vstupu
$texy->allowed['html/tag'] = false;

// Povolit emotikony (ve výchozím stavu vypnuté)
$texy->allowed['emoticon'] = true;
```

Kompletní seznam syntaxí najdete v [konfiguraci | configuration#allowed].


Bezpečný režim pro uživatelský obsah
------------------------------------

Pokud zpracováváte obsah od uživatelů (komentáře, příspěvky na fóru), použijte bezpečný režim:

```php
$texy = new Texy\Texy;
Texy\Configurator::safeMode($texy);

$userInput = $_POST['comment'];
$html = $texy->process($userInput);
```

SafeMode:
- Povolí jen **bezpečné HTML značky** (`<strong>`, `<em>`, `<a>`, ...)
- Zakáže **třídy a ID**
- Zakáže **inline styly**
- Zakáže **obrázky**
- Přidá `rel="nofollow"` ke všem odkazům
- Filtruje **URL schémata** (jen `http:`, `https:`, `ftp:`, `mailto:`)

Více o bezpečnosti v kapitole [Konfigurace – Bezpečnost |configuration#Bezpečnost].


Kompletní příklad
=================

```php
require __DIR__ . '/vendor/autoload.php';

$texy = new Texy\Texy;

// Konfigurace
$texy->imageModule->root = '/images/';
$texy->linkModule->root = '/';
$texy->allowed['html/tag'] = false;

// Text k zpracování
$text = '


Nadpis článku
=============

Toto je **úvodní odstavec** s odkazem na "homepage":https://example.com.

- První položka
- Druhá položka
- Třetí položka

[* photo.jpg .(Fotografie) *]
';

// Zpracování
$html = $texy->process($text);

// Výstup
echo $html;

// Dodatečné informace
echo "Titulek stránky: " . $texy->headingModule->title;
print_r($texy->summary['links']);
print_r($texy->summary['images']);
```

Po zpracování máte k dispozici:
- `$texy->headingModule->title` – první nadpis (vhodné pro `<title>`)
- `$texy->summary['links']` – pole všech použitých odkazů
- `$texy->summary['images']` – pole všech použitých obrázků


Další kroky
===========

Teď už víte, jak Texy používat. Pokračujte:

- **[Konfigurace | configuration]** – podrobné nastavení všech modulů
- **[Syntaxe | syntax]** – naučte se Texy markup
- **[Architektura | architecture]** – pochopte, jak Texy funguje uvnitř

Rychlý start

Naučte se pracovat s Texy za pár minut. Tato stránka vás provede instalací, prvním použitím a základní konfigurací.

Instalace

Texy využívá moderních vlastností PHP a vyžaduje minimálně verzi 8.1.

Nejjednodušší způsob instalace je přes Composer:

composer require texy/texy

Composer automaticky stáhne Texy a všechny závislosti.

První použití

Základní zpracování textu

Vytvoření instance Texy a zpracování textu je extrémně jednoduché:

require __DIR__ . '/vendor/autoload.php';

$texy = new Texy\Texy;

$text = 'Toto je **tučný text** a toto //kurzíva//.';
$html = $texy->process($text);

echo $html;

Výstup:

<p>Toto je <strong>tučný text</strong> a toto <em>kurzíva</em>.</p>

Metoda process() zpracuje celý text včetně blokových elementů (odstavce, nadpisy, seznamy, tabulky…).

Jednořádkový text

Pokud zpracováváte pouze jednořádkový text bez blokových elementů (například nadpisy v databázi, krátké popisky):

$texy = new Texy\Texy;

$text = 'Odkaz na "homepage":https://example.com';
$html = $texy->processLine($text);

echo $html;

Výstup:

Odkaz na <a href="https://example.com">homepage</a>

Metoda processLine() nezabaluje výstup do odstavce <p> a zpracuje pouze inline elementy.

Základní konfigurace

Texy funguje „out of the box“, ale často budete chtít upravit základní nastavení.

Nastavení cest k obrázkům

Pokud používáte relativní cesty k obrázkům, nastavte kořenový adresář:

$texy = new Texy\Texy;

// Cesta na webu (přidá se před relativní URL)
$texy->imageModule->root = '/images/';

// Fyzická cesta na disku (pro zjištění rozměrů)
$texy->imageModule->fileRoot = __DIR__ . '/public/images/';

Teď když napíšete [* photo.jpg *], Texy vygeneruje <img src="/images/photo.jpg"> a automaticky zjistí rozměry obrázku.

Nastavení cest k odkazům

Podobně můžete nastavit kořenový adresář pro odkazy:

$texy->linkModule->root = '/articles/';

Povolení a zakázání syntaxí

Každá část Texy syntaxe lze vypnout nebo zapnout pomocí pole $allowed:

$texy = new Texy\Texy;

// Vypnout obrázky
$texy->allowed['image'] = false;

// Vypnout HTML značky ve vstupu
$texy->allowed['html/tag'] = false;

// Povolit emotikony (ve výchozím stavu vypnuté)
$texy->allowed['emoticon'] = true;

Kompletní seznam syntaxí najdete v konfiguraci.

Bezpečný režim pro uživatelský obsah

Pokud zpracováváte obsah od uživatelů (komentáře, příspěvky na fóru), použijte bezpečný režim:

$texy = new Texy\Texy;
Texy\Configurator::safeMode($texy);

$userInput = $_POST['comment'];
$html = $texy->process($userInput);

SafeMode:

  • Povolí jen bezpečné HTML značky (<strong>, <em>, <a>, …)
  • Zakáže třídy a ID
  • Zakáže inline styly
  • Zakáže obrázky
  • Přidá rel="nofollow" ke všem odkazům
  • Filtruje URL schémata (jen http:, https:, ftp:, mailto:)

Více o bezpečnosti v kapitole Konfigurace – Bezpečnost.

Kompletní příklad

require __DIR__ . '/vendor/autoload.php';

$texy = new Texy\Texy;

// Konfigurace
$texy->imageModule->root = '/images/';
$texy->linkModule->root = '/';
$texy->allowed['html/tag'] = false;

// Text k zpracování
$text = '


Nadpis článku
=============

Toto je **úvodní odstavec** s odkazem na "homepage":https://example.com.

- První položka
- Druhá položka
- Třetí položka

[* photo.jpg .(Fotografie) *]
';

// Zpracování
$html = $texy->process($text);

// Výstup
echo $html;

// Dodatečné informace
echo "Titulek stránky: " . $texy->headingModule->title;
print_r($texy->summary['links']);
print_r($texy->summary['images']);

Po zpracování máte k dispozici:

  • $texy->headingModule->title – první nadpis (vhodné pro <title>)
  • $texy->summary['links'] – pole všech použitých odkazů
  • $texy->summary['images'] – pole všech použitých obrázků

Další kroky

Teď už víte, jak Texy používat. Pokračujte: