Core extends SlugifyExtension
Core Twig extension. This extension provides various utility functions and filters for use in Twig templates, including URL generation, asset management, content processing, and more.
Table of Contents
Properties
- $builder : Builder
- $config : Config
- $slugifier : Slugify
- $config : Config
Methods
- __construct() : mixed
- asset() : Asset
- Creates an Asset (CSS, JS, images, etc.) from a path or an array of paths.
- avif() : Asset
- Converts an image Asset to AVIF format.
- cover() : Asset
- Crops an image Asset to the given width and height, keeping the aspect ratio.
- dataurl() : string
- Returns the data URL of an image.
- dominantColor() : string
- Returns the dominant hex color of an image asset.
- excerpt() : string
- Reads $length first characters of a string and adds a suffix.
- excerptHtml() : string
- Reads characters before or after '<!-- separator -->'.
- filterBy() : CollectionInterface
- Filters a pages collection by variable's name/value.
- filterBySection() : CollectionInterface
- Filters by Section.
- fingerprint() : Asset
- Fingerprinting an asset.
- getEnv() : string|null
- Gets the value of an environment variable.
- getFilters() : array<string|int, mixed>
- {@inheritdoc}
- getFunctions() : mixed
- {@inheritdoc}
- getName() : string
- {@inheritdoc}
- getTests() : mixed
- {@inheritdoc}
- hash() : string
- Hashing an object, an array or a string (with algo, md5 by default).
- hexToRgb() : array<string|int, mixed>
- Converts an hexadecimal color to RGB.
- html() : string
- Creates the HTML element of an asset.
- imageSizes() : string
- Returns the HTML img `sizes` attribute based on a CSS class name.
- imageSrcset() : string
- Builds the HTML img `srcset` (responsive) attribute of an image Asset.
- inline() : string
- Returns the content of an asset.
- integrity() : string
- Hashing an asset with algo (sha384 by default).
- isAsset() : bool
- Tests if a variable is an Asset.
- iterable() : array<string|int, mixed>
- Converts a variable to an iterable (array).
- jsonDecode() : array<string|int, mixed>|null
- Converts a JSON string to an array.
- lqip() : string
- Returns a Low Quality Image Placeholder (LQIP) as data URL.
- markdownToHtml() : string|null
- Converts a Markdown string to HTML.
- markdownToToc() : string|null
- Extract table of content of a Markdown string, in the given format ("html" or "json", "html" by default).
- minify() : Asset
- Minifying an asset (CSS or JS).
- minifyCss() : string
- Minifying a CSS string.
- minifyJs() : string
- Minifying a JavaScript string.
- pregMatchAll() : array<string|int, mixed>|null
- Perform a regular expression match and return the group for all matches.
- pregSplit() : array<string|int, mixed>|null
- Split a string into an array using a regular expression.
- readtime() : string
- Calculates estimated time to read a text.
- resize() : Asset
- Resizes an image.
- scssToCss() : string
- Compiles a SCSS string.
- sortByDate() : array<string|int, mixed>
- Sorts by creation date (or 'updated' date): the most recent first.
- sortByTitle() : array<string|int, mixed>
- Sorts a collection by title.
- sortByWeight() : array<string|int, mixed>
- Sorts a collection by weight.
- splitLine() : array<string|int, mixed>
- Split a string in multiple lines.
- toCss() : Asset
- Compiles a SCSS asset.
- url() : string
- Creates an URL.
- varDump() : void
- Dump variable (or Twig context).
- webp() : Asset
- Converts an image Asset to WebP format.
- yamlParse() : array<string|int, mixed>|null
- Converts a YAML string to an array.
- convert() : Asset
- Converts an image Asset to the given format.
- isHex() : bool
- Is a hexadecimal color is valid?
Properties
$builder
protected
Builder
$builder
$config
protected
Config
$config
$slugifier
private
static Slugify
$slugifier
Methods
__construct()
public
__construct(Builder $builder) : mixed
Parameters
- $builder : Builder
asset()
Creates an Asset (CSS, JS, images, etc.) from a path or an array of paths.
public
asset(string|array<string|int, mixed> $path[, array<string|int, mixed>|null $options = null ]) : Asset
Parameters
- $path : string|array<string|int, mixed>
-
File path or array of files path (relative from
assets/
orstatic/
dir). - $options : array<string|int, mixed>|null = null
Return values
Assetavif()
Converts an image Asset to AVIF format.
public
avif(Asset $asset[, int|null $quality = null ]) : Asset
Parameters
- $asset : Asset
- $quality : int|null = null
Return values
Assetcover()
Crops an image Asset to the given width and height, keeping the aspect ratio.
public
cover(string|Asset $asset, int $width, int $height[, string $position = 'center' ]) : Asset
Parameters
- $asset : string|Asset
- $width : int
- $height : int
- $position : string = 'center'
Return values
Assetdataurl()
Returns the data URL of an image.
public
dataurl(string|Asset $asset) : string
Parameters
- $asset : string|Asset
Return values
stringdominantColor()
Returns the dominant hex color of an image asset.
public
dominantColor(string|Asset $asset) : string
Parameters
- $asset : string|Asset
Return values
stringexcerpt()
Reads $length first characters of a string and adds a suffix.
public
excerpt(string|null $string[, int $length = 450 ][, string $suffix = ' …' ]) : string
Parameters
- $string : string|null
- $length : int = 450
- $suffix : string = ' …'
Return values
stringexcerptHtml()
Reads characters before or after '<!-- separator -->'.
public
excerptHtml(string|null $string[, array<string|int, mixed> $options = [] ]) : string
Options:
- separator: string to use as separator (
excerpt|break
by default) - capture: part to capture,
before
orafter
the separator (before
by default).
Parameters
- $string : string|null
- $options : array<string|int, mixed> = []
Return values
stringfilterBy()
Filters a pages collection by variable's name/value.
public
filterBy(Collection $pages, string $variable, string $value) : CollectionInterface
Parameters
- $pages : Collection
- $variable : string
- $value : string
Return values
CollectionInterfacefilterBySection()
Filters by Section.
public
filterBySection(Collection $pages, string $section) : CollectionInterface
Parameters
- $pages : Collection
- $section : string
Return values
CollectionInterfacefingerprint()
Fingerprinting an asset.
public
fingerprint(string|Asset $asset) : Asset
Parameters
- $asset : string|Asset
Return values
AssetgetEnv()
Gets the value of an environment variable.
public
getEnv(string|null $var) : string|null
Parameters
- $var : string|null
Return values
string|nullgetFilters()
{@inheritdoc}
public
getFilters() : array<string|int, mixed>
Return values
array<string|int, mixed>getFunctions()
{@inheritdoc}
public
getFunctions() : mixed
getName()
{@inheritdoc}
public
getName() : string
Return values
stringgetTests()
{@inheritdoc}
public
getTests() : mixed
hash()
Hashing an object, an array or a string (with algo, md5 by default).
public
hash(object|array<string|int, mixed>|string $data[, mixed $algo = 'md5' ]) : string
Parameters
- $data : object|array<string|int, mixed>|string
- $algo : mixed = 'md5'
Return values
stringhexToRgb()
Converts an hexadecimal color to RGB.
public
hexToRgb(string|null $variable) : array<string|int, mixed>
Parameters
- $variable : string|null
Tags
Return values
array<string|int, mixed>html()
Creates the HTML element of an asset.
public
html(array<string|int, mixed> $context, Asset $asset[, array<string|int, mixed> $attributes = [] ][, array<string|int, mixed> $options = [] ]) : string
$options[ 'preload' => false, 'responsive' => false, 'formats' => [], ];
Parameters
- $context : array<string|int, mixed>
- $asset : Asset
- $attributes : array<string|int, mixed> = []
- $options : array<string|int, mixed> = []
Tags
Return values
stringimageSizes()
Returns the HTML img `sizes` attribute based on a CSS class name.
public
imageSizes(string $class) : string
Parameters
- $class : string
Return values
stringimageSrcset()
Builds the HTML img `srcset` (responsive) attribute of an image Asset.
public
imageSrcset(Asset $asset) : string
Parameters
- $asset : Asset
Tags
Return values
stringinline()
Returns the content of an asset.
public
inline(Asset $asset) : string
Parameters
- $asset : Asset
Return values
stringintegrity()
Hashing an asset with algo (sha384 by default).
public
integrity(string|Asset $asset[, string $algo = 'sha384' ]) : string
Parameters
- $asset : string|Asset
- $algo : string = 'sha384'
Return values
stringisAsset()
Tests if a variable is an Asset.
public
isAsset(mixed $variable) : bool
Parameters
- $variable : mixed
Return values
booliterable()
Converts a variable to an iterable (array).
public
iterable(mixed $value) : array<string|int, mixed>
Parameters
- $value : mixed
Return values
array<string|int, mixed>jsonDecode()
Converts a JSON string to an array.
public
jsonDecode(string|null $json) : array<string|int, mixed>|null
Parameters
- $json : string|null
Tags
Return values
array<string|int, mixed>|nulllqip()
Returns a Low Quality Image Placeholder (LQIP) as data URL.
public
lqip(string|Asset $asset) : string
Parameters
- $asset : string|Asset
Return values
stringmarkdownToHtml()
Converts a Markdown string to HTML.
public
markdownToHtml(string|null $markdown) : string|null
Parameters
- $markdown : string|null
Tags
Return values
string|nullmarkdownToToc()
Extract table of content of a Markdown string, in the given format ("html" or "json", "html" by default).
public
markdownToToc(string|null $markdown[, mixed $format = 'html' ][, array<string|int, mixed>|null $selectors = null ][, string $url = '' ]) : string|null
Parameters
- $markdown : string|null
- $format : mixed = 'html'
- $selectors : array<string|int, mixed>|null = null
- $url : string = ''
Tags
Return values
string|nullminify()
Minifying an asset (CSS or JS).
public
minify(string|Asset $asset) : Asset
Parameters
- $asset : string|Asset
Return values
AssetminifyCss()
Minifying a CSS string.
public
minifyCss(string|null $value) : string
Parameters
- $value : string|null
Return values
stringminifyJs()
Minifying a JavaScript string.
public
minifyJs(string|null $value) : string
Parameters
- $value : string|null
Return values
stringpregMatchAll()
Perform a regular expression match and return the group for all matches.
public
pregMatchAll(string|null $value, string $pattern[, int $group = 0 ]) : array<string|int, mixed>|null
Parameters
- $value : string|null
- $pattern : string
- $group : int = 0
Tags
Return values
array<string|int, mixed>|nullpregSplit()
Split a string into an array using a regular expression.
public
pregSplit(string|null $value, string $pattern[, int $limit = 0 ]) : array<string|int, mixed>|null
Parameters
- $value : string|null
- $pattern : string
- $limit : int = 0
Tags
Return values
array<string|int, mixed>|nullreadtime()
Calculates estimated time to read a text.
public
readtime(string|null $text) : string
Parameters
- $text : string|null
Return values
stringresize()
Resizes an image.
public
resize(string|Asset $asset, int $size) : Asset
Parameters
- $asset : string|Asset
- $size : int
Return values
AssetscssToCss()
Compiles a SCSS string.
public
scssToCss(string|null $value) : string
Parameters
- $value : string|null
Tags
Return values
stringsortByDate()
Sorts by creation date (or 'updated' date): the most recent first.
public
sortByDate(Traversable $collection[, string $variable = 'date' ][, bool $descTitle = false ]) : array<string|int, mixed>
Parameters
- $collection : Traversable
- $variable : string = 'date'
- $descTitle : bool = false
Return values
array<string|int, mixed>sortByTitle()
Sorts a collection by title.
public
sortByTitle(Traversable $collection) : array<string|int, mixed>
Parameters
- $collection : Traversable
Return values
array<string|int, mixed>sortByWeight()
Sorts a collection by weight.
public
sortByWeight(Traversable|array<string|int, mixed> $collection) : array<string|int, mixed>
Parameters
- $collection : Traversable|array<string|int, mixed>
Return values
array<string|int, mixed>splitLine()
Split a string in multiple lines.
public
splitLine(string|null $variable[, int $max = 18 ]) : array<string|int, mixed>
Parameters
- $variable : string|null
- $max : int = 18
Return values
array<string|int, mixed>toCss()
Compiles a SCSS asset.
public
toCss(string|Asset $asset) : Asset
Parameters
- $asset : string|Asset
Return values
Asseturl()
Creates an URL.
public
url(array<string|int, mixed> $context[, Page|Asset|string|null $value = null ][, array<string|int, mixed>|null $options = null ]) : string
$options[ 'canonical' => false, 'format' => 'html', 'language' => null, ];
Parameters
- $context : array<string|int, mixed>
- $value : Page|Asset|string|null = null
- $options : array<string|int, mixed>|null = null
Return values
stringvarDump()
Dump variable (or Twig context).
public
varDump(Environment $env, array<string|int, mixed> $context[, mixed $var = null ][, array<string|int, mixed>|null $options = null ]) : void
Parameters
- $env : Environment
- $context : array<string|int, mixed>
- $var : mixed = null
- $options : array<string|int, mixed>|null = null
webp()
Converts an image Asset to WebP format.
public
webp(Asset $asset[, int|null $quality = null ]) : Asset
Parameters
- $asset : Asset
- $quality : int|null = null
Return values
AssetyamlParse()
Converts a YAML string to an array.
public
yamlParse(string|null $yaml) : array<string|int, mixed>|null
Parameters
- $yaml : string|null
Tags
Return values
array<string|int, mixed>|nullconvert()
Converts an image Asset to the given format.
private
convert(Asset $asset, string $format[, int|null $quality = null ]) : Asset
Parameters
- $asset : Asset
- $format : string
- $quality : int|null = null
Tags
Return values
AssetisHex()
Is a hexadecimal color is valid?
private
static isHex(string $hex) : bool
Parameters
- $hex : string