Download the PHP package mercator/wn-twigext-plugin without Composer

On this page you can find all versions of the php package mercator/wn-twigext-plugin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package wn-twigext-plugin

TwigExt - Mercator Twig Extensions

TwigExt provides a set of Twig filters and functions for WinterCMS. In addition, it allows developers to easily add new Twig functions and filters to a WinterCMS theme.

The plugin is based on OctoberCMS' Twig Extensions by Vojta Svoboda and includes that functionality. It has been tested with WinterCMS 1.1.7.

Installation

Use Composer to install the plugin by executing

from the root of your WinterCMS installation.

Alternatively, create a directory "mercator/twigext", download the files from Github and move them in the newly created sub-directory.

Installation from the WinterCMS backend will be added once the WinterCMS marketplace is available.

You can now use the newly added filters and functions in your theme (layouts, partials, ....). For example:

or

or

Available functions

QR Code

QR code for inline use (qrcodeSRC and qrcodeIMG)

Create a GIF with a red QR code on a transparent background pointing to mercator.li:

alternatively, use the short version

to produce the full image tag, i.e.

In this case, alt will be the same as the actual QR code content.

You can create all different sorts of QR codes, e.g. a vcard:

Parameters for the above functions are:

Storage

Providing Laravel's storage functionality:

Directories

Files

Geo-Coding

Provide geo coordinates (longitude and latitude) for a given street address. Usage:

Cryptography

Providing Laravel's cryptograhic functionality as Twig functions:

Cookies

Providing Laravel's cookie functionality as Twig functions:

Use cookies for example to (re-)display text only after a certain time, e.g. once a day (after 86400 seconds):

Cache

Providing Laravel's cache functionality as Twig functions:

Session

Providing Laravel's session functionality as Twig functions:

Paths

Providing Winter's path helper functionality as Twig functions:

preg_grep

Providing pattern matching capabilities.

preg_grep(array of strings, pattern, [flags = 0]) takes an array of strings and returns an array containing only elements from the input that match the given pattern, see the respective PHP function preg_grep for details.

Example pattern to identify all GIFs, JP(E)G and TIF(F) files:

Communication

telegram

telegram (message, [botID=null], [chatID=null]) sends a message to a Telegram ChatBot, using the said chat. If the ChatBot ID and chat ID are not defined, defaults as defined in the backend are used. Talk to BOT Father to create a ChatBotID and a respective chat.

mailRawTo

mailRawTo(message, [recipient]) sends message to the recipient recipient. If recipient is not specified, the default recipient is used as defined in the backend settings.

redirect

Redirects to a specific URL

or

config

Function move the functionality of the Laravel config() helper function to Twig.

The example would output the value currently stored in app.locale. See more about the Laravel config helper function here.

env

Function move the functionality of the Laravel env() helper function to Twig.

The example would output the value currently stored in APP_ENV environment variable. Second parameter is default value, when ENV key does not exists.

session

Function move the functionality of the Laravel session() helper function to Twig.

The example would output the value currently stored in my.session.key. See more about the Laravel session helper function here.

Note that additional Session functionality has been made available, see below.

trans

Function move the functionality of the Laravel trans() helper function to Twig.

The example would output a value stored in a localization file of an imaginary blog plugin. See more about localization in Winter CMS here.

var_dump

Dumps information about a variable. Can be also used as filter.

template_from_string

Function loads a template from a string.

Available filters

strftime, uppercase, lowercase, ucfirst, lcfirst, ltrim, rtrim, str_repeat, plural, truncate, wordwrap, strpad, str_replace, strip_tags, leftpad, rightpad, rtl, shuffle, time_diff, localizeddate, localizednumber, localizedcurrency, mailto, var_dump, revision, sortbyfield

strftime

Format a local time/date according to locale settings.

The example would output Posted at 04.01.2016 22:57:42. See more format parameters.

uppercase

Make a string uppercase.

The example would output Hello I'm JACK.

lowercase

Make a string lowercase.

The example would output Hello I'm jack.

ucfirst

Make a string's first character uppercase.

The example would output Hello I'm Jack.

lcfirst

Make a string's first character lowercase.

The example would output Hello I'm jack.

ltrim

Strip whitespace (or other characters) from the beginning of a string.

The example would output Hello I'm jack without whitespaces from the start.

rtrim

Strip whitespace (or other characters) from the end of a string.

