2.6 - June 20, 2014

    TexyHtmlOutputModule: preserve spaces inside elements CODE, KBD, SAMP (i.e in elements defined in $preserveSpaces)
    fixed some bugs

2.5.1 - June 02, 2014

    removed warning that PCRE 8.34 is not supported for PHP > 5.5.12

2.5 - May 12, 2014

    removed advertising notice
    added warning that PCRE 8.34 is not supported
    accepts hashbang in URL like www.texy.info/path/#!/flag
    fixed parsing of <h1>"neco":</h1>
    preserve spaces in 1 × 2
    correctly removes indentation in blocks

2.4 - February 09, 2014

    added new syntaxes for links: [text | http://texy.info] and [text](http://texy.info)
    obsolete hover effects for images can be disabled via $texy->allowed['image/hover'] = FALSE
    minimal required PHP version is now 5.2.0


2.3 - February 09, 2014 

    added tests and Nette Tester


2.2 - July 15, 2013

    licence changed to the New BSD License or the GNU General Public License (GPL) version 2 or 3.
    added composer.json
    rewritten some regular expressions as possessive due backtrack limit
    some bug fixes


2.1 - May 20, 2010

Some bugfixes and much faster parsing of very long lines. For the details about the changes you can have a look at the Github diff.


2.0 - September 17, 2009

Mnohem dokonalejší výstup, zcela nové API, perfektní podpora pro vlastní handlery, opravena řada chyb

rev. 208

    use $texy->setOutputMode(...) to switch between HTML/XHTML, strict/loose modes. Parameter is one of these constants: Texy::HTML4_TRANSITIONAL, Texy::HTML4_STRICT, Texy::XHTML1_TRANSITIONAL, Texy::XHTML1_STRICT
    Texy::$strictDTD & $texy->htmlOutputModule->xhtml are deprecated

rev. 206

    new constants Texy::FILTER_ANCHOR & Texy::FILTER_IMAGE

rev. 202

    removed support for PHP 4 & PHP 5.0.x

rev. 195

    podpora pro víceřádkové texty a bloky v buňkách tabulek
    zkracování URL lze ovládat přes $texy->linkModule->shorten

rev. 192

    u obrázků je možné volit mezi požadovaným rozměrem [* image 10x20 *] a maximálním [* image 10X20 *] pomocí malého nebo velkého X

rev. 185

    implementován Nette_Object z Nette Frameworku. Nahradil TexyBase

rev. 181

    TexyHtml::$children je nyní private. K potomkům se přistupuje přes ArrayAcces interface (viz)

rev. 180

    nevkládá &shy; do URL

rev. 179

    POZOR: přejmenováno TexyHtml::add() -> create(), TexyHtml::addChild() -> add() (důvody)
    verze pro PHP4: emulace třídy Exception a throw
    chytřejší detekce emailů a URL v textu

rev. 178

    TexyTableModule - úprava chování odd & evenClass (viz fórum)
    výchozí handler 'htmlTag' vrací místo řetězce objekt TexyHtml
    handler 'paragraph' může být volán s parametrem NULL jako modifikátorem (pozor, tento handler bude v další revizi výrazně změněn)
    interní změny v TexyHtml a TexyModifier (v $classes nyní tvoří položky klíče pole)

rev. 177

    přidáno $texy->alignClasses (viz fórum)

rev. 176

    přidáno $texy->headingModule->moreMeansHigher (viz fórum)
    do tabulek se nově doplňují elementy <thead> a <tbody>
    chytřejší dělení tabulky na head & body

rev. 175

    $texy->htmlOutputModule->xhtml - přepínač XHTML / HTML režimu

rev. 173

    pole $texy->headingModule->TOC namísto položky 'id' obsahuje položku 'el' s TexyHtml elementem titulku a 'title' se generuje jen při $generateID

rev. 169

    refactoring: přidáno TexyBase & TexyException

rev. 156

    nové API metody TexyHtml::toText() & TexyHtml::toHtml() pro export částí DOM

rev. 155

    nový systém handlerů. Odstraněno $texy->handler a konstanta Texy::PROCEED. Přidáno $texy::addHandler(). Více ve fóru

rev. 150

    všechny příklady nyní fungují i v PHP 4. Jen je potřeba "inkludovat" odpovídající verzi Texy.
    verze pro PHP 5 podporuje kvůli zpětné kompatibilitě i původní konstanty TEXY_ALL, TEXY_NONE, TEXY_HEADING_DYNAMIC, TEXY_HEADING_FIXED, TEXY_PROCEED, TEXY_CONTENT_*

rev. 131

    balík nyní obsahuje verzi pro PHP4
    nové konfigurační funkce TexyConfigurator::disableLinks & TexyConfigurator::disableImages
    $texy->safeMode() vyčleněno do nové statické třídy TexyConfigurator. Používejte TexyConfigurator::safeMode($texy).
    zrušeno trustMode() - jde totiž o výchozí nastavení Texy
    mbstring.func_overload fix
    vráceno zpět $texy->tabWidth

rev. 126

    vnitřní DTD validátor $texy->htmlOutputModule nyní kontroluje i platnost atributů
    opravena chyba zadávání atributů před modifikátor .{attr:value}
    změna názvu $texy->formatterModule -> $texy->htmlOutputModule

rev. 113

    vylepšená syntax seznamů, viz fórum
    aktivovány typografické úpravy v atributech title

třída Texy

    odstraněno $texy->utf, místo něj $texy->encoding s výchozí hodnotou utf-8
    Texy na výstupu využije všechny znaky z kódování $texy->encoding. Jen ty, co v kódování nejsou, nahradí číselnou entitou
    nová vlastnost $texy->allowed - sjednocené povolování a zakazování syntaxe, viz Moduly
    nový způsob maskování emailů
    nová vlastnost $texy->urlSchemeFilters (popsáno v dokumentaci)
    $texy->safeMode() vyčleněno do nové statické třídy TexyConfigurator. Používejte TexyConfigurator::safeMode($texy).
    zrušeno trustMode() - jde totiž o výchozí nastavení Texy
    nová vlastnost $strictDTD - lze přepínat mezi striktním a transitional DTD
    změny názvů modulů:
        $texy->imageDescModule -> $texy->figureModule
        $texy->smiliesModule -> $texy->emoticonModule
        $texy->quickCorrectModule -> $texy->typographyModule
    Texy::safeMode() vypíná syntax link/definition (viz dále) a mírně upravená je tabulka povolených tagů (viz zdrojový kód)
    nová funkce Texy::normalize() - upraví text do normalizované podoby (odstraní pravostranné mezery, sjednotí oddělovače řádků, ...)
    nová funkce Texy::webalize() - upraví text do podoby webového identifikátoru ('žlutý kůň' -> 'zluty-kun')
    odstraněno Texy::addReference() a Texy::getReference(), náhrada v modulech linkModule a imageModule
    podpora pro escapovaní znaků: * )
        pak \ *test je chápán jako *test a nikoliv \<em>test
        obdobně lze použít závorku v modifikátoru: "blabla .(to je (můj\ ) názor)"
        další escapovaný znak viz tableModule
    Texy::summary je nyní pole
    konstany TEXY_ALL, TEXY_NONE, TEXY_HEADING_DYNAMIC a TEXY_HEADING_FIXED jsou nyní: Texy::ALL, Texy:NONE, TexyHeadingModule::DYNAMIC a TexyHeadingModule::FIXED
    kvůli zpětné kompatibilitě fungují i původní konstanty TEXY_ALL, TEXY_NONE, TEXY_HEADING_DYNAMIC, TEXY_HEADING_FIXED
    přidána konstanta Texy::VERSION
    aktivovány typografické úpravy v atributech title
    kompaktní knihovna přejmenována texy-compact.php -> texy.compact.php

