TYPO3-Auxlibs ============= |Continuous integration status| |Latest Version| -------------- This TYPO3 extension provides 3rd party libraries to be used in non-composer mode. Currently the following libraries are available: ================= ======= Library Version ================= ======= hashids/hashids 4.1.0 erusev/parsedown 1.7.4 rlanvin/php-rrule 2.3.0 ================= ======= Libraries --------- Hashids ~~~~~~~ `Hashids `__ is small PHP library to generate YouTube-like ids from numbers. Use it when you don’t want to expose your database ids to the user. Example: .. code:: php $hashids = new \Hashids\Hashids; $handle = $hashids->encode(5, 5, 5); Parsedown ~~~~~~~~~ `Parsedown `__ transforms text with `markdown syntax `__ to html. Example: .. code:: php $parsedown = new \Parsedown; $htmlText = $parsedown->text($markdownText); ViewHelper ^^^^^^^^^^ A ViewHelper is available and can be used as following: .. code:: xhtml {auxlibs:parsedown(text: textWithMarkedownSyntax)} {task.description -> auxlibs:parsedown()} {task.description} The ViewHelper has the following properties: ======== ============================ ==== ======= Property Description Type Default ======== ============================ ==== ======= nl2br If set maintains line breaks bool false ======== ============================ ==== ======= PHP RRule ~~~~~~~~~ `RRule `__ is a lightweight and fast implementation of recurrence rules for PHP (RRULE from RFC 5545), to easily calculate recurring/repeating dates and events (such as in a calendar). Example: .. code:: php $rrule = new RRule('RRULE:FREQ=DAILY;UNTIL=19971224T000000Z;WKST=SU;BYDAY=MO,WE,FR;BYMONTH=1'); foreach ($rrule as $occurrence) { echo $occurrence->format('r'),"\n"; } With `RSet `__ even more complex rules can be defined: .. code:: php $rset = new RSet( "DTSTART;TZID=America/New_York:19970901T090000 RRULE:FREQ=DAILY;COUNT=3 EXRULE:FREQ=DAILY;INTERVAL=2;COUNT=1 EXDATE;TZID=America/New_York:19970903T090000 RDATE;TZID=America/New_York:19970904T090000" ); Usage ----- The libraries are automatically loaded in a middleware. In case a library needs to be available at an earlier stage it might be loaded with an include statement. The include statement for the library ``hashids`` would look as following: .. code:: php use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; @include 'phar://' . ExtensionManagementUtility::extPath('auxlibs') . 'Libraries/hashids-hashids.phar/vendor/autoload.php'; .. |Continuous integration status| image:: https://github.com/buepro/typo3-auxlibs/workflows/CI/badge.svg :target: https://github.com/buepro/typo3-auxlibs/actions?query=workflow%3ACI .. |Latest Version| image:: https://badgen.net/packagist/v/buepro/typo3-auxlibs :target: https://packagist.org/packages/buepro/typo3-auxlibs