Cecil

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

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

$slugifier

private static Slugify $slugifier

Methods

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/ or static/ dir).

$options : array<string|int, mixed>|null = null
Return values
Asset

avif()

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
Asset

cover()

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
Asset

dataurl()

Returns the data URL of an image.

public dataurl(string|Asset $asset) : string
Parameters
$asset : string|Asset
Return values
string

dominantColor()

Returns the dominant hex color of an image asset.

public dominantColor(string|Asset $asset) : string
Parameters
$asset : string|Asset
Return values
string

excerpt()

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
string

excerptHtml()

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 or after the separator (before by default).
Parameters
$string : string|null
$options : array<string|int, mixed> = []
Return values
string

fingerprint()

Fingerprinting an asset.

public fingerprint(string|Asset $asset) : Asset
Parameters
$asset : string|Asset
Return values
Asset

getEnv()

Gets the value of an environment variable.

public getEnv(string|null $var) : string|null
Parameters
$var : string|null
Return values
string|null

getFilters()

{@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
string

getTests()

{@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
string

hexToRgb()

Converts an hexadecimal color to RGB.

public hexToRgb(string|null $variable) : array<string|int, mixed>
Parameters
$variable : string|null
Tags
throws
RuntimeException
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
throws
RuntimeException
Return values
string

imageSizes()

Returns the HTML img `sizes` attribute based on a CSS class name.

public imageSizes(string $class) : string
Parameters
$class : string
Return values
string

imageSrcset()

Builds the HTML img `srcset` (responsive) attribute of an image Asset.

public imageSrcset(Asset $asset) : string
Parameters
$asset : Asset
Tags
throws
RuntimeException
Return values
string

inline()

Returns the content of an asset.

public inline(Asset $asset) : string
Parameters
$asset : Asset
Return values
string

integrity()

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
string

isAsset()

Tests if a variable is an Asset.

public isAsset(mixed $variable) : bool
Parameters
$variable : mixed
Return values
bool

iterable()

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
throws
RuntimeException
Return values
array<string|int, mixed>|null

lqip()

Returns a Low Quality Image Placeholder (LQIP) as data URL.

public lqip(string|Asset $asset) : string
Parameters
$asset : string|Asset
Return values
string

markdownToHtml()

Converts a Markdown string to HTML.

public markdownToHtml(string|null $markdown) : string|null
Parameters
$markdown : string|null
Tags
throws
RuntimeException
Return values
string|null

markdownToToc()

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
throws
RuntimeException
Return values
string|null

minify()

Minifying an asset (CSS or JS).

public minify(string|Asset $asset) : Asset
Parameters
$asset : string|Asset
Return values
Asset

minifyCss()

Minifying a CSS string.

public minifyCss(string|null $value) : string
Parameters
$value : string|null
Return values
string

minifyJs()

Minifying a JavaScript string.

public minifyJs(string|null $value) : string
Parameters
$value : string|null
Return values
string

pregMatchAll()

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
throws
RuntimeException
Return values
array<string|int, mixed>|null

pregSplit()

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
throws
RuntimeException
Return values
array<string|int, mixed>|null

readtime()

Calculates estimated time to read a text.

public readtime(string|null $text) : string
Parameters
$text : string|null
Return values
string

resize()

Resizes an image.

public resize(string|Asset $asset, int $size) : Asset
Parameters
$asset : string|Asset
$size : int
Return values
Asset

scssToCss()

Compiles a SCSS string.

public scssToCss(string|null $value) : string
Parameters
$value : string|null
Tags
throws
RuntimeException
Return values
string

sortByDate()

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
Asset

url()

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
string

varDump()

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
Asset

yamlParse()

Converts a YAML string to an array.

public yamlParse(string|null $yaml) : array<string|int, mixed>|null
Parameters
$yaml : string|null
Tags
throws
RuntimeException
Return values
array<string|int, mixed>|null

convert()

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
throws
RuntimeException
Return values
Asset

isHex()

Is a hexadecimal color is valid?

private static isHex(string $hex) : bool
Parameters
$hex : string
Return values
bool
 
On this page

Search results