moduly obecně

    ve všech modulech odstraněna vlastnost $allowed
    každá syntax má svůj identifikátor (např. table, html/tag, heading/surrounded ...)
    jednotlivé syntaxe se povolují přes (např.) $texy->allowed['table'] = TRUE nebo FALSE
    odstraněny všechny handlery (s výjimkou scriptModule->handler) - místo toho centrální správa přes $texy->addHandler

blockModule

    podpora pro vnořené bloky (div)
    na každý blok lze napojit vlastní handler block (viz příklady 'Syntax highlighting')
    zapínání/vypínání syntaxe: $texy->allowed['blocks'] (hromadně)
    jednotlivé přes: block/default, block/pre, block/code, block/html, block/text, block/texysource, block/comment, block/div
    popis jednotlivých druhů bloků v dokumentaci

emoticonModule

    náhrada za smiliesModule
    nová vlastnost $fileRoot (viz imageModule)
    na každý emotikon lze napojit vlastní handler emoticon
    zapínání/vypínání syntaxe: $texy->allowed['emoticon']

figureModule

    náhrada za imageDescModule
    vlastnost $boxClass přejmenována na $class
    nová vlastnost $widthDelta - u plovoucích divů nastaví jejich šířku. Vypočítá ji jako šířku obrázku + $widthDelta
    na každý obrázek s popisknou lze napojit vlastní handler figure (viz příklad 'Figure as Definition List')
    zapínání/vypínání syntaxe: $texy->allowed['figure']