The example would output Hello I'm jack without whitespaces from the end.

str_repeat

Repeat a string.

The example would output I'm the best best best!

plural

Get the plural form of an English word.

The example would output You have 1 new mail or You have 3 new mails - depending on mails count.

truncate

Use the truncate filter to cut off a string after limit is reached.

The example would output Hello..., as ... is the default separator.

You can also tell truncate to preserve whole words by setting the second parameter to true. If the last Word is on the the separator, truncate will print out the whole Word.

Here Hello World! would be printed.

If you want to change the separator, just set the third parameter to your desired separator.

This example would print Hello W??.

wordwrap

Use the wordwrap filter to split your text in lines with equal length.

This example would print:

The default separator is "\n", but you can easily change that by providing one:

This would result in:

strpad

Pad a string to a certain length with another string from both sides.

This would print:

str_replace

Replace all occurrences of the search string with the replacement string.

This would return:

strip_tags

Strip HTML and PHP tags from a string. In first parameter you can specify allowable tags.

This would return:

leftpad

Pad a string to a certain length with another string from left side.

This would print:

rightpad

Pad a string to a certain length with another string from right side.

This would print:

rtl

Reverse a string.

This would print:

shuffle

Shuffle an array.

or in foreach:

time_diff

Use the time_diff filter to render the difference between a date and now.

The example above will output a string like 4 seconds ago or in 1 month, depending on the filtered date.

Output is translatable. All translations are stored at /lang folder in this plugin. If you want more locales, just copy them from this repository, replace %count% with :count and send it as pull reqest to this repository.

Arguments

Translation

To get a translatable output, give a Symfony\Component\Translation\TranslatorInterface as constructor argument. The returned string is formatted as diff.ago.XXX or diff.in.XXX where XXX can be any valid unit: second, minute, hour, day, month, year.

localizeddate

Use the localizeddate filter to format dates into a localized string representating the date. Note that php5-intl extension/php7-intl extension has to be installed!

The localizeddate filter accepts strings (it must be in a format supported by the strtotime function), DateTime instances, or Unix timestamps.

Arguments

localizednumber

Use the localizednumber filter to format numbers into a localized string representating the number. Note that php5-intl extension has to be installed!

Internally, Twig uses the PHP NumberFormatter::create() function for the number.

Arguments

localizedcurrency

Use the localizedcurrency filter to format a currency value into a localized string. Note that php5-intl extension has to be installed!

Arguments

mailto

Filter for rendering email as normal mailto link, but with encryption against bots!

returns something along the lines

which will be rendered to page as normal

PHP encrypts your email address and generates the JavaScript that decrypts it. Most bots can't execute JavaScript and that is what makes this work. A visitors of your web page will not notice that you used this script as long as they has JavaScript enabled. The visitors will see "[javascript protected email address]" instead of the email address if they has JavaScript disabled.

Filter parameters

var_dump

Dumps information about a variable.

revision

Force the browser to reload cached modified/updated asset files. You can provide a format parameter so that the prepended timestamp get converted accordingly to the PHP date() function.

will return something like

sortbyfield

Sort array/collection by given field (key).

Output will be: John David

Adding New Filters and Functions

Often, a project requires a few specific functions. These can be added by adding twig/functions or twig/filters subdirectories to the current theme and include functions an filters in there. TwigExt will load all files startung with an underscore _ and ending in .php and make the included filters and functions available in Twig.

Functions are added as follow (by placing them, e.g, in twig/functions/_myFucntions.php in the active themes directory):

Filters are added as follow (by placing them, e.g, in twig/filters/_myFucntions.php in the active themes directory):

Filters and functions MUST provide return values. Multiple new filters or functions can be added to the respective arrays in one go. See Winter's documenttation for additional details.

Contributing

Feel free to send pull request! Please, send Pull Request to master branch.

License

Twig extensions plugin is open source software licensed under the MIT license.


All versions of wn-twigext-plugin with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
composer/installers Version ~1.0
twig/cssinliner-extra Version ^3.3
twig/cache-extra Version ^3
twig/html-extra Version 3.x-dev
twig/string-extra Version ^3
twig/inky-extra Version ^3
twig/markdown-extra Version ^3
twig/intl-extra Version 3.x-dev
twig/extra-bundle Version 3.x-dev
siniliote-twig/date-extra Version ^3.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mercator/wn-twigext-plugin contains the following files

Loading the files please wait ....