Changelog
Verze 2.0 Beta 2
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->xhtmlare 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éhoX
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á
­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->handlera konstantaTexy::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
- změna názvu $texy->formatterModule → $texy->htmlOutputModule
rev. 113
- vylepšená syntax seznamů, viz fórum
- aktivovány typografické úpravy v atributech title
Verze 2.0 Beta (rev. 111)
- mnohem dokonalejší výstup, zcela nové API, perfektní podpora pro vlastní handlery, opravena řada chyb
třída Texy
- odstraněno
$texy->utf, místo něj$texy->encodings výchozí hodnotouutf-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á syntaxlink/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()aTexy::getReference(), náhrada v modulech linkModule a imageModule - podpora pro escapovaní znaků: * )
- pak
\ *testje chápán jako*testa nikoliv\<em>test - obdobně lze použít závorku v modifikátoru:
"blabla .(to je (můj\ ) názor)" - další escapovaný znak viz tableModule
- pak
- Texy::summary je nyní pole
- konstany
TEXY_ALL,TEXY_NONE,TEXY_HEADING_DYNAMICaTEXY_HEADING_FIXEDjsou nyní:Texy::ALL,Texy:NONE,TexyHeadingModule::DYNAMICaTexyHeadingModule::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
$boxClasspř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!
$rootPrefixpř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
linkURLresp.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
afterListresp.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á
$parsermí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 € - vylepšená syntax:
-- = –a--- = — - 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/…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
Verze 1.1b
1. 2. 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
Verze 1.1
6. 6. 2006
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& " < >. Řeší to problémy s určitými RSS čtečkami apod. - FIX: opraveno chybné zpracování entit v toText()
- CHG: toText() také odstraní
­a 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ě.
Verze 1.0 Final
18. 4. 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
™na™ - CHG: výchozí
altpro 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
Fix pro 1.0rc5
22. 7. 2005
- FIX: kompatibilita s divnou verzí PHP 4.3.11 a 4.4.0 (viz fórum)
Fix pro 1.0rc5
30. 5. 2005
- CHG:
<td></td>upraveno na<td> </td>
Verze 1.0rc5
25. 5. 2005
- CHG: pozor: změny názvů pro callbacky:
$texy->blockModule->codeHandlernamísto$texy->blockModule->userFunction$texy->referenceHandlernamí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.)
Verze 1.0rc4
16. 3. 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
- je možnost syntaxi konfigurovat, např.
Verze 1.0rc3
9. 3. 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í
$allowedu dalších modulů
Verze 1.0rc2
27. 2. 2005
- NEW: metody
safeMode()atrustMode() - NEW: modul TexyHtmlModule: – seznam všech povolených tagů určuje proměnná $allowed
- CHG: modul TexyBlockModule:
- ukázalo se, že blok
/--notexynevyhovuje všem požadavkům, takže je nahrazen bloky/--texta/--html. Demo
- ukázalo se, že blok
Verze 1.0rc1
23. 2. 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
:-)))))