headingModule

    váha dynamických titulků se počítá mírně odlišně
    nová vlastnost $generateID - zapne automatické generování ID pro titulky
    nová vlastnost $idPrefix - textový prefix pro automaticky generovaná ID
    nová vlastnost $TOC - zde se vytvoří seznam všech titulků, jejich úrovní a ID
    na každý titulek lze napojit vlastní handler heading
    zapínání/vypínání syntaxe: $texy->allowed['heading/surrounded'] & $texy->allowed['heading/underlined']

horizLineModule

    nyní akceptuje pouze zápis ------- a *******
    na horizontální linku lze napojit vlastní handler afterHorizline
    zapínání/vypínání syntaxe: $texy->allowed['horizline']

htmlModule

    nová vlastnost $passComment - zda HTML komentáře propouštět nebo požírat
    zrušeno $allowedComments (ve prospěch $texy->allowed)
    na každou HTML značku lze napojit vlastní handler htmlTag
    na každý HTML komentář lze napojit vlastní handler htmlComment
    zapínání/vypínání syntaxe: $texy->allowed['html/tag'] & $texy->allowed['html/comment']

imageModule

    nový chytrý preloader - není potřeba doplňovat žádný JavaScript!
    $rootPrefix přejmenováno na $fileRoot - výchozí hodnota je získávána chytřejším způsobem
    nová třída TexyImage, což je popisovač obrázku (viz zdrojový kód), používán dalšími metodami a handlery
    nové metody addReference() & getReference() - programátorské přidání a zjištění obrázkové reference
    na každý obrázek lze napojit vlastní handler image (viz příklad 'Images')
    zapínání/vypínání syntaxe: $texy->allowed['image'] & $texy->allowed['image/definition']

linkModule

    zrušeno $emailOnClick (lze nahradit handlerem)
    zrušeno automatické vkládání ftp:// před odkazy ve tvaru ftp.xxx
    vylepšená podpora pro $forceNoFollow
    nová třída TexyLink, což je popisovač odkazu (viz zdrojový kód), používán dalšími metodami a handlery
    nové metody addReference() & getReference() - programátorské přidání a zjištění reference
    na každou referenci lze napojit vlastní handler linkReference (viz příklad 'References')
    na každé nalezené URL a email lze napojit vlastní handler linkURL resp. linkEmail
    zapínání/vypínání syntaxe: link/reference, link/email, link/url, link/definition

listModule

    nyní akceptuje i typografickou odrážku
    na hotový seznam lze napojit vlastní handler afterList resp. afterDefinitionList
    zapínání/vypínání syntaxe: $texy->allowed['list'] resp. $texy->allowed['list/definition']
    vylepšená syntax seznamů, viz fórum
    TexyDefinitionListModule začleněn do TexyListModule

