$pico
$pico : \Pico
Current instance of Pico
Picos Twig extension to implement additional filters
$pico : \Pico
Current instance of Pico
__construct(\Pico $pico)
Constructs a new instance of this Twig extension
\Pico | $pico | current instance of Pico |
getPico() : \Pico
Returns the extensions instance of Pico
the extensions instance of Pico
markdownFilter(string $markdown) : string
Parses a markdown string to HTML
This method is registered as the Twig markdown
filter. You can use it
to e.g. parse a meta variable ({{ meta.description|markdown }}
).
Don't use it to parse the contents of a page, use the content
filter
instead, what ensures the proper preparation of the contents.
string | $markdown | markdown to parse |
parsed HTML
mapFilter(array|\Traversable $var, mixed $mapKeyPath) : array
Returns a array with the values of the given key or key path
This method is registered as the Twig map
filter. You can use this
filter to e.g. get all page titles ({{ pages|map("title") }}
).
array|\Traversable | $var | variable to map |
mixed | $mapKeyPath | key to map; either a scalar or a array interpreted as key path (i.e. ['foo', 'bar'] will return all $item['foo']['bar'] values) |
mapped values
sortByFilter(array|\Traversable $var, mixed $sortKeyPath, string $fallback = 'bottom') : array
Sorts an array by one of its keys or a arbitrary deep sub-key
This method is registered as the Twig sort_by
filter. You can use this
filter to e.g. sort the pages array by a arbitrary meta value. Calling
{{ pages|sort_by("meta:nav"|split(":")) }}
returns all pages sorted by
the meta value nav
. Please note the "meta:nav"|split(":")
part of
the example. The sorting algorithm will never assume equality of two
values, it will then fall back to the original order. The result is
always sorted in ascending order, apply Twigs reverse
filter to
achieve a descending order.
array|\Traversable | $var | variable to sort |
mixed | $sortKeyPath | key to use for sorting; either a scalar or a array interpreted as key path (i.e. ['foo', 'bar'] will sort $var by $item['foo']['bar']) |
string | $fallback | specify what to do with items which don't contain the specified sort key; use "bottom" (default) to move those items to the end of the sorted array, "top" to rank them first, or "keep" to keep the original order of those items |
sorted array
getKeyOfVar(array|\Traversable|\ArrayAccess|object $var, mixed $keyPath) : mixed
Returns the value of a variable item specified by a scalar key or a arbitrary deep sub-key using a key path
array|\Traversable|\ArrayAccess|object | $var | base variable |
mixed | $keyPath | scalar key or a array interpreted as key path (when passing e.g. ['foo', 'bar'], the method will return $var['foo']['bar']) specifying the value |
the requested value or NULL when the given key or key path didn't match