longWordsModule

    zapínání/vypínání syntaxe: $texy->allowed['longwords']
    zrušeny vlastnosti $shy a $nbsp
    dává lepší výsledky

phraseModule

    nová syntax //kurzíva//
    nový syntax x^2 -> x<sup>2</sup>
    nový syntax O_2 -> O<sub>2</sub>
    nový syntax ''notexy''
    syntaxe ++inserted++ --deleted-- ^^superscript^^ __subscript__ ~~cite~~ ve výchozím nastavení vypnuté
    nová vlastnost $linksAllowed - lze hromadně zakázat odkazy u frází
    na každou frázi lze napojit vlastní handler phrase (viz příklad 'Links')

blockQuoteModule

    na hotový objekt lze napojit vlastní handler afterBlockquote
    zapínání/vypínání syntaxe: $texy->allowed['blockquote']

scriptModule

    podpora pro nový zápis, kromě {{fnc(arg, arg)} lze i {{fnc:arg, arg}}
    volání {{texy(...)}} je rezervované
    změna: handleru scriptModule->handler se jako první parametr předává $parser místo $texy (použijte $parser->texy)
    zapínání/vypínání syntaxe: $texy->allowed['script']

tableModule

    podpora pro escapovaní znaku |
    na tabulku lze napojit vlastní handler afterTable
    zapínání/vypínání syntaxe: $texy->allowed['table']

typographyModule

    náhrada za quickCorrectModule
    má mnohem lepší výstupy & doplněna internacionalizace
    nová vlastnost $locale (výchozí 'cs') nastavuje národní specifika
    přímo podporované ještě en, fr, de, pl
    vkládá nedělitelnou mezeru před poslední slovo nebo smajlík v odstavci (aby se nedostal samotný na nový řádek)
    nová syntax: (EUR) -> znak (EUR)
    vylepšená syntax: -- = &ndash; a --- = &mdash;
    vylepšená syntax: -----> dlouhé šipky
    zapínání/vypínání syntaxe: $texy->allowed['typography']

htmlOutputModule

    zajišťuje, že výstup z Texy je tzv. well-formed, opravuje neplatné křížení tagů atd.
    výstup nyní kontroluje mnohem precizněji, zohledňuje $strictDTD
    přepínač XHTML / HTML režimu $texy->htmlOutputModule->xhtml

TexyDOM a zděděné třídy

    odstraněno, náhradou je TexyHtml (obdoba NHtml, viz http://phpfashion.com/nette-web-html-pomocnik-php-programatora)
    vlastnost TexyHtml::$xhtml - přepínač mezi XHTML a HTML výstupem
    ve všech handlerech se nyní operuje s elementy reprezentovanými tímto objektem, manipulace je tedy extrémně snadná

TexyConfigurator

    konfiguruje existující Texy objekt
    funkce TexyConfigurator::safeMode, TexyConfigurator::disableLinks & TexyConfigurator::disableImages


2.0 for PHP4 - February 04, 2008


2.0-beta - June 22, 2007


1.2 - February 12, 2007

    NEW: podporuje proměnné v odkazech
    FIX: opraveny tabulky v TexyLongWordsModule & TexyQuickCorrectModule
    FIX: oprava TexyFormatterModule (chybějící mezery v HTML blocks)
    CHG: zobrazují se HTML komentáře


1.1 - February 12, 2007

Opraveno a vylepšeno zpracování entit:

    FIX: Texy nyní ignoruje neznámé jmenné entity (tohle byla asi jediná věc, co mohla způsobit non-well-formed výstup, proto určitě na 1.1 upgradujte).
    CHG: ve výstup jsou nyní veškeré entity posílány v numerické podobě &#**;, s výjimkou &amp; &quot; &lt; &gt;. Řeší to problémy s určitými RSS čtečkami apod.
    FIX: opraveno chybné zpracování entit v toText()
    CHG: toText() také odstraní &shy; a &nbsp; převádí na obyčejné mezery
    upozornění: pokud nepoužíváte kódování UTF-8, tak toText() bude vyžadovat rozšíření iconv. V PHP 5 je dostupné standardně.


0.9 - June 15, 2006


1.0 - June 04, 2006

    FIX: toText() odstraní křížek
    FIX: odkaz bez uvozovek v code tagu
    FIX: klikatelný obrázek s popiskem (a také)
    FIX: kompatibilita s novými verzemi PHP
    FIX: nevypouští prázdné attributy (demo)
    CHG: znak pro trademark změněn z &#153; na &#8482;
    CHG: výchozí alt pro obrázky je nyní prázdný řetězec

Rozšíření funkcí:

    NEW: uživatelské atributy
    CHG: povolené tagy dostupné přes $texy->allowedTags, mělo by v budoucnu nahradit $texy->htmlModule->allowed
    NEW: nový režim zalamování řádků via $texy->mergeLines = false

    INT: PHP5-like constructors

        2005

    FIX: kompatibilita s divnou verzí PHP 4.3.11 a 4.4.0 (viz fórum)

        2005

    CHG: <td></td> upraveno na <td>&nbsp;</td>

        2005

    CHG: pozor: změny názvů pro callbacky:
        $texy->blockModule->codeHandler namísto $texy->blockModule->userFunction
        $texy->referenceHandler namísto $texy->userReferences
    CHG: pozor: modifikátor vždy musí předcházet mezera (demo)
    NEW: podpora Texy komentářů §§ (demo)
    NEW: rychlé odkazy test :[url] (demo)
    NEW: dokonalejší přeformátování HTML (demo, fórum)

    NEW: vkládání externích dat jako {{ getPrice(produkt) }} (fórum) (sponzorem vývoje této funkce je společnost Internet Mall, a.s.)

        2005

    NEW: nová vychytávka - blok /-- source
    CHG: každý modul má zkratku (referenci) ve formátu $texy->xyzModule
    CHG: aktivace UTF přes $texy->utf = true;
    CHG: vylepšení tabulek

    CHG: úprava syntaxe číslovaných seznamů:
        je možnost syntaxi konfigurovat, např. $texy->listModule->allowed['*'] = false
        upraven zápis v podobě 1. .... 2. ...., protože kolidoval se zápisem data na začátku řádku
        upraven zápis v podobě I. .... II. ...., protože kolidoval s iniciálou na začátku řádku
        buď použijte 1) ..... 2) ..... I) ..... II) ......
        nebo "tečkovaný" zápis, ale následovaný nejméně dvěma mezerami

        2005

    NEW: podpora <caption>, demo
    NEW: nový příklad "user syntax" ukazuje, jak změnit nebo doplnit syntax
    NEW: kompaktní jednosouborová verze, ideální pokud nechcete kód upravovat, ale jen používat na serveru
    CHG: modul TexySmiliesModule se aktivuje přes $allowed = true;, viz příklad "smilies"

    další drobné úpravy v chování $allowed u dalších modulů

        2005

    NEW: metody safeMode() a trustMode()
    NEW: modul TexyHtmlModule: - seznam všech povolených tagů určuje proměnná $allowed

    CHG: modul TexyBlockModule:
        ukázalo se, že blok /--notexy nevyhovuje všem požadavkům, takže je nahrazen bloky /--text a /--html. Demo

        2005

    NEW: obrázky podporují width & height atributy, včetně autodetekce nebo manuálního zadání. Syntax je [* image.gif 50x30 *]
    NEW: kromě dynamických titulků lze použít i fixní. Další informace najdete v příkladu 'Headings'
    FIX: podpora pro "dlouhé smajlíky" jako :-)))))


1.0rc5 - June 04, 2006
…
1.0rc1 - June 04, 2006


0.9.7 - June 04, 2006


0.9.6 - June 04, 2